viernes, 22 de mayo de 2015

PAGINACIÓN Y SEGMENTACIÓN.


Que es Paginación en Sistemas Operativos?


La Paginación en Sistemas Operativos consiste en considerar el espacio de las direcciones lógicas  de cada proceso como un conjunto de bloques de tamaño consistente llamadas paginas, cada dirección lógica manejada para un proceso estará conformada por un par de valores (Pagina: Desplazamiento)


http://files.sistemas-operativos51.webnode.es/200000033-52ea053e24/paginacion.jpg


Características de la Paginación

  • El espacio de direcciones lógicos de un proceso puede ser no continuo.
  • Se divide la memoria física en bloque de tamaño fijo llamados marcos.
  • Se divide la memoria en bloques de tamaño llamados pagina
  • Se mantiene información en los marcos libres.
  • Se establece una tabla de paginas para trasladar las direcciones lógicas a físicas.
  • Se produce fragmentación interna.  

Ventajas de la Paginación 

  • El espacio de direcciones lógico de un proceso puede ser no continuo.
  • No es necesario que las paginas estén continuas en memoria.
  • Es facil controlar todas las paginas ya que tienen el mismo tamaño.
  • El mecanismo de traducción de direcciones (DAT) permite separar los conceptos de espacio de direcciones y espacios de memoria.
  • Se libera al programador de la restricción de programar par aun tamaño físico de memoria con lo que se aumenta su productividad.


Desventajas de la Paginación

  • El costo del hardware y software se incrementan, por la nueva información que debe manejarse y el mecanismo de traducción de direcciones necesarias, se consume mucho mas recurso e memoria, tiempo en la CPU para su implantación.
  • Se deben reservar áreas de memoria para las PMT de los procesos, al no ser fijas el tamaño de estas se crea un problema semejante al de los programas.
  • Aparece el problema de fragmentación interna.

SEGMENTACIÓN

Es un esquema de manejo de memoria mediante el cual la estructura del programa refleja su división lógica, llevándose a cabo una agrupación lógica de la información en bloques de tamaño variables denominados segmentos.
   

La segmentación permite alcanzar los siguientes objetivos:

  • Modularidad de programas, cada rutina del programa puede ser un bloque sujeto a cambios y recopilaciones, sin afectar por ello al resto del programa.
  • Estructuras de datos de largo variable, ejm, Stack, donde cada estructura tiene su propio tamaño y este puede variar.
  • Protección, se puede proteger los módulos de segmentos contra acceso no autorizados.
  • Comparición, dos o más procesos pueden ser un mismo segmento bajo reglas de protección.
  • Enlace dinámico entre segmentos, puede evitarse relacionar todo el proceso de enlace antes de comenzar a ejecutar un proceso.   

Ventajas de la Segmentación.

  • El programador puede conocer las unidades lógicas de su programa.
  • Es posible compilar módulos separados como segmentos el enlace entre los segmentos puede suponer hasta tanto se haga una referencia entre segmentos.
  • Es fácil compartir segmentos.
  • Existe la posibilidad de definir segmentos que aun no existan.
Desventajas de la Segmentación.
  • Hay un incremento en el costo del hardware y software para llevar a cabo la implantación, asi como mayor recurso de consumo de memoria, tiempo de CPU.
  • Se compila el manejo de memoria virtual, ya que los discos almacenan información en bloques de tamaños fijos.
  • No se puede garantizar que al salir de un segmento de la memoria este pueda ser traído fácilmente de nuevo,ya que sera necesario  encontrar nuevamente un área de memoria libre ajustada a su tamaño.
  • La compartición de segmentos permite ahorrar memoria.



No hay comentarios:

Publicar un comentario