jueves, 19 de mayo de 2016
POLÍTICAS Y ALGORITMOS
POLÍTICAS Y ALGORITMOS:
- Política de LECTURA: Algoritmos por demanda y Paginación previa.
- Política de UBICACIÓN: Algoritmos de mejor ajuste, primer ajuste, siguiente ajuste, peor ajuste.
- Política de REUBICACIÓN: Algoritmo optimo, usado hace mas tiempo, FIFO, reloj.
- Política de VACIADO: Algoritmo por demanda, vaciado previo.
miércoles, 18 de mayo de 2016
FUNCION DE INTERCAMBIO
Sabiendo que tenemos memoria principal y memoria virtual definimos:
- FALLO DE PAGINA: El cual se da cuando un proceso requiere llamar a un segmento que no se encuentra en memoria principal y debe ser extraído de memoria virtual.
En la función de intercambio debe haber una pagina candidata la cual es elegida por alguna de las políticas ya sea de LECTURA, UBICACIÓN, REUBICACIÓN, Y VACIADO.
Gráfica realizada por: OSCAR W. MENDOZA. DOCENTE SISTEMAS OPERATIVOS ECCI
SEGMENTACIÓN PAGINADA (MEMORIA VIRTUAL)
Las direcciones virtuales están compuestas por un numero de segmento, número de pagina, y desplazamiento; Con el número de segmento y la tabla de segmentos podemos hallar la ubicación de los segmentos buscados.
La tabla de segmentos tiene el numero de segmento y el registro base del segmento que sera el que de la posición inicial del segmento dado. Una vez dada la posición inicial del segmento dado, seguimos a la tabla de paginas la cual contiene el número de pagina y el número de marco; con el numero de pagina obtenemos el numero del marco que sera donde inicia el segmento dentro de la memoria virtual y sumando esto al desplazamiento; hallaremos la dirección física o real del segmento.
Gráfica realizada por: OSCAR W. MENDOZA. DOCENTE SISTEMAS OPERATIVOS ECCI
Para la gestión de memoria se requieren 3 elementos:
Para la gestión de memoria se requieren 3 elementos:
- memoria virtual
- entrada a la tabla de segmentos que es como un proceso hace para incluir un segmento en la memoria.
- Entrada a la tabla de paginas: todo proceso tiene un conjunto residente de paginas ya que algunas son indispensables para que el proceso este en ejecución, las otras que no son importantes, pueden ser ubicadas en memoria virtual.
Bit de control P"presencia": si el Bit=0 entonces decimos que el segmento esta en memoria principal. Si el Bit =1 el segmento se encuentra en memoria virtual.
Bit de control M "modificación": si el Bit esta en 1 entonces la pagina ha sido modificada y requiere de ejecutar un proceso adicional para actualizar la imagen de la pagina en memoria secundaria, después el Bit vuelve a 0.
ESTÁNDAR DE DIRECCIÓN DE MEMORIA
Para un registro de de 2 BYTES deben haber:
- 8 Bits los cuales indican el número de pagina.
- 8 Bits los cuales indican el desplazamiento.
Ejemplos:
Imagenes realizada por: JHONATTAN ANDREY RODRIGUEZ
PAGINACIÓN SIMPLE
La memoria se divide en pequeños trozos de memoria de igual tamaño llamados MARCO DE PAGINA y un programa o proceso se divide en paginas de igual tamaño; El tamaño de la pagina del proceso y los marcos de pagina del proceso son equivalentes.
HIPERPAGINACIÓN: Se presenta cuando el Sistema Operativo intenta hacer el tamaño de la pagina de procesos mas pequeño que e tiempo de latencia.
HIPERPAGINACIÓN: Se presenta cuando el Sistema Operativo intenta hacer el tamaño de la pagina de procesos mas pequeño que e tiempo de latencia.
PARTICIONES DE DIFERENTE TAMAÑO
Dado que en las particiones fijas de igual tamaño hay fragmentación interna lo cual indica que sin importar el tamaño del programa, por más pequeño que sea siempre ocupara una partición completa, se logro obtener una forma de reducir la perdida de espacio a través de particiones de diferente tamaño; lo cual consiste en asignar cada proceso a la partición de memoria mas pequeña en la que quepa y a su vez consiste en seleccionar la partición más pequeña disponible que pueda albergar dicho proceso.
Para poder implementar este tipo de partición, es necesario crear o asignar una cola de planificación la cual admitirá a los procesos cuya memoria sea igual o menor al tamaño de la partición. La fragmentación de diferente tamaño posee el problema de que al admitir procesos mas pequeños que el tamaño de la partición ocasiona que la memoria se vaya dividiendo en partes de memoria mas pequeños, ocasionando que la memoria en un punto no pueda admitir mas procesos. a esto se le denomina FRAGMENTACIÓN EXTERNA.
Para poder implementar este tipo de partición, es necesario crear o asignar una cola de planificación la cual admitirá a los procesos cuya memoria sea igual o menor al tamaño de la partición. La fragmentación de diferente tamaño posee el problema de que al admitir procesos mas pequeños que el tamaño de la partición ocasiona que la memoria se vaya dividiendo en partes de memoria mas pequeños, ocasionando que la memoria en un punto no pueda admitir mas procesos. a esto se le denomina FRAGMENTACIÓN EXTERNA.
PARTICIONES FIJAS
¿ Porque se divide la memoria?
R: Porque ningún proceso puede estar solo en la memoria (se da paso a la multiprogramación).
TAMAÑO DE PAGINA: dependiendo de que tan grande o pequeño sea el tamaño de pagina depende de la eficiencia del programa. (normalmente 1 k). Ejemplo:
- si un proceso tiene 3.72 k, tenemos que tener 4 paginas de 1 k, tantas como el programa lo requiera.
FRAGMENTACIÓN INTERNA: Se define como memoria asignada perdida, parte de la memoria principal asignada a un proceso que no ha sido utilizada ya que cada proceso, se divide en tantas paginas como el proceso lo requiera.
REQUISITOS PARA LA GESTIÓN DE MEMORIA
- REUBICACIÓN: Cuando programa o proceso pasa a memoria virtual; para seguir ejecutándose debe hacer una traducción de direcciones para reubicar el proceso en una de las partes libres de la memoria principal. Cuando el proceso o programa se compila, almacena unas direcciones virtuales y una vez el programa es pasado a estado de ejecución; las direcciones virtuales cambian a direcciones absolutas o reales a través del CDMA el cual es delegado por el procesador para que el DMA "acceso directo a memoria" para que así los programas ya no tengan que esperar su espacio inicial en memoria sino que los mismos sean ubicados en una parte de la memoria principal que este disponible.
- PROTECCIÓN: Cada proceso debe protegerse contra interferencias no deseadas de otros procesos ya sean accidentales o intencionadas; Es decir, que el código de un proceso no puede referenciar a posiciones de memoria de otros procesos para utilizarlos o modificarlos (con fines de lectura y escritura) sin permiso.
- COMPARTICIÓN: Para cualquier mecanismo de protección que se implemente debe ser flexible y permitir el acceso de varios procesos a la misma zona de memoria principal; Es decir, si tenemos uno o varios procesos que están ejecutando un mismo programa, resulta mejor que cada proceso pueda acceder a la misma copia del programa en lugar de tener cada uno su propia copia aparte.
- ORGANIZACIÓN LÓGICA: Los módulos de los programas puedan escribirse y compilarse independientemente, mientras el sistema resuelve durante la ejecución todas las referencias de un modulo a otro.
- ORGANIZACIÓN FÍSICA: La memoria se organiza en al menos dos niveles los cuales son memoria principal y memoria secundaria. la memoria principal ofrece un acceso rápido con un costo relativamente alto, es volátil (no proporciona almacenamiento de forma permanente). la memoria secundaria es de un costo mas económico, proporciona almacenamiento de forma permanente pero esta es mas lenta.
información traída del libro: Stallings_William_-_Sistemas_Operativos
GESTION DE MEMORIA
- Es toda interacción entre los registros, la memoria cache, memoria principal y el disco duro.
- Funciona con la planificación de mediano plazo o función de intercambio "zwapping".
- El sistema operativo es el único que controla la memoria virtual.
Suscribirse a:
Entradas (Atom)