You are on page 1of 11

25/08/2014

Sistemas Operativos

Profesor:

Ciclo 2014-2 Mod 1

Diaz Muante Jorge

Memoria Real
Un solo
proceso

Memoria Virtual

Multiprogramacin

Multiprogramacin
Particiones fijas

1 Colas

Particiones
variables

Paginada

Varias
colas

Particiones
Fijas

Segmentada

Segmentada
+ Paginada

Particiones
Variables

Fragmentacin
Interna

Fragmentacin
Externa

Tamao del
proceso limitado
por el tamao de
la particin

Tamao del
proceso limitado
por el tamao de
la memoria real

Asignacin de Memoria
Tamao total del proceso

25/08/2014

Manejo de errores
::

::

::

::

::

::

::

::

::

::

E1 E2 E3 E4 E5

E1 E2 E3 E4 E5

E6 E7 E8 E9 E10

E6 E7 E8 E9 E10

E11 E12 E13 ::

E11 E12 E13 ::

::

::

::

::

::

::

::

::

::

::

::

::

En la practica rara vez se presentan todos los


errores en una misma ejecucin.
4

Manejo de tablas, vectores u otra estructura de datos


::

::

::

::

::

::

::

::

::

::

V1 V2 V3 V4 V5

V1 V2 V3 V4 V5
V6 V7 V8 V9 V10

V6 V7 V8 V9 V10

V11 V12 V13 V14V15

V11 V12 V13 V14V15

::

::

::

::

::

::

::

::

::

::

En la practica solo usamos pocos elementos de las


estructuras de datos.
Ejm: Vector (100x100) y usamos solo (10x10)
5

Software base: Editor de texto


::

::

::

:: ::

Conversin de
Minusculas a
Mayusculas
::

::

::

:: ::

En la practica usamos rara vez esta opcin


6

25/08/2014

Referencias repetidas
initializacion
datos

Inicio del
codigo

Fin del
codigo

Cod. 1

Cod. 2

datos

Saltos esporadicos
working set:

Fase inicial del


proceso

Fase final del


proceso

Fase Principal
del proceso

Dening
Principio de localidad
Las referencias de los procesos tienden agruparse en
zonas pequeas del espacio direccionable. Estas zonas
ademas tienden a cambiar en forma intermitente.
7

No se requiere que un proceso este


almacenado en la memoria principal en forma
completa
Ventajas
No hay limite para el tamao de los procesos
Aumenta el numero de procesos en memoria
Disminucin de las Operaciones e/s

Es la separacin de la memoria lgica del


usuario de la memoria fsica
+ Una gran memoria virtual cuando solo se dispone de una
memoria fsica mas pequea

25/08/2014

Memoria Cache:
Ilusion de una
memoria muy
rapida

Memoria real
Costo razonable
pero velocidad
intermedia

Memoria Virtual
Ilusion de una memoria
de gran tamao
Virtual
memory

Main memory
Cache
Registers

Words
Lines
(transferred
explicitly
via load/store)

Pages
(transferred
automatically
upon cache miss)

(transferred
automatically
upon page fault)

10

TLB

Tabla
Pagina

Disco
500GB

Memoria
Fisica
4 GB

Memoria
Virtual
6 GB

Paginada

Segmentada

Segmentada
+ Paginada

- Consiste en dividir el espacio de direcciones virtual en unidades de tamao


invariante llamadas pginas.

Proceso A

Proceso A

- Los marcos de pgina son la correspondencia de una pgina en la


memoria fsica, es decir, el espacio en la RAM donde realmente esta la
pgina, teniendo ambos el mismo tamao. De esta forma, todas las
unidades de transferencia de datos desde y hacia la RAM se hacen en el
tamao de una pgina.

Proceso A

RAM

Marco de
Pgina

Pgina

25/08/2014

Continuidad Artificial

Memoria
Virtual

Pag 0

Marco 0

Pag 1

Marco 1

Pag 2

Marco 2

Pag 3

Marco 3

Pag 4

Marco 4

Pag 5
Pag 6
Pag 7

Marco 5

Espacio de direccionamiento
lgico

4k

Memoria
real

Espacio de direcciones
reales

13

14

15

25/08/2014

17

Memoria
Virtual de
Proceso P

Pgina 0

P0

P1

P2

10

11

P3

P4

P5

P6

.
.
.
32

33

Pn-1

Pn

Marco 2

Pgina 2

Pgina 1

Marco 0

Pgina 3

Pgina 2

No est

Pgina 3

No est

Pgina 4

Marco 6

Marco 0

No
estn

Marco 1

Libre

Marco 2

Pgina 0

Pgina n- Marco 5
1

Marco 4

Pgina n

34

Memoria Fsica
Principal (RAM)

Pgina 0

Lista de
Marcos Libres

35

Sistema
Operativo

Marco 3

Pgina 1

Libre

Marco 4

Pgina n

Marco 5

Pgina n-1

Marco 6

Pgina 4

Libres

Marco m

Libre

Marco 1

.
.
.

Tabla de
Pginas de P

Pgina 1

(direcciones lgicas)

Sistema Operativo

(direcciones Fsicas)

Memoria Secundaria
Principal (Disco Duro)

Marco 3
Marco 7

D-1

Pgina n

Marco m

18

25/08/2014

El proceso trata de usar una pagina que no esta


en memoria real.
Pasos:

1. Referencia a una pagina, verifica su bit de validez (esta invalida = i)


2. Ocurre una trampa
3. SO busca un marco libre
4. Lleva la pagina del disco a la memoria
5. Actualiza la tabla de paginas
6. Reinicia la operacin

19

Sistema
operativo

La pagina esta en
memoria auxiliar

2 Trampa
1

Cargar
M

Referencia

Memoria
Fsica

0
6 Reinicia la
instruccin

libre
Tabla de
paginas

4 Carga la
pagina

5 Restablece
tabla de
20 pag.

r w x v re m s c su pid

gd

other
otros

Marco #

Read (lectura)

Shared-compartida

Write (escritura)

caching

Execute

su

super-pagina

valida

pid

process id

re

referenciada

(extended) guard

modificada

gd

guard data

(ejecucion)

caching:
referenciada:
modificada:
Valida o :
presente/ausente

pginas asociadas a registros de dispositivos


1 cuando se hace una referencia a una pgina
para leer o escribir
recuperacin marco, si pgina no ha sido
modificada no se escribe a disco
1 entrada valida y puede ser utilizada
0 pgina no cargada en memoria

25/08/2014

Direcion Virtual
(Proceso A):

# Pag

PageTablePtrA

Offset
pag #0
pag #1
page
pag #2

V,R
V,R
V,R,W

pag #3
pag #4
pag #5
PageTablePtrB

Direccion Virtual:
# Pag
Process B

V,R,W

Pagina
compartida

N
V,R,W

pag #0
pag #1

V,R

pag #2
pag #3

V,R,W

page
pag #4
#4
pag #5

V,R
V,R

Esta pagina fisica


aparece en los 2
procesos

V,R,W

Offset
22

La tasa de fallos de pgina es tan alta que el


proceso pierde ms tiempo cargando pginas
que ejecutando.
Si se produce vapuleo en todos los procesos el
sistema queda parado.
Solucin
no superar cierto grado de multiprogramacin.
proporcionar a cada proceso las pginas que necesita en cada
momento.

23

M.Real

Sacar la pagina
victima

1
m

victima
nueva
Es muy
intensa

2
Introducir la
pagina deseada
24

%Utilizacin de CPU o Productividad (reqs/segs)

25/08/2014

Qu ocurre aqu?

Numero de procesos activos


Nivel de multiprogramacin
25

- Paginacin = espacio direcciones unidimensional, (0..max)

- Dotar mquina de varios espacios independientes de


direcciones, desde 0 hasta cierto mximo.

- Los distintos segmentos pueden tener longitudes distintas.

- La longitud de cada segmento puede ser distinta

- La longitud de un segmento puede variar durante su ejecucin

- Acceso se hace en dos partes: nmero de segmento y una


direccin dentro de este

- Un segmento puede tener la proteccin adecuada para el


tipo de objeto almacenado

La t.simbolos
choco contra la
texto fuente

Tabla de
simbolos
Texto fuente

Tabla de constantes

rbol lxico

Llamadas a la pila

En un espacio unidimensional de direcciones con tablas crecientes, una tabla


puede encimarse con otra
27

25/08/2014

Seg0

Seg1

Seg2

0k

0k

0k

4k

4k

4k
Txt

Seg3

Constantes

Seg4

0k

0k

4k

4k

8k

8k

12k

12K

8k
Arbol
12K lexic.

12K

16k

16k

16k

16k

Tab.
Simb

fuente

8k

pila

20k

20k
24k

Una mem. Segmentada permite a cada tabla


crecer o encogerse con independencia
28

Direccion virtual
Segment #
Offset
Seg 1
(cod.)
Seg 3
(pila)

Fragmentacion
Externa

Seg 2
(datos)

Memoria
Fisica

Memoria virtual
MMU
no

offset <
limite ?

Fallo acceso
A la mem

Editor
segmento 0
datos 1
segmento 1

Si

Como pagina:
valida, modific.,
proteccion, etc.

Seg 3
(pila)

Tab de Segmento
Base Limit Otros

Seg 1
(cod.)

STBR
STLR

Seg 2
(datos)

Segmento Base + Offset


Direccin fsica

Tabla Segmentos P1
limite base
0 25286 43062
1 4425 68348

0x00

43062

editor

Espacio direcciones
virtuales de P1

68348
72773

datos 1

Editor
segmento 0
datos 2
segmento 1

Tabla Segmentos P2
limite base
0 25286 43062
1 8550 90003

90003
datos 2
98553

Espacio direcciones
virtuales de P2
Memoria Virtual

10

25/08/2014

Seg0

Seg1

Seg2

0k

0k

0k

4k

4k

4k

8k

8k

Seg3

Seg4

0k

0k

4k

4k

8k

8k

12k

12K

12K

12K

16k

16k

16k

16k

20k

20k
24k

Segmentada + Paginada
32

Proceso
120k

Segmento 0
40k

p0 p1

Segmento 1
10k

p0 p1

p0 p1

Segmento 2
70k
33

11

You might also like