Administración de la memoria

Description

S.O. Flashcards on Administración de la memoria , created by Lourdes Soto on 18/09/2019.
Lourdes Soto
Flashcards by Lourdes Soto, updated more than 1 year ago
Lourdes Soto
Created by Lourdes Soto over 4 years ago
87
0

Resource summary

Question Answer
¿Para qué los programas y datos deben estar en el almacenamiento principal? Poderlos ejecutar. Referenciarlos directamente.
Ley de Parkinson Los programas se desarrollan para ocupar toda la memoria disponible para ellos.
La parte del S. O. que administra la memoria se llama “administrador de la memoria”. ¿Cuáles son sus funciones? Lleva un registro de las partes de memoria que se están utilizando y las que no. Asigna espacio en memoria a los procesos cuando estos la necesitan. Libera espacio de memoria asignada a procesos que han terminado.
Estrategias de organización y administración del almacenamiento principal Organización: ej, ¿se coloca un solo programa o varios ?, ¿se concede a cada uno la misma cantidad de espacio o se divide el almacenamiento en “particiones”?. Administración: ¿cuando se busca un programa y a cuál reemplaza?.
Jerarquía de Almacenamiento: costos, capacidad de AM, velocidad de acceso
¿Qué tipo de estrategias de administración existen? Estrategias de búsqueda: estrategias de búsqueda por demanda y búsqueda anticipada. Estrategias de colocación. Estrategias de reposición.
Asignación Contigua de Almacenamiento Versus No Contigua Asignación contigua: cada programa ocupa un bloque contiguo de AM. Asignación no contigua: un programa se divide en varios bloques que pueden almacenarse en direcciones no adyacentes, por lo que es más compleja pero más eficiente que la anterior.
Asignación Contigua de Almacenamiento de Un Solo Usuario El tamaño de los programas está limitado por la cantidad de memoria principal, pero se puede superar este límite con técnicas de “recubrimientos” ( si una sección particular del programa ya no es necesaria, se carga otra sección ocupando las áreas liberadas por la anterior).
Protección en los sistemas de un solo usuario El S. O. debe estar protegido contra el proceso usuario, se instrumenta mediante un “registro de límites” incorporado a la cpu que limita las areas para procesos de usuario de los de sistema.
¿Qué son los tiempos de instalación y descarga de un proceso? “Tiempo de instalación”: el necesario para preparar el entorno operativo requerido. “Tiempo de descarga”: el necesario para desmontar el entorno operativo que fue requerido.
Procesamiento por lotes de flujo único: surgimiento e implememntación El procesamiento por lotes suegio para automatizar la “transición de trabajo a trabajo”. En el “procesamiento por lotes de flujo único” los trabajos se agrupan en “lotes” encolándose para su ejecución. El “procesador de flujos de trabajos” lo hace.
Multiprogramación de Partición Fija Los sistemas de un solo usuario desperdician gran cantidad de recursos computacionales debido a que: Cuando ocurre una petición de E/S la cpu no puede continuar el proceso hasta que concluya, los periféricos de E/S frenan la ejecución de los procesos. Un trabajo en espera de E/S cederá la cpu a otro trabajo que esté listo para efectuar cómputos en multiprogramación.
Multiprogramación de Partición Fija: Traducción y Carga Absolutas Las “particiones” del AM principal son de tamaño fijo, alojan un proceso cada una y la cpu se cambia entre los procesos creando la ilusión de simultaneidad. Los trabajos se traducían como cargas absolutas para ser ejecutados solo dentro de una partición específica.
Multiprogramación de Partición Fija: Traducción y Carga Relocalizables Los compiladores, ensambladores y cargadores de relocalización se usan para producir programas relocalizables que puedan ser ejecutados en cualquier partición disponible de tamaño suficiente.
Fragmentación en la Multiprogramación de Partición Fija Se produce cuando los trabajos del usuario no llenan completamente sus particiones designadas y una partición permanece sin usar porque es demasiado pequeña para alojar un trabajo que está en espera.
Multiprogramación de Partición Variable Los procesos ocupan tanto espacio como necesitan, no hay límites fijos de memoria. Se consideran “esquemas de asignación contigua”, dado que un programa debe ocupar posiciones adyacentes de almacenamiento.
En la Multiprogramación de Partición Variable ¿cómo aparecen los agujeros y cómo se manipulan para no desperdiciar espacio de memoria? Los procesos que terminan dejan disponibles espacios de memoria principal llamados “agujeros” que pueden ser usados por otros. En sucesivos pasos los mismos son cada vez más numerosos pero más pequeños por ello se necesita combinarlos, es decir, fusionar agujeros adyacentes para formar uno más grande.
¿En qué consiste la técnica de compresión o compactación de Almacenamiento? La técnica de compresión de memoria implica pasar todas las áreas ocupadas del almacenamiento a uno de los extremos de la memoria principal: deja un solo agujero grande de memoria libre contigua. Esta técnica se denomina “recogida de residuos”.
Principales desventajas de la compresión El sistema debe detener todo mientras efectúa la compresión, lo que puede afectar los tiempos de respuesta. Implica la relocalización (reubicación) de los procesos y una alta carga de trabajo significa mayor frecuencia de compresión.
Nombrar las estrategias de colocación de trabajos en la memoria “Mejor ajuste”: colocarlo en el agujero en el cual quepa de forma más ajustada. “Primer ajuste”: colocarlo en el primer agujero disponible con tamaño suficiente para alojarlo. “Peor ajuste”: colocarlo en el agujero en el que quepa de la peor manera, es decir en el más grande posible.
¿Qué es el almacenamiento virtual? “Almacenamiento virtual ” significa la capacidad de direccionar un espacio de almacenamiento mucho mayor que el disponible en el almacenamiento primario de determinado sistema de computación.
¿Cómo se implementa el almacenamiento virtual? Los métodos más comunes de implementación son mediante: Técnicas de “paginación”. Técnicas de “segmentación”. Una combinación de ambas técnicas.
¿Qué es la disociación cuando hablamos del AM virtual? La clave del concepto de memoria (almacenamiento) virtual esta en la disociación entre las direcciones a las que hace referencia un programa y las direcciones disponibles en la memoria real (almacenamiento primario).
¿Qué es la traducción dinámica de direcciones? Los procesos hacen referencia a direcciones virtuales pero éstas deben ejecutarse en el almacenamiento real por lo cual las direcciones virtuales deben ser transformadas dentro de las direcciones reales, mientras el proceso está en ejecución.
Organización del Almacenamiento de Niveles Múltiples
¿Qué son los bloques en el AM virtual? Son porciones de información sobre un programa, pueden ser de tamaño fijo (páginas) o variable (segmentos). Se pueden combinar ambas técnicas, segmentos de tamaño variable compuestos de páginas de tamaño fijo.
En la transformación de bloques, ¿cómo se agrupa la información? La información se agrupa en “bloques”. Los mecanismos de traducción dinámica de direcciones deben mantener “mapas” que ilustren qué direcciones del almacenamiento virtual se encuentran en el almacenamiento real y dónde se encuentran.
¿Cómo son las direcciones virtuales? Las direcciones son “bidimensionales”, es decir que una dirección virtual “v” se indica por un par ordenado “(b,d)”, donde: “b”: número del bloque donde reside. “d”: desplazamiento a partir del inicio del bloque.
¿Cómo es la traducción de una dirección virtual a una real? La traducción de una dirección virtual “v = (b,d)” a la dirección real “r” considera: 1) Cada proceso tiene su “tabla de mapa de bloques” mantenida en el AM real. 2) Un registro especial del procesador llamado “registro origen de la tabla de bloques” se carga con la dirección real “a” de la “tabla de mapa de bloques”
¿Qué es el "registro origen de la tabla de bloques"? Es un apuntador a la tabla de mapas de bloques (bloques 0 a n) que se carga en el AM real, ej, un bloque "a". Hay que teneer en claro que esta tabla de mapas pertenece siempre en el AM real.
Una vez en la tabla de bloques, ¿cómo se hace referencia a un dato particular? V =(B, D) Se añade el bloque número “b” a la dirección base “a” para formar la dirección real de la entrada desde la “tabla de mapa de bloques” para el bloque “b”. A partir del comienzo del mapa se mueven "b" espacios para llegar al bloque "b". Una vez ahí, se desplaza "d" para recuperar un dato en particular (obtener su dirección real).
En la paginación, ¿qué es un página y que es un marco de página? Las "páginas" se transfieren del almacenamiento secundario al primario, es decir, son bloques. El lugar donde se colocan estas páginas se denominan "marcos o celda de página" (están en el AM primario). Tanto los marcos como las páginas tienen el mismo tamaño fijo.
¿A qué hace referencia V = (P, D)? A como se treaducen las direcciones virtuales a reales, es similar al caso de los bloques pero en vez de "b" hay una "p" (página).
Traducción de Direcciones de Paginación por Transformación Directa: La página "p" se busca aleatoriamente V = (P, D), lo explicado anteriormente Es un ejemplo de transformación directa debido a que la tabla de mapa de páginas contiene una entrada por cada una de las páginas del AM virtual de este proceso. Requiere un ciclo para pasar del AM real ala caché
Traducción de Direcciones de Paginación por Transformación Asociativa: La pagina "p" se busca en simultaneidad en cada entrada Una forma de acelerar la traducción dinámica de páginas consiste en colocar la tabla completa de mapa de páginas en un “almacenamiento asociativo” (ej, caché) que tenga un tiempo de ciclo mucho más rápido que el AM primario. Es costoso.
Traducción de Direcciones de Paginación por Combinación de Transformación Asociativa / Directa Se utiliza un AM asociativo capaz de mantener solo un pequeño porcentaje del mapa completo de páginas para un proceso ("mapa asociativo parcial"). Las entradas de página contenidas en este mapa reducido corresponden solo a las páginas referenciadas recientemente, si no se encuentra ahí se usa un mapa directo convencional.
Compartir recursos en un sistema de paginación multiprogramado Especialmente en los de tiempo compartido, es común que más de un usuario esté ejecutando los mismos programas, para optimizar el uso de la memoria real se comparten las páginas que pueden serlo (las no modificables).
¿Qué es la segmentación? En los sistemas de “segmentación” un programa y sus datos pueden ocupar varios bloques separados de AM real. Los bloques o "segmentos" no necesitan ser de igual tamaño. Se complica la protección de bloques de memoria de un proceso de usuario por lo que se usan "claves" para determinar cuales pertenecen a un proceso.
¿Cómo se manejan las direcciones virtuales?¿Donde se colocan los segmentos? Una dirección virtual es un par ordenado v=(s,d). La traducción dinámica de direcciones utiliza una “tabla de mapa de segmentos”. Los segmentos se colocadan en una posiciones contiguas del AM primario de tamaño suficiente para alojar al segmento.
Control de Acceso en Sistemas de Segmentación Se le otorga a cada proceso ciertos derechos de acceso a todos los segmentos y se le niega el acceso a muchos otros. Un proceso puede tener acceso de lectura, escritura, ejecución, etc. a un "segmento" en particular. A partir de estos "tipos de acceso", se crean "modos de acceso".
Traducción de Direcciones de Segmentación por Transformación Directa, Asociativa y Combinación. ¿Qué información se agrega a los segmentos? Un bit de referencia para saber si esta en el AM real o secundario. Bits de protección explicados anteriormente. Longitud del segmento.
¿A qué hace referencia el fallo de página o de segmento en la ejecución de un proceso? Hace referencia a que el bloque está en el AM secundario y debe ser transfererido al AM primario antes de ser ejecutado.
Sistemas de Paginación / Segmentación Ofrecen las ventajas de las dos técnicas de organización del AM virtual. Los segmentos pueden contener una cantidad variable de páginas. No es necesario que todas las páginas de un segmento se encuentren al mismo tiempo o sean continuas en el AM real.
¿Cómo es el direccionamiento en estos sistemas? El direccionamiento es tridimensional con una dirección de almacenamiento virtual “V = (S, P, D)”
Traducción Dinámica de Direcciones en Sistemas de Paginación / Segmentación Se considera la traducción dinámica de direcciones de virtuales a reales utilizando la combinación de transformación asociativa/directa. Las páginas de referencia más reciente tienen entradas en un AM asociativo.
¿Cuántos ciclos consume la traducción de direcciones y cuantos la referencia a un elemento (obtenerlo)? Cada referencia a un elemento comprende tres ciclos de AM: Un ciclo para acceder a la tabla de mapa de segmentos y otro para referenciar la tabla de mapa de páginas. En total dos ciclos de traducción. Un tercer ciclo para referenciar al elemento deseado del AM real.
Compartir en un sistema de paginación/segmentación significa que segmentos diferentes de procesos distintos puedan apuntar a una misma tabla de mapa de página.
Estrategias de Reposición de Página: El principio de optimización. El “principio de optimización” indica que para obtener un rendimiento óptimo, la página que se va a reponer es una que no se va a utilizar en el futuro durante el período de tiempo más largo. El problema es que no es factible predecir el futuro.
Reposición de páginas al azar Consiste en escoger al azar la página que va a ser reemplazada. Debe poder seleccionar cualquier página, incluyendo la que va a ser referenciada a continuación (peor selección). Este esquema es raramente usado.
Reposición de Página por el Sistema de Primero en Entrar -Primero en Salir (FIFO) Se registra el momento en que cada página ingresa al AM primario. Para reemplazar una página, se selecciona aquella que ha estado más tiempo almacenada. Mirar bit de carga. Pueden reemplazar páginas muy usadas.
¿Qué es la "anomalía FIFO" o "anomalía de Belady"? Belady, Nelson y Shedler descubrieron que con la reposición FIFO, ciertos patrones de referencias de páginas causan más fallos de páginas cuando se aumenta el número de marcos (celdas) de páginas asignados a un proceso.
Reposición de Página Menos - Recientemente - Usada (LRU) Selecciona para ser reemplazada la página que no ha sido usada durante el mayor período de tiempo. Se basa en que el pasado reciente es un buen indicador del futuro próximo. Puede significar una sobrecarga adicional importante. Mirar bit de ult. referencia.
Reposición de Página Menos - Frecuentemente - Usada (LFU) Interesa la intensidad de uso que haya tenido cada página. La página que será reemplazada es aquella que ha sido usada con menos frecuencia. Mirar bit de frecuencia de uso.
Reposición de Página No Usada - Recientemente (NUR) Presupone que las páginas que no han tenido uso reciente tienen poca probabilidad de ser usadas en el futuro próximo y pueden ser reemplazadas por otras nuevas. Es deseable reemplazar una página que no ha sido cambiada mientras estaba en el AM primario.
¿Qué bits se tienen en consideración para la técnica NUR? Se implementa con la adición de dos bits de hardware por página: Bit referenciado (se ajustan a 0 periódicamente, nuevo inicio) Bit modificado (no se ajustan).
¿Cuál es el orden de reposición? Más propenso a ser cambiado: R M 0 0 0 1 1 0 1 1
Concepto de localidad “Los procesos tienden a hacer referencia al almacenamiento en patrones no uniformes y muy localizados”. Es decir, generalmente se hacen referencia a conjunto de páginas que están cercanas en el AM virtual.
¿Cómo se manefiesta la localidad (tiempo y espacio)? La “localidad” se manifiesta en el “tiempo” y en el “espacio”: Es una propiedad empírica (observada) y nunca está garantizada pero es muy probable. Está relacionada con la forma en que se escriben los programas y se organizan los datos.
¿Cuál es la relación con la regla del 20/80? Los programas tienden a usar el 20% de su código el 80% del tiempo (ej, recorrer areglo o ejecutar subrutinas) y el 80% del código el otro 20% (ej, manejo de excepciones).
¿Qué es un conjunto de trabajo? Un “conjunto de trabajo” es una colección de páginas a las cuales un proceso hace activamente referencia. Denning sostenía que para que un programa se ejecutara eficientemente, su conjunto de trabajo debe ser mantenido en el AM primario, para evitar la “hiperpaginación”.
Ventajas y desventajas de la búsqueda por demanda de páginas Ventajas: el camino que tomará la ejecución de un programa no se puede predecir con exactitud y hay mínima sobrecarga al sistema. Desventaja: los tiempos de espera de páginas son considerables y crece la cantidad de AM primario afectado por un proceso en el tiempo.
Consideraciones de la paginación: Un proceso tiende a hacer referencia a una parte significativa de sus páginas inmediatamente después de iniciar su ejecución. Puede que no se referencien todas las páginas El número de fallos de páginas tiende a aumentar con el tamaño de la página, debido a que se traen al AM primario un mayor número de procedimientos y datos que no serán referenciados, restando lugar para los que sí lo serán.
Respecto de cómo el promedio de tiempo interfallos (tiempo entre fallos de página) Cuanto más marcos de página tenga un proceso, mayor será el tiempo entre los fallos de páginas. El punto de inflexión se da cuando el proceso tiene todo su conjunto de trabajo en el AM primario.
Show full summary Hide full summary

Similar

Sistema Operativo
Guadalupe Rguez
CLASIFICACIÓN DE LOS SISTEMAS OPERATIVOS
luisdavidmonsanc
Flash Card Software en linea
Shiram Cruz
Seguridad y Salud en el Trabajo
Edmi Zuluaga Bermudez
Sistema Operativo
Augoth Sanctuary
Gerardo Rivera, Eduardo Vazque
gerardo.rivera.r
SISTEMAS OPERATIVOS
Ivan Mellado
INSTALACION S.O.
Priscila Esther
CLASIFICACIÓN DE LOS S.O.
angelica_garcia
TESTS SOBRE LOS SISTEMAS OPERATIVOS
Emmanuel Urriola
S.O. en el futuro
sansiw85