Teoría de Sistemas Operativos Memoria Departamento de Electrónica 2º Semestre, 2003 Gabriel...

Preview:

Citation preview

Teoría de Sistemas OperativosMemoria

Departamento de Electrónica

2º Semestre, 2003Gabriel Astudillo Muñoz

http://www.elo.utfsm.cl/~elo321

Intro

Administración de memoria

Monoprog.

Modelo.

Multiprog.

2

La organización y la administración de la memoria

principal (primaria o real) es uno

de los factores mas importantes que influyen en el

diseño de los Sistemas Operativos.

Históricamente la memoria ha sido un recurso caro,

por lo que se desea optimizar su uso, aunque en la

actualidad ha bajado de precio, los programa han

aumentado su tamaño.

Intro

Administración de memoria

Monoprog.

Modelo.

Multiprog.

3

Modelo de Memoria

Intro

Administración de memoria

Monoprog.

Modelo.

Multiprog.

4

Técnicas de Administración de Memoria

Intro

Administración de memoria

Monoprog.

Modelo.

Multiprog.

5

La forma más simple de administrar memoria es ejecutando sólo un programa a la vez.

Cuando usuario digita un comando, el sistema operativo carga el programa correspondiente en la memoria, y lo ejecuta. Cuando el programa termina, el sistema operativo solicita un nuevo comando y carga el nuevo programa en la memoria, sobreescribiendo el anterior.

Intro

Administración de memoria

Monoprog.

Modelo.

Multiprog.

6

Ventajas:

• simple de implementar

Desventajas:

• No permite dividir un programa de usuario en varios procesos

• Bajo rendimiento en sistemas de tiempo compartido

• Menor utilización de recursos

Intro

Administración de memoria

Monoprog.

Modelo.

Multiprog.

7

Multiprogramación:

Varios procesos en memoria.

La memoria debe ser dividida en

sectores. Ejemplo

Intro

Administración de memoria

Monoprog.

Modelo.

Multiprog.

8

Multiprogramación:

Ejemplo:

Active - total memory active

Inactive - total memory inactive

Wired - memory that cannot be paged out

Cache - memory in the buffer cache queue

Free - free memory in the system

¿Cómo se logra mantener varios procesos en memoria?

Intro

Administración de memoria

Monoprog.

Modelo.

Multiprog.

9

Algunos problemas

• El código debe ser relocalizable:

ajustar las direcciones de un programa al sitio donde fue cargado, para que éste pueda ser ejecutado.

Intro

Administración de memoria

Monoprog.

Modelo.

Multiprog.

10

Algunos problemas

El código debe ser relocalizable:

100: add $a, 1 101: jump 110....110: load $b,$a

200: add $a, 1 201: jump 210...210: load $b, $a

eq

Intro

Administración de memoria

Monoprog.

Modelo.

Multiprog.

11

Algunos problemas

Un proceso no debe interferir con otro

DIR <

Límite - Base

No

Error!

+

Base

Memoria

Base

Límite

DIR

Intro

Administración de memoria

Monoprog.

Modelo.

Multiprog.

12

Multiprogramación con particiones fijas

Kernel

400Kb

200Kb

600Kb590450500

100

350300250210

Memoria Real

Filas independientes

Intro

Administración de memoria

Monoprog.

Modelo.

Multiprog.

13

Multiprogramación con particiones fijas

190550500100

Memoria Real

Fila únicaKernel

400Kb

200Kb

600Kb

Intro

Administración de memoria

Monoprog.

Modelo.

Multiprog.

14

Multiprogramación con particiones fijas

  Se hace una mala utilización de la memoria debido a la poca flexibilidad del método.

  Es complicado correr programas más grandes que el tamaño de la partición.

  Se hace una mala utilización de la memoria debido a la poca flexibilidad del método.

  Es complicado correr programas más grandes que el tamaño de la partición.

Desventajas .

Intro

Administración de memoria

Monoprog.

Modelo.

Multiprog.

15

Multiprogramación con particiones fijas

Desventajas .

Fragmentación interna.

•Ocurre cuando un proceso no ocupa toda la memoria asignada.

•El espacio libre no puede ser utilizado por ningún otro proceso.

Fragmentación interna.

•Ocurre cuando un proceso no ocupa toda la memoria asignada.

•El espacio libre no puede ser utilizado por ningún otro proceso.

Intro

Administración de memoria

Monoprog.

Modelo.

Multiprog.

16

Multiprogramación con particiones fijas

•Administración es relativamente simple.

•Protección entre procesos se puede realizar mediante el registro base y la longitud de la zona

•Administración es relativamente simple.

•Protección entre procesos se puede realizar mediante el registro base y la longitud de la zona

Ventajas .

Intro

Administración de memoria

Monoprog.

Modelo.

Multiprog.

17

Multiprogramación con particiones variables

La memoria se divide en bloques de diferente tamaño de acuerdo a las necesidades del proceso.

La memoria se divide en bloques de diferente tamaño de acuerdo a las necesidades del proceso.

Ventajas

Define bloques del tamaño requerido

termina con la fragmentación interna permite un mejor uso de la memoria

Define bloques del tamaño requerido

termina con la fragmentación interna permite un mejor uso de la memoria

Intro

Administración de memoria

Monoprog.

Modelo.

Multiprog.

18

Desventajas

Fragmentación externa:Fragmentación externa:

Existen 400Kb libres

Pero un proceso de 400Kb no puede ser cargado en memoria ...

Kernel100Kb

200Kb

250Kb

Memoria Real

100Kb

300Kb

Multiprogramación con particiones variables

Intro

Administración de memoria

Monoprog.

Modelo.

Multiprog.

19

Implementación con Listas/BitsMaps

Multiprogramación con particiones variables

Intro

Administración de memoria

Monoprog.

Modelo.

Multiprog.

20

Multiprogramación con particiones variables

Estrategias para la asignación de memoria

Primer Ajuste (first fit): Se asigna el primer espacioque sea mayor al tamaño deseado

Intro

Administración de memoria

Monoprog.

Modelo.

Multiprog.

21

Multiprogramación con particiones variables

Mejor Ajuste (best fit): Se asigna el espacio cuyo tamaño exceda en la menor cantidad al tamaño deseado.

- Requiere de una búsqueda exhaustiva. - Mayor fragmentación externa. - Tiende a llenar con trozos de memoria pequeños.

Estrategias para la asignación de memoria

Intro

Administración de memoria

Monoprog.

Modelo.

Multiprog.

22

Multiprogramación con particiones variables

Peor Ajuste (worst fit): Se asigna un espacio de memoria cuyo tamaño exceda en la mayor cantidad al tamaño deseado.

- Requiere de una búsqueda exhaustiva. - Genera la mayor fragmentación interna

Estrategias para la asignación de memoria

Intro

Administración de memoria

Monoprog.

Modelo.

Multiprog.

23

Multiprogramación con particiones variables

Compactación de memoria: Es una fusión de bloques adyacentes para formar un sólo bloque más grande.

Administración de memoria insuficiente

Intro

Administración de memoria

Monoprog.

Modelo.

Multiprog.

24

Multiprogramación con particiones variables

Estrategias para la asignación de memoria

Compactación de memoria:

Intro

Administración de memoria

Monoprog.

Modelo.

Multiprog.

25

Multiprogramación con particiones variables

Estrategias para la asignación de memoria

Swapping: Se puede crear un nuevo espacio de memoria eliminando uno de los procesos residentes y temporalmente enviarlos a almacenamiento secundario.