3.Administración de memoria - Edna Miranda Chávez

Download Report

Transcript 3.Administración de memoria - Edna Miranda Chávez

Sistemas Operativos
Unidad III.
Administración de la memoria
Revisión Feb 2011
Sergio Fuenlabrada Velázquez
Edna Martha Miranda Chávez
Sergio Fuenlabrada Velázquez
Administración de la memoria.
Encargado de administrar todos
componentes de almacenamiento
información.
los
de
El administrador de memoria:
• Controla las partes de la memoria que están en
uso, las que no lo están.
• Asigna memoria a procesos cuando la solicitan
y retira la memoria cuando terminan.
• Administra el intercambio de datos entre la
memoria central, primaria o ejecutable y la
memoria virtual (disco duro).
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Dispositivos Físicos
Medios de almacenamiento
Computador
Flash
Memoria
Ram
Diskette
Disco
Externo
cache
Sd
Discos
ópticos
CD-Rom
DVD
Rom
Disco
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Evolución de la memoria auxiliar
http://www.spreadshirt.es
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Dispositivos físicos
Disco duro
 Conjunto de platos de metal sujetos por un eje central. Entre cada
plato, existe un brazo con una bobina en su extremo que emite pulsos
magnéticos. Estos giran a 7,200, 10,000 o más revoluciones por
minuto, en sentido contrario a las manecillas del reloj.
 Las cabezas de lectura (bobinas en los extremos de los brazos), emiten
pulsos eléctricos moviéndose desde el borde hacia el centro y
viceversa.
 Si la unidad lee cada sector en la misma cantidad de tiempo, entonces el
disco gira más rápido cuando lee los sectores cerca de la parte media y más
despacio cuando lee los sectores cerca del borde
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Dispositivos Físicos
Partes que conforman físicamente al Disco Duro
Sergio Fuenlabrada Velázquez
Edna Martha Miranda Chávez
Sergio Fuenlabrada Velázquez
Dispositivos físicos
Sistemas Operativos, Gary Nutt, Ed. Pearson
La imagen muestra como se almacena físicamente los datos
en la memoria.
Medios Giratorios
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Dispositivos Fisicos
CD – ROM Compact Disk – Read Only Memory
Las unidades de CD-ROM son bastantes lentas
porque se lee bit a bit.
La velocidad rotatoria cambiante del disco se
debe a la pista del disco óptico dividida en
sectores con una distribución diferente del
disco magnético.
Si la unidad lee cada sector en la misma
cantidad de tiempo, entonces el disco gira más
rápido cuando lee los sectores cerca de la parte
media y más despacio cuando lee los sectores
cerca del borde.
Los datos no se escriben en las pistas en forma
secuencial, esto acelera la operación de
escritura, pero demora la lectura, dado que las
porciones de un archivo quedan dispersas.
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Estructura de la Memoria Primaria y Secundaria
La imagen muestra como esta particionada la memoria
Área de Control de la memoria
Área de Programas residentes
Área de Control de la memoria
Área de Memoria Virtual
Área de Programas
intercambiables
Área de Usuario o de trabajo
Área de Constantes y variables
locales
Área de Constantes y variables
globales
Área de Buffer´s
Memoria primaria
Memoria secundaria Disco Duro
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Memoria
baja
Memoria
Alta
Administración de la memoria
primaria o ejecutable
• Abstracción - Permite el uso de direcciones lógicas
y las convierte en sus respectivas direcciones físicas.
Liga de direcciones lógicas con físicas
• Asignación – Asigna al proceso la memoria
requerida y cuando termina este la libera
(desasigna).
• Aislamiento – Asegura que sólo el proceso que
tiene asignada la memoria tenga acceso a esta.
• Compartición – Procesos productores y
consumidores pueden compartir la memoria.
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Memoria auxiliar
Los dispositivos restantes que proveen el servicio de
almacenamiento de información son denominados
memoria auxiliar. Algunos de estos dispositivos
son:
• Discos magnéticos (cuando en la computadora se tienen más
de un disco duro a partir del segundo disco duro se considera
memoria auxiliar, el disco duro maestro se considera
memoria secundaria)
• CD, DVD, Flash, etc.
• Memoria extraíble (USB, tarjetas, ipod, etc.)
• Cintas magnéticas y Unidades de respaldo
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Medición de la transmisión y transferencia de
datos
Guía completa para PC, Gilster Ron, Ed. Pearson
Milisegundos
Milesima
1/ 1 000
Microsegundos Millonesima
1/ 1 000 000
Nanosegundos
Milmillonesima
1/ 1 000 000 000
Picosegundos
Billonesima
1/1 000 000 000 000
Femtosegundos Milbillonesima
1/1 000 000 000 000 000
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Transmisión y transferencia de los datos
Guía completa para PC, Gilster Ron, Ed. Pearson
Tiempo de acceso directo
-
Milisegundos
Tiempo de acceso a memoria -
Nanosegundos
Ciclo de maquina
Microsegundos/
-
Nanosegundos
Ejecución de instrucciones
-
Microsegundos/
Nanosegundos
Conmutación de un transistor -
Nanosegundos/
Picosegundos/Femtosegundos
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Unidades de medida de la Memoria
Guía completa para PC, Gilster Ron, Ed. Pearson
Expresado en números cerrados
Bit
Bit
1 o 0 binario
Byte
Byte
8 bits
Palabra
16 a 256 bits (depende del tamaño del
bus del computador)
Kilobyte
KB Mil
Megabyte MB Millon
Gigabyte GB
Terabyte TB
1024 Byte
(1 pagina de texto)
1 000 000 Byte
Milmillones 1 000 000 000 Byte
1 Billon
(1 libro corto)
(1000 libros)
1 000 000 000 000 Bytes
(1 biblioteca)
Petabyte
PB Mil Billones 1 000 000 000 000 000 Bytes
(todas las bibliotecas de estados unidos)
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Unidades de medida de la Memoria
Guía completa para PC, Gilster Ron, Ed. Pearson
ExaByte
EB
1 000 000 000 000 000 000
ZettaByte
ZB
1 000 000 000 000 000 000 000
YottaByte YB
1 000 000 000 000 000 000 000 000
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Código ASCII y EBCDIC
Byte
Palabras binarias
2 bits - Crumb o tayste
Zona de
Signo
Zona de
Carácter
5 bits – Nickel
10 bits – Deckel
16 bits – Playte o chawmp
Nybble
Nybble
32 bits – Dynner
48 bits - Gawble
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Comunicación de datos en el Computador
La estructura del sistema basado en microprocesador consta
principalmente de 3 partes :
• Unidad central de proceso (procesador).
• Controlador de I/O, Unidad de E/S (Sistema de E/S).
• Memoria RAM, Central, Real, Primaria o Principal
Procesador
Memoria
Primaria
Controlador
de I/O
Bus del Sistema
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Comunicación entre las memorias
Sistemas Operativos, Gary Nutt, Ed. Pearson
Jerarquía como el sistema operativo gestiona la memoria
Capa o
nivel alto
Rápida pero
limitada en
tamaño
Capa o
nivel medio
Se mantienen los
datos en esta
memoria mientras
los necesita el
procesador
Capa o
nivel
inferior
Jerarquía básica de la memoria
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Lenta pero de
gran
capacidad
Comunicación entre las memorias
Sistemas Operativos, Gary Nutt, Ed. Pearson
La imagen muestra como se comunican los datos entre la
memoria y el controlador de I/O
Transmisión de
datos de la
memoria
auxiliar a la
memoria real
Informa de acciones que
efectúan los dispositivos
Controlador de I/O
Acceso directo a memoria
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Comunicación entre las memorias
Sistemas Operativos, Gary Nutt, Ed. Pearson
La imagen muestra como se comunican los datos entre el
procesador, la memoria cache, primaria, secundaria y auxiliar
Una vez que la
información se
almacena en un nivel
inferior se destruye
en el nivel alto
Jerarquía de Memoria
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Comunicación entre las memorias
La imagen muestra como se comunican los datos entre el
procesador la memoria cache, primaria, secundaria y
auxiliar
Discos
Memoria
magnéticos.
auxiliar.
• Memoria Rom y Cache
• Memoria Primaria.
Procesador I/O.
• Discos maestro o memoria secundaria
• Discos esclavos.
Memoria principal.
• CD, DVD.
• Memoria extraíble y de respaldo
C.P.U.
Flash, disco duro externo, etc.
Memoria
de reserva
Cache.
Jerarquía de la memoria
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Vista lógica de la memoria
Mapa o tabla de la memoria
Palabra
Página
Segmento
Partición
Bus de datos = Palabra
n Palabras =
1 página
n Páginas =
1 segmento
n Segmentos = Partición
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Mapeo
Registro de
dirección virtual.
Memoria principal
(20 bits).
Tabla de
mapeo
de
memoria.
Registro y
dirección de
memoria
principal (15
bits).
Es manejado
automáticamente por el
hardware por medio de
una tabla de mapeo.
Memoria
secundaria
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Memoria
primaria
Registro de
buffer de
memoria
principal.
Vista lógica de la memoria
Paginación
La paginación proporciona una técnica para
implementar un espacio de direcciones lineales
grande, en una memoria física limitada.
Cada archivo puede tener un número muy grande de
bytes. Este se puede almacenar en una o más
páginas.
Los primeros bytes o palabras, 6K aprox., se
reservan para control (longitud del archivo, si el
archivo se puede leer o escribir y un apuntador a la
tabla de páginas.
Si el archivo pertenece a un programa de ejecución
contendrá además procedimientos, datos, pilas y
grupos, etc.
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Vista lógica de la memoria - Paginación.
El espacio de dirección virtual se divide en
unidades llamadas páginas.
Las unidades correspondientes en la memoria
física se denominan cuadros de página.
ESPACIO DE
DIRECCIÓN VIRTUAL
DIRECCIONES DE LA
MEMORIA FÍSICA.
0-4K
2
0-4K
4-8K
1
4-8K
8-12K
6
8-12K
Las páginas y los cuadros de página siempre son
del mismo tamaño.
12-16K
0
12-16K
16-20K
4
16-20K
20-24K
3
20-24K
El número de páginas se utiliza como índice en la
tabla de páginas, lo que produce el cuadro de
página que corresponde la página virtual.
24-28K
X
24-28K
28-32K
X
32-36K
X
36-40K
5
El direcciónamiento virtual dentro de la página
se puede almacenar de 4 a 16 bits, y un valor de
compensación de 12 bits dentro de la página.
40-44K
X
44-48K
7
48-52K
X
52-56K
X
56-60K
X
60-64K
X
En la tabla de páginas con cuatro bits para el
número de página, podemos representar 16
páginas y con 12 bits para el valor de
compensación, se puede direccionar 4096 bytes
de una página.
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
CUADRO DE
LA PÁGINA.
PÁGINA
VIRTUAL
Mapeo de dirección usando paginas.
La implantación de tablas de mapeo de direcciones se
simplifica si la información en el espacio de dirección y
en el espacio de memoria, se divide cada una en grupos
de tamaño fijo.
El término página se refiere a grupos de espacio de
dirección con el mismo tamaño.
La memoria física se separa en grupos de igual tamaño
llamados bloques, que pueden variar de 64 a 4096
palabras cada una.
El mapeo del espacio de direccionamiento al espacio de
memoria física se facilita si cada dirección virtual se
considera representada mediante dos números : una
dirección de número de página y una línea dentro de la
página.
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Multiprogramación.
Multiprogramación, técnica que permite que dos o
más procesos se cargen en la memoria principal y que
sean atendidos al "mismo tiempo" por el procesador.
Esto es que varios procesos esten en ejecución de forma
simultanea, permite el servicio interactivo y mantiene
al procesador trabajando ininterrumpidamente,
mientras atiende un proceso, los otros procesos esperan
se completen sus operaciones de E/S.
Multiprogramación con particiones
Consiste en dividir la memoria en cierto número de
particiones, generalmente desiguales, en la que los procesos
esperarán para entrar a ejecución, formando una o varias listas
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Compilación y ejecución de un programa
Sistemas Operativos, Gary Nutt, Ed. Pearson
Segmentos Multiples
Programa
absoluto
Programa en C
•Segmento de código
•Segmento de datos
•Segmento de pila
Editor de enlace
Código reubicable o
modulo objeto reubicable
Liga direcciones
lógicas con físicas
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Direccionamiento
Sistemas Operativos, Gary Nutt, Ed. Pearson
Registro de
reubicación de
segmento de código
Registro de
reubicación de
segmento de pila
Programa
Variables temporales
Variables estáticas
Registro de
reubicación de
segmento d datos
Proporciona direcciones durante el ciclo de ejecución – procesador
Reposiciona todas las posiciones de la pila – ejecución de instrucciones
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
La memoria virtual.
Partición en la memoria secundaria, que permite al
Sistema Operativo descargar los programas,
aplicaciones o archivos que no están en uso en ese
momento, el sistema operativo con la acción de
descarga a la memoria virtual libera el espacio en la
memoria primaria.
Con esta acción permite al Sistema Operativo
manejar programas, aplicaciones y archivos como
si tuviera un espacio grande de memoria primaria.
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Memoria virtual.
Técnica que simula una capacidad
superior de memoria central, real o
primaria.
Al utilizar la memoria virtual se
logra que en la memoria primaria
sólo estén cargados aquellos
procesos que se estén usando el
procesador.
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
La carga de datos a memoria primaria
La imagen muestra como se carga la pagina en la memoria primaria
y se descarga a memoria virtual
Entorno del proceso
Área de control de la memoria
Área de control de la memoria
Descarga
Área de
programas
intercambiables
X
Constantes y
variables locales
Constantes y
variables globales
X
Memoria
virtual
Carga
Carga
X
Buffer´s
Memoria principal
Memoria secundaria
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Superposición
Memoria
virtual
PAGE-IN
PROCESO 1
• PAGE-IN.
PROCESO 2
• PAGE-OUT.
• Tamaño de la memoria
virtual = 6 X tamaño
de memoria central.
Memoria
primaria
PAGE-OUT
PROCESO 3
PAGE-OUT
PAGE-IN
PROCESO N
Gary Nutt
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Administración de la memoria.
El administrador de memoria
contiene:
1.- Codificador y decodificar de
direcciones
2.- Directorio de páginas
2.- Matriz de memoria
3.- Lógica de control.
4.- Registros de información
5.- Administrador de archivos
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Direccionamiento
Sistemas Operativos, Gary Nutt, Ed. Pearson
Carga
Traducción de
direcciones de
windows, 2 niveles
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Sistemas Operativos, Gary Nutt, Ed. Pearson
Direccionamiento
Traducción de direcciones virtuales – Unix
Traducción de direcciones en la segmentación
Archivos correlacionados
con memoria
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Manejo de la memoria
Tipos de administración de memoria :
Mueve los procesos hacia adelante y hacia atrás
entre la memoria central y el disco (memoria
virtual) durante la ejecución. El programador no se
preocupa por saber en dónde estará almacenado el
proceso, ni su tamaño, el gestor se encarga de
convertir la dirección lógica en física, y cargar la
parte del proceso requerido para su ejecución.
Intercambio - Transporta la información de la
memoria central al disco duro (memoria virtual).
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Estrategias para la administración de la
memoria.
El gestor de memoria tiene a su vez tres
estrategias de administración:
• Administración con mapas de bits.
• Administración de la memoria con el
sistema compañero.
• Administración de la memoria con listas
enlazadas.
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Estrategias para la administración de la
memoria
Matriz de memoria
S
X
Q
A
0 1
0 0 0
0 1
1 0 0
0 0
0 1 0
0 0
0 0 0
0 1
0 0 0
Mapa de
bit´s
Nombre archivo, longitud, autor, etc.
Nombre archivo, longitud, autor, etc.
Nombre archivo, longitud, autor, etc.
Nombre archivo, longitud, autor, etc.
Y
Sistema
compañero
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Estrategias para la administración de la
memoria
Identificador de
archivo
Apuntador o
puntero
Indice, i-nodo
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez
Organización Lógica del SO UNIX
Sistemas Operativos, Gary Nutt, Ed. Pearson
Sergio Fuenlabrada Velázquez, Edna Martha Miranda Chávez