Está en la página 1de 29

Sistemas operativos: una visión

aplicada

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

Procesador
Datos Resultados

Instrucciones
de máquina
Estructura del computador

Registros MEMORIA PERIFÉRICOS


PRINCIPAL

UNIDAD de ENTRADA/SALIDA
Datos

Código
UNIDAD
ARITMÉTICA ROM

UNIDAD DE CONTROL Estado


Contador de programa
Registro de instrucción
Puntero de pila

• Monoprocesador
• Multiprocesador
• Multicomputador
Modelo de programación del
computador
• Modelo de programación
• Juego de instrucciones (usuario y núcleo)
31 16 15 87 0
D0
D1 Registro de estado
D2
D3 Registros de datos Modo Traza T 15
D4 14
D5 Sistema/Usuario S 13
D6 12 Octeto de
11
D7 Máscara I2 10 Sistema
de I1 9
A0 Interrupciones I0 8
A1 7
6
A2 5
A3 Extensión X 4 Octeto de
A4 Registros de dirección Negativo
Cero
N 3
Z 2 Usuario
A5 Desbordamiento V 1
A6 Acarreo C 0
A7 Puntero de pila de usuario
A7' Puntero de pila de sistema
Contador de programa

Mapa de 0
Mapa de Juego de Instrucciones
memoria
2 -116 E/S
232-1
Modelo de programación de usuario y de
núcleo
• Niveles de ejecución
D0 D0
D1 D1
D2 D2
D3 D3 Registro de estado
D4 D4
D5 D5 T 15

Octeto de Octeto de
D6 D6

Usuario Sistema
14
D7 D7 S 13
Registro de estado 12
11
A0 A0 I2 10
A1 A1 I1 9
A2 A2 I0 8
7 7

Octeto de
A3 A3

Usuario
6 6
A4 5 A4 5
A5 X 4 A5 X 4
A6 N 3 A6 N 3
Z 2 Z 2
A7 V 1 A7 V 1
C 0 A7' C 0

0 0

0
31
2 -1

216-1

232-1 Mapa de
Mapa de Juego de Mapa de E/S Juego de
memoria Instrucciones memoria Instrucciones

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


Secuencia de ejecución del
computador
• Secuencia de trabajo del computador
• a) Lectura de la instrucción apuntada por CP

• b) Incremento del CP

• c) Ejecución de la instrucción
– secuencia lineal: ejecuta instrucciones consecutivas
– bucle infinito

• 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
Interrupciones
• Ruptura de la secuencia de ejecución
– HW
• Salva algunos 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

S.O.
Agente que Tabla
interrumpe Interr.
Rutina Trat.
Solicitud de Vector Interrupción
Interrupción

Unidad de
control Memoria
Interrupciones
• Fuentes de las interrupciones:
– Excepciones de programa
– Interrupciones periódicas de reloj
– Interrupciones de E/S
– Excepciones del HW
– Instrucciones TRAP
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

Contador
Divisor de
frecuencia INT
Oscilador Procesador
Jerarquía de memoria

• Elementos de información replicados en varios niveles de


la jerarquía
• Problema de coherencia
Reg.
• Migración de la información
– Automática M. Cache Gestión HW
– Por demanda explícita
• Traducción de direcciones Mem. Principal Gestión S.O.

Mem. Expandida Gestión S.O.

Discos Gestión S.O.


Mecanismo de migración
Como se mide la eficiencia de la
jerarquía de memoria?
Asignación de memoria clásica
• Los programas reciben del SO un espacio de memoria para
su ejecución
– Monoprogramación
– Multiprogramación

Memoria Memoria Programa A


principal principal

Programa A Programa B

Programa C

Sistema Sistema
operativo operativo
MEMORIA VIRTUAL
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)

Memoria principal
(RAM + ROM)
Memoria
Procesador Secundaria
Dirección física
Dirección
virtual Fallo página (Intercambio)
MMU
Asignación de memoria virtual
• Asignación de memoria virtual
– Un solo segmento
– Varios segmentos
Memoria Programa A Memoria Segmento 0
virtual virtual

Segmento 1 Programa A

Segmento 2

Sistema Sistema
operativo operativo
Traducción de direcciones
• La MMU realiza la traducción de página virtual a
marco de página
n bits Dirección en el nivel k+1

Traductor

m bits Dirección en el nivel k

n-1 p p-1 0 n-1 p p-1 0


Dirección página Dirección página Dirección X
virtual

Traductor
m-1 p p-1 0
Dirección Y
Página Direcc. página
real
División de la dirección Traducción de la dirección
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

SI/NO Nº Marco
0 1 2364 Programa A
1 1 34
2 0
3 1 567
4 0
5 1 6738 Memoria
virtual
m

Tabla de páginas de un nivel


Ejemplo de traducción con tablas de
páginas
Dirección Virtual
Nº Página Byte
000.......00000000000000000101 01111001110
5 974

SI/NO Nº Marco
0 1 2364
1 1 34
2 0 Dirección Física
3 1 567
4 0 Nº Marco Byte
5 1 6738 000...01101001010010 01111001110
6738 974
m
ENTRADA/SALIDA
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
Procesador
CONTROLADOR

Registro Registro Registro


control datos estado
DISPOSITIVO Memoria
Bus
PROTECCIÓN
Protección
• UCP
– Niveles de ejecución
• Núcleo: ejecuta todas las instrucciones de máquina.
Permite
acceder 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)
Interrupción
Núcleo Usuario

Cambiar a modo usuario


Estructura de un multiprocesador

Procesador Procesador Procesador


1 2 n

Red de conexión

E/S Memoria principal


Estructura de un multicomputador

Memoria Memoria Memoria


principal principal principal
Procesador Procesador Procesador

Red de conexión de
paso de mensajes
PREGUNTAS
?
GRACIAS

También podría gustarte