Conceptos Gestión de Memoria Segmentación La segmentación divide la memoria principal en tamaños no iguales dependiendo de la magnitud de proceso que se quiere almacenar. Una de las desventajas es que a veces ocurre que quedan espacios pequeños de la memoria sin poder utilizarse. Diferencia entre un sistema basado en memoria virtual basado en página versus segmentación. ● La paginac paginación ión divide divide el el proceso proceso en página páginas s todas todas del mismo mismo tamaño tamaño y la memori memoria a en marcos de pagina iguales, para contener los procesos ● La segment segmentació ación n divide divide la memoria memoria en en segmento segmentos s y los procesos procesos los los almacena almacena en en el segmento que soporta su tamaño ● La paginac paginación ión es es más ordena ordenada da ya que que todo todo es del del mismo mismo tamaño tamaño y en la la segmentación quedan espacios vacíos de segmentos muy pequeños
Qué es la paginación En sistemas operativos de computadoras, los sistemas de paginación de memoria dividen los programas en pequeñas partes o páginas. Del mismo modo, la memoria es dividida en trozos t rozos del mismo tamaño que las páginas llamados marcos de página. De esta forma, la cantidad de memoria desperdiciada por un proceso es el final de su última página, lo que minimiza la fragmentación interna y evita la externa. Se denomina paginación al proceso de migración necesario para atender los fallos de página Tabla de Página La función de la Tabla es almacenar toda la información a cerca de los marcos de página, como por ejemplo el bit de accedido, el bit de modificado o el bit de ocupado, que nos entrega la información del estado del marco de página. Además almacena la dirección de estos marcos de página y provee de seguridad. Cuales son los atributos principales de una tabla de página. ● Contie Contienen nen el el marco marco que que contie contiene ne a cada cada págin página a ● Info Inform rmac ació ión n de de pro prote tecc cció ión n ● Bit Bit de de pág págin ina a acc acced edid ido o Fallos de página Si una página buscada está marcada como no disponible (tal vez porque no está presente en la memoria principal, pero sí en el área de intercambio), cuando la CPU intenta referenciar una dirección de memoria en esa página, la MMU MMU(unidad (unidad de gestión de memoria) responde levantando una excepción (comúnmente llamada fallo de página). De qué forma se podría disminuir los fallos de página Los fallos de página se podrían disminuir teniendo una memoria principal más grande para tener más marcos de página. Aumentar el working set (area de trabajo) para cada proceso para evitar fallos de pagina Describa el tratamiento del fallo de página. Cuando se requiere una pagina y no está en memoria principal se produce un fallo de página. primero se debe buscar un marco vacío para cargar en la memoria página solicitada, si no hay un bloque vacío se limpia uno según alguna política(FIFO,LRU,Reloj,etc). política(FIFO,LRU,Reloj,etc). Luego se va a buscar el bloque de disco que contiene la página solicitada y se lleva al marco vacío, para continuar con la ejecución.
Variables Locales: Porque las variables locales no tienen una región numero asignada dentro del proceso Esto ocurre debido a que las variables locales, una vez terminado su uso, se eliminan. Por ejemplo en una función, el estado del proceso antes de iniciar la función queda guardado en el stack, luego en la función se ocupan estas variables y al f inalizar la función se elimina. Porque las variable locales a una función no pueden ser accedidas desde fuera de su entorno. Cuando se llama a una función en un proceso, este se almacena en el stack(región de un proceso) el cual llama a la función. Por su parte la función trabaja con variables propias las cuales son retornadas al proceso principal si es requerido, pero una vez finalizada la función sus variables se pierden ya que son borradas Diferencia entre conjunto de Trabajo y conjunto residente ● Conjunto de trabajo: Son las páginas que necesita la memoria principal para realizar un proceso completo ● Conjunto residente: Son las paginas que estan en memoria principal Qué son los algoritmo de volcado de caché .Describa dos de ellos En computación, los algoritmos de cache son programas que optimizan la gestión de la información en la memoria cache del ordenador. Cuando el cache está lleno, el algoritmo elige qué elementos elimina para liberar espacio y poder añadir nuevos elementos. Algoritmos de volcado: Least Recently Used (LRU) : descarta primero los elementos menos usados recientemente Most Recently Used (MRU) :descarta primero -al contrario de LRU- los elementos más usados recientemente FIFO: Este algoritmo es “first in, first out”, primero en entrar será el primero en salir.
Describa dos políticas de volcado de caché. ● Inmediato: Cada vez que se modifica un bloque de datos que está en la caché se actualiza en el disco duro para que no se produzca incoherencia ● Retrasado: en unix el volcado de cache a disco se produce cada 30 segundos, así almacena en disco los datos modificados en la caché. Objetivos de la memoria caché - Manejar en acceso rápido los elementos más utilizados por el sistema - El almacenamiento de Archivos temporales Principio de localidad el principio de localidad, dice que , basándonos en el pasado reciente de un programa podemos predecir con una precisión razonable qué instrucciones y datos utilizará en un futuro próximo Violación de Segmento (Segmentation Fault)
Se origina cuando se ha intentado acceder a un área de memoria a la cual no le está permitido el acceso. En otras palabras, se trató de acceder a una parte de la memoria que está más allá de los límites que el sistema operativo (Unix GNU/Linux ect) ha asignado para su programa.
Código tubería (POSIX) bidireccional
< - fallo pagina
Productor Consumidor con cerrojos mutex
<-violación de segmento