Cap01 Carretero

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

description

Cap01

Transcript of Cap01 Carretero

Page 1: Cap01 Carretero

Sistemas operativos: una visión aplicada

Capítulo 1 Conceptos arquitectónicos

Page 2: Cap01 Carretero

Sistemas operativos: una visión aplicada 1 © 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: Cap01 Carretero

Sistemas operativos: una visión aplicada 2 © 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: Cap01 Carretero

Sistemas operativos: una visión aplicada 3 © 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: Cap01 Carretero

Sistemas operativos: una visión aplicada 4 © 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 -132

2 -116

Mapa dememoria

Mapa deE/S

Juego de Instrucciones

0

Registros de datos

Registros de dirección

Puntero de pila de usuarioPuntero de pila de sistema

Contador de programa

Registro de estado

Modo Traza

Octeto deSistema

Octeto deUsuario

Negativo

Sistema/Usuario

de

Desbordamiento

Máscara

Cero

Extensión

Interrupciones

Acarreo

1514

7

3

13

5

9

11

1

6

10

12

2

4

8

0

T

N

S

I1

V

I2

Z

X

I0

C

08 716 1531D0D1D2D3D4D5D6D7

A0A1A2A3A4A5A6A7A7'

Page 6: Cap01 Carretero

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

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

0

2 -116

Mapa deE/S Juego de

Instrucciones

2 -132

Mapa dememoria

0

Registro de estado

Registro de estado

Oct

eto

deSi

stem

aO

ctet

o de

Usu

ario

1514

7

3

13

5

9

11

1

6

10

12

2

4

8

0

T

N

S

I1

V

I2

Z

X

I0

C

D0D1D2D3D4D5D6D7

A0A1A2A3A4A5A6A7A7'

Juego de Instrucciones

2 -131

Mapa dememoria

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

0O

cte

to d

eU

suar

io

7

3

5

1

6

2

4

0

N

VZ

X

C

D0D1D2D3D4D5D6D7

A0A1A2A3A4A5A6A7

• Niveles de ejecución

Page 7: Cap01 Carretero

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

––

a) Lectura de la instrucción apuntada por CP

secuencia lineal: ejecuta instrucciones consecutiv as bucle infinito

b)

c)

Incremento del CP

Ejecución de la instrucción

Secuencia de ejecución del computador

• Secuenciade 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: Cap01 Carretero

Sistemas operativos: una visión aplicada 7 © 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: Cap01 Carretero

Sistemas operativos: una visión aplicada 8 © 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: Cap01 Carretero

Sistemas operativos: una visión aplicada 9 © 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

Oscilador

Divisor defrecuencia

ProcesadorINT

Contador

Page 11: Cap01 Carretero

Sistemas operativos: una visión aplicada 10 © 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: Cap01 Carretero

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

Jerarquía de memoria

• Proximidad referencial– Temporal– Espacial (secuencial)

Tiempo

Dirección

Page 13: Cap01 Carretero

Sistemas operativos: una visión aplicada 12 © 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

Dirección en el nivel k+1

Dirección en el nivel k

Traductor

n bits

m bits

Page 14: Cap01 Carretero

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

Asignación de memoria clásica

Memoriaprincipal

Programa A

Programa B

Programa C

Sistemaoperativo

Memoriaprincipal

Programa A

Sistemaoperativo

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

Page 15: Cap01 Carretero

MEMORIA VIRTUAL

Page 16: Cap01 Carretero

Sistemas operativos: una visión aplicada 15 © 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)

Mapa de memoria virtual(direcciones generadas por el procesador)

MMU

Memoria principal(RAM + ROM)

Procesador(Intercambio)

MemoriaSecundariaDirección físicaDirección

virtual Fallo página

Page 17: Cap01 Carretero

Sistemas operativos: una visión aplicada 16 © 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

Memoriavirtual

Programa A

Segmento 0

Segmento 1

Segmento 2

Sistemaoperativo

Memoriavirtual

Programa A

Sistemaoperativo

Page 18: Cap01 Carretero

Sistemas operativos: una visión aplicada 17 © 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

MEMORIA PRINCIPAL

MAPA VIRTUAL(RESIDENTE EN DISCO)

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: Cap01 Carretero

Sistemas operativos: una visión aplicada 18 © 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

Dirección en el nivel k+1

Dirección en el nivel k

Traductor

n bits

m bits

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: Cap01 Carretero

Sistemas operativos: una visión aplicada 19 © 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

2364Nº Marco

340

0

0

111

1

1

2345

m

567

6738

SI/NO

Memoriavirtual

Programa A

Tabla de páginas de un nivel

Page 21: Cap01 Carretero

Sistemas operativos: una visión aplicada 20 © 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

Modificada

ProtecciónPresente/Ausente

Nº de Marco/Swap

ReferenciadaDesactivada Cache

Page 22: Cap01 Carretero

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

Ejemplo de traducción con tablas de páginas

Nº PáginaDirección Virtual

Dirección Física

Byte

Byte

01111001110

01111001110

974

974

000.......000000000000000001015

2364Nº Marco

Nº Marco

340

0

0

111

1

1

2345

m

567

67386738

000...01101001010010

SI/NO

Page 23: Cap01 Carretero

Sistemas operativos: una visión aplicada 22 © 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 índices(segmentos)

Tamaño

Tamaño

Tamaño

de Ín

dice

(Seg

men

to)

Subtabla de páginas

Tabla de páginas de dos niveles

Subtabla de páginas

Marco dePágina

Página virtual

Byte1 niveler 2º nivel Dirección virtual

Memoriavirtual

Pro

gra

ma A

Segmento 0

Segmento S

Page 24: Cap01 Carretero

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

Ejemplo de traducción con tabla de dos niveles

Dirección Física

Byte

Byte

01111001110

01111001110

00.......0000101 00.......000000000000000000000011

Nº Marco00...100101000100100

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

Page 25: Cap01 Carretero

Sistemas operativos: una visión aplicada 24 © 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: Cap01 Carretero

ENTRADA/SALIDA

Page 27: Cap01 Carretero

Sistemas operativos: una visión aplicada 26 © 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

DISPOSITIVO

CONTROLADOR

Procesador

Memoria

Bus

Registrodatos

Registroestado

Registrocontrol

Page 28: Cap01 Carretero

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

Transferencia de datos

• Espera activan = 0

while n < m

read registro_control

if (registro_control = dato_disponible)

read registro_datos

store en memoria principal

n = n + 1

endif

endwhile

• Espera pasiva– Uso de interrupciones

DISPOSITIVO

CONTROLADOR

Procesador

Memoria

Bus

Registrodatos

Registroestado

Registrocontrol

Page 29: Cap01 Carretero

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

Organización del disco

Pista 0

Sectores

Pista N Pista 0

Pista 1

Celdas de bit

Byte

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

Page 30: Cap01 Carretero

PROTECCIÓN

Page 31: Cap01 Carretero

Sistemas operativos: una visión aplicada 30 © 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: Cap01 Carretero

Sistemas operativos: una visión aplicada 31 © 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

Memoria principal

Registros vallaRegión asignadaal proceso A

Reg

istr

o ba

se

Reg

istr

o lím

ite

Page 33: Cap01 Carretero

Sistemas operativos: una visión aplicada 32 © 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: Cap01 Carretero

Sistemas operativos: una visión aplicada 33 © 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

Memoriavirtual

Disco

Memoriaprincipal

Tabla depáginas

Una tabla depáginas

por proceso

Código

Datos

Pila

RIED

Tamaño

Page 35: Cap01 Carretero

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

Estructura de un multiprocesador

Procesador1

Red de conexión

E/S

Procesador2

Procesadorn

Memoria principal

Page 36: Cap01 Carretero

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

Estructura de un multicomputador

Procesador

Memoriaprincipal

Red de conexión depaso de mensajes

Procesador Procesador

Memoriaprincipal

Memoriaprincipal