2. objetivo
Que el estudiante conozca la forma de
administración de almacenamiento y la
administración de la memoria.
3. Como se maneja la administración de
almacenamiento.
para que un sistema informático sea cómodo para los
usuario, el S.O proporciona una lista lógica y uniforme del
sistema de almacenamiento de la información.
El sistema operativo abstrae las propiedades físicas de los
dispositivos de almacenamiento y define una unidad de
almacenamiento lógica, el archivo.
4. Jerarquía de almacenamiento.
Los programas y datos tiene que estar en la memoria
principal para poder ejecutarse o ser referenciados.
Los programa y datos que no son necesario de inmediato
puede mantenerse en el almacenamiento secundario.
El almacenamiento principal es mas costoso y menor que el
secundario pero de acceso mas rápido.
Los sistemas con varios niveles de almacenamiento requieren
destinar recursos para administrar el movimiento de
programas y datos entre niveles.
5.
6. Vistazo general al hardware de
almacenamiento.
Es necesario entender el hardware en el que están
almacenados los datos.
Esto significa que los componentes siguientes están
presentes en alguna forma dentro de casi todos los
dispositivos de almacenamiento masivo:
Plato del disco
Dispositivos de lectura/escritura de datos
Brazos de acceso.
7. ADMINISTRACION DE LA MEMORIA.
Una de las tareas más importante y compleja de un sistema
operativo es la gestión de la memoria. La gestión de la memoria
implica tratar la memoria principal como un recurso para asignar y
compartir entre varios procesos activos. Para un uso eficiente del
procesador y de los servicios de E/S, resulta interesante mantener
en memoria principal tantos procesos como sea posible.
Además es deseable poder liberar a los programadores de las
limitaciones de tamaño en el desarrollo de los programas.
8. Las herramientas básicas de la gestión de
memoria son la paginación y la segmentación.
En la paginación, cada proceso de divide en
páginas de tamaño constante y relativamente
pequeño.
La segmentación permite el uso de partes de
tamaño variable.
También es posible combinar la segmentación y
la paginación en un único esquema de gestión
de memoria.
9. La parte del sistema operativo que administra la memoria se
llama administrador de memoria. Su labor consiste en llevar un
registro de las partes de memoria que se estén utilizando y
aquellas que no, con el fin de asignar espacio e memoria a los
procesos cuando esto la necesiten y liberarlo cuando terminen,
así como administrar el intercambio entre la memoria principal y
el disco en los casos en que la memoria principal ni pueda
albergar a todos los procesos.
Para realizar lo anterior se puede utilizar diferentes esquemas de
administración de memoria, desde los muy sencillos hasta los
mas sofisticados.
10. Vinculación de direcciones.
Un programa generalmente reside en un disco como archivo
binario ejecutable. Para que sea ejecutado, el programa deber
ser llevador a la memoria y colocado dentro de un proceso.
Dependiendo del tipo de administración de memoria en uso, el
proceso puede transferirse entre el disco y la memoria durante su
ejecución. El conjunto de procesos que están en el disco
esperando ser llevados a la memoria para su ejecución forman la
cola de entrada.
El procedimiento normal consiste en seleccionar uno de los
procesos de la cola de entrada y cargarlo en la memoria. A
medida que el proceso se ejecuta, accede a la instrucciones y
datos de memoria. Con el tiempo, el proceso termina, y su espacio
de memoria se declara como disponible.
11. Las direcciones pueden representarse de diferentes formas, las
direcciones en el programa fuente son simbólicas . Un
compilador vinculara estas direcciones simbólicas con
direcciones relocalizadles (como 14 bytes a partir del comienzo
del modulo). El editor de enlace o cargador, a su vez, vinculará
las direcciones relocalizables con direcciones absolutas (como
74014). Cada vinculación es un mapeo de un espacio de
direcciones a otro.
De manera clásica, la vinculación de instrucciones y datos con
direcciones de memoria puede hacerse en cualquier pasos
durante el recorrido:
12. Tiempo de compilación.
Tiempo de carga.
Tiempo de ejecución.
Tiempo de compilación: si se conocer al momento de la
compilación en dónde residirá el proceso en la memoria ,
entonces se puede generar un código absoluto.
Tiempo de carga: si no se conoce al momento de la
compilación en dónde residirá el proceso en la memoria,
entonces el compilador deber generar un código
relocalizables. En este caso, la vinculación final se demora
hasta el momento de la carga.
Tiempo de ejecución: si el proceso puede moverse
durante su ejecución de un segmento de memoria a otro,
entonces la vinculación debe ser demorada hasta el
momento de la ejecución
13. Espacios de direcciones lógicas contra físicas.
Una direcciones generada por la CPU se conoce comúnmente como
dirección lógica, en tanto que una dirección vista por la unidad de
memoria es decir, la que se carga en la memoria en el registro de
direcciones de memoria se conoce como dirección física.
Los métodos de vinculación de dirección en el momento de la
compilación y en el de la carga dan como resultado que las dirección
lógicas y físicas son las mismas.
Según lo anterior dirección lógica = virtual .
Espacios de direcciones lógicas difieren de los espacios de direcciones
físicas generadas por los programas.
El mapeo en tiempo de ejecucion de direcciones virtuales en direcciónes
físicas es realizado por la unidad de administración de memoria (MMU)
(memory management unit)
14. Carga dinámica.
Todo el programa y los datos de un proceso deben de estar en
la memoria física para la ejecución de este. El tamaño de un
proceso está limitada por el tamaño de la memoria física. Para
conseguir una mejor utilización del espacio de memoria,
podemos emplear la carga dinámica.
Con la carga dinámica, una rutina no se carga sino hasta que
es llamada. Todas las rutinas se mantienen en el disco en un
formato de carga localizable.