Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Porque es importante ?
P 1 P 3 P 5
P2 P 6
Administracin Memoria
memoria principal Memoria principal = memoria primaria = memoria real=memoria RAM= memoria fsica Memoria = almacenamiento Aspectos importantes:
Jerarquia de la memoria Organizacin de la memoria Estrategias de administracin de la memoria
Organizacin y administracin de la
Jerarqua memoria
En el ncleo L1, L2 en le procesador , 32 KB, l2 MB, Tiempo acceso 4ns a 10 ns
Registros
Cach
Memoria Principal
TB, microsegundos,
Jerarquia de memoria
Diversas tecnologas para diversos tipos de
memorias
A menor tiempo de acceso mayor costo por bit A mayor capacidad menor costo por bit A mayor capacidad, mayor tiempo de acceso
Organizacin de la memoria
La forma de considerar la memoria
Asignacion continua
64 MB
Proceso 3 Mb
Proceso 3 Mb
Sistema Operativo
0 MB
Asignacion no continua
64 MB Proceso 1 Mb Proceso 3 Mb Proceso 1 Mb
Lenguaje maquina Datos
El problema de la relocalizacin
Consiste en que los programas que necesitan
cargarse a memoria real ya estn compilados y ligados, de manera que internamente contienen una serie de referencias a direcciones de instrucciones, rutinas y procedimientos que ya no son vlidas en el espacio de direcciones de memoria real de la seccin en la que se carga el programa. Cuando se compil el programa se definieron o resolvieron las direcciones de memoria de acuerdo a la seccin de ese momento, pero si el programa se carga en otro dia en una
El problema de la relocalizacin
En este caso, el manejador de memoria
puede solucionar el problema de dos maneras: de manera `esttica' o de manera `dinmica'. La solucin `esttica' consiste en que todas las direcciones del programa se vuelvan a recalcular al momento en que el programa se carga a memoria, esto es, prcticamente se vuelve a recompilar el programa.
El problema de la relocalizacin
que guarde la direccin base de la seccin que va a contener al programa. Cada vez que el programa haga una referencia a una direccin de memoria, se le suma el registro base para encontrar la direccin real. Por ejemplo, suponga que el programa es cargado en una seccin que comienza en la direccin 100. El programa har referencias a las direcciones 50,52,54. Pero el contenido de esas direcciones no es el deseado, sino las direcciones 150, 152 y 154, ya que ah comienza el programa. La suma de 100 + 50, ...,etctera se hacen al tiempo de ejecucin.
El problema de la proteccin
Una vez que un programa ha sido cargado a
memoria en algn segmento en particular, nada le impide al programador que intente direccionar ( por error o deliberadamente ) localidades de memoria menores que el lmite inferior de su programa o superiores a la direccin mayor; es decir, quiere referenciar localidades fuera de su espacio de direcciones. Obviamente, este es un problema de proteccin, ya que no es legal leer o escribir en reas de otros programas. La solucin a este problema tambin puede
Multiprogramacin
Tiempo promedio que el CPU est ocupado `grado
de multiprogramacin'. Si el sistema tuviese un solo proceso siempre, y ste gastara 60% en entrada/salida, el grado de multiprogramacin sera: 1 - 60% = 40% = 0.4. Con dos procesos, para que el CPU est ocioso se necesita que ambos procesos necesiten estar haciendo entrada/salida, es decir, suponiendo que son independientes, la probabilidad de que ambos estn en entrada/salida es el producto de sus probabilidades, es decir, 0.6x0.6 = 0.36. Ahora, el grado de multiprogramacin es 1 - (probabilidad de
- Facilita la programacin de una aplicacin al dividirla en dos o ms procesos - Capacidad de tener al mismo tiempo ms de un proceso en memoria - Poder proporcionar un servicio interactivo a varias personas al mismo tiempo - Retardo atencin procesos: dedican tiempo sustancial en la espera de la conclusin de E/S en disco. - Dos tipos 1. Multiprogramacin con particiones fijas
partes
(inamovible)
Parti cin 4
2 MB 5 MB
Parti cin 3
4 MB
Parti cin 2
Particiones fijas de memoria con colas de entrada independientes para cada particin
1 MB
Parti cin 1 Sist em ope a rativ
0 1 2 3 4 5 6 7 8 9 1 1 1 1 1 1 0 1 2 3 4 5 SO Particion 1 Particion 2
Direccionamiento Fisico
Direccin fsica
Designa posicin real de la memoria
principal Aquella cargada en el registro de direcciones de la memoria Espacio de direcciones fsicas Conjunto de posiciones de memoria correspondientes a las direcciones lgicas
SO
Direccionamiento Logico
Direccin lgica
Referencia a posicin de memoria independiente de la asignacin actual de datos
SO
Direccion Relativa Reg. Base + Desp. @Rel(I1) = Reg.Base + 0 @Rel(I2) = Reg.Base + 1 @Rel(I3) = Reg.Base + 2
Desventajas de P. Fijo
L Grado de multiprogramacin. - Limitado al nmero de particiones
L Fragmentacin Interna
Dentro de cada particin queda una zona de
memoria no aprovechable El proceso es ms pequeo que la particin No se puede asignar a ningn otro proceso Es posible que procesos esperando entrar en memoria no tengan particin a pesar de haber espacio libre para ellos
Particiones Variables
Las particiones son variables en nmero y
longitud Inicialmente la memoria slo contiene el sistema operativo A cada proceso se le asigna la memoria que necesita exactamente
C B B
B E
A D D
S is O t p e e m r a a t i v o
D
S is O t p e e m r a a t i v o
Particiones variables: la asignacin de memoria cambia cuando el proceso llega o sale de la memoria.
Memoria no utlizada
S is O t p e e m r a a t i v o
S i O s p t e e r m a a t i v o
S i O s p t e e r m a a t i v o
S is O t p e e m r a a t i v o
S is O t p e e m r a a t i v o
La proteccin en multiprogramacin
Tres posibles soluciones: 1. Usar un offset por direccin/particin 2. Dividir memoria en bloques y asignar cdigos proteccin 3. Usar registros especiales
Proteccin de memoria
Limite si Base Memoria
CPU
Dir Logica
<d no
Dir. Fisica
Error
Intercambio
Retiro temporal de memoria de procesos y
Intercambiador
Trabaja con el planificador a medio plazo El planificador implementa la poltica y el
Intercambio
multiprogramacin
7
Peligro de Trasiego
Estrategia de Colocacin
usadas para determinar donde se va a ubicar el proceso dentro de la memoria principal
encontrar el primer espacio lo suficiente grande El espacio se divide en 02 partes, una para el proceso, y otra para la memoria no utilizada, salvo un ajuste perfecto.
Estrategia First-Fit
Lista Procesos Entrantes
Proceso 13K
0 a
Sistema Operativo
b c d e f g
Hueco 16K
EN USO
Hueco 30K
encontrar el primer espacio lo suficiente grande El espacio se divide en 02 partes, una para el proceso, y otra para la memoria no utilizada, salvo un ajuste perfecto. Ventajas
Es rapido (busca lo menos posible)
hueco suficientemente grande como para ubicar el procesos. Solucion a la busqueda. Ordenarlo en forma ascendente.
Estrategia Best-Fit
Lista Procesos Entrantes Proceso 13K 0 a Sistema Op. Hueco 16K
EN USO
b c d e f g
Hueco 14K
EN USO
Hueco 5K
EN USO
Hueco 30K h
hueco suficientemente grande como para ubicar el procesos. Solucion a la busqueda. Ordenarlo en forma ascendente. Desventaja
Gasto extra en ordenar la lista
Ventaja
Se desperdicia menos memoria. es correcto?
Estrategia WorstFit
Lista Procesos Entrantes Proceso 13K
0 a b
c d e f g
Hueco 14K
EN USO
Hueco 5K
EN USO
Hueco 30K
h
Desventaja
Gasto extra en ordenar la lista en forma
descendente.
Estrategia Next-Fit
Lista Procesos Entrantes Proceso 13K
0 a b c d e f g h
Hueco 14K
EN USO
Hueco 5K
EN USO
Hueco 30K
La fragmentacin
Nmero, posicin y tamao particiones vara en forma dinmica conforme el sistema es utilizado. - Uso particiones variables provoca huecos en la memoria principal. - Dos tcnicas: 1. Condensacin de huecos 2. Compactacin del almacenamiento.
Condensacion de Huecos
S.Oper Otros Procesos Libre 30K Proceso 50K Otros Procesos S.Oper Otros Procesos Libre 30K Libre 50K Otros Procesos Otros Procesos S.Oper Otros Procesos Libre 80K
Sin condensar
Condensacin
Compactacin de memoria
S.Oper Proceso A 80k Libre 30K Proceso B 40K Libre 40K Proceso C 60k Compactada S.Oper Proceso A 80k Proceso B 40K Proceso C 60k Libre 70K
Compactacion de memoria
Consume recursos del sistema Debe detenerse para realizar el proceso Involucra la reubicacin de los programas La frecuencia de la compactacin puede ser
alta.
Administracin de particiones
Mecanismo usado saber cuales particiones estan libres y cuales estan ocupadas. Existen tres mecanismos: 1. Mapas de bits 2. Listas ligadas 3. Sistema de los asociados
Paginacin
La paginacin pura en el majejo de memoria
consiste en que el sistema operativo divide dinmicamente los programas en unidades de tamao fijo ( generalmente mltiplos de 1 kilobyte ) los cuales va a manipular de RAM a disco y viceversa. Al proceso de intercambiar pginas, segmentos o programas completos entre RAM y disco se le conoce como `intercambio' o `swapping'. En la paginacin, se debe cuidar el tamao de las pginas, ya que si stas son muy pequeas el control por parte del sistema operativo para saber cules
Paginacin
Segmentacin pura
La segmentacin se aprovecha del hecho de
que los programas se dividen en partes lgicas, como son las partes de datos, de cdigo y de pila (stack). La segmentacin asigna particiones de memoria a cada segmento de un programa y busca como objetivos el hacer fcil el compartir segmentos ( por ejemplo libreras compartidas ) y el intercambio entre memoria y los medios de almacenamiento secundario. Los bloques de memoria son de tamao variable.
Segmentacin Pura
Direccionamiento
La direccin virtual se compone de un nmero
de segmento (s) y un desplazamiento ( d ) para ubicar un byte (o palabra ) dentro de dicho segmento. Es importante que el desplazamiento no sea mayor que el tamao del segmento, lo cual se controla simplemente checando que ese valor sea mayor que la direccin del inicio del segmento y menor que el inicio sumado al tamao. Una ves dada una direccin virtual v=( s,d ), se realiza la operacin b + s para hallar el registro (o entrada de la tabla de segmentos )