Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
(Cap. 6 de Stallings)
SOyD
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 1
Que veremos ??
- Definiciones básicas
- Memoria Virtual
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 2
Definiciones
Memoria Principal
Gestor de Memoria
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 4
....
En un Sistema operativo monoprogramado, la memoria principal
compartida por el sistema operativo y el programa de usuario que
se ejecuta en ese instante.
Hay 5 requisitos:
- Reubicación
- Protección
- Compartición
- Organización Lógica
- Organización Física
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 6
1) Reubicación
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 7
....
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 8
....
C urso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 9
....
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 10
2) Protección
Mapa proceso 1
Memoria
zona privada 1
zona compartida
Mapa proceso 2
zona priv. 2 (P2)
zona privada 1
zona priv. 2 (P1)
zona compartida
zona privada 2
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 12
3) Compartición
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 15
Carga de Programas en Memoria Principal
Veremos:
- Partición Fija
- Partición Dinámica
- Paginación Simple
- Segmentación Simple
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 16
....
• Evolución histórica de métodos de organización hasta llegar a la
Memoria Virtual
• Esquemas de asignación:
A. Memoria Real
• Asignación contigua
– Sistemas de multiprogramación
» Con particiones fijas.
» Con particiones variables.
• Asignación no contigua
– Paginación simple.
– Segmentación simple.
– Segmentación + paginación simple.
B. Memoria virtual
• Paginación por demanda.
• Segmentación por demanda.
Curso S.Operativo
• Segmentación + paginación. EIEC-U.Central
Prof. G. Rosenberg 17
Partición Fija
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 18
Tamaños de Partición Fijas
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 19
....
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 20
....
Particiones de igual tamaño
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 21
....
b) El uso de MP es ineficiente
Cualquier programa, sin importar lo pequeño que sea,
ocupará una partición completa. Este fenómeno se denomina
fragmentación interna.
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 22
....
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 23
Algoritmo de ubicación de particiones fijas
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 24
Las particiones pueden ser de tamaño fijo, definidas (p.ej.) por el
usuario al inicio de la sesión.
El control de memoria se reduce a asignar una partición a cada
proceso entrante, reasignar direcciones (cuando sea necesario) y a
proteger unos procesos de los otros.
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 25
....
Particiones de distinto tamaño
Problema:
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 28
........
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 29
....
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 30
....
Más Inconvenientes:
- Fragmentación Interna.
• El proceso es más pequeño que la partición ->
dentro de cada partición queda una zona de memoria no
aprovechable.
• No se puede asignar a ningún otro proceso.
• Es posible que procesos esperando entrar en memoria no
tengan partición a pesar de haber espacio libre para ellos.
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 31
Partición Dinámica
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 32
....
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 33
....
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 34
....
Así pues, el SO saca al proceso 2 (fig. e), que deja suficiente sitio
para cargar un nuevo proceso, el proceso 4 (fig. f)
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 35
....
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 36
....
Organización física de la Memoria Principal
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 37
....
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 38
....
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 40
....
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 41
Ej.:
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 42
....
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 43
....
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 44
....
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 45
....
Best-fit algorithm
- Chooses the block that is closest in size to the request
- Worst performer overall
- Since smallest block is found for process, the smallest amount of
fragmentation is left memory compaction must be done more often
First-fit algorithm
- Fastest
- May have many process loaded in the front end of memory that
must be searched over when trying to find a free block
Next-fit
- More often allocate a block of memory at the end of memory
where the largest block is found
- The largest block of memory is broken up into smaller blocks
- Compaction is required to obtain a large block at the endCursoof S.Operativo
memory EIEC-U.Central
Prof. G. Rosenberg 46
Reubicación
PARTICIONES FIJAS
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 48
....
PARTICIONES DINAMICAS
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 49
....
Consideremos un proceso en memoria que incluya instrucciones y
datos.
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 50
....
Estas instrucciones no están fijas, sino que cambian cada vez que
se intercambia o desplaza un proceso.
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 51
....
Una DIRECCION LÓGICA es una referencia a una posición de
memoria independiente de la asignación actual de datos a memoria;
se debe hacer una traducción a dirección física antes de poder
realizar un acceso a memoria.
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 52
....
Dirección lógica.
– Referencia a posición de memoria independiente de Ia asignación
actuaI de datos.
– Generada por Ia CPU.
• Dirección física.
– Designa una posición reaI de Ia memoria principaI.
– AqueIIa cargada en eI registro de direcciones de Ia memoria.
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 54
....
- registro base
- registro límite (indica la posición final del programa)
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 55
....
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 56
....
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 57
....
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 58
....
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 59
....
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 60
....
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 61
Unidad de Gestión de Memoria (MMU)
1. Registro de relocalización.
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 62
....
2. Tabla de Correspondencia
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 63
Asignación no contigua de Memoria
• Métodos de organización:
– Paginación simple.
– Segmentación simple.
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 64
Paginación Simple
Con paginación !!
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 65
....
• Organización física de la Memoria Principal
– División de la memoria principal en bloques de igual tamaño
denominados marcos de página.
• Estrategias de asignación
– Se van asignando marcos libres a páginas del proceso.
– No tienen por qué ser consecutivos.
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 66
....
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 67
....
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 68
Ej. De uso de páginas y marcos
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 70
........
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 71
....
El SO mantiene una tabla de páginas para cada proceso.
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 72
....
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 73
....
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 74
....
Cada tabla de páginas contiene una entrada por cada página del
proceso, por lo que la tabla se indexa fácilmente por número de
página.
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 75
Estructura de datos para la Paginación
1. Tabla de Páginas.
• Una tabla por cada proceso.
• La tabla tiene tantas entradas como páginas tenga el proceso.
• En cada entrada se almacena:
– El número de marco donde se guarda la página cuyo número
coincide con el índice de la tabla.
– Bits de protección (lectura, escritura…).
2. Tabla de marcos.
• Una única tabla para todo el sistema.
• La tabla tiene tantas entradas como marcos de memoria física.
• En cada entrada se almacena:
– Flag indicando si el marco est á libre o asignado.
– En el caso de estar asignado el número de página y el PID
del proceso al que pertenece. Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 76
....
• Modos de Traducción
iv) dir_fisica=marco*tamanio_pagina+desplazamiento
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 77
.... Ventajas e Inconvenientes de la Paginación
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 79
....
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 80
....
• Organización física de la Memoria Principal
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 81
....
• Estructuras de datos para la gestión de la
Segmentación
– Lista de huecos.
– Tabla de Segmentos.
• Una tabla por cada proceso.
• La tabla tiene tantas entradas como segmentos tenga el
proceso.
• En cada entrada se almacena:
– Dirección base (valor del registro base) y límite o
longitud del segmento (valor del registro límite).
– Bits de protección (lectura, escritura…).
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 82
.... Ventajas e Inconvenientes de Segmentación
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 83
Resumen
Curso S.Operativo
EIEC-U.Central
Prof. G. Rosenberg 84