Paginacion y segmentacion daniel

14
DANIEL ESTEBAN LARA RAMOS LUZ STELLA GIL OSPINA COORPORACION UNIVERSITARIA DE CIENCIA Y DESARROLLO SISTEMAS OPERATIVOS PAGINACION Y SEGMENTACION 17-08-2012 BOGOTA D.C

Transcript of Paginacion y segmentacion daniel

DANIEL ESTEBAN LARA RAMOS

LUZ STELLA GIL OSPINA

COORPORACION UNIVERSITARIA DE CIENCIA Y DESARROLLO

SISTEMAS OPERATIVOS

PAGINACION Y SEGMENTACION

17-08-2012

BOGOTA D.C

PAGINACIÓN Y SEGMENTACIÓN

Sistemas Operativos

ADMINISTRACIÓN DE LA MEMORIA

Depende de factores como del diseño del Hardware del

sistema

PAGINACIÓN SEGMENTACIÓN

Dividen los programas en pequeñas páginas , y a la memoria en marcos de página.Permite que el espacio de direcciones lógicas de un proceso no sea contiguo.

Tanto la memoria física como la memoria virtual se dividen en bloques (en general de distinto tamaño, llamados segmentos), que son las que van a disco a medida que se va llenando la memoria física, o se recuperan del disco cuando vuelven a ser necesarias.

CPU

p d f d

f

MEMORIA FÍSICA

p

TABLA DE PÁGINAS

DIRECCIÓN LÓGICA

DIRECCIÓN FÍSICA

Cada página generada por la CPU se divide en dos partes : Un número de página (p) y un desplazamiento de página (d). El número de páginas se emplea como un índice en una tabla de páginas . La tabla de página contiene la dirección base de cada página (f) en la memoria física. Esta dirección base se combina con el desplazamiento de la página para definir la dirección física de la memoria que se envía a la unidad de memoria.

Empleando un tamaño de página (tp) 8 bytes y un memoria física (mf) 64 bytes indique el número de páginas y calcule la dirección de la memoria física para los datos indicados en el diagrama. Los datos son 3, 9,14,18,28

64/8= 8 bytes (Bytes de Página)

mf/tp= mp

01234567

89101112131415

1617181920212223

2425262728293031

01234567

01234567

0123456701234567

Posiciones Marcos de Página

0 3

1 4

2 23 1

28

18

3

914

0

8

16

24

32

40

48

56

33

p=0mp=3(mp*bp)=d+pos=df (3*8)=24+3=27

99

p=1mp=4(mp*bp)=d+pos=df (4*8)=32+1=33

1414

p=1mp=4(mp*bp)=d+pos=df (4*8)=32+6=38

1818

p=2mp=2(mp*bp)=d+pos=df (2*8)=16+2=18

2828

p=3mp=1(mp*bp)=d+pos=df (1*8)=8+4=12

0

Página

1

2

3

Empleando un tamaño de página (tp) 4 bytes y un memoria física (mf) 16 bytes indique el número de páginas y calcule la dirección de la memoria física para los datos indicados en el diagrama. Los datos son a, f, l, o.

16/4= 4 bytes (Bytes de Página)

mf/tp= mp

abcd

0123

PosicionesMarcos de Página

0 3

1 4

2 23 5

0

aa

p=0mp=3(mp*bp)=d+pos=df (3*4)=12+0=12

ll

P=2mp=2(mp*bp)=d+pos=df (2*4)=8+3=11

ff

p=1mp=4(mp*bp)=d+pos=df (4*4)=16+1=17

oo

p=3Mp=5(mp*bp)=d+pos=df (5*4)=20+2=22

1

Página

2

3

4

efgh

ijkl

mnop

0123

0123

0123

V

V

I

I4

8

12

l

a

CPU s

+

limite base

d

<<

tabla de segmentos

no memoria física

trampa: error de direccionamiento

Una dirección lógica costa de dos partes: un número de segmentos (s), y un desplazamiento de dicho segmento ,(d). El número de segmentos se utiliza como un índice en la tabla de segmentos. El desplazamiento (d) de la dirección lógica debe estar entre 0 y el limite del segmento. De no ser así, se ocasiona una trampa al sistema operativo (intento de direccionamiento lógico más allá del final del segmento). Si este desplazamiento es legal, se agrega a la base del segmento para producir la dirección en la memoria física del byte deseado.

Dada la siguiente tabla de segmentos cuales son las direcciones físicas en las direcciones lógicas.

Segmentos Limite base

0 219 600

1 2300 14

2 90 100

3 1327 580

4 1952 96

S D

a) 0 430

b) 1 10

c) 2 500

d) 3 400

e) 4 112

a) s=0; b=219; L= 600; d=430

d < L430 <600219+430= 649

b) s=1; b=2300; L= 14; d=10

d < L10 <142300+10= 2310

c) s=2; b=90; L= 100; d=500

d < L500 <100“ERROR”

d) s=3; b=1327; L= 580; d=400

d < L400 < 5801327+400= 1727

e) s=4; b=1952; L= 96; d=112

d < L112 <96“ERROR”

S2

S0

S3

S4

S1

90

190

219

819

1327

1907

1952

2048

2300

2314