Post on 25-Dec-2015
description
Sistemas operativos: una visión aplicada
Capítulo 1 Conceptos arquitectónicos
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
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
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
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'
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
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
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
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
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
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.
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
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
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
MEMORIA VIRTUAL
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
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
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
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
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
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
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
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
Nº
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
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
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
ENTRADA/SALIDA
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
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
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
PROTECCIÓN
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
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
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.
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
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
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