PaginacióN Y SegmentacióN

Post on 25-Jun-2015

22.133 views 0 download

Transcript of PaginacióN Y SegmentacióN

Una producción de:

- Karla Cabrera

- Cinthia Pulla

- Jammil Ramos

PAGINACIÓN Y SEGMENTACIÓNSistemas 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

3

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

9

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

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

18

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

28

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

a

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

l

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

f

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

o

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