separata1 - sistemas operativos

116
Sistemas Operativos strar los recursos del sistema computacional sadores ia sitivos E/S mación (Archivo Base de Datos) adores peraciones matematicas /S Solamente actividades entrad salida lectura y es a fisico donde sea almacena información finita emoria Fisica/Real/Primaria/Principal ) a Secundaria (Discos/Cintas/Cd-Rom/diskettes/etc)In a CACHE información que es utilizada con mayor frec ria daria

Upload: xitofu

Post on 07-Jun-2015

1.668 views

Category:

Documents


8 download

TRANSCRIPT

Page 1: SEPARATA1 - Sistemas Operativos

Sistemas OperativosAdministrar los recursos del sistema computacional*Procesadores *Memoria*Dispositivos E/S*Información (Archivo Base de Datos)Procesadores*Cpu Operaciones matematicas*Cpu E/S Solamente actividades entrad salida lectura y escrituraMemoriaLugar fisico donde sea almacena información finita Ram (Memoria Fisica/Real/Primaria/Principal )Memoria Secundaria (Discos/Cintas/Cd-Rom/diskettes/etc)InfinitaMemoria CACHE información que es utilizada con mayor frecuencia*Primaria*Secundaria

Page 2: SEPARATA1 - Sistemas Operativos

•Registro•Memoria cache primaria•Ram (memoria fisica/real primaria/principal)•Memoria cache secundaria•Memoria secundaria

RamMemoria

Secundaria

Cache Primaria

CacheSecundaria

Registros

Page 3: SEPARATA1 - Sistemas Operativos

Dispositivos de E/S : Escaner, Teclado, Mouse, L.Optico de entradaDe salida Terminal, ImpresoraDe Entrada/ Salida : D. drive, D. duros, CartuchosFlujo de caracteres :Flujos continuos de BitsMouse , impresora etcLectura/escritura: Se hace bajo un flujo continuo de bitsBloques lectura/escritura: Se realiza a través de bloques, types,Backup, Diskdrives, etcOtros : Reloj Permite la asignacion de Cpus una secuencia o señalesDeterminadas para su función Información (archivos/base de datos)•Secuencuiales•Indexadas•Aleatorias•Directos Nivel de archivos

•Relacional•Jerarquica

B de Datos

Page 4: SEPARATA1 - Sistemas Operativos

Usuarios Servicios

Adm. de memoria Adm. de Procesadores

Adm. de Información

Adm. de Dispositivos

Page 5: SEPARATA1 - Sistemas Operativos

Administrador de RecursosFuncionesLlevar el registro y control de volumenDefinir la politica de asignación del recurso• A quien ?• Cuando ?• Cuanto ?Asignar el RecursoDesasignar el RecursoDentro de la planificacion vemos algoritmosEl PERS: Asigna el recurso de menor tiempo La CONCURRENCIA: Demanda concurrente el problema es mas Critico (crea conflictos) en el mismo instante ante recursos escasos

La memoria esUn recurso critico

Page 6: SEPARATA1 - Sistemas Operativos

Entrega

ProgramaRetiene P

FIN

Suspensión

EjecuciónP

Bloqueado Z

Listos P

SolicitaRecursos•Memoria•Dispositivos E/S•Informacion

SolicitudE/S

Termina E/S

CPUResultado

Cpu E/S

Cpu E/S

Concepcion del modelo de estados y eventos

Sistema Monoprocesador 1cpu y N cpus e/s

Page 7: SEPARATA1 - Sistemas Operativos

Sistema Operativos Multiprogramación o MultitareaSe define cuando 2 o mas trabajos (programas, aplicaciones, Sistemas, Software, etc) Se procesan simultaneamente; pero solo 1 se esta Ejecutandose en un instante dado

CPU

E/S

T. Ejecución = Tcpu+Te/s+Tacceso

Rendimiento de Cpu = Tcpu *100% Ttotal de Ejecución

P1Cpu CpuE/S E/S

2 13 4

T. Ejecucion p1= 10 = 3 + 7 Rcpu p1 = 3 * 100% = 30% 10

Simbologia

Page 8: SEPARATA1 - Sistemas Operativos

Cpu CpuCpuCpuE/S E/SE/SE/S

2 32413 41

20

P1 P2

6 *100% = 30% R cpu p1 p2 = Tcpu * 100% 20 T Total

Page 9: SEPARATA1 - Sistemas Operativos

Multiprogramación

P1

P2

12132

132

4

4

6 *100% = 50% R cpu p1 p2 = Tcpu * 100% 12 T TotalMayor ventaja eleva el rendimiento de la Cpu

Cpu E/S Cpu E/S

2143T1

T2

T3

Cpu

4E/S

8

Ejercicio

Page 10: SEPARATA1 - Sistemas Operativos

Tejecución

Cpu E/S Cpu E/S

2143T1

T2

T3

Cpu

4E/S

8

10

T1 = 10 = 4 + 6 Rcpu T1 = 40 %T2 = 4 = 4 + 6 Rcpu T2 = 100 %T3 = 8 = 0 + 8 Rcpu T3 = 0 %

Page 11: SEPARATA1 - Sistemas Operativos

Administrador de procesadoresModulosControlador de trafico: modulo que efectua la sincronización y comunicación entre los procesos

Trabajos =

Programa SoftwareAplicacionesSistema, etc

T1P1T1P2T1P3

T1Pn

N procesos

Planeador de trabajo:Modulo responsable de realizar las siguientes actividadesA)Llevar el registro y control de todos los trabajos existentes en el sistemaB)Coordina con los administradores de memoria de dispositivos de E/S a fin de solicitarle los recursos requeridos por los trabajos

Page 12: SEPARATA1 - Sistemas Operativos

C) Realiza la planeación del procesamiento de los trabajos.D) Crea los procesos correspondiente a cada trabajoy los coloca en el estado de listos.

ListosProcesos

RetieneTrabajos

Solicita Recursos•Memoria•Dispositivos•Información

De acuerdo a recursos asignados realiza la planeación del procesamiento de los trabajos

Page 13: SEPARATA1 - Sistemas Operativos

ModelosPlaneación de trabajos con multiprogramación y con traslape E/Sse define cuando las operaciones de entrada y salida interfieren con las operaciones de entrada y salida lo que generalmente va a Producir que exista CPU ociosa

T1

T2

E/SCpu E/S

E/S E/S

Cpu

Cpu

2 3 3 2

4 4 2

T3E/S E/SCpu

5 1 3

Cpu

1

Rcpu = 50%

Rcpu = 40%

Rcpu = 20%

Page 14: SEPARATA1 - Sistemas Operativos

5 1 3

244

32 2

1

3T1

T2

T3

0 8 141242

CpuOciosa

CpuOciosa

Page 15: SEPARATA1 - Sistemas Operativos

Modelo : Planeación de trabajos con multiprogramación y con Traslape de E/SCondiciones• Recursos Ilimitados• Generalmente existe Cpu ociosa, es decir Rendimiento menor de 100%Metodos:Probabilisticos: Cuando se conoce el detalle y la secuencia de las operaciones de CPU y de entrada y salida de los trabajosdurante su procesamiento.Programación GráficaMetodo probabilistico: FormulasTiempo de retorno = Tiempo fin - Tiempo llegada

Tiempo promedio retorno TPR = T retorno

n

n

i=1

Page 16: SEPARATA1 - Sistemas Operativos

%Cpu ocupada = 1-(%Cpu ociosaT1)(%Cpu ociosaT2)..(%Cpu OciosaTn)

TcpuTx = (%Cpu ocupada T1,T2..Tn ) * Treloj * % Cpu ocupada Tx

% Cpu ocupada

SeaTrabajo Llegada Tcpu Te/s cp Tfin Tretorno T1 0’ 4’ 6’ 40/60 18.97 18.97 T2 2’ 3’ 3’ 50/50 14.85 12.82 T3 4’ 8’ 2’ 80/20 23.59 19.59 T4 5’ 6’ 1.5’ 80/20 21.64 16.64 TPR = ?

Page 17: SEPARATA1 - Sistemas Operativos

%Cpu ocup T1 T2 =1-(0.6)(0.5)=0.7Tcpu T1= 0.7*2* 40 = 0.62 40+50Tcpu T2= 0.7*2* 40 = 0.78 40+50%Cpu ocup T1 T2 T3 =1-(0.6)(0.5)(0.2)=0.94Tcpu T1= 0.94*1* 40 = 0.22 40+50+80Tcpu T2= 0.94*1* 40 = 0.28 170Tcpu T3= 0.94*1* 80 = 0.44 170%Cpu ocup T1 T2 T3 T4=1-(0.6)(0.5)(0.2)(0.2)=0.988Tcpu T2=> 1.94=0.988*T reloj* 50 40+50+80+80Treloj = 14.82Tcpu T3 = T4 = 0.988 *9.82*80 =3.1Tcpu T1 = 0.988*9.82* 40 = 1.55 250

Page 18: SEPARATA1 - Sistemas Operativos

0.8

0.44

0.280.78

0.62 0.22

1.94

3.1

3.1

0.811.55

1.62

1.62 1.28

1.28 1.56

0 4 21.6418.9714.8252 23.59

TcpuT1

TcpuT1

TcpuT1

TcpuT1

T1= 4-0.8 = 3.2-0.62 = 2.58-0.22 = 2.36-1.55 = 0.81-0.81 = 0T2= 3-0.78 = 2.22-0.28 = 1.94-1.94 = 0T3= 8-0.44 = 7.56-3.1 = 4.46-1.62 = 2.84-1.28 = 1.56-1.56 = 0T4= 6-3.1= 2.9-1.62 = 1.28-1.28 = 0

Page 19: SEPARATA1 - Sistemas Operativos

METODO PROGRAMACION GRAFICA

Problema: En un determinado centro de computo se procesan los sgtes. Trabajos:T1: calcula 2’ , solicita cinta, calcula 1’, solicita cinta y 2 discos, calcula 1’, solicita disco.T2: solicita 2 discos, calcula 2’, solicita disco, calcula 1’, solicita disco, calcula 2’.T3: solicita 2 cintas, calcula 2’, solicita cinta, calcula1’, solicita cinta, calcula 1’.Las solicitudes de entrada y salida requieren 2’ para ejecutarse. Considere el tiempo de llegada, para los 3 trabajos mencionados en 0’. Las prioridades de los trabajos estan dadas po: solo disco(A), solo cinta(B) y ambos(C), donde A>B y B>C. Determinar el tiempo promedio retorno de los 3 trabajos mencionados y el rendimiento de las CPU’s.

Page 20: SEPARATA1 - Sistemas Operativos

Solucion:

T1: calcula 3’, E/S 2’, calcula 2’, E/S 3’.

T2: E/S 2’, calcula 3’, E/S 4’, calcula 3’.

T3: calcula 3’, E/S 5’, calcula 2’, E/S 3’.

Trabajos Memoria Discos Cintas Prioridad

T1 80 kb 3 2 B

T2 50 kb 2 1 A

T3 80 kb 2 2 A

150 kb 5 5

Recursos Apropiativos, prioridad: A>B

TPR3= ??

Page 21: SEPARATA1 - Sistemas Operativos

Metodo Programacion Grafica

Trabajos Tllegada prioridad Tcpu TE/S CP memoria discos cintas Tfin Tretorno

T1 0’ B 5’ 5’ 80 kb 3 2 23 23

T2 2’ A 6’ 6’ 50 kb 2 1 17 15

T3 4’ A 5’ 8’ 80 kb 2 2 17 13

Recursos Apropiativos Sistema 150 kb 5 5 51

Prioridad: A>B

Page 22: SEPARATA1 - Sistemas Operativos

Trabajos

T3

T2

T1

2 4 6 8 10 12 14 16 18 20 22 23

tiempo

3

1

2

3 5 2 3

3 3

321

4

Trabajos Memoria Discos Cintas T1 80 3

Control de recursos : T1 T2 130 5

T2 T3 130 4

T1 80 3

Page 23: SEPARATA1 - Sistemas Operativos

Planeador de Procesos

Modulo responsable de realizar la planeacion de la ejecucion de los procesospara lo cual toma un proceso del estado de listos y de acuerdo a la politica definida le asigna el procesador.

Quantum(q).- unidad de tiempo, cantidad fija predeterminada de asigancion del proceso para su ejecucion. Generalmente su rango varia de 50 a 800 ms.

EjecucionPx

ListosPn....P3P2P1

BloqueadoPz....PbPa

Fin

CPU

q

Procesos

Solicitud E/S

Termina E/S

** Proceso: es la parte indivisible de un trabajo.

Page 24: SEPARATA1 - Sistemas Operativos

Algoritmos de Planificacion

1. Torneo Mutuo / Turno Rotativo / Robin Round

2. Prioridad

3. PEPS (Primero que entra, primero que sale)

4. Primer Trabajo Mas Corto

5. Menor Tiempo Restante

6. Por Niveles

Page 25: SEPARATA1 - Sistemas Operativos

Algoritmos de Planificacion

1. Torneo Mutuo / Turno Rotativo / Robin Round • Todos los procesos son identicos. • Los procesos estan clasificados por tiempo de llegada. • A cada proceso se le asigna en procesador un Quantum de tiempo.• El recurso procesador es no apropiativo.• Algoritmo utilizado en los sistemas de tiempo real, tiempo

compartido y sistemas interactivos.

D C B A A

ProcesadorCola de Procesos

Agota qBloqueado Fin

Ingreso

q=100ms

Tiempo de llegada

Page 26: SEPARATA1 - Sistemas Operativos

Torneo mutuo, q = 100 msProcesos Tllegada TCPU Tfin Tretorno

P1 0 130 430 430

P2 0 210 740 740

P3 0 260 800 800

P4 0 370 970 970

2940

TPR = ?? 2940 = 735 ms4

Control Tcpu

P1 = 130 –100 = 30 – 30 = 0

P2 = 210 –100 =110-100=10-10=0

P3 = 260-100=160-100=60-60=0

P4 = 370-100=270-100=170-100=70-70=0

Procesos

P4

P3

P2

P1

tiempo430 970800740

100

100

100

100

100

100

100 100

30

10

60

70

Ejemplo 1:

Page 27: SEPARATA1 - Sistemas Operativos

Torneo mutuo, q = 100 msProcesos Tllegada TCPU Tfin Tretorno

P1 0 260 560 560

P2 70 240 690 620

P3 200 120 650 450

P4 305 70 630 325

1925

TPR = ?? 1925 = 488.75 ms4

Control Tcpu

P1 = 260-100=160-100=60-60=0

P2 = 240-100=140-100=40-40=0

P3 = 120-100=20-20=0

P4 = 70-70=0

Procesos

P4

P3

P2

P1

tiempo560 690650630

100

100

100

100

100

60

70

Ejemplo 2:

2040

Page 28: SEPARATA1 - Sistemas Operativos

Algoritmos de Planificacion

2.- Prioridad

• La ejecucion de los procesos de un mismo nivel de prioridad se ejecutan como torneo mutuo.

• Los procesos de menor prioridad se ejecutan siempre y cuando no existan procesos de mayor prioridad.

• Existen q diferenciales entre los niveles de prioridad con el fin de compensar la espera de la asignacion del procesador hacia los procesos de menor prioridad.

• El recurso procesador puede ser no apropiativo o apropiativo.

Page 29: SEPARATA1 - Sistemas Operativos

Algoritmos utilizados en los sistemas de tiempo real, tiempo compartido y sistemas interactivos

A4 A3 A2 A1

B5 B4 B3 B2

C2C3

B1

C1

Ingreso

COLA DE PROCESOS

PROCESADOR

qA=100msqB=300msqC=800ms

Agota q

Bloqueado

Fin

Tiempo de llegada

A

B

C

JER

AR

QU

IA

NIV

EL

•A los procesos de < prioridad se le asigna > q•Para que el proceso B, se pueda ejecutar no deben ejecutarse los procesos A y C.

Page 30: SEPARATA1 - Sistemas Operativos

Ejemplo 1:

Prioridad: qA=100 ms, qB=200ms A > B

Procesos Tllegada TCPU Prioridad

P1 0 320 B

P2 50 210 A

(ms)(ms)

Procesos

P2

P1

Procesos

P2

P1

NO APROPIATIVO APROPIATIVO

200

100 100 10

120

x

500

50

100 100 10

200 70

500

Page 31: SEPARATA1 - Sistemas Operativos

Ejemplo 2:

A > B qA=100 ms qB=200 ms

Procesos Tllegada TCPU Prioridad Tfin Tretorno

P1 0 510 B 1390 1390

P2 70 430 B 1420 1350

P3 400 210 A 810 410

P4 430 270 A 880 450

(ms)(ms)APROPIATIVO

1420 3600

P1 = 510-200=310-200=110-110=0

P2 = 430-200=230-200=30-30=0

P3 = 210-100=110-100=10-10=0

P4 = 270-100=170-100=70-70=0

Control Tcpu

Page 32: SEPARATA1 - Sistemas Operativos

Ejemplo 2:

200

100

100

30

100

100

10

200

70

0

Procesos

P4

P3

P2

P1 200

200

110

880810400200 1390 1420

TPR = 3600 = 900 ms

4

Page 33: SEPARATA1 - Sistemas Operativos

Ejemplo 3:

C >B >A

Procesos Tllegada TCPU Prioridad Tfin Tretorno

P1 0 7 A 19 19

P2 2 3 B 10 8

P3 2 4 B 11 9

P4 4 3 A 17 13 P5 6 2 C 8 2

(min)(min)

PRIORIDAD :

19 51

Page 34: SEPARATA1 - Sistemas Operativos

Ejemplo 3:

0

Procesos

P5

P4

P3

P2

P1

2

TPR = 51 = 10.2 min5

2

23

3

11

1 1

1

1

1

x

x

x

x

x

2 64 108 11 17 19

Control Tcpu

P1 = 7-2=5-3=2-2=0 P2 = 3-1=2-1=1-1=0

P3 = 4-1=3-1=2-1=1-1=0

P4 = 3-3=0

P5 = 2-2=0

Page 35: SEPARATA1 - Sistemas Operativos

Algoritmos de Planificacion

3.- PEPS (Primero que entra, primero que sale)• Los procesos estan asignados por tiempo de llegada.• La asignacion del procesador hacia los procesos es un q infinito,

esto quiere decir hasta que finalice la ejecucion del proceso u ocurra una interrupcion .

• El recurso procesador es “no apropiativo”.• Generalmente la ejecucion de los procesos se realiza en forma

secuencial.• Es el algoritmo mas simple de implementar y es utilizado en los

sistemas por lotes (BATCH)

D C B A

ProcesadorCola de Procesos

Bloqueado Fin

Ingresoq=

Tiempo de llegada

Page 36: SEPARATA1 - Sistemas Operativos

Algoritmos de Planificacion

4.- Primer trabajo mas corto

Los procesos estan clasificados por tiempo de llegada y por su requerimiento de CPU en orden ascendente.Esto quiere decir cuando un proceso llega al estado de listos, automaticamente los procesos se reordenan por requerimeinto de CPU en orden ascendente.La asignacion del procesador hacia los procesos es un quantum .El recurso procesador es no apropiativo, algoritmo tambien uutilizado en los sistemas por lotes o tipo BATCH.La desventaja de este algoritmo es que aquellos procesos que requieren > utilizacion de CPU sufran desplazamientos por procesos de < requerimiento y esto puede ocasionar la inanicion del proceso.

Page 37: SEPARATA1 - Sistemas Operativos

Algoritmos de Planificacion

5.- Menor tiempo restante

Es una variante del algoritmo Primer trabajo mas corto, en la que el recurso procesador es apropiativo.En este algoritmo el planeador del proceso toma el proceso que requiera menor tiempo de CPU de la cola de procesos.Cuando llega un nuevo proceso a la cola de procesos (estado de listos) y requiera un tiempo de CPU < que el proceso que se esta ejecutando en ese momento, dicho proceso expropia o quita el procesador e inicia su ejecucion.

Page 38: SEPARATA1 - Sistemas Operativos

Procesos Tllegada TCPU Tfin Tretorno

P1 0 6 6 6

P2 2 3 9 7

P3 4 3 12 8

P4 8 4 16 8 P5 9 2 18 9

(ms)(ms)

18 38

Ejemplo 1:

Determinar el TPR para los sgtes. Algoritmos de planificacion PEPS.

0

2x

6

6

4

129 16 18

Procesos

P5

P4

P3

P2

P1

3

3

x

x

x

x

PEPS q=

TPR = 38 = 7.6 ms5

Page 39: SEPARATA1 - Sistemas Operativos

Procesos Tllegada TCPU Tfin Tretorno

P1 0 6 6 6

P2 2 3 9 7

P3 4 3 14 10

P4 8 4 18 10 P5 9 2 11 2

(ms)(ms)

18 35

Ejemplo 2:

0

2

6

6

4

119 14 18

Procesos

P5

P4

P3

P2

P1

3

3

x

x

x

x

Primer trabajo mas corto q=

TPR = 35 = 7 ms5

x

Page 40: SEPARATA1 - Sistemas Operativos

Procesos Tllegada TCPU Tfin Tretorno

P1 0 6 14 14

P2 2 3 5 3

P3 4 3 8 4

P4 8 4 18 10 P5 9 2 11 2

(ms)(ms)

18 33

Ejemplo 3:

0

3

2

2

2

114 14 18

Procesos

P5

P4

P3

P2

P1

3

2

x

x

x

Menor Tiempo Restante q=

TPR = 33 = 6.6 ms5

1

1

4

8 95

Page 41: SEPARATA1 - Sistemas Operativos

Algoritmos de Planificacion

6.- Algoritmos Por Niveles

• Es una mezcla de los algoritmos de torneo mutuo, prioridad y peps.• Normalmente existen 3 o 4 niveles. Los niveles tienen prioridad.• La clasificacion u ordenamiento de los procesos en cada nivel se realiza por tiempo de llegada.• La ejecucion de los procesos de un mismo nivel se realiza como torneo mutuo.• La ejecucion de los procesos de un nivel inferior se ejecutan siempre y cuando no existan en los niveles superiores.• Todos los procesos ingresan al 1er nivel; si un proceso requiere mayor tiempo de cpu del q asignado en ese nivel, el proceso automaticamente pasa al sgte. Nivel y asi sucesivamente hasta finalizar.

Page 42: SEPARATA1 - Sistemas Operativos

6.- Algoritmos Por Niveles

• El Quantum asignado a un nivel inferior es el doble del inmediato superior. • El recurso procesador es no apropiativo.• La ventaja de este algoritmo es que reduce el tiempo ocasionado por los procesos administrativos.• Algoritmo normalmente utilizado en los sistemas de tiempo real tiempo compartido ocasionalmente en sistemas de bloques.

P O N N

G E D

B A

Ingreso

COLA DE PROCESOS

PROCESADOR

q1N = qq2N = qq3N = q

Agota q

Bloqueado

Fin

Tiempo de llegada

JER

AR

QU

IA

NIV

EL 1°

Page 43: SEPARATA1 - Sistemas Operativos

P1 0 400 B

P2 50 220 A

P3 150 180 B

P4 300 80 A

Procesos Tllegada TCPU Prioridad

Por Niveles, 3 Niveles, q1N = 100ms

Ejemplo

Page 44: SEPARATA1 - Sistemas Operativos

P4

P3

P2

P1

0 100 200 300 380 580 700 780 8801°Nivel Q=100

2°Nivel Q=200

3°Nivel Q=400

P1= 400

P2= 220

P3= 180

P4= 80

CONTROL DE CPUCONTROL DE CPU

100

100

100

80

200

120

80

100

P1

-100=300

P1

P2

-100=120P2

P3

-100=80P3

P4

-80=0

-200=100

-120=0

P1

-80=0

-100=0

Tretorno

880 880

700 650

780 630

380 80

TPR = 880+650+630+80 = 560

4

Tfin

Page 45: SEPARATA1 - Sistemas Operativos

Procesos Administrativos

Ejecucion

Listas

Bloqueado

Fin

Termina E/S

Agota q

Solicitud E/S

q

TEjecucion = TCPU + TE/S + Tpa

Page 46: SEPARATA1 - Sistemas Operativos

Torneo Mutuo q

Por Niveles

Tpa =

n

i=1TCPU Pi

q tpa*

Tpa =

n

i=1TCPU Pi

qNj

tpa*

j=1

m

N° Niveles *

Page 47: SEPARATA1 - Sistemas Operativos

Prioridad

Tpa =

n

i=1TCPU PAi

qA+ tpa*

n

i=1TCPU PBi

qB+ . . .

n

i=1TCPU PNi

qN+

Page 48: SEPARATA1 - Sistemas Operativos

Ejemplo :

Procesos Tllegada TCPU Prioridad

P1 0 6 B

P2 1 7 B

P3 2 4 A

P4 4 5 B P5 5 3 A

(min)(min)

25

tpa = 20 ms

a) Torneo Mutuo q = 100msb) Prioridad (No Apropiativo) qA= 100ms, qB= 250msc) Por Niveles, 3 Niveles, q1N = 100ms

Page 49: SEPARATA1 - Sistemas Operativos

a) Torneo Mutuo q = 100ms

Tpa = (6+7+4+5+3)min * 20ms

100ms

Tpa = 5min

Tpa =

n

i=1TCPU Pi

q tpa*

Page 50: SEPARATA1 - Sistemas Operativos

b) Prioridad (No Apropiativo) qA= 100ms, qB= 250ms

Tpa =

n

i=1TCPU PAi

qA+ tpa*

n

i=1TCPU PBi

qB+ . . .

n

i=1TCPU PNi

qN+

Tpa = (4+3)min + (6+7+5)

100ms 250ms* 20ms

Tpa =

Tpa =

(0.07 + 0.072) * 20 min

2.84 min

Page 51: SEPARATA1 - Sistemas Operativos

Tpa = (6+7+4+5+3)min * 3 * 20ms

(100 + 200 + 400)ms

Tpa = 214 min

Tpa =

n

i=1TCPU Pi

qNj

tpa*

j=1

m

N° Niveles *

c) Por Niveles, 3 Niveles, q1N = 100ms

Page 52: SEPARATA1 - Sistemas Operativos

Torneo Mutuo

TEjecucion = TCPU + TE/S + Tpa

TEjecucion = 25 + 0 + 5 = 30 minP1P2P3P4P5

Ultimo proceso P2

Por Niveles

PrioridadTEjecucion = 25 + 0 + 2.84 = 27.84 minP1P2P3P4P5

Ultimo proceso P2

TEjecucion = 25 + 0 + 2.14 = 27.14 minP1P2P3P4P5

Ultimo proceso P2

Page 53: SEPARATA1 - Sistemas Operativos

Problema : Se tiene la sgte. Informacion:

Procesos Tllegada TCPU Prioridad

P1 0 3 B

P2 1 3 B

P3 3 2 A

P4 6 1 B P5 10 2 A

(min)(min)

tpa = 40 ms

Determinar el Tfin del ultimo proceso y cual proceso considerando el algoritmo de planificacion. Prioridad (no apropiativa)Si el tiempo por proceso administrativo (cambio de evento) es de 40 ms.

Page 54: SEPARATA1 - Sistemas Operativos

Prioridad (no apropiativa) qA= 100ms, qB= 250ms A > B

0

0.5

1

1

0.5

7.53 8.5 9

Procesos

P5

P4

P3

P2

P1

2

1

0.5

2

65

1

0.5

0.5

0.5

0.5

0.5

10 12

Page 55: SEPARATA1 - Sistemas Operativos

P5

Ultimo

Tpa =

P3

P1P2P4

Tpa =

(3+3+1) * 40 ms

250 ms= 1.12 min

2 * 40 ms

100 ms= 0.80 min

1.92 min

Tpa =

P1P2P3P4P5

2 * 40 ms

100 ms= 0.80 min

Tfin

proceso = 12+ 1.92 + 0.8 – 1 = 13.72 min

TEjecucion = 11 + 1.92 + 0.8 = 13.72 min

Page 56: SEPARATA1 - Sistemas Operativos

PEPS q=

: calcula 3’, E/S 4’, calcula 2’, E/S 5’, calcula 1’.

: E/S 5’, calcula 5’, E/S 5’.

P1

P2

Tllegada

0”2”

P2

P1

1 3 4 1 1 12 5

1

1111

11 115 5 5

0 26 284

1

P1P2

TEjecucion 28 “Total

EjecucionP1P2 P1P1

ListosP1P2 P1P2 P1

BloqueadoP2 P1P2 P1

FinP1P2

Termina E/S

Solicitud E/S

q

Page 57: SEPARATA1 - Sistemas Operativos

Bloqueos mutuos/Interbloques/Estancamientos

Definición : Un bloqueo mutuo es la ocurrencia de la espera de un evento que nunca a ocurrir.

P1

P2

Impresora

Cinta

Page 58: SEPARATA1 - Sistemas Operativos

Simbologia:

Proceso

Recurso

Flujo

P P P1 P2

R R Imp Cin

Page 59: SEPARATA1 - Sistemas Operativos

Condiciones:• Exclusión mutua

• Retención y espera

• No apropiación

• Espera circular

Exclusión mutua: Los preocesos tienen control exclusivo del recurso asiganado Retencipon y espera:Los preoceso tienen recursos retenidos asignados y estan a la espera de recursos adicionales.No apropiacón:Los recursos asignados a un proceso no pueden ser expropiados por otro proceso

Page 60: SEPARATA1 - Sistemas Operativos

METODOS PARA EVITAR LOS BLOQUEOS MUTUOS

PrevenciónEvitación o predicciónDetección y recuperación

Espera circular:Existe un flujo o cadena circular de procesos y recursos ,de tal forma que el recurso asignado a un proceso es demandado por el sgte procesoDe la cadena.

Page 61: SEPARATA1 - Sistemas Operativos

Prevención: Es el metodo mas simple de implementar.Los procesos o trbajos antes de iniciar su procesmiento tienen que tener asignado todos los recursos requeridosEn este metodo existe una sub_utilización de los recursos por los trabajos o procesos ,asi mismo no hay una optimización de los recursos por el sistemaEvitación o predicción: En este metodo los recursos asiganados a los procesos o trabajos en el momento que los requiera,antes de asignar el recurso requerido se evalua si el proceso o trabajo esta en condiciones de devolver liberar el recurso.En este metodo tambien es conocido como el algoritmo del banquero .La evaluación consiste en determinar si el sistema se encuentra en un estado seguro o inseguro.

Page 62: SEPARATA1 - Sistemas Operativos

Estado inseguro: Significa que se ha producido el bloqueo mutuoDetección y recuperación: En este metodo se permite que se produzcaEl bloqueo mutuo. Los recursos son asignados libremente a los procesos o trabajos .El metodo busca constantemente el bloqueo mutuo producido.Una vez detectado tratara de eliminarlo bajo las sgtes alternativas.a.-Expresar recursos a una o mas procesos o trabajos bajo la politica del que haya consumido menos tiempo de CPU o el que tenga asiganado menos recursos.b.-Eliminar procesos o trabajos teniendo en cuenta laq misma politica descrita anteriormente .

Page 63: SEPARATA1 - Sistemas Operativos

Evitación o predicción:

Procesos Demanda Asignados adicional

P1 4 2 2

P2 5 2 3

P3 3 2 2 1 0

Disponible: 1 0

El sistema posee 7 utilidades hay que evaluar si existe:estado seguro O inseguro(bloqueo mutuo)Estado seguro:cuando existe 1 o mas cuyos recursos adicionales seanMenor o igual que lo disponibleEstado inseguro: cuando no existe ningun proceso o trabajo

Page 64: SEPARATA1 - Sistemas Operativos

P1 solicita recurso adicuional

P3 solicita recurso adicuional

Asignarechaza

Asignarechaza

Detección: Detecta y elimina el bloqueo mutuo.Considere un sistema computacional que posee los siguientes recursos:5unidades de disco,7impresoras,4 cd-rom y 4 cintas.Si cada trabajo que se procesa en este sistema requiere 3 dicos ,2impresoras,1cd y una cinta.Determinar el maximo numero de trabajos que se puede procesar simultaneamente sin que se produzca un bloqueo mutuo considerando los sigtes metodos:

Page 65: SEPARATA1 - Sistemas Operativos

a.- Prevención:

Discos Imp Cd-Rom Cintas

Sist. 8 7 4 4

c/Trab 3 2 1 1

Trab Discos Impresora CD-Rom Cintas

Dem Asig Dem Asig Dem Asig Dem Asig

T1 3 3 2 2 1 1 1 1

T2 3 3 2 2 1 1 1 1

T3 3 2 1 1

Sist

Sistema: 8 5 2 7 5 3 4 3 2 4 3 2

Page 66: SEPARATA1 - Sistemas Operativos

b.- Evitación:

Trabajo Discos Impresora CD-Rom Cintas

Dem Asig Dem Asig Dem Asig Dem Asig

T1 3 1 2

T2 3 1 2

T3 3 1 2

T4 3 1 2

T5 3 1 2

T6 3 1 2

Sistema: 8 7 6 5 4

Page 67: SEPARATA1 - Sistemas Operativos

I.- Recursos totales = Recursos

Adicionales+ Recursos

Disponibles

DemandaMaxima = Recursos

Asignados+ Recursos

Adicionales

Sistema

Proceso oTrabajo

II.-

Demanda:Maxima Asignados Adicionales

Proc R1 R2 R3

P1 2 7 0

P2 6 6 6

P3 4 3 6

R1 R2 R3

2 3 0

0 0 4

2 0 4

R1 R2 R3

0 4 0

6 6 2

2 0 2

Disponible:R1 R2 R3

2 1 2

Page 68: SEPARATA1 - Sistemas Operativos

R1 R2 R3

P3 2 3 4 + 2 0 6

4 3 6

P3 4 3 6

0 0 0

-

Finaliza

P1 2 3 0 + 0 4 0

2 7 0

P1 2 7 0

0 0 0

-

Finaliza

P1 2 1 2 - 2 0 2

0 1 0

P1 4 3 6

4 4 6

+

P1 0 4 0

4 0 6

P1 2 7 0

6 7 6

+

R1 R2 R3

Estado seguro porque todos procesos finalizan.

Page 69: SEPARATA1 - Sistemas Operativos

Detección y Recuperación:

Problema:En un sistema computacional se cuenta con 7 procesos identificados desde la letra A hasta la G y 6 recursos identificados desde la R hasta la WLa asignación y demanda de estoy recursos por los procesos es:1.-Proceso A asignado R y demanda al recurso S2.-Proceso B demanda T3.-Proceso C demanda S4.-Proceso D tiene asignado recurso U y demanda a SyT5.-Proceso E tiene asignado recurso T y demanda a V6.-Proceso F tiene asignado recurso W y demanda a S7.-Proceso G tiene asignado V y demanda a U

Determine si el sistema esta en un estado seguro o inguro en el caso de que estuviera en el estado inseguro que procesos y recursos estan involucrados y como elimina el bloqueo mutuo

Page 70: SEPARATA1 - Sistemas Operativos

A

S

R1.-

B

D

F

C G

E

T

S

U

TS

T

V

W

S

U

V

Buscar el proceso con mayor frecuencia

A

S

R

C

FW

D

T

B E V G

UFlujo circular en el mismo sentido

Procesos : D, E, GRecursos: T, V, U

G seria lo mas recomendable por que tiene Asignados ni S ni T que se repiten con mayor Frecuencia

Eliminar:expropiar el recurso al proceso V G

2.-

3.-

4.-

5.-

6.-

7.-

Page 71: SEPARATA1 - Sistemas Operativos

Administración de memoria :Lugar fisico donde se almacena informaciónComponentes:Registros,memoria cachesecundaria,RAM .

S.O

Memoria fisicaLa memoria esta compuesta por direcciones de memoria

Dirección (byte)

1byte 8bits1KB 1024 byets1MB 1024 KB

Modelos de memoria:

S.O

TX-30K

Inicio

1

S. O

TX-20K

TX-10K

S. O

TX-5 K

TX-10K

2 3

M.FisicaM.Fisica M.Fisica

S.O

TX-50K

M.Secundaria

Memoria Virtual

Page 72: SEPARATA1 - Sistemas Operativos

Clasificación:

I.- Por dirección

*Memoria continua-Asignación de una sola partición-Memoria Particionada-Memoria particionada reubicable-Memoria de intercambio

*Memoria no continua-Paginación-Segmentación-Segmentación / Paginación

II.-Por ubicación

*Memoria real-Asignación de una sola partición-Memoria particionada-Memoria particionada reubicable-Paginación-SegmentaciónSegmentación/Paginación

PuraBajo demandaCompartida

PuraCompartida

*Memoria Virtual-Memoria de intercambio-Paginación-Segmentación-Segmentación/Paginación

Bajo demanda

Page 73: SEPARATA1 - Sistemas Operativos

Memoria contunia de una sola partición:Es el mas Facil de implementar. No existe la multiprogramaciónActualmente se utiliza para para fines de investigación .Se utilizo hasta fines de la decada del 50 y posteriormente del 80 al 85.

S.O

Tx-60K

Sin uso

Memoria disponible

Memoria fisica

RestricciónTx <= Memoria Disponible

Memoria Particionada : La memoria fisica se divide en un numero determinado de particiones ,siendo estas De tamaño fijo o variablesMemoria Particionada fija o estatica: La memoria fisica se divide en numero determinado de particiones siendoCada partición de un tamaño fijo.La determinación del numero de particiones y el tamaño de cada partición se realiza en el momento en que seEnciende la PC la cual puede ser en forma manual o automatica.Cada trabajo solamente ingresa en una partición, es factible que un trabajo no ingrese a ninguna partición.Las particiones son secciones criticas y generalmente en cada partición se genera un desperdicio,memoria que no puede ser utilizada en ese momento.La generación de los desperdicios,se denomina el problema de la fracmentación interna .Las modificaciones del numero de particiones y el tamaño de estas solamente se pueden realizar en el momento en que se enciende la PC o se reinicie.El modelo utiliza la tabla de particiones.

Page 74: SEPARATA1 - Sistemas Operativos

La decisión de colocar un trabajo en una partición libre es necesario utilizar los algoritmos de colocación o almacenamiento.

P0 S.O

P1-60K

P2-40K

P3-100K

P4-75K

P5-75K

P6-50K

0

100K

160K

200K

300K

375K

450K

500K

Memoria fisica

Nro Dirección

(KB)

Tamaño

(KB)

Uso

0 0 100 S.O

1 100 60 Libre libre

2 160 40 Libre

3 200 100 Libre TA

4 300 75 Libre TE

5 375 75 Libre

6 450 80 50 libre

Tabla de Particiones Secuencia

TA-80KTB-30KTC-110KTD-90KTermina TBTE-70K

Memoriadisponible

espera

Memoria particionada,variables dinamicas: Las particiones se crean de acuerdo al requerimiento del trabajo.Cuando se enciende el computador existe una sola partición libre del tamaño de la memoriaDisponible;Los trabajos van ingresando y se generan las particiones en uso por lo cual la partición libre Va disminuir.Cuando finaliza un trabajo labera la partición en uso con lo cual queda una partición o area libreEl cual puese ser utilizada por otro.Particiones o areas libres adyacentes se unen en una sola. Con el trancurso del tiempo se generaEn la memoria disponible una gran cantidad de particiones o areas libres pequeñas dispersas, a esto se le denomina el problema de la fracmentación externa porque aparentemente existeDisponibilidad de memoria fisica que no puede ser utilizada en ese momento.

Page 75: SEPARATA1 - Sistemas Operativos

El modelo utiliza 2 tablas:La tabla de particiones en usoLa tabla de particiones libres

También es necesario utilizar los algoritmos de colocación o almacenamiento paraDecidir el almacenamiento fisico de un trabajo.

Memoria particionada variable o dinámica

S.O

TA-120

Libre-80K

Memoria disponible

0

100K

220K

300K

Tabla de particiones en uso Tabla de particiones libresNro Dirección

(KB)

Tamaño

(KB)

Uso

0 0 100 S.O

1 100 120 TA

2 220 75 TB

0 0 100 S.O

1 220 75 TB

0 0 100 S.O

1 100 80 TC

2 220 75 TB

0 0 100 S.O

1 100 80 TC

2 180 30 TD

3 220 75 TB

Nro Dirección

(KB)

Tamaño

(KB)

0 100 200

0 220 80

0 295 5

0 100 120

1 295 5

0 180 40

1 295 5

0 210 10

1 295 5

0 210 90

Page 76: SEPARATA1 - Sistemas Operativos

SecuenciaTA-120K TB-75KTC-80KTermina TATD-30KTE-15KTermina TB

esperaS.O

TA-120

TB-75K

Libre –5K

S.O

Libre-120K

TB-75K

Libre-5K

S.O

TC-80K

Libre-40K

TB-75K

Lire-5K

S.O

TC-80K

TD-30K

Libre-10K

TB-75K

Libre-5K

S.O

TC-80K

TD-30K

libre-90

0

100

220

295

300

0

100

220

295

300

0

100

180

220

295

300

0

100

180

210

220

295

300

0

100

180

210

300

Particiones libresAdyacentes se conviertenEn una sola

Page 77: SEPARATA1 - Sistemas Operativos

Memoria particionada reubicable: (compactación /compresión)

S.O

Libre-50K

T1-50K

T2-80K

Libre-20K

T3-100K

Libre-100K

T4-60K

Libre-40K

0

100K150K

200K

280K

300K400K

500K

560K

600K

Reubicación

S.O

T1-50K

T2-80K

T3-100K

T4-60K

Libre-210K

Tx-200K

Memoria fisica(antes)

Memoria fisica(despues)

0

100K

150K

230K

330K

350K

( - )

( + )

Fracmentación:Es cuando la memoria en blanco esta esta dispersa,memoria innecesaria cuando hay memoriaDisponible en un momento dado se denomina problema de la desfracmentación externa.

Tipo de compactación : T alto + T transferenciaT alto: N0 trabajos * t alto/trabajo

Ttransferencia: Cantidad de kB a * Ttransferncia/KB transferir

Page 78: SEPARATA1 - Sistemas Operativos

Move 188000

222

Move 188000

222

0000-512000

Registro de reubicación

+

T1(Antes)

T1(Despues)

150K

166615K

188000

200K 136800

100K

150K

Desplazamiento

-50Kb * 1024bytes -51200bytes

1Kb

Dirección fisica realD.F.R= 188000- 51200 136800

Problema:En este modelo se tiene que disminuir el tiempo de co´mpactación consisderando el modelo de memoria particionada reubicable a continuación el estado actual de la meoria fisica

Page 79: SEPARATA1 - Sistemas Operativos

Libre-200K

P4-300K

Libre-500k

P3-200K

Libre-300K

P2-200K

P1-300K

S.O-200K

Inicio

Medio

Final

Memoria fisica

Se ha de efectuar la compactaci[on a fin de que se puede asignar mas trabajos el modelo evalua 3 Alternativas.a.-lograr el area libre al iniciob.-lograr el area libre al medioc.-lograr el area libre al final

Determinar la mejor alternativa

Page 80: SEPARATA1 - Sistemas Operativos

Libre

P3

P4

P2

P1

S.O

Memoria fisica

Inicio p3

P4

Libre

P2

P1

S.O

p3

P4

P2

P1

Libre

S.O

Medio

Final

Memoria fisica Memoria fisica

a.-Inicio P4 300K

b.-Medio

P3 200K

c.-Final

P3+p2+P1200K+200K+300K 700K

Rpta porque utiliza menos memoria

Page 81: SEPARATA1 - Sistemas Operativos

Problema

Un sistema computacional con 32 bytes de memoria disponible esta dividida en particiones fijas de 8192 Bytes cada uno. Usted ha ideado una computacion para estas particiones a fin de eliminar la fracmentacion Interna y lograr recuperar el mayor espacio fisico.

Si por los 1500 particiones se pierde el promedio 20% y las restantes en promedio 30%.Determinar el tiempo de compactacion ,si el tiempo de alto por trabajo es de 0.02 segundos y el Tiempo de transferencia por KB desplazado es de 5 milesimas de segundo.

Cuantos nuevos trabajos pueden ingresar en el espacio fisico recuperado si las particiones fijas a crear son del mismo tama;o descrito anteriormente.

S.O

P1

P2

P3

P4

.

.

.

PN-2

PN-1

PN

compactacionMemoria disponible

S.O

T1

T2

T3

.

.

.

PN-2

PN-1

PN

Memoria fisica Memoria fisica

Espacio fisico recuperado

Page 82: SEPARATA1 - Sistemas Operativos

Cada particion 8192 bytes * 1KB 8KB

1024 bytes

Nro de particiones fijas

Tcompactacion T alto + Ttransferencia 4096*0.02 seg\trabajo

Ttransferencia cant KB a trans * Ttransferencia\KB 24131.2 KB* 0.005 seg\kb

81.92seg

120.656 seg

Cantidad de kb a tranferir

1500- desperdico 20%

(4096-1500) desperdicio 30%

(1500-1)*8kb*0.8+(4096-1500)*8kb*0.7 9593.6kb +14537.6kb 24131.2kbTcompactacion 81.92+120.656 202.576 seg

Espacio fisico recuperado 1500*8kb*0.2+(4096-1500)*8kb*0.3 2400kb+6230.4kb 8630.4kb

Nro de particiones fijas 8630.4kb a crear 8Kb

1078

Page 83: SEPARATA1 - Sistemas Operativos

Considerando memoria particionada reubicable a continuecion se muestra el estado actual de la memoria fisica

S.O

T1-80k

Libre -50K

T2-80K

Libre-40K

T3-50K

T4-100K

Libre-90k

T5-60K

Memoria fisica

TA-35K

Primer ajuste

Mejor ajuste

Se desea ingresar TA-35k empleando los agoritmos de colocacion una vez ingresado el trabajo de A se realiza La compactacion

Determinar el inicio de su direccion fisica del trabajo A despues de la compactacionConsiderando los algoritmosa.-Primer ajusteb.-mejor ajustec.-peor ajuste

Page 84: SEPARATA1 - Sistemas Operativos

a)Primer ajuste b)Mejor ajuste c)Peor ajuste

:

s.o.-100

T1-80k

TA-35k

T2-80k

0

100k180k=rpta

0 0

s.o.-100

T1-80k

T2-80k

TA-35k

100k

180k

T3-50k

260k=rpta

s.o.-100

T1-80k

T2-80k

T3-50k

100k

180k

T4-100k

TA-35k

T5-60k

260k

310k

410k=rpta

Page 85: SEPARATA1 - Sistemas Operativos

MEMORIA NO CONTINUAMEMORIA NO CONTINUA

MEMORIA PAGINADA:MEMORIA PAGINADA:En este modelo la memoria física se divide en particiones fijas de tamaño constante, generalmente múltiplos de 2 denominados : bloques físicos.Los trabajos o procesos también se dividen en forma lógica o virtual del mismo tamaño q los bloques físicos pero denominados paginas .La identificación de los físicos y de las paginas de los trabajos o procesos simples se inician 0.Todo trabajo o procesos tienen una numero entero de paginas por lo cual se presentan generalmente un desperdicio en aquel bloque físico donde esta almacenado la ultima pagina del trabajo o proceso. Cada trabajo o proceso genera una tabla de mapa de paginas en la cual esta descrito una pagina y en que bloque físico esta almacenada dicha pagina.

Page 86: SEPARATA1 - Sistemas Operativos

Todos los trabajos o procesos tienen direcciones lógicas o virtuales en dirección continua pero se almacenan físico no necesariamente esta continua. Con lo descrito anteriormente será necesario el mecanismo para traducir las direcciones lógicas o virtuales del trabajo o proceso en direcciones físicas reales todo trabajo tiene un numero entero de paginas .

d 7777bytes

Pag 0

1

2

Pag 0

1

2

3

0

4k

8k

9k

0

4k

8k

12k

14k

Tamaño

Pagina=4kB=2²

DIRECCIONES LOGICAS CONTINUAS

TA TB

TCPag 0

1

2

3

4

Page 87: SEPARATA1 - Sistemas Operativos

N° paginas = 9K =2.2 Ξ TA 4k

N° paginas = 17K =4.2 Ξ TB 4k

N° paginas = 17K =3.5 Ξ TC 4k

Numero de bloque físicos ,memoria física:N° = 256K =64 4k

3

5

4

Page 88: SEPARATA1 - Sistemas Operativos

pagina bloque

3

0

1

2

16

17

61

62

TMP (TC)

pagina bloque

0

1

2

3

4

47

48

49

50

51

TMP (TB)

TMP (TA)

pagina bloque

0

1

2

15

40

59

Pag1-TA

Pag1-TA

Pag0-TA

S.O.

M.Fisica0

12

1415

40

59

Page 89: SEPARATA1 - Sistemas Operativos

El desperdicio ocasiona un problema : la fragmentación interna.El desperdicio se presenta en el ultimo bloque donde esta almacenada la ultima pagina.Mecanismo de traducción de lógicas o virtuales a direcciones físicas reales :

+ d

+ B' * (tamaño +d Bloque fisico)

B'

Dirección baseTMP(Tx) b

b

b+p:

B'::: Bloque físico

pp

DIRECCION VIRTUAL = d.,v. = (p, d)DIRECCION VIRTUAL = d.,v. = (p, d)O LOGICAO LOGICA p= N° de paginas donde se encuentra la dirección lógica.

d=desplazan con respecto al inicio de la pagina. B'=N° de bloque fisico.

Page 90: SEPARATA1 - Sistemas Operativos

D.V.= 7777 bytes (TA) =(p,d) = (1,3681)

P = dirección lógica =7777 =1.89 tamaño pagina 4*1024

D= 7777-1*4096=3681

D.F:R = 40*4096+3681 =167521 bytes

Se toma la parte entera Se toma la parte entera Cuando queremos saber la Cuando queremos saber la Dirección Dirección

Page 91: SEPARATA1 - Sistemas Operativos

Problema 1Problema 1 : Considerando el modelo de memoria paginada el cual emplea el siguiente formato de direcciones virtuales notación Hexadecimal.Pág. = 2 bits, desplaza = 3 bitsUn trabajo se requiere 260 KB representa la siguiente dirección virtual de 167666 bytes en el formato descrito.

Notación Hexadecimal 2 8 E F 2

PAGINA DESPLAZAMIENTO

2 3

Page 92: SEPARATA1 - Sistemas Operativos

Pag 0

1

2

TA0

4

8

9

0

4096

8192

d

EJM:EJM:

tamaño = 4kb =4096 bytespagina

P = 4096 =1 4096

D.V. =4095 bytes =(0,4095)

P = 4096 = 0.99 4096

D = 4095-0*4096=4095

Max. +1 = tamañoDesplaza- paginamiento

Page 93: SEPARATA1 - Sistemas Operativos

Maximo + = fff +

1 1

1000(16) =16³=4096 bytes

Tx =260KB

D.V = 167666 bytes =(p,d)=(40,3826)

P= direccion =167666 bytes = 40.93

tam.pag. 4096 bytes

D=16766-40*4096=3826

Page 94: SEPARATA1 - Sistemas Operativos

Ejemplo 2Ejemplo 2

Notación Hexadecimal

pagina desplazamiento

2 3

a)Direccion =A2F0C D.F.R=

Logica

b)Direccion = 43F1CB D.F.R

Fisica

a)D.V. = AC =(p,d)= (A2;F0C)

D=AF0C-A2*1000=F0C

D:F:R:=DD2*1000+F0C=DD2FOC

pagina bloque

000102

:

:

9E9F

A1A2A3

BB2C43D15

43F5CD

F4CDD2C45

Page 95: SEPARATA1 - Sistemas Operativos

b)D.F.R= 43F1CB

N°bloque =43F1CB = 43F.1CB

físico 1000

D= 43F1CB – 43F*1000=1CB

D. logica= 9E*100+ 1CB= 9E1CB

Page 96: SEPARATA1 - Sistemas Operativos

MODELO DE MEMORIA PAGINADAMODELO DE MEMORIA PAGINADA

*M. PAGINADA PURA:*M. PAGINADA PURA:

En este modelo todas las paginas requeridas y procesos obligatoriamente deben estar localizadas en la memoria fisica.

*M. PAGINADA BAJO DEMANDA:*M. PAGINADA BAJO DEMANDA:

En este modelo las paginas requeridas de un trabajo estan localizadas en forma parcial en la memoria fisica. La localizacion de dichas paginas dependen de tres parametros.

*trazos de pagina (P*trazos de pagina (P).-es la secuencia de la demanda d las paginas de un trabajo durante su ejecucion.

Page 97: SEPARATA1 - Sistemas Operativos

*marco de pagina (M*marco de pagina (M).-numero de bloque fisicos asignados al trabajo para su prosesamiento.

*fallo de pagina (f*fallo de pagina (f).-se denomina cuando se demanda una pagina y esta no se encuentra en la memoria fisica por lo que se e necesario realizar su transferencia de la memoria secundaria hacia la mmoria fisica. En este modelo es necesario utilizar los algoritmos de reemplazo de pagina.

MEMORIA PAGINADA COMPARTIDA:MEMORIA PAGINADA COMPARTIDA:

En este momento se identifica aquellas paginas q son identificadas o comunes de 2 o mas trabajos identificados dichas paginas son almacenadas como un solo bloque físico.

Page 98: SEPARATA1 - Sistemas Operativos

PROBLEMA:

Se tiene 3 trabajos q solicitan las sgtes requerimientos de memoria 210k,150k,130k, respectivamente. Que memoria física se requiere en los sgtes modelos de m. Paginada si el tamaño de pagina es de 4 kb

a)Pura

b)Bajo demanda con un marco de 10 bloques fisicos

T

m.secundaria m. fisica

Page 99: SEPARATA1 - Sistemas Operativos

c)Compartida teniendo la sgte información :T1,t2 y t3 tienen 10 paginas idénticasT1 y t2 tienen 5 paginas idénticas T1 y t3 tienen 10 paginas idénticas T2 y t3 tienen 5 paginas idénticas

240k

150k

t1

t2

t3

Npaginas=210k=52.2=53 t1 4k

Npaginas=150k=37.5=38 t2 4k

Npaginas=130k=32.5=33 t3 4k

Page 100: SEPARATA1 - Sistemas Operativos

a)Pura Memoria= (53+38+33)*4kb=124*4=496kFísica

b)Bajo DemandaMemoria= 3*10*4kb=120kbFísica

c)Compartida

510

10

528

8

18

T3

T2T1 Memoria Fisica

=28+18+8+10+10+5+5

= 84*4 kb

= 33.6 kb

Page 101: SEPARATA1 - Sistemas Operativos

Pag 0

1

2

3

4

5

6

7

0

80

140

210

280

330

420

480

548

a) PEPS

P = 1,7,0,4,3,4,2,1,1,2,7,1,0,4

P = 170 = 2.770

Page 102: SEPARATA1 - Sistemas Operativos

1 7 0 4 3 4 2 1 1 2 7 1 0 4

1 7 0 4 3 3 2 1 1 1 7 7 0 4

1 7 0 4 4 3 2 2 2 1 1 7 0

1 7 0 0 4 3 3 3 2 2 1 7

1 7 7 0 4 4 4 3 3 2 1

x x x x x x x x x xf

4M=

f = 10M= 280 bytes

70 bytes= 4

p

Page 103: SEPARATA1 - Sistemas Operativos

1 7 0 4 3 4 2 1 1 2 7 1 0 4

1 7 0 4 3 4 2 1 1 2 7 1 0 4

1 7 0 4 3 4 2 2 1 2 7 1 0

1 7 0 0 3 4 4 4 1 2 7 1

1 7 7 0 3 3 3 4 4 2 7

x x x x x x x x xf

4M=

f = 10

p

b) LRU (Menos usado recientemente)

Page 104: SEPARATA1 - Sistemas Operativos

Numero

Pagina

Modelo

Referencia

Instante de demanda

Bit de

Modificacion

0 23 60,161 1

1 20 130,160 0

2 18 26,163 0

3 42 29,162 1

Page 105: SEPARATA1 - Sistemas Operativos

3 2 0 1 1 0 3 2 4

3 2 0 1 1 1 1 1

3 2 0 0 0 0 0

3 2 2 2 2 2

3 3 3 3 3

x x x xf

4M=

f = 4

p

Pag = 3

T

T

Marco Transferencia

= 42= 51

Page 106: SEPARATA1 - Sistemas Operativos

MODELO DE MEMORIA SEGMENTADA

En este modelo los trabajo o procesos se dividen logicamente en segmentos logicos de tamaño variable y cada segmento logico es almacenado en la memoria fisica según su diseño,en en particiones del mismo requerimiento que el segmento logico denominado segmento fisico o particiones variables todo trabajo o proceso tienen un numero entero de segmentos logicas y la identificacion de estos segmentos logicos del trabajo o procesos siempre se inician en 0. cada trabajo o proceso genera una tabla de mapas de segmentos en la cual esta descrito el numero de segmentos la direccion fisica donde se inicia el almacenamiento del segmento logico el tamaño del segmento,los niveles de

Page 107: SEPARATA1 - Sistemas Operativos

acceso que posee el segmento y su estado del segmento en la memoria fisica todos los trabajos o procesos tienen direcciones logicas o verticales en forma continua pero su almacenamiento fisico no necesariamenteestan con pilas por lo descrito es necesario utilizar el mecanismo de traduccion de direcciones logicas o virtuales hacia las direcciones fisicas o reales. Una direccion fisica o virtual puede estar exprocesada con respecto al trabajo o proceso o algún segmento lógico especifico, la pontecialidad de este modelo radica en que los segmentos fisicos deol trabajo procesa durante su ejecucion tienden al crecimiento de memoria.

Page 108: SEPARATA1 - Sistemas Operativos

MEMORIA SEGMENTADA PAGINADA:MEMORIA SEGMENTADA PAGINADA:La memoria fisica se divide en bloques de tamaños constante generalmente multiplos de 2 denominados bloque fisicos.Los trabajos tambien se dividen en forma logiaca o virtual de la sgte manera:1.-Se divide en segmentos2.-Cada segmento de trabajo se divide a su vez en paginas del mismo tamaño q los bloques fisicos.

Por cada trabajo existe un tabla de mapa de segmentos (TNS) y por cada segmento del W se genera 1 tabla de mapas de pagina (TNP) en la cual esta descrita el numero de paginas y el bloque físico donde se encuentra localizada dicha pagina.

Page 109: SEPARATA1 - Sistemas Operativos

La identificación de los bloques físicos con los segmentos y las paginas de c/segmento del trabajo correspondiente siempre se inician con 0.

También es necesaria tener un mecanismo de traducción de direcciones lógicas o virtuales del trabajo hacia sus direcciones físicas reales.

Cada segmento de W tiene un numero entero de paginas, generalmente se presenta un desperdicio en la ultima pagina del segmento en su localización física.

Este modelo toma las fortalezas de la paginación y la segmentación.

Page 110: SEPARATA1 - Sistemas Operativos

ABC:N

0

1

8

0

1

10

0

1

6

:

:

:

TMS(TN)

TMS(TB)

TMS(TA)

TABLA DEPROCESOS O TRABAJOS

0

1

2

3

61

62250

251

0

1

2

0

1

2

60

120

200

201

202

203

0

1

121

122

TMP(S0)

TMP(S0)

TMP(S6)

TMP(S8)

S.O

PAG0-SO-TA

PAG1-SO-TA

PAG2-SO-TA

M.FISICA

Page 111: SEPARATA1 - Sistemas Operativos

MECANISMO DE TRADUCCION DE DIRECCIONES LOGICAS MECANISMO DE TRADUCCION DE DIRECCIONES LOGICAS LOGICAS O VIRTUALES A DIRECCIONES FISICAS REALES LOGICAS O VIRTUALES A DIRECCIONES FISICAS REALES

S = N° de segmento logico donde se encuentra la direccion logica.

P = N° de pagina del segmento logico donde se encuentra la direccion logica.

D = desplazamiento con respecto al inicio de la pagina del segmento logico.

B‘ = N° de bloque fisico donde se encuentra almacenada la pag. Del segmento logico.

Page 112: SEPARATA1 - Sistemas Operativos

Dirección baseTMS(Tx) b

P S d

:

:

S'S'

Sb

:

B'

TMP(Sx)+

+

p

B' + B' • (tam.bloq. + d fisico

TMS(tx)

Page 113: SEPARATA1 - Sistemas Operativos

PROBLEMA:PROBLEMA:Un sistema computacinal utiliza el modelo de memoria segmentada paginada. Un programa determinado se puede dividir en los sgtes segmentos:Texto 120450, datos 64900 bytes y pila 28651 bytes El sistema operativo requiere 120Kb de memoria para lo cual le han asignado 12 bloques fisicos.Determinar las direcciones fisicas de las sgtes direcciones virtuales:a)a)199999 bytes bb)55555 bytes (datos)Considere el almacenamiento fisico en el orden de pila, texto y datos asignadole un max. De 3 bloques fisicos continuos.Si requiere 1 segmento mas bloque fisico se requiere en el orden establecido

Page 114: SEPARATA1 - Sistemas Operativos

tx

TextoSo-120450

DatosS1-67900

PilaS2-28651

120450

188250

217001199999

a) dv= 199999 bytesb) Dv=55555 bytes (datos)

a) dv= 199999 bytes =(s,p,d) =(2,1,1409) P =199999-188850 =11649 =1.13 tamaño pagina 10kb*1024 s.o = 120kb = 10kb tamaño pagina 12 d= 11649-1*10240=1409

pagina1

Page 115: SEPARATA1 - Sistemas Operativos

N° paginas = 120450 =11.76 Ξ seg0 10240

N° paginas = 67900 =6.63 Ξ seg1 10240

N° paginas = 28651 =2.79 Ξ seg2 10240DFR =13*10240+1409 = 134529bytes

b)DV = 55555bytes =(s,p,d)=(1,5,4355)P =55555=5.42 10240D =55555-5*10240=4355Dfr =(26*10240+4355)=270595 bytes

12

3

7

Page 116: SEPARATA1 - Sistemas Operativos

c) D.Fisica =280480 bytes

Orden Pila ,texto ,datos

pag bloque

bloquepag

012

3456

18

1330

2625242019

12

14

0

12

012 345678

9

1011 33

32

15161721222327282931