s.o - tema 4 - gestión de memoria

24
1 Tema 5: Gestión de Memoria Gest or es de memori a real Memori a Vi rt ual Ej emplos: Uni x/W_NT Introducción Progr ama necesita esta r en memoria par a poder ser e ecutado modelo V. Newman Espacio lógico Vs físico Niveles de gestión: proceso, regiones y zonas per process u area region table Kernel region table main memory Kernel process table

Upload: sularis15

Post on 08-Jan-2016

12 views

Category:

Documents


0 download

DESCRIPTION

Capítulo con contenido sobre la gestión de memoria de un sistema operativo, los procesos llevados a cabo para su gestión, y su implementación.

TRANSCRIPT

Page 1: S.O  - Tema 4 - Gestión de Memoria

7/17/2019 S.O - Tema 4 - Gestión de Memoria

http://slidepdf.com/reader/full/so-tema-4-gestion-de-memoria 1/24

Page 2: S.O  - Tema 4 - Gestión de Memoria

7/17/2019 S.O - Tema 4 - Gestión de Memoria

http://slidepdf.com/reader/full/so-tema-4-gestion-de-memoria 2/24

2

Fichero EjecutableNúmero mágico Despl. Tam.0

Formato del ejecutable

Cabecera on a or e programa n c a

Tabla de secciones

Código

Datos con valor inicial

.................... Datos con v.i.

Datos sin v.i.

...................... ........ ........

T. Símbolos

5000------

8000

1000

500

1000

1000

5000

Secciones

Tabla de símbolo s

. . . . . . . . . . . . . . . .

8000

ELF (executable and linking format)

Creación del mapa del ejecutable

mapa del sistema

MemoriaMemoria

Reubicación estática

LOAD R1, #11000

LOAD R2, #12000LOAD R3, /11500LOAD R4, [R1]STORE R4, [R2]INC R1INC R2

10000

100041000810012100161002010024

LOAD R1, #1000LOAD R2, #2000LOAD R3, /1500LOAD R4, [R1]STORE R4, [R2]INC R1INC R2DEC R3JNZ /12.................

04812162024283236....  

JNZ /10012.................

1003210036..........Sistema Operativo

Page 3: S.O  - Tema 4 - Gestión de Memoria

7/17/2019 S.O - Tema 4 - Gestión de Memoria

http://slidepdf.com/reader/full/so-tema-4-gestion-de-memoria 3/24

3

Reubicación dinámica

LOAD R1, #1000LOAD R2, #2000LOAD R3, /1500LOAD R4, [R1]STORE R4, [R2]

Memoria

1000010004100081001210016

Procesador 

HW traducción

1150010000

PC8

INC R1INC R2DEC R3JNZ /12.................

1002010024100281003210036..........

R. Instrucción

LOAD R3, /1500  +

1500

Tema 5: Gestión de Memoria• Introducción

• Gestores de memoria todo e.d. en MP

 – Ed. Contígüo

MFT / MVT

 – Contigüidad artificial

Paginación

Segmentación

  . . – Overlay, carga dinámica, enlace dinámico

• Memoria Virtual

 – Implementación

 – Modelo de WS y PFF

• Ejemplos Unix/W_NT

Gestor de memoria: Particiones Particiones Fijas (MFT)

Page 4: S.O  - Tema 4 - Gestión de Memoria

7/17/2019 S.O - Tema 4 - Gestión de Memoria

http://slidepdf.com/reader/full/so-tema-4-gestion-de-memoria 4/24

4

Particiones variables (MVT)

OS OS OS OS

process 5

process 8

process 2

process 5

process 2

process 5

process 2

process 5

process 9

process 2

process 9

process 10

MVT: Algoritmos de asignación

Satisfacer una petición de entre n_huecos libres:

• First-fit: Asigna el primer hueco lo

suficientemente grande.

• Best-fit: Asigna el hueco que mejor se ajusta

al tamaño del proceso. (gestión de huecos

pequeños).

-   .Búsqueda en la lista entera

First-fit y best-fit mejores que worst-fit

Proceso de compactación Manejo de memoria con mapas de bits

Page 5: S.O  - Tema 4 - Gestión de Memoria

7/17/2019 S.O - Tema 4 - Gestión de Memoria

http://slidepdf.com/reader/full/so-tema-4-gestion-de-memoria 5/24

5

Método de los colegas

Tema 5: Gestión de Memoria• Introducción

• Gestores de memoria todo e.d. en MP

 – Ed. Contígüo

MFT / MVT

 –  Contigüidad artificial

Paginación

Segmentación

  . . – Overlay, carga dinámica, enlace dinámico

• Memoria Virtual

 – Implementación

 – Modelo de WS y PFF

• Ejemplos Unix/W_NT

Espacio lógico Vs espacio físicoTranslación de direcciones

(Paginación)

Page 6: S.O  - Tema 4 - Gestión de Memoria

7/17/2019 S.O - Tema 4 - Gestión de Memoria

http://slidepdf.com/reader/full/so-tema-4-gestion-de-memoria 6/24

6

MMUImplementación tabla de páginas

•Tabla de páginas en registros, memoria

asociativa.

• (PTBR) en memoria.

• Métodos híbridos

Implementación de la Tabla de Páginas Reducción de la TP

Dirección lógica de 32 bits (Tamaño de página

de 4K :

• Jerarquizar la dirección de página

 

 –Número de página de 20 bits.

 –Offset de 12 bits.

• a a e p g nas nvert a

• “Tabla de páginas en MV”

Page 7: S.O  - Tema 4 - Gestión de Memoria

7/17/2019 S.O - Tema 4 - Gestión de Memoria

http://slidepdf.com/reader/full/so-tema-4-gestion-de-memoria 7/24

7

Esquema de dos niveles de TP

(1/3) Esquema de n- niveles de TP (2/3)

Tabla de páginas: hash e

invertida (3/3)Compartición de páginas

Page 8: S.O  - Tema 4 - Gestión de Memoria

7/17/2019 S.O - Tema 4 - Gestión de Memoria

http://slidepdf.com/reader/full/so-tema-4-gestion-de-memoria 8/24

8

Tema 5: Gestión de Memoria• Introducción

• Gestores de memoria todo e.d. en MP

 – Ed. Contígüo

MFT / MVT

 – Contigüidad artificial

Paginación

Segmentación

  . . – Overlay, carga dinámica, enlace dinámico

• Memoria Virtual

 – Implementación

 – Modelo de WS y PFF

• Ejemplos Unix/W_NT

Segmentación

• Esquema que soporta el modelo de región

• Un programa es una colección de segmentos. Un segmento es

una unidad lógica que puede ser:

programa principal,

procedure,

función,

variables locales, variables globales,

p a,tabla de símbolos

Estructura datos para un proceso (1/3)

per process

u area

region tableKernel region table

main memoryKernel

process table

Regiones (2/3)

Per Proc Region Tables

 Virtual Addresses)

Region

8K

16K

32K

b

a

c

e

4K

Text

Data

Stack

Text

Process

A

Process

d

e

32K

Data

Stack

B

<Processes and Regions>

Page 9: S.O  - Tema 4 - Gestión de Memoria

7/17/2019 S.O - Tema 4 - Gestión de Memoria

http://slidepdf.com/reader/full/so-tema-4-gestion-de-memoria 9/24

9

Páginas y tabla de páginas (3/3)

8KText

Per Proc Region Table

Page Tables Physical Addresses)

32K

64K

Data

Stack

541K

783K

986K

897K

87K

552K

727K

941K

137K

852K

764K

.

.

.

.

.

1096K

433K

333K

Virtual Addresses

.

.

.

2001K

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

.

<Mapping Virtual Addresses t o Physical Address>

Visión lógica de la segmentación

1

1

3

2

4

4

2

3

Espacio de usuario Espacio físico de memoria

Traducción de direcciones Dirección lógica => Dirección física

Page 10: S.O  - Tema 4 - Gestión de Memoria

7/17/2019 S.O - Tema 4 - Gestión de Memoria

http://slidepdf.com/reader/full/so-tema-4-gestion-de-memoria 10/24

10

Compartición de Segmentos Traslación de direcciones en MULTICS

Tema 5: Gestión de Memoria

• Introducción

• Gestores de memoria todo e.d. en MP

 – Ed. Contígüo

MFT / MVT

 – Contigüidad artificialPaginación

Segmentación

  . .

 – Overlay, carga dinámica, enlace dinámico

• Memoria Virtual

 – Implementación

 – Modelo de WS y PFF

• Ejemplos Unix/W_NT

Programas e.d. Mayor que la MP

, , ,

• Overlay

• Carga dinámica

• Enlace dinámico

Memoria Virtual

Page 11: S.O  - Tema 4 - Gestión de Memoria

7/17/2019 S.O - Tema 4 - Gestión de Memoria

http://slidepdf.com/reader/full/so-tema-4-gestion-de-memoria 11/24

11

Overlay

 

instrucciones y datos que son requeridas en cada

momento.

• Implementado por el usuario, no necesita soporte

del S.O., (linker) estructura de overlays compleja.

• Todas las secciones del mismo nivel recubribles

entre si tendrán la misma dirección origen

Ensamblador de dos pasos

Carga dinámica

• Una rutina no es cargada hasta que no es

• Rutinas no utilizadas no se cargan

• No requiere soporte del S.O.

Enlace dinámico

• Concepto similar al de carga dinámica

• Se pospone el enlace hasta tiempo de ejecución

• En el programa se almacena la referencia ( stub,

dirección de un programa que localiza la rutina

• Carga sólo una vez de la rutina

Page 12: S.O  - Tema 4 - Gestión de Memoria

7/17/2019 S.O - Tema 4 - Gestión de Memoria

http://slidepdf.com/reader/full/so-tema-4-gestion-de-memoria 12/24

12

Tema 5: Gestión de Memoria• Introducción

• Gestores de memoria todo e.d. en MP

 – Ed. Contígüo

MFT / MVT

 – Contigüidad artificial

Paginación

Segmentación

  . . – Overlay, carga dinámica, enlace dinámico

• Memoria Virtual

 – Implementación

 – Modelo de WS y PFF

• Ejemplos Unix/W_NT

Memoria Virtual

Bit validezManejo de Page Faults

Page 13: S.O  - Tema 4 - Gestión de Memoria

7/17/2019 S.O - Tema 4 - Gestión de Memoria

http://slidepdf.com/reader/full/so-tema-4-gestion-de-memoria 13/24

13

* Page Fault Rate 0 p   1.0

- if = 0 no fallos de á ina

Costo de los fallos de página

- if p = 1, cada referencia es un fallo

* Tiempo de acceso efectivo (EAT)

EAT = (1 – p) x memory access

+ p (page fault overhead

+ [swap page out ]

+ swap page in+ restart overhead)

* Tiem o de acceso a memoria = 1 microse undo

Ejemplo de cálculo de PF

* 50% del tiempo la página que está siendo

reemplazada ha sido modificada y hay que

swapped-out

* Swap Page Time = 10 msec = 10,000 msec

EAT = (1 – p) x 1 + p (15000)1 + 15000P (in msec)

Problema del Restart/Continuar (1/2)

 ADD A, B, C

1.- Búsqueda de la instrucción

2.- Búsqueda del operando A3.- Búsqueda del operando B

.- uma

5.- Almacenamiento en C

Problema del Restart/Continuar (2/2)

 

modificar múltiples direcciones?

• Movem

• ove , -

Page 14: S.O  - Tema 4 - Gestión de Memoria

7/17/2019 S.O - Tema 4 - Gestión de Memoria

http://slidepdf.com/reader/full/so-tema-4-gestion-de-memoria 14/24

14

Necesidad de reemplazamiento (1/2) Necesidad de reemplazamiento (2/2)

Dos políticas definen el funcionamiento del sistema de memoria

 Algoritmos de reemplazamiento

• Política de reemplazos: – Reemplazo local: Sólo puede usarse para reemplazo un marco

asignado al proceso que causa fallo – Reemplazo global: Puede usarse para reemplazo cualquier marco

• Política de asi nación de es acio a los rocesos:  – Asignación fija: El número de marcos de página para cada proceso

es fijo. – Asignación dinámica: El número de marcos de página para cada

proceso es dinámico

 Algoritmos de reemplazamiento

1, 2, 3, 4, 1, 2, 5, 1, 2, 3, 4, 5.

Objetivo: al aumentar el número de páginas, disminuye el

número de fallos.

Page 15: S.O  - Tema 4 - Gestión de Memoria

7/17/2019 S.O - Tema 4 - Gestión de Memoria

http://slidepdf.com/reader/full/so-tema-4-gestion-de-memoria 15/24

15

• Objetivo: Minimizar la tasa de fallos de página.

Políticas de reemplazo

• Cada algoritmo descrito tiene versión local y global: – Local: criterio se aplica a las páginas residentes del proceso – Global: criterio se aplica a todas las páginas residentes

• Algoritmos a estudiar A. FIFO

B. ÓptimoC. LRUD. Reloj (o segunda oportunidad)E. Buffering  de páginasF. Retención de páginas en memoria

• Implementación: Fácil

 Algoritmo FIFO

 – Páginas residentes en orden FIFO –› se expulsa la primera – No requiere hardware especial – En el caso de estrategia local se mantiene una lista de páginas por

cada proceso. En el caso global, basta con una única lista

• Problema:

 – accediéndose frecuentemente. – Su criterio no se basa en el uso de la página. – Anomalía de Belady: Se pueden encontrar ejemplos en que al

aumentar el número de marcos aumenta el número de fallos depágina

 Anomalía de Belady  Algoritmo óptimo

• Criterio: Página residente que tardará más en accederse• mp emen ac n: rrea za e, ya que supone sponer e una

predicción fiable del uso de las páginas en un futuro a medio plazo• Versión local y global

• Interés para estudios analíticos comparativos

Page 16: S.O  - Tema 4 - Gestión de Memoria

7/17/2019 S.O - Tema 4 - Gestión de Memoria

http://slidepdf.com/reader/full/so-tema-4-gestion-de-memoria 16/24

16

• Criterio: Basado en proximidad temporal de referencias: página

 Algoritmo LRU (last recently used)

 • Implementación:Posible implementación con HW específico y un Nota:

en su versión global, hay que considerar los contadores de las páginasmenos recientemente usadas teniendo en cuenta el tiempo lógico decada proceso

Se trata de una modificación del algoritmo FIFO, para evitar que una páginaresidente desde hace tiem o sea desalo ada ese a estar siendo usada. Para

 Algoritmo de segunda oportunidad o del reloj

ello se usa el  bit de referencia  Ref    de las páginas, con lo que se detecta suuso

• Criterio: – Si la página elegida por FIFO no tiene activo el bit   Ref,  es la página

expulsada – Si lo tiene activo se da 2ª oportunidad antes de expulsar: se desactiva el

e , se pone p g na a na e , se ap ca cr er o a a s gu en epágina

• Implementación: Se puede implementar el orden FIFO mediante una listacircular con una referencia a la primera página de la lista: se visualiza comoun reloj donde la referencia a la primera página es la aguja del reloj

 Algoritmo del reloj Otros algoritmos de reemplazo

•LFU

•MFU

• Algoritmos combinados (clases de

páginas)

Page 17: S.O  - Tema 4 - Gestión de Memoria

7/17/2019 S.O - Tema 4 - Gestión de Memoria

http://slidepdf.com/reader/full/so-tema-4-gestion-de-memoria 17/24

17

• Criterio:Esta técnica intenta   evitar el problema con las páginasmodificadas.

Buffering de páginas

• Implementación: – Mantiene una reserva de marcos libres. Cuando se produce un fallo de

página, siempre se usa un marco libre (es decir, en verdad no hayreemplazo)

 – Cuando el número de marcos libres queda por debajo de cierto   umbralse activa un “demonio de paginación”, que aplica repetidamente elalgoritmo de reemplazo:

• Páginas no modificadas pasan a  lista de marcos libres 

• Páginas modificadas pasan a   lista de marcos modificados:  cuandose escriban a disco pasan a lista de libres; suelen escribirse en tandas(lo que mejora el rendimiento)

 – Si se referencia una página mientras está en estas listas: se recuperadirectamente de la lista (no hay E/S), lo que puede mejorar elcomportamiento de algoritmos poco eficientes

• Criterio:No todas las páginas son  reemplazables

Retención de páginas en memoria

• Aplicación: – Se aplica a páginas del propio S.O: si sus páginas están fijas en

memoria, su gestión es más sencilla – También se aplica mientras se hace DMA sobre una página. La

página no será reemplazable hasta que finalice la operación sobreella

• Implementación: Algunos S.O. ofrecen a las aplicaciones un serviciopara   fijar en memoria una o más páginas de su mapa: adecuadopara procesos de tiempo real, aunque puede afectar al rendimientodel sistema. En POSIX se trata del servicio ml ock

El SO deberá decidir cuántos marcos de página asigna a cada proceso:a) Asignación Fija

Política de asignación de marcos de página

b) Asignación Dinámica A) Asignación fija

•   Número constante de marcos   asignados al proceso. Puededepender de las características del proceso: tamaño, prioridad,...•   No se adapta a las distintas fases de ejecución. Como positivo, el

com ortamiento del roceso es relativamente redecible• Sólo tiene sentido usar estrategia de reemplazo local

• La arquitectura impone el   Nº mínimo de marcos de página:mínimo número de marcos a asignar igual al número de referenciasque aparezca en la instrucción que más fallos de página puedagenerar

• El   número de marcos asi nados   a un roceso es   variable

B) Asignación dinámica

Política de asignación de marcos de página

dependiendo del comportamiento del proceso (y posiblemente de losdemás procesos).

•   Se adapta a las diferentes fases por las que puede pasar un proceso

• Se pueden usar tanto estrategias de reemplazo global como local.

 – Asignación dinámica + reemplazo local: el proceso va aumentando

comportamiento (comportamiento relativamente predecible)

 – Asignación dinámica + reemplazo global: los procesos compitenpor el uso de las páginas entre ellos (comportamiento difícilmentepredecible)

Page 18: S.O  - Tema 4 - Gestión de Memoria

7/17/2019 S.O - Tema 4 - Gestión de Memoria

http://slidepdf.com/reader/full/so-tema-4-gestion-de-memoria 18/24

18

• Definición:Tasa excesiva de fallos de página de un proceso o en el sistema,debido a que el número de marcos de página asignados es insuficiente para

Hiperpaginación (thrashing)

 – Con asignación fija. Hiperpaginación en el proceso Pi  siconjunto residente de Pi < conjunto de trabajo Pi

 – Con asignación variable. Hiperpaginación en el sistema sinº marcos disponibles <   conjuntos de trabajo de los procesos

• Problema: decae el grado de uso de la CPU. Los procesos están casi siempreen colas de dispositivo de paginación.• Solución: controlar la carga:

 – Disminuir el grado de multiprogramación, – Suspender uno o más procesos liberando sus páginas residentes

• ¿Cómo detectar esta situación?

   P

Hiperpaginación (thrashing)

   U   t   i   l   i  z  a  c   i   ó  n   d  e   l  a   U   C

grado de multiprogramación

Se verán a continuación algunas estrategias de control de la carga de trabajo:

A. Estrategia del conjunto de Trabajo

B. Estrategia de administración basada en la frecuencia de fallos de página

C. Estrategia de control de carga para algoritmos de reemplazo globales

Tema 5: Gestión de Memoria

• Introducción

• Gestores de memoria todo e.d. en MP

 – Ed. Contígüo

MFT / MVT

 – Contigüidad artificial

Paginación

Segmentación

  . .

 – Overlay, carga dinámica, enlace dinámico

• Memoria Virtual

 – Implementación

 – Modelo de WS y PFF

• Ejemplos Unix/W_NT

Localidad

• Denning (68)

- Localidad espacial /temporal

- Referencias localizadas

- un programa evoluciona de localidad en localidad

 

{Páginas} que hace referencia activa

Balance set

Page 19: S.O  - Tema 4 - Gestión de Memoria

7/17/2019 S.O - Tema 4 - Gestión de Memoria

http://slidepdf.com/reader/full/so-tema-4-gestion-de-memoria 19/24

19

Patrón de accesoEstrategia del conjunto de trabajo

• Objetivo: Determinar el conjunto de trabajo de cada proceso, es decir, laspáginas usadas por el proceso en las últimas N referencias

• Proceso: – Si el conjunto de trabajo decrece se liberan marcos. – Si el conjunto de trabajo crece se asignan nuevos marcos. – Si no hay marcos disponibles se suspenderá algún(os) proceso(s), que se

reactivan cuando haya marcos suficientes

• Condición: Si el SO es capaz de detectar el conjunto de trabajo de cada,

reemplazo local

• Implementación: Difícil, ya que precisaría una MMU específica que controlaralas páginas accedidas por cada proceso.

• Aproximación: Estrategia basada en frecuencia de fallos de página (PFF),controlando la tasa de fallos de página de cada proceso

Modelo de Working-Set

•   working-set window número fijo de páginas

referenciadas

Example: 10,000 instruciones

• WSSi (working set of Process Pi) =

número total de páginas referenciadas en (varía en el

tiempo) – if demasiado pequeño no cabe la localidad

 – if demasiado largo varias localidades

 –  

Implementación del Working Set

•  

• Ejemplo: = 10,000

 – Timer interrumpe cada 5000 unidades de tiempo.

 – Guarda en memoria 2 bits for cada página. – Cuando el timer interrumpe copia and fija los valores

de todos los reference bits a 0.

 – Si uno de los bits = 1   a e in workin set. 

• Porqué no es del todo exacto?

• Mejora = 10 bits y una interrupción cada 1000 unidades de

tiempo.

Page 20: S.O  - Tema 4 - Gestión de Memoria

7/17/2019 S.O - Tema 4 - Gestión de Memoria

http://slidepdf.com/reader/full/so-tema-4-gestion-de-memoria 20/24

20

Frecuencia de Fallo de Página (PFF)

• Establece “aceptable” page-fault rate.

 – If actual rate demasiado bajo, proceso pierde frame.

 – If actual rate demasiado alto, proceso gana frame.

Control de carga y reemplazo global

•  Algoritmos de reemplazo global no controlan hiperpaginación

 –

 – Necesitan cooperar con un algoritmo de control de carga

• Ejemplo: UNIX 4.3 BSD

 – Reemplazo global con algoritmo del reloj

Variante con dos “manecillas”

 – Uso de buffering de páginas

“ ” º 

 – Si número de marcos libres < umbral

“demonio de paginación” aplica reemplazo

 – Si se repite con frecuencia la falta de marcos libres:

Proceso “swapper” suspende procesos

Otras consideraciones (1/3)

• Prepaginación

• Tamaño de la página

 – fragmentación – Tamaño de la tabla

 – I/O overhead

 – localidad

• Estructura del programa

Otras consideraciones (2/3)

 –  int A[][ ] = n ew int[1024][1024];

 – Cada fila es almacenada en una página

 – Program 1 for (j = 0; j < A.length; j++)

for (i = 0; i < A.length; i++) A[i ,j] = 0;

1024 x 1024 page faults

 – Program 2 for (i = 0; i < A.length; i++)

for (j = 0; j < A.length; j++)

 A[i ,j] = 0;

1024 page faults

Page 21: S.O  - Tema 4 - Gestión de Memoria

7/17/2019 S.O - Tema 4 - Gestión de Memoria

http://slidepdf.com/reader/full/so-tema-4-gestion-de-memoria 21/24

21

• ¿En qué consiste? – Recordemos que en un sistema con MV se hacen corresponder las

Otras consideraciones:

 Archivos proyectados en memoria (2/3)

entradas de la TP con bloques de un archivo ejecutable. – La técnica de la proyección permite usar esta misma idea, pero

con cualquier archivo. – El S.O. permite que un programa solicite la correspondencia de

una zona de su mapa de memoria con los bloques de un archivocualquiera (ya sea completo o en parte).

 – En la solicitud el programa indicará el tipo de acceso que desea

para las páginas asociadas al archivo.• Servicio:

 – La generalización de la técnica de memoria virtual permite ofrecera los usuarios una   forma alternativa de acceder a losarchivos.

Mapa de memoria

Código

 Archivos proyectados en memoria

Tabla de páginas

...........................Bloque 0 (arch.)RW A

Bloque N (arch.)RW A

...........................

........................... Archivo

Bloque 0

Bloque 1

Bloque 2

Bloque N

Bloque 2

.............

10240

Datos con valor inicial

Datos sin valor inicial

Pila

Archivo Proyectado

1ªpág.Archivo

Última pág.Archivo

Menos llamadas al sistema  lo que se traduce en una notable mejora de los

tiempos de acceso.

Se evitan copias intermedias   de la información ya que el S.O. transfiere

directamente la información entre la región de memoria y el archivo.

Se facilita la programación, ya que una vez proyectado se accede al archivo

como si fuera una estructura de datos en memoria

Gestión de memoria Linux

• Incluye todas características habituales en sistemas modernos:

 – Memoria virtual

 – Mapa del proceso dinámico

 – Bibliotecas dinámicas

 – Archivos proyectados

• Modelo de memoria independiente del procesador 

 – Paginación con tres niveles

 – Capa inferior adapta HW real a este modelo

• Dispositivos y archivos como soporte de mem. secundaria

•  Algorimo de reemplazo: versión modificada del reloj

• Gestión de mem. dinámica del S.O. mediante versión de buddy

Tema 5: Gestión de Memoria

• Introducción

• Gestores de memoria todo e.d. en MP

 – Ed. Contígüo

MFT / MVT

 – Contigüidad artificial

Paginación

Segmentación

  . .

 – Overlay, carga dinámica, enlace dinámico

• Memoria Virtual

 – Implementación

 – Modelo de WS y PFF

• Ejemplos Unix/W_NT

Page 22: S.O  - Tema 4 - Gestión de Memoria

7/17/2019 S.O - Tema 4 - Gestión de Memoria

http://slidepdf.com/reader/full/so-tema-4-gestion-de-memoria 22/24

22

Modelo de memoria de un objeto W_NT (1/3)

00000000

Modousuario

Únicopor 

proceso

Programasde

usuario

7FFFFFFF80000000

Modousuario

Modonúcleo

Memoriacompartida

Sistemaoperativo

FFFFFFFF

C0000000Únicos

porsistema

Traducción de memoria virtual W_NT(2/3)

Selecto r del i

Byte d entrol i

Entrada de lal il i  l il i

Directoriode

á inas

Tab lasdepáginas

Marcosde página

i

Gestión de páginas de memoria W_NT (3/3)

Conjuntos

de

trabajo

de losprocesos

1

5

6

7

9

10

2

3 4

Principio subyacente de la MV, aplicable

a cualquier nivel de la jerarquía.

Page 23: S.O  - Tema 4 - Gestión de Memoria

7/17/2019 S.O - Tema 4 - Gestión de Memoria

http://slidepdf.com/reader/full/so-tema-4-gestion-de-memoria 23/24

23

Ejemplo: Distributed Shared Memory ps (process status)

• Información sobre el estado de los

 – Es una de las herramientas más importantes

empleadas en tareas de monitorización

 – Tiene una gran cantidad de parámetros$ ps aurUSER PI D %CPU %MEM VSZ RSS TTY STAT START TI ME COMMAND

mi guel 29951 55. 9 0. 1 1448 384 pts/ 0 R 09: 16 0: 11 t etr i scarl os 29968 50. 6 0. 1 1448 384 pts/ 0 R 09: 32 0: 05 t etr i sxavi er 30023 0. 0 0. 5 2464 1492 pt s/ 0 R 09:27 0: 00 ps aur

vmstat (virtual memory statistics)

• Paging (paginación), swapping, interrupciones, cpu

 – La primera línea no sirve para nada

% vmst at – n 1 6procs memory swap i o syst em cpur b w swpd f ree buff cache si so bi bo i n cs us sy i d0 0 0 868 8964 60140 342748 0 0 23 7 222 199 1 4 950 0 0 868 8964 60140 342748 0 0 0 14 283 278 0 7 930 0 0 868 8964 60140 342748 0 0 0 0 218 212 6 2 930 0 0 868 8964 60140 342748 0 0 0 0 175 166 3 3 940 0 0 868 8964 60140 342752 0 0 0 2 182 196 0 7 930 0 0 868 8968 60140 342748 0 0 0 18 168 175 3 8 89

 – Procesos: r (runnable), b (I/O blocked), w (swapped out)

 – Bloques por segundo transmitidos: bi (blocks in), (blocks out)

 – KB/s entre memoria y disco: si (swapped in), so (swapped out)

 – in (interrupts por second), cs (context switches)

Parámetros de sar 

• Gran cantidad de parámetros

 – ar an e unas vers ones a o ras e mon or 

- u Ut i l i zaci ón del procesador- B Pagi naci ón de l a memori a vi r t ual- c Cr eaci ón de procesos- b Transf erenci as con l a ent r ada/sal i da- d Transf erenci as par a cada di sco- I Si st ema de i nterr upci ones- n Conexi ón de r ed- q Carga medi a del si st ema- r Si st ema de memor i a- w Cambi os de cont ext o- W I ntercambi o ( swapping )- x PI D Estadí st i cas sobr e un pr oceso

Page 24: S.O  - Tema 4 - Gestión de Memoria

7/17/2019 S.O - Tema 4 - Gestión de Memoria

http://slidepdf.com/reader/full/so-tema-4-gestion-de-memoria 24/24

24

Prestaciones: Cambio parámetros en el kernel