UNIVERSIDAD AUTÓNOMA DE SANTO DOMINGO RECINTO SAN
FRANCISCO DE MACORIS
INF324 – SISTEMAS OPERATIVOS PREGUNTAS
CAPÍTULO 4
Matrícula: 100613890 Nombre: Luis Miguel Polanco Gomez
1. ¿Cuáles son los objetivos del sistema de gestión de memoria?
Ofrecer a cada proceso un espacio lógico propio.
Proporcionar protección entre los procesos.
Permitir que los procesos compartan memoria.
Dar soporte a las distintas regiones del proceso.
Maximizar el rendimiento del sistema.
Proporcionar a los procesos mapas de memoria muy grandes.
2. Indique las fases de generación de un ejecutable.
Compilación. Se genera el código máquina correspondiente a cada módulo fuente de la aplicación asignando direcciones
a los símbolos definidos en el módulo y resolviendo las referencias a los mismos. As, si a una variable se le asigna una
determinada posición de memoria, todas las instrucciones que hagan referencia a esa variable deben especificar dicha
dirección. Las referencias a símbolos que no están definidos en el módulo quedan pendientes de resolver hasta la fase de
montaje. Como resultado de esta fase se genera modulo objeto por cada archivo fuente.
Montaje o enlace. Se genera un ejecutable agrupando todos los archivos objeto y resolviendo las referencias
entre módulos, o sea, haciendo que las referencias a un determinado símbolo apunten a la dirección asignada al
mismo. Además de este tipo de referencias, pueden existir referencias a símbolos definidos en otros
archivos objeto
3. Establezca la diferencia entre bibliotecas dinámicas y estáticas.
Para resolver estas deficiencias se usan las bibliotecas dinámicamente enlazadas (Dinamic Link
Libraries) o, simplemente, bibliotecas dinámicas. Por contraposición, se denominarán bibliotecas
estáticas a las presentadas hasta el momento.
Con este nuevo mecanismo, el proceso de montaje de una biblioteca de este tipo se difiere y en vez de
realizarlo en la fase de montaje se realiza en tiempo de ejecución del programa. Cuando en la fase de montaje
el montador procesa una biblioteca dinámica, no incluye en el ejecutable código extraído de la misma, sino que
simplemente anota en el ejecutable el nombre de la biblioteca para que ésta sea cargada y enlazada en tiempo
de ejecución.
4. Indique las operaciones que se realizan sobre las regiones.
Crear una región dentro del mapa de un proceso asociándola un objeto de sistema operativo crea una
nueva región vinculada al objeto en el lugar correspondiente del mapa asignándola los recursos
necesarios y estableciendo las características y propiedades de la misma (tipo de soporte, carácter
privado o compartido, tipo de protección y tamaño fijo o variable). En la creación del mapa de un
proceso asociado a un determinado programa se realiza esta operación por cada una de las regiones
iniciales (código, datos con valor, datos sin valor inicial y pila). Durante la ejecución del programa,
también se lleva a diferentes situaciones como, por ejemplo, cuando se carga una biblioteca dinámica o
se proyecta un archivo.
Eliminar una región del mapa de un proceso. Esta operación libera todos los recursos vinculados a la
región que se elimina. Cuando un proceso termina, voluntaria o involuntariamente, se liberan
implícitamente todas sus regiones. En el caso de una región que corresponda con una zona de
memoria compartida o un archivo proyectado el proceso puede solicitar explícitamente su eliminación
del mapa.
Cambiar el tamaño de una región. El tamaño de la región puede cambiar ya sea por una petición
explícita del programa, como ocurre con la región del heap, o de forma implícita, como sucede cuando
se produce una expansión de la pila. En el caso de un aumento de tamaño, el sistema asignará los
recursos necesarios a la región comprobando previamente que la expansión no provoca un solapamiento,
en cuyo caso no se llevaría a cabo. Cuando se trata de una reducción de tamaño, se liberan los recursos
vinculados al fragmento liberado.
Duplicar una región del mapa de un proceso en el mapa de otro.
5. Indique políticas utilizadas para asignación de espacio.
El mejor ajuste (best-fit). Se elige la zona libre más pequeña donde quepa el mapa del proceso.
A priori, puede parecer la mejor solución. Sin embargo, esto no es así. Por un lado, se generan
nuevos espacios libres muy pequeños. Por otro lado, la selección del mejor hueco exige
comprobar cada uno de ellos o mantenerlos ordenados por tamaño. Ambas soluciones conducen
a un algoritmo ineficiente,
El peor ajuste (worst-fit). Se elige el hueco más grande, Con ello se pretende que no se generen
nuevos huecos pequeños. Sin embargo, sigue siendo necesario recorrer toda la lista de huecos
o mantenerla ordenada por tamaño.
El primero que ajuste (first-fit). Aunque pueda parecer sorprendente a priori, ésta suele ser la
mejor política. Es muy eficiente ya que basta con encontrar una zona libre de tamaño suficiente
y proporciona un aprovechamiento de la memoria aceptable.
6. ¿En qué consiste el Intercambio?
El intercambio se basa en usar un disco o parte de un disco (dispositivo de swap) como respaldo de la memoria
principal . Cuando no caben en memoria todos los procesos activos (p. ej. debido a que se ha creado uno
nuevo), se elige un proceso residente y se copia en swap su memoria.
7. Hable brevemente sobre paginación
Como se ha analizado previamente, los sistemas de gestión de memoria basados en asignación contigua
presentan numerosas restricciones a la hora de satisfacer los requisitos que debe cumplir el gestor
de memoria del sistema operativo. La paginación surge como un intento de paliar estos problemas
sofisticando apreciablemente el hardware de gestión de memoria del procesador aumentado
considerablemente la cantidad de información de traducción que se almacena por e proceso.
8. ¿Qué es el Translation Lookaside Buffer (TLB)?
Se trata de una pequeña memoria asociativa interna a la MMU que mantiene información sobre las últimas páginas
accedidas, Cada entrada en la TLB es similar a la de la tabla de páginas (número de marco, protección, bit de referencia,
etc.), pero incluye también el numero de la página para permitir realizar una búsqueda asociativa.
Existen dos alternativas en el diseño de una TLB dependiendo de si se almacenan identificadores de proceso o no.
9. Explique en qué consisten las tablas de multinivel.
Una manera de afrontar el problema del gasto de memoria de las tablas de páginas es utilizar tablas de página
multinivel, Con este esquema, en vez de tener una unida tabla de páginas por proceso, hay una jerarquía de
tablas.
10. Indique las principales políticas de reemplazo.
Las estrategias de reemplazo se pueden clasificar en dos categorías: reemplazo global y reemplazo
local. Con una estrategia de reemplazo global, se puede seleccionar, para satisfacer el fallo de página
de un proceso, un marco que actualmente tenga asociada una página de otro proceso. Esto es, un
proceso puede quitarle un marco de página a otro.
La estrategia de reemplazo local requiere que, para servir el fallo de página de un proceso, sólo
puedan usarse marcos de páginas libres o marcos ya asociados al proceso.
11. ¿En qué consiste la segmentación?
La segmentación es un esquema para implementar espacios de direcciones virtuales que se usaba en los
primeros computadores de tiempo compartido. Pese a que hoy en día se encuentra en desuso, es interesante
estudiar la segmentación por su simplicidad.
12. ¿Qué son archivos proyectados en memoria?
Un archivo proyectado en memoria es un segmento de memoria virtual con una asignación
correlacionada byte por byte con una porción de un archivo o cualquier recurso de tipo
Archivo. Este recurso es típicamente un archivo físicamente presente en disco, pero también
puede ser un periférico, un objeto de memoria compartida u otro recurso que el sistema
operativo pueda referenciar a través de un descriptor de archivos. Una vez presente, esta
Correlación entre el archivo y el espacio de memoria permite que las aplicaciones traten la
Porción proyectada como si esta fuese memoria primaria
13. ¿En qué consiste la gestión de espacio swap?
El Swap es el espacio que el disco duro tiene para intercambiar la memoria física con la memoria virtual.
14. ¿Qué es una biblioteca de objetos?
La biblioteca de objetos sirve para simplificar el modelado visual y actualizar los procesos de negocio. Las funciones de
un almacenamiento centralizado de objetos permiten almacenar en una biblioteca única objetos comunes de modelado,
como ejecutores, recursos y reglamentos.
Preparado por Ing. Nelson Abreu