Escolar Documentos
Profissional Documentos
Cultura Documentos
DIRECCIONAMIENTO
GESTION DE LA MEMORIA
- MONOPROGRAMACIÓN
SO Registro Frontera
P
Registro Frontera
NO Acceso a
P Meno
r la Mem.
< Principal
SI
ERROR
- MULTIPROGRAMACIÓN
NO NO
ERROR
Cuando hay varios procesos:
3
Lim. Inferior
SO Superior
Lím.
P1
P2
La dirección es absoluta.
P Meno SI Acceso a
r + la Mem.
< Principal
NO
ERROR
P1 100K
128K
28K
P2 70K
128K
58K
128K
256K
Para eso hace falta que se creen colas para los procesos, para que
entren en la partición:
128K
P1 100K
P2 70K
P3 200K
P4 100K
64K
Características:
- compactación
- RL registre limite + RB registro base + direcciones
relativas @ rel + asignación dinámica procesos relativas
Los procesos han de ser reublicables porque hay esta
compactación, hay que trabajar con asignación dinámica y no
estática.
-
-
- Paginación
Para poder llevar a cabo necesitamos una Tabla de Páginas. Aquí viene
indexada, en donde está ubicada la primera posición(donde se guarda el
inicio del flame).
6
Pero hay una fragmentación interna porque hay procesos q no son iguales
a los “marcs” y hay espacio q se desaprovecha. Podemos dividir mucho +
los frames para aprovechar espacio perdido en memoria pero lo que haría
es aumentar la Tabla de Páginas.
M.P
@rel @ABS
P
7
Registro
Frontera o
Límite
@rel
<
@rel *@rel p+d
tama Convertir p d M.P
P ño o @rel en
SI
lími p + d
T.P
te @ABS
f d +
NO @ f
ERROR
Pero es muy lenta porque hay que recorrer varias tablas por que hay
múltiples visitas a la memoria,(para evitar que pase por la tabla de PCB
que se accede una vez por ejecucion y no cada vez por peticion) se puede
evitar cuando se carga el proceso en memoria se accede a un registro
base en donde esté la dirección de la tabla de paginas del proceso en
ejecución, de esta manera hacemos servir la memoria cache para guardar
las entradas a paginas de cada proceso de manera que estos accesos serán
mucho mas rápidos y el sistema también es mucho mas rápido por que se
8
@ T.P.
+ nº p
PA P0 @f
PB P2 @f
Proceso Pag @F
P1 P3 @F0
P2 P2 @F1
Paginación Compartida
(Memoria Real)
F0 (A) P0
F1
F2 P1
F3 (PO1) P2
F4 (PO2) P2
F5 (A) P2
F6
F7
- Segmentación
La paginación parte sin mirar nada, corta por tamaño no mira si corta un
bucle, puede producir fragmentación interna en la ultima pagina del
proceso. Para evitarlo aparece la segmentación que divide el proceso de
una forma lógica y racional.(no por donde toca, por medidas).
Var
Globa
l
Fun- Var
cione Local
s
P.P
P.P
F2
Var
F1 Pila Globa
Invoc l
.
Tabla de segmentos
Indice(nº segmentos) @base Limite
0 PP 0 1000 2000
1 F1 1 4000 1000
2 F2 2 5000 2000
3 Fen 3 9000 1000
4 VG 4 12000 3000
5 VL 5 15000 3000
6 PI 6 18000 2000
10
@Basedonde empieza.
Limite lo que ocupa
(Memoria Real)
1000 PP
3000
4000 F1
5000
5000 F2
7000
9000 Fen
10000
12000 VG
15000
15000 VL
18000
18000 PI
20000
Registro
Límite
Tabla Segmento
T.P @Real
d< Si
NO Limit +
@ f e
No
ERROR ERROR
RBTS Registro del Procesador que guarda en donde comienza la tabla del
Segmento del proceso en ejecución
- Sistemas combinados
· Segmentación - Paginada:
Es un sistema que se aplica en una máquina
Ej:
(GE 685 MULTICS)
Registro
Límite
Tabla Segmento Reg. Base
Tabla Seg
RBTS
s,d Tabla de Seg
del Proceso
s < + Long Seg @Base TP
P s d
RLTS SI
T.P.S
Si (d)
@Real
NO
d< +
Limit @ f +
e
No Convertir (d)
en (p,d’)** s d’
ERROR
ERROR Flames M.P
· Paginación - Segmentada:
Ej:
(IBM 370)
P p,d d Flames
p d T.P.S M.P
@ f
Si (p’) @Real
p<Lon
s p’
g TP + @ f +
No
ERROR
+
Tabla de Seg
del Proceso
RBTS Long TP @Base TP
12
- Memoria Virtual
Esquema:
· Hasta ahora: todo el proceso ha de estar en MP Todos los sistemas
anteriores tenían que estar en memoria de forma completa (los procesos
habían de estar en memoria
· Inconveniente: hay partes del proceso que no se ejecutarán nunca.
PA 100K
PB 100K
PC 100K
ML 300K = 300 MR
- Algoritmos de reemplazamiento
Colocación
Si el sistema está trabajando en paginación y me pidan una página y no
está colocada en memoria, en donde se colocará, ¿En que frame de
memoria? En el primero que esté libre (Todos los frames son de igual
medida).
Si fuese segmentación ¿Dónde se puede colocará? Buscar en memoria un
frame en que se tenga mayor e igual tamaño para que haya menor
fragmentación.
0 0 1 2 3 4 0 0 1 2 3 4
15 11
0 0 0 0 1 0 1 0
1 0 1 0 0 0 0 0
2 1 1 0 1 1 2 1 1 0 1 0
3 0 3 0 1 0 0 0
4 0 4 1 1 1 1 0
Se haría por el sistema binario el que tenga el valor binario más bajo
es la candidata a borrarse de la memoria.
P1
P3
P2
P1
Hasta ahora, hemos visto el disco duro es una pieza clave para el
sistema operativo. Por ejemplo los
No siempre se utiliza el disco duro (DD), para guardar información si no
que también se puede utilizar para el tratamiento de la información. Se
pueden realizar pequeñas peticiones para el disco duro.
Frecuencia
de faltas de
paginación
El proceso no genera
falta de pagina.
+ nº FRAMES
- Algoritmos de petición
FCFS (First come first server) Primera petición que llega primera que
se sirve.
12 28 23 84 24 2 59 = 232 cl
Vuelve al principio.
12 33 24 2 59 169 23 = 322 cl
rápido
16
53 65 98 122 124 83 37 14
12 33 24 2 59 146 23 = 299 o
309 cl
- Asignación de memoria
- Control del espacio disponible(Libre)
1 libre
0 ocupado
Nº cluster o bloque
de información 1 0 0 1 1 1 1 0 0
Lib Ocup Ocup Lib Lib Lib ...
- Bloques enlazados
@Inicial Cuantos
Bloque bloques libres
libre continuos hay.
1 2
4 1
012345678910111213141516171819
7 2
10 1
13 2
16 1
- Inconvenientes:
- Gestión de apuntadores Si se pierde un apuntador
“Chungo”, porque perderemos a partir de ahí perderemos el resto
de información del archivo. Hay una alternativa para no
perder la información “Solución” es tener dos apuntadores uno
que vaya al siguiente bloque y otro al anterior, una lista
doblemente enlazada.
- Pérdida de espacio por el uso de los apuntadores(Cada
apuntador ocupa 32bits por bloque).
18
Tabla de directorios.
6
8
...
19
4K = 4096Bytes
@4 bytes
1024@*4K
Bloq.(I)
Inode (Indice Nodo)
(I) del archivo Bloq.(I) Bloq.(I)
12 apuntadores directos
1 apunt indirecto
sencillo Bloq. De Indice
Bloq.(I)
1 apunt. Indirect.
Doble
Bloq.de Indice 1024
1 apunt. indirec.
Triple Bloq.(I)
Cluster de 4k
12*4096+1024*4096+1024*1024*4096+1024*1024*1024*4096=4402345721856
Cluster de 8k
4096 8192
1024 2048
Método de Acceso
Estructuras de directorios
Son directorios de dos niveles. Uno que es la raiz y otro para cada
usuario. Y dentro de cada subdirectorio, solamente se podrá poner los
archivos con nombres cortos y sin jerarquizar.
- Estructuras en árbol
- Grafos Acíclicos
Vertice
Arestas
- NT L, E, A, CT, Elim
- UNIX Propietario, Grupo, todos los otros (de usuario)
- Fecha y hora de creación
- Fecha y hora de modificación
- Contadores de uso y posición
- Tamaño del archivo
- Propietario