Está en la página 1de 6

8.1 Explicar la diferencia entre la fragmentación interna y externa.

Fragmentación interna es el área de una región o una página que


No es utilizado por el trabajo que ocupa esa región o página. Este espacio es
No está disponible para su uso por el sistema hasta que termine el trabajo y la página
O región.

8.2 Considere el siguiente proceso para generar binarios. Un compilador es


Utilizado para generar el código de objeto para módulos individuales, y un enlace
Editor se utiliza para combinar múltiples módulos de objetos en un solo programa
binario. ¿Cómo cambia el enlace editor el enlace de instrucciones?
Y datos a direcciones de memoria? Qué información necesita ser aprobada
Desde el compilador hasta el editor de enlaces para facilitar la vinculación de la memoria
Tareas del editor de enlaces?

El editor de enlaces debe remplazar las direcciones simbólicas no resueltas


Con las direcciones reales asociadas con las variables de la
Programa final binario. Para realizar esto, los módulos deben
Pista de instrucciones que hacen referencia a símbolos no resueltos. Durante la vinculación,
A cada módulo se le asigna una secuencia de direcciones en el programa general
Binario y cuando esto se ha realizado, las referencias no resueltas a los símbolos
Exportados por este binario podrían ser remendados en otros módulos
Todos los demás módulos contendrían la lista de instrucciones que
Ser parcheado

8.3 Dadas cinco particiones de memoria de 100 KB, 500 KB, 200 KB, 300 KB, y
600 KB (en orden), ¿cómo sería cada uno de los primeros-encajar, mejor ajuste y el peor
ajuste
Los algoritmos sitúan procesos de 212 KB, 417 KB, 112 KB y 426 KB (en
orden)? ¿Qué algoritmo hace el uso más eficiente de la memoria?

a. Primer ajuste:
b. 212K se pone en 500K partición
c. 417K se pone en 600K partición
d. 112K se pone en la partición 288K (nueva partición 288K = 500K - 212K)
e. 426K debe esperar
f. Mejor ajuste:
g. 212K se pone en la partición 300K
h. 417K se pone en 500K partición
i. 112K se pone en la partición 200K
j. 426K se pone en 600K partición
k. Lo peor:
l. 212K se pone en 600K partición
m. 417K se pone en 500K partición
n. 112K se pone en la partición 388K
o. 426K debe esperar
8.4 La mayoría de los sistemas permiten a los programas asignar más memoria a su
dirección
Espacio durante la ejecución. Datos asignados en los segmentos de los programas
Es un ejemplo de dicha memoria asignada. Lo que se requiere para apoyar
Asignación de memoria dinámica en los siguientes esquemas:
a. Asignación de memoria contigua
• asignación de memoria contigua: puede requerir la reubicación de la
Todo el programa ya que no hay suficiente espacio para que el programa
Crecer su espacio de memoria asignado.

b. Segmentación pura
• Segmentación pura: también podría requerir la reubicación del segmento
Que es necesario ampliar porque no hay espacio suficiente para
Segmento para crecer su espacio de memoria asignado.

c. Paginación pura

• Paginación pura: la asignación incremental de nuevas páginas es posible en este


Sin necesidad de reubicar el espacio de direcciones del programa.

8.5 Comparar los esquemas de organización de memoria principal de la memoria contigua


Asignación, segmentación pura y paginación pura con respecto a lo siguiente
Cuestiones:

a. Fragmentación externa
el esquema de asignación de memoria contigua sufre de
Fragmentación, ya que los espacios de direcciones se asignan contiguamente y los
agujeros
Se desarrollan a medida que los viejos procesos mueren y se inician nuevos procesos.
También
No permite que los procesos compartan código, ya que la memoria virtual de un proceso

b. fragmentación interna

No se divide en segmentos de grano fino no contiguos. Puro


Segmentación también sufre la fragmentación externa como segmento de
Proceso se presenta de forma contigua en la memoria física y la fragmentación

c. Capacidad de compartir código entre procesos

Nuevos procesos. Sin embargo, la segmentación permite a los procesos compartir código;
Por ejemplo, dos procesos diferentes podrían compartir un segmento de código pero tienen
Distintos segmentos de datos. La paginación pura no sufre de fragmentación externa,
Sino que sufre de la fragmentación interna. Los procesos son
Asignado en granularidad de página y si una página no se utiliza completamente,
Da lugar a una fragmentación interna ya un correspondiente desperdicio de espacio.
La paginación también permite a los procesos compartir código en la granularidad de las
páginas.

8.6 En un sistema con paginación, un proceso no puede acceder a la memoria que hace
No propio; ¿por qué? ¿Cómo podría el sistema operativo permitir el acceso a otros
¿Memoria? ¿Por qué debería o no?

Una dirección en un sistema de paginación es un número de página lógico y


Un desplazamiento. La página física se encuentra buscando una tabla basada en el
Número de página lógica para producir un número de página física. Porque el
Sistema operativo controla el contenido de esta tabla, puede limitar un proceso
Para acceder sólo a las páginas físicas asignadas al proceso. Ahi esta
No hay manera de que un proceso se refiera a una página que no posee porque la página
No estará en la tabla de páginas.

8.7 Comparación de la paginación con la segmentación con respecto a la cantidad de


memoria
Requerido por las estructuras de traducción de direcciones para convertir
Direcciones virtuales a direcciones físicas.

La paginación requiere más sobrecarga de memoria para mantener la traducción


Estructuras. La segmentación requiere sólo dos registros por segmento:
Uno para mantener la base del segmento y el otro para mantener la
Extensión del segmento. Por otro lado, la paginación requiere una
Y esta entrada proporciona la dirección física en la que se encuentra la página
Situado.

8.8 Los binarios de programa en muchos sistemas suelen estructurarse de la siguiente


manera. El código se almacena a partir de una pequeña dirección virtual fija, como
Segmento de código es seguido por el segmento de datos que se utiliza para almacenar Las
variables del programa. Cuando el programa comienza a ejecutarse, la pila Asignado en el
otro extremo del espacio de direcciones virtuales y se le permite Crecen hacia direcciones
virtuales inferiores. ¿Cuál es el significado del Sobre los siguientes esquemas:

a. Asignación de memoria contigua segundo. Segmentación pura do. Paginación pura


Respuesta: 1) La asignación de memoria contigua requiere el sistema operativo Asignar toda la
extensión del espacio de direcciones virtual al programa Cuando se inicia la ejecución. Esto
podría ser mucho más alto que el Memoria del proceso. 2) La segmentación pura da la
Flexibilidad del sistema operativo para asignar una pequeña extensión a cada El tiempo de inicio
del programa y ampliar el segmento si es necesario. 3) paginación pura No requiere que el
sistema operativo asigne la máxima extensión de El espacio de direcciones virtual a un proceso
en el momento del arranque, pero todavía requiere El sistema operativo para asignar una tabla de
páginas grande que abarque todos los Espacio de direcciones virtual del programa. Cuando un
programa necesita Pila o el montón, necesita asignar una nueva página pero la La entrada de la
tabla de páginas está preasignada.

8.9 Considere un sistema de paginación con la tabla de páginas almacenada en la memoria.

a. Si una referencia de memoria toma 200 nanosegundos, ¿cuánto tiempo Referencia de memoria
paginada tomar?

b. Si agregamos registros asociativos, y el 75% de todos los registros de páginas Se encuentran


referencias en los registros asociativos, cuál es el Tiempo de referencia de la memoria? (Suponga
que encontrar una tabla de páginas Entrada en los registros asociativos toma tiempo cero, si la
entrada es ahí.) Responder: a. 400 nanosegundos; 200 nanoseconds para acceder a la tabla de
páginas y 200 nanosegundos para acceder a la palabra en la memoria. segundo. Tiempo de
acceso efectivo = 0,75 × (200 nanosegundos) + 0,25 × (400 Nanosegundos) = 250
nanosegundos.

8.10 ¿Por qué la segmentación y la paginación a veces se combinan en un esquema?

Segmentación y paginación se combinan a menudo para mejorar


Uno sobre el otro. La paginación segmentada es útil cuando la tabla de páginas
Se vuelve muy grande. Una sección contigua grande de la tabla de páginas que es
No utilizados se pueden contraer en una entrada de tabla de segmento único con una tabla de
páginas
Dirección de cero. La segmentación paginada maneja el caso de tener
Segmentos muy largos que requieren mucho tiempo para la asignación. Por paginación
Los segmentos, reducimos el desperdicio de memoria debido a la fragmentación externa
Así como simplificar la asignación.

8.11 Explique por qué es más fácil compartir un módulo reentrante usando la
segmentación
Que hacerlo cuando se utiliza la paginación pura.

Dado que la segmentación se basa en una división lógica de la memoria


En lugar de una física, segmentos de cualquier tamaño pueden ser compartidos con sólo
Una entrada en las tablas de segmento de cada usuario. Con la paginación debe haber
Una entrada común en las tablas de página para cada página que se comparte.

8.12 Considere la siguiente tabla de segmentos:


Longitud de base del segmento
0 219 600
1 2300 14
2 90 100
3 1327 580
4 1952 96
¿Cuáles son las direcciones físicas para las siguientes direcciones lógicas?
a. 0,430 =219 + 430 = 649
b. 1,10= . 2300 + 10 = 2310
c. 2,500 = Referencia ilegal, trampa al sistema operativo
d. 3,400= 1327 + 400 = 1727
e. 4.112= Referencia ilegal, trampa al sistema operativo

8.13 ¿Cuál es el propósito de paginar las tablas de páginas?

En ciertas situaciones, las tablas de páginas podrían llegar a ser lo suficientemente grandes
Que mediante la paginación de las tablas de páginas, se podría simplificar la asignación de
memoria
Problema (asegurando que todo esté asignado como páginas de tamaño fijo
En comparación con los trozos de tamaño variable) y también permitir la
Partes de la tabla de páginas que no se utilizan actualmente.

8.14 Considere el esquema jerárquico de paginación utilizado por la arquitectura VAX.


¿Cuántas operaciones de memoria se realizan cuando un programa de usuario
Ejecuta una operación de carga de memoria?

Cuando se realiza una operación de carga de memoria, hay tres


Operaciones de memoria que pueden realizarse. Uno es traducir el
La posición de la página para la página se podría encontrar (ya que
Las propias tablas de páginas se paginan). El segundo acceso es acceder al
Entrada de la tabla de páginas en sí, mientras que el tercer acceso es la carga de memoria real
operación.

8.15 Comparar el esquema de paginación segmentada con las tablas de páginas hash Para
manejar grandes espacios de direcciones. Bajo qué circunstancias Un esquema preferrable
sobre el otro?

: Cuando un programa ocupa sólo una pequeña parte de su Espacio de direcciones virtuales, se
podría preferir una tabla de páginas hash debido a Su tamaño más pequeño. La desventaja con
las tablas de páginas hash es sin embargo El problema que surge debido a los conflictos en la
asignación de varias páginas en La misma entrada de tabla de páginas hash. Si muchas páginas
se corresponden con la misma entrada, Entonces atravesar la lista correspondiente a esa entrada
de tabla hash podría incurrir Una sobrecarga significativa; Tales gastos generales son mínimos
en la segmentación Sistema de paginación en el que cada entrada de la tabla de páginas mantiene
Sólo una página.

8.16 Considere el esquema de traducción de direcciones de Intel mostrado en la Figura


8.22.
a. Describir todos los pasos que toma el Intel 80386 para traducir un Lógica en una dirección
física.

- El selector es un índice en la tabla de descriptor de segmentos. El segmento El resultado del


descriptor más el offset original se utiliza para producir Una dirección lineal con un dir, una
página y un offset. El directorio es un índice En un directorio de páginas. La entrada del
directorio de páginas selecciona Página y el campo de página es un índice en la tabla de páginas.
los Entrada de la tabla de páginas, más el desplazamiento, es la dirección física.

b. ¿Cuáles son las ventajas del sistema operativo de hardware que Proporciona hardware de
traducción de memoria tan complicado?

- Tal mecanismo de traducción de página ofrece la flexibilidad Sistemas operativos para


implementar su esquema de memoria en Hardware, en lugar de tener que implementar algunas
partes en hardware Y algunos en software. Porque se puede hacer en hardware, es Más eficiente
(y el núcleo es más sencillo).

c. ¿Hay algún inconveniente en este sistema de traducción de direcciones? Si Entonces, ¿qué


son? Si no, ¿por qué no es utilizado por todos los fabricantes?

- La traducción de direcciones puede tardar más debido a la Consultas que puede invocar.
Caches ayuda, pero todavía habrá caché Extraña

También podría gustarte