36
Sistemas operativos: una visión aplicada Capítulo 1 Conceptos arquitectónicos

Sistemas operativos: una visión aplicada Capítulo 1 Conceptos arquitectónicos

Embed Size (px)

DESCRIPTION

Sistemas operativos: una visión aplicada Capítulo 1 Conceptos arquitectónicos. Contenido. Estructura del computador Ejecución de instrucciones Interrupciones Reloj del computador Jerarquía de memoria Entrada/Salida Protección. Esquema de funcionamiento de la computadora. - PowerPoint PPT Presentation

Citation preview

Page 1: Sistemas operativos: una visión aplicada Capítulo 1  Conceptos arquitectónicos

Sistemas operativos: una visión aplicada

Capítulo 1 Conceptos arquitectónicos

Page 2: Sistemas operativos: una visión aplicada Capítulo 1  Conceptos arquitectónicos

Sistemas operativos: una visión aplicada 2 © J. Carretero, F. García, P. de Miguel, F. Pérez

Contenido

• Estructura del computador• Ejecución de instrucciones• Interrupciones• Reloj del computador• Jerarquía de memoria• Entrada/Salida• Protección

Page 3: Sistemas operativos: una visión aplicada Capítulo 1  Conceptos arquitectónicos

Sistemas operativos: una visión aplicada 3 © J. Carretero, F. García, P. de Miguel, F. Pérez

Esquema de funcionamiento de la computadora

Datos Resultados

Instruccionesde m áquina

Procesador

Page 4: Sistemas operativos: una visión aplicada Capítulo 1  Conceptos arquitectónicos

Sistemas operativos: una visión aplicada 4 © J. Carretero, F. García, P. de Miguel, F. Pérez

Estructura del computador

• Monoprocesador• Multiprocesador• Multicomputador

UNIDAD DE CONTROL

UN

IDA

D d

e E

NT

RA

DA

/SA

LID

A

PERIFÉRICOSRegistros

Contador de programa

Registro de instrucción

Puntero de pila

UNIDADARITMÉTICA

MEMORIAPRINCIPAL

ROM

Estado

Datos

Código

Page 5: Sistemas operativos: una visión aplicada Capítulo 1  Conceptos arquitectónicos

Sistemas operativos: una visión aplicada 5 © J. Carretero, F. García, P. de Miguel, F. Pérez

Modelo de programación del computador

• Modelo de programación• Juego de instrucciones (usuario y núcleo)

0

2 -13 2

2 -11 6

M a p a d em e m o r ia

M a p a d eE /S

Ju e g o d e In s tru c c io n e s

0

R e g is tro s d e d a to s

R e g is tro s d e d ire c c ió n

P u n te ro d e p i la d e u su a r ioP u n te ro d e p i la d e s is te m a

C o n ta d o r d e p ro g ra m a

R e g is tro d e e s ta d o

M o d o Tra za

O c te to d eS is te m a

O c te to d eU s u a r io

N eg a tiv o

S is tem a/U su a rio

d e

D esb o rd am ie n to

M ásc ara

C e ro

E x te n sió n

In te rru p c io n es

A ca rreo

1 51 4

7

3

1 3

5

9

11

1

6

1 0

1 2

2

4

8

0

T

N

S

I1

V

I2

Z

X

I0

C

08 716 1531D 0D 1D 2D 3D 4D 5D 6D 7

A 0A 1A 2A 3A 4A 5A 6A 7A 7 '

Page 6: Sistemas operativos: una visión aplicada Capítulo 1  Conceptos arquitectónicos

Sistemas operativos: una visión aplicada 6 © J. Carretero, F. García, P. de Miguel, F. Pérez

Modelo de programación de usuario y de núcleo

0

2 -11 6

M a p a d eE /S Ju eg o d e

In s tru c c io n es

2 -13 2

M a p a d em e m o ria

0

R e g is tro d e e s ta d o

R e g is tro d e e s ta d o

Oct

eto

deSi

stem

aO

ctet

o de

Usu

ario

1 51 4

7

3

1 3

5

9

11

1

6

1 0

1 2

2

4

8

0

T

N

S

I1

V

I2

Z

X

I0

C

D 0D 1D 2D 3D 4D 5D 6D 7

A 0A 1A 2A 3A 4A 5A 6A 7A 7 '

Ju eg o d e In s tru c c io n es

2 -13 1

M a p a d em e m o ria

M o d elo d e p ro g ra m a ció n d e u su a r io M o d elo d e p ro g ra m a ció n d e n ú c leo

0

Oct

eto

deU

suar

io

7

3

5

1

6

2

4

0

N

VZ

X

C

D 0D 1D 2D 3D 4D 5D 6D 7

A 0A 1A 2A 3A 4A 5A 6A 7

• Niveles de ejecución

Page 7: Sistemas operativos: una visión aplicada Capítulo 1  Conceptos arquitectónicos

Sistemas operativos: una visión aplicada 7 © J. Carretero, F. García, P. de Miguel, F. Pérez

––

a) Lectura de la instrucción apuntada por CP

secuencia lineal: ejecuta instrucciones consecutivas bucle infinito

b)

c)

Incremento del CP

Ejecución de la instrucción

Secuencia de ejecución del computador

• Secuencia de trabajo del computador

• Ruptura del secuenciamiento lineal de instrucciones– La instrucción de salto modifica el CP– Se produce una interrupción interna o externa

(el procesador automodifica el CP)– La instrucción de trap produce una interrupción

Page 8: Sistemas operativos: una visión aplicada Capítulo 1  Conceptos arquitectónicos

Sistemas operativos: una visión aplicada 8 © J. Carretero, F. García, P. de Miguel, F. Pérez

Interrupciones

• Ruptura de la secuencia de ejecución– HW

• Salva agunos registros del procesador (CP y registro de estado)• Eleva el nivel de ejecución del procesador (nivel de núcleo)• Salta al SO

– SO• Rutina tratamiento de la interrupción

Agente queinterrumpe

Unidad decontrol

VectorSolicitud deInterrupción

TablaInterr.

Rutina Trat.Interrupción

S.O.

Memoria

Page 9: Sistemas operativos: una visión aplicada Capítulo 1  Conceptos arquitectónicos

Sistemas operativos: una visión aplicada 9 © J. Carretero, F. García, P. de Miguel, F. Pérez

Interrupciones

• Fuentes de las interrupciones:– Excepciones de programa– Interrupciones periódicas de reloj– Interrupciones de E/S– Excepciones del HW– Instrucciones TRAP

Page 10: Sistemas operativos: una visión aplicada Capítulo 1  Conceptos arquitectónicos

Sistemas operativos: una visión aplicada 10 © J. Carretero, F. García, P. de Miguel, F. Pérez

Reloj del computador

• Tres visiones del reloj– Oscilador que gobierna las fases de las instrucciones de

máquina– Interrupción periódica– Contador fecha y hora

• Contabiliza unidades de tiempo (p.e. segundos) desde un instante (p.e. 0 h del 1 de enero de 1990)

• Esta cuenta la puede hacer:– HW especial con batería– SO

O scilador

D iv isor defrecuencia

ProcesadorIN T

C ontador

Page 11: Sistemas operativos: una visión aplicada Capítulo 1  Conceptos arquitectónicos

Sistemas operativos: una visión aplicada 11 © J. Carretero, F. García, P. de Miguel, F. Pérez

Jerarquía de memoria

• Elementos de información replicados en varios niveles de la jerarquía• Problema de coherencia• Migración de la información

– Automática– Por demanda explícita

• Traducción de direcciones Reg.

M. Cache

Mem. Principal

Mem. Expandida

Discos

Gestión HW

Gestión S.O.

Gestión S.O.

Gestión S.O.

Page 12: Sistemas operativos: una visión aplicada Capítulo 1  Conceptos arquitectónicos

Sistemas operativos: una visión aplicada 12 © J. Carretero, F. García, P. de Miguel, F. Pérez

Jerarquía de memoria

• Proximidad referencial– Temporal– Espacial (secuencial)

Tiem p o

Dire

cc

ión

Page 13: Sistemas operativos: una visión aplicada Capítulo 1  Conceptos arquitectónicos

Sistemas operativos: una visión aplicada 13 © J. Carretero, F. García, P. de Miguel, F. Pérez

Jerarquía de memoria • Migración de la información

– Automática– Por demanda explícita

• Migración automática– Tamaño de los bloques transferidos– Política de extracción– Política de reemplazo– Política de ubicación– Traducción de direcciones

D ire c c ió n e n e l n iv e l k + 1

D ire c c ió n e n e l n iv e l k

T ra d u c to r

n b its

m b its

Page 14: Sistemas operativos: una visión aplicada Capítulo 1  Conceptos arquitectónicos

Sistemas operativos: una visión aplicada 14 © J. Carretero, F. García, P. de Miguel, F. Pérez

Asignación de memoria clásica

M em or iap r in c ip a l

P ro gram a A

P ro gram a B

P ro gram a C

S is te m ao p e ra tiv o

M em or iap r in c ip a l

P ro gram a A

S is te m ao p e ra tiv o

• Los programas reciben del SO un espacio de memoria para su ejecución– Monoprogramación– Multiprogramación

Page 15: Sistemas operativos: una visión aplicada Capítulo 1  Conceptos arquitectónicos

MEMORIA VIRTUAL

Page 16: Sistemas operativos: una visión aplicada Capítulo 1  Conceptos arquitectónicos

Sistemas operativos: una visión aplicada 16 © J. Carretero, F. García, P. de Miguel, F. Pérez

Fundamentos de la memoria virtual

• El procesador utiliza y genera direcciones virtuales• Parte del mapa de memoria (virtual) está en disco (swap) y parte en memoria

principal• La MMU (memory management unit) traduce las direcciones virtuales en físicas• La MMU produce un fallo de página (trap) cuando la dirección no está en

memoria principal• El SO trata el fallo de página, haciendo un transvase entre la memoria principal y

el swap (disco)M a p a d e m e m o r ia v ir tu a l

(d ire c c io n e s g e n e ra d a s p o r e l p ro c e sa d o r)

M M U

M e m o r ia p r in c ip a l(R A M + R O M )

P ro c e sa d o r(In te rc a m b io )

M e m o r iaS e c u n d a r iaD irec c ió n f ís ic aD irec c ió n

v ir tu a l F a llo p á g in a

Page 17: Sistemas operativos: una visión aplicada Capítulo 1  Conceptos arquitectónicos

Sistemas operativos: una visión aplicada 17 © J. Carretero, F. García, P. de Miguel, F. Pérez

Asignación de memoria virtual • Asignación de memoria virtual

– Un solo segmento– Varios segmentos

M em o riav ir tu a l

P ro gram a A

S egm en to 0

S egm en to 1

S egm en to 2

S is te m ao p e ra tiv o

M em o riav ir tu a l

P ro gram a A

S is te m ao p e ra tiv o

Page 18: Sistemas operativos: una visión aplicada Capítulo 1  Conceptos arquitectónicos

Sistemas operativos: una visión aplicada 18 © J. Carretero, F. García, P. de Miguel, F. Pérez

División de páginas de los espacios de memoria

• El espacio virtual se divide en páginas• Algunas páginas están en memoria principal

– El SO se encarga de que estén en mem. principal las páginas necesarias

– Para ello trata los fallos de página producidos por la MMU

M EM OR IA PR IN C IPAL

M APA V IRTU AL(R ESIDEN TE EN D ISC O )

2 2 -1· p

2 2 -1·p

2· 2p

2· 2p

3·2 -1p

3·2 -1p

3·2p

3·2p

2 -1p

2 -1p

2 -1m

2 -1n

2p

2p

0

0A

A'

n > m

Pro

yecc

ión

de p

ágin

avi

rtua

l a m

emor

ia fí

sica

Page 19: Sistemas operativos: una visión aplicada Capítulo 1  Conceptos arquitectónicos

Sistemas operativos: una visión aplicada 19 © J. Carretero, F. García, P. de Miguel, F. Pérez

Traducción de direcciones

• La MMU realiza la traducción de página virtual a marco de página

D ire c c ió n e n e l n iv e l k + 1

D ire c c ió n e n e l n iv e l k

T ra d u c to r

n b its

m b its

Dirección página Dirección Xvirtual

Dirección Yreal

Traductor

Direcc. página

n-1 0

0

p p-1

p p-1m-1

Dirección página

División de la dirección Traducción de la dirección

Página

n-1 0p p-1

Page 20: Sistemas operativos: una visión aplicada Capítulo 1  Conceptos arquitectónicos

Sistemas operativos: una visión aplicada 20 © J. Carretero, F. García, P. de Miguel, F. Pérez

Tablas de páginas

• El SO genera y mantiene las tablas de páginas. La MMU las usa para hacer la traducción

• Una tabla distinta por proceso– Tabla de un nivel

2 3 6 4N º M a rc o

3 40

0

0

111

1

1

2345

m

5 6 7

6 7 3 8

S I/N O

M em oriav irtu a l

P ro gram a A

Tabla de páginas de un nivel

Page 21: Sistemas operativos: una visión aplicada Capítulo 1  Conceptos arquitectónicos

Sistemas operativos: una visión aplicada 21 © J. Carretero, F. García, P. de Miguel, F. Pérez

Elementos de la tabla de páginas

• Otras informaciones– Copy on Write– Edad– No pagina (fija en memoria física)– Rellenar a ceros

M odificada

ProtecciónPresente/Ausente

N º de M arco/Swap

R eferenciadaD esactivada C ache

Page 22: Sistemas operativos: una visión aplicada Capítulo 1  Conceptos arquitectónicos

Sistemas operativos: una visión aplicada 22 © J. Carretero, F. García, P. de Miguel, F. Pérez

Ejemplo de traducción con tablas de páginas

N º P ág in aD irecc ión V ir tu a l

D irecc ión F ísica

B yte

B y te

0 1111 0 0111 0

0 1111 0 0111 0

9 7 4

9 7 4

0 00 .......0 00 0 00 0 00 0 00 0 00 0 01 0 15

2 36 4N º M arco

N º M arco

3 40

0

0

111

1

1

2345

m

5 67

6 73 86 7 3 8

0 00 ...011 01 0 01 0 10 0 10

S I/N O

Page 23: Sistemas operativos: una visión aplicada Capítulo 1  Conceptos arquitectónicos

Sistemas operativos: una visión aplicada 23 © J. Carretero, F. García, P. de Miguel, F. Pérez

Tablas de páginas de dos nivles

• Es más flexible• Ocupa el espacio de memoria requerido realmente• Necesita tres accesos a Mp por cada acceso de la UCP

Subtabla de índ ices(segm entos)

Tam año

Tam año

Tam año

de

Ín

dic

e(S

eg

me

nto

)

Subtabla de páginas

Tabla de páginas de dos niveles

Subtabla de páginas

M arco dePágina

P á g in a v irtu a l

B y te1 n iv e ler 2 º n iv e l D irecc ió n v ir tu a l

M em o riav ir tu a l

Prog

ram

a A

Segm ento 0

Segm ento S

Page 24: Sistemas operativos: una visión aplicada Capítulo 1  Conceptos arquitectónicos

Sistemas operativos: una visión aplicada 24 © J. Carretero, F. García, P. de Miguel, F. Pérez

Ejemplo de traducción con tabla de dos niveles

D irecc ió n F ís ica

B yte

B y te

0 1111 0 0111 0

0 1111 0 0111 0

0 0 .......0 0 00 1 01 0 0 .......0 0 00 0 00 0 00 0 00 0 00 0 00 0 00 11

N º M arco0 0 ...1 00 1 01 0 00 1 00 1 00

Tabla de índ ices(segm entos)

Tam año=7

Tam año=9

Tam año=5

Tabla de páginas

Tabla de páginas

P á g in a v irtu a l

D irecc ió n v ir tu a l

Page 25: Sistemas operativos: una visión aplicada Capítulo 1  Conceptos arquitectónicos

Sistemas operativos: una visión aplicada 25 © J. Carretero, F. García, P. de Miguel, F. Pérez

Direcciones no válidas con tabla de dos niveles

Byte

Tabla de índices(segmentos)

Tamaño=7

Tamaño=9

Tamaño=5

Tabla de páginas

Tabla de páginas

Página virtual

Dirección virtual

0111100111000.......010101 00.......000000000000000000000011 21-3-974

0111100111000.......010101 00.......000000000000000000000011

TRAP

Page 26: Sistemas operativos: una visión aplicada Capítulo 1  Conceptos arquitectónicos

ENTRADA/SALIDA

Page 27: Sistemas operativos: una visión aplicada Capítulo 1  Conceptos arquitectónicos

Sistemas operativos: una visión aplicada 27 © J. Carretero, F. García, P. de Miguel, F. Pérez

E/S y concurrencia

• Concurrencia entre UCP y la E/S– E/S programada: concurrencia nula– E/S por interrupciones: concurrencia– E/S por DMA: máxima concurrencia

• El SO se encarga de explotar la concurrencia entre la UCP y la E/S

DISPO SITIVO

CO NTROLADO R

Procesador

Memoria

Bus

Registrodatos

Registroestado

Registrocontrol

Page 28: Sistemas operativos: una visión aplicada Capítulo 1  Conceptos arquitectónicos

Sistemas operativos: una visión aplicada 28 © J. Carretero, F. García, P. de Miguel, F. Pérez

Transferencia de datos

• Espera activan = 0

while n < mread registro_controlif (registro_control = dato_disponible)

read registro_datos store en memoria principaln = n + 1

endifendwhile

• Espera pasiva– Uso de interrupciones

DISPO SITIVO

CO NTROLADO R

Procesador

Memoria

Bus

Registrodatos

Registroestado

Registrocontrol

Page 29: Sistemas operativos: una visión aplicada Capítulo 1  Conceptos arquitectónicos

Sistemas operativos: una visión aplicada 29 © J. Carretero, F. García, P. de Miguel, F. Pérez

Organización del disco

P is ta 0

S ectores

P is ta N P is ta 0

P is ta 1

C e ldas de b it

B yte

a) Pistas y sectores b) Celdas de bit y octeto

Page 30: Sistemas operativos: una visión aplicada Capítulo 1  Conceptos arquitectónicos

PROTECCIÓN

Page 31: Sistemas operativos: una visión aplicada Capítulo 1  Conceptos arquitectónicos

Sistemas operativos: una visión aplicada 31 © J. Carretero, F. García, P. de Miguel, F. Pérez

Protección

• UCP– Niveles de ejecución

• Núcleo: ejecuta todas las instrucciones de máquina. Permiteacceder a la E/S y registros especiales

• Usuario: ejecuta un subconjunto de las instrucciones• Instrucciones privilegiadas sólo posible en modo núcleo

– Las interrupciones pasan automáticamente a modo de ejecución núcleo (sólo se puede pasar de esta forma)

Núcleo UsuarioInterrupción

Cambiar a modo usuario

Page 32: Sistemas operativos: una visión aplicada Capítulo 1  Conceptos arquitectónicos

Sistemas operativos: una visión aplicada 32 © J. Carretero, F. García, P. de Miguel, F. Pérez

Protección

• El uso del reloj impide que se monopolice la UCP• E/S: siempre mediante instrucciones privilegiadas• Memoria

– Memoria principal: registros valla o claves

M e m o ria p rin c ip a l

R eg istros va llaR e g ió n a s ig n a d aa l p ro c e so A

Reg

istr

o ba

se

Reg

istr

o lí

mit

e

Page 33: Sistemas operativos: una visión aplicada Capítulo 1  Conceptos arquitectónicos

Sistemas operativos: una visión aplicada 33 © J. Carretero, F. García, P. de Miguel, F. Pérez

Protección: división del mapa de memoria

• Memoria virtual– Espacios de memoria virtual independientes

Mapa Virtualde Usuario

A

RIED

Mapa Virtualdel S.O.

Page 34: Sistemas operativos: una visión aplicada Capítulo 1  Conceptos arquitectónicos

Sistemas operativos: una visión aplicada 34 © J. Carretero, F. García, P. de Miguel, F. Pérez

Tabla de páginas como mecanismo de protección de memoria

• Memoria virtual– Regiones definidas por la tabla de páginas

M em o riav ir tu a l

D isco

M em o riap r in c ip a l

Ta b la d ep ág in a s

U n a tab la d ep ág in a s

p or p ro ceso

C ó digo

D a to s

P ila

RIED

Tam añ o

Page 35: Sistemas operativos: una visión aplicada Capítulo 1  Conceptos arquitectónicos

Sistemas operativos: una visión aplicada 35 © J. Carretero, F. García, P. de Miguel, F. Pérez

Estructura de un multiprocesador

Procesador1

R ed de conexión

E /S

Procesador2

Procesadorn

M em oria p rincipa l

Page 36: Sistemas operativos: una visión aplicada Capítulo 1  Conceptos arquitectónicos

Sistemas operativos: una visión aplicada 36 © J. Carretero, F. García, P. de Miguel, F. Pérez

Estructura de un multicomputador

Procesador

M em oriaprinc ipal

R ed de conexión depaso de m ensa jes

Procesador Procesador

M em oriaprinc ipal

M em oriaprinc ipal