Está en la página 1de 31

Universidad Arturo Prat

Departamento de Ingeniería

Sistemas Operativos I
Conceptos Arquitectónicos

Departamento de Ingeniería
Contenido

• Estructura del computador


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

Sistema Operativos I - 2009 Departamento de Ingeniería


Esquema de funcionamiento
del computador

P ro c e s a d o r
D a to s R e s u lta d o s

In s tr u c c io n e s
d e m á q u in a

Sistema Operativos I - 2009 Departamento de Ingeniería


Estructura del computador

R e g is tr o s M E M O R IA P E R IF É R IC O S
P R IN C IP A L

U N ID A D d e E N T R A D A /S A L ID A
D a to s

C ó d ig o
U N ID A D
A R IT M É T IC A RO M

U N ID A D D E C O N T R O L E s ta d o
C o n ta d o r d e p ro g ra m a
R e g is tr o d e in s tr u c c ió n
P u n te r o d e p ila
• Monoprocesador
• Multiprocesador
• Multicomputador
Sistema Operativos I - 2009 Departamento de Ingeniería
Modelo de Programación del Computador

• Modelo de programación del computador.


• Representacion de los elementos
necesarios a utilizar en una estructura
computacional y la forma de utilizarlos.
– Elementos de almacenamiento. Elementos
visibles a una instrucción de maquina
(registros, memoria principal, mapa E/S, etc)
– Juego de instrucciones.
– Secuencia de funcionamiento
Sistema Operativos I - 2009 Departamento de Ingeniería
Modelo de programación del computador

• Juego de instrucciones (usuario y núcleo)


31 16 15 8 7 0
D0
D1 R e g is tro d e e s ta d o
D2
D3 R e g is tro s d e d a to s M o d o T ra z a T 15
D4 14
D5 S is te m a /U s u a rio S 13
D6 12 O c te to d e
11
D7 M ásc ara I2 1 0 S is te m a
de I1 9
A0 In te rru p c io n e s I0 8
A1 7
6
A2 5
A3 E x te n s ió n X 4 O c te to d e
A4 R e g is tro s d e d ire c c ió n N e g a tiv o
C e ro
N 3
Z 2 U s u a rio
A5 D e s b o r d a m ie n to V 1
A6 A c a rre o C 0
A7 P u n te ro d e p ila d e u s u a rio
A 7' P u n te ro d e p ila d e s is te m a
C o n ta d o r d e p ro g ra m a

M apa de 0
M apa de J u e g o d e In s tru c c io n e s
m e m o ria
16
2 -1
E /S
32
2 -1

Sistema Operativos I - 2009 Departamento de Ingeniería


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

• Niveles de ejecución
D 0 D 0
D 1 D 1
D 2 D 2
D 3 D 3 R e g is tro d e e s ta d o
D 4 D 4
D 5 D 5 T 15
D 6 D 6 14

O c te to d e O c te to d e
U s u a rio S is te m a
D 7 D 7 S 13
R e g is tr o d e e s ta d o 12
11
A 0 A 0 I2 1 0
A 1 A 1 I1 9
A 2 A 2 I0 8
7 7
A 3 6 A 3 6

O c te to d e
A 4 A 4

U s u a rio
5 5
A 5 X 4 A 5 X 4
A 6 N 3 A 6 N 3
Z 2 Z 2
A 7 V 1 A 7 V 1
C 0 A 7' C 0

0 0

0
31
2 -1

2 16-1

2 32-1 M apa de
M apa de Juego de M apa de E /S Juego de
m e m o ria In s tru c c io n e s m e m o ria In s tru c c io n e s

M o d e lo d e p r o g r a m a c ió n d e u s u a r io M o d e lo d e p r o g r a m a c ió n d e n ú c le o
Sistema Operativos I - 2009 Departamento de Ingeniería
Secuencia de ejecución del computador

• Secuencia de trabajo del computador


• a) L e c tu r a d e la in s tr u c c ió n a p u n ta d a p o r C P

• b) In c r e m e n to d e l C P

• c) E je c u c ió n d e la in s tr u c c ió n
– s e c u e n c ia lin e a l: e je c u ta in s tr u c c io n e s c o n s e c u tiv a s
– b u c le in fin ito

• 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
Sistema Operativos I - 2009 Departamento de Ingeniería
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

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

Unidad de
control Memoria

Sistema Operativos I - 2009 Departamento de Ingeniería


Interrupciones

• Fuentes de las interrupciones:


– Excepciones de programa
– Interrupciones periódicas de reloj
– Interrupciones de E/S
– Excepciones del HW
– Instrucciones TRAP

Sistema Operativos I - 2009 Departamento de Ingeniería


Reloj del computador

• Tres visiones del reloj


– Oscilador que gobierna las fases de las instrucciones de máquina
– Interrupción periódica. Cada cierta cantidad de oscilaciones
solicita alguna interrupución.
– 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
C o n ta d o r
D iv is o r d e
fr e c u e n c ia IN T
O s c ila d o r P ro c e s a d o r

Sistema Operativos I - 2009 Departamento de Ingeniería


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 R eg.

– Por demanda explícita M . Cache G e s tió n H W

• Traducción de direcciones G e s tió n S .O .


M e m . P r in c ip a l

M e m . E x p a n d id a G e s tió n S .O .

D is c o s G e s tió n S .O .

Sistema Operativos I - 2009 Departamento de Ingeniería


Jerarquía de memoria

• Proximidad referencial
– Temporal
– Espacial (secuencial)
D ire c c ió n

Tie m p o
Sistema Operativos I - 2009 Departamento de Ingeniería
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
n b its D ire c c ió n e n e l n iv e l k + 1

T ra d u c to r

m b its D ire c c ió n e n e l n iv e l k

Sistema Operativos I - 2009 Departamento de Ingeniería


Asignación de memoria clásica

• Los programas reciben del SO un espacio de memoria para su


ejecución
– Monoprogramación
– Multiprogramación

M e m o r ia M e m o r ia P ro g ra m a A
p r in c ip a l p r in c ip a l

P ro g ra m a A P ro g ra m a B

P ro g ra m a C

S is te m a S is te m a
o p e ra tiv o o p e ra tiv o

Sistema Operativos I - 2009 Departamento de Ingeniería


Universidad Arturo Prat
Departamento de Ingeniería

MEMORIA VIRTUAL

Departamento de Ingeniería
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 e m o r ia p r in c ip a l
(R A M + R O M )
M e m o r ia
P rocesad or S e c u n d a r ia
D ire c c ió n fís ic a
D ire c c ió n
v irtu a l F a llo p á g in a (In te r c a m b io )
M M U

Sistema Operativos I - 2009 Departamento de Ingeniería


Asignación de memoria virtual

• Asignación de memoria virtual


– Un solo segmento
– Varios segmentos

M e m o r ia P ro g ra m a A M e m o r ia S e g m e n to 0
v ir tu a l v ir tu a l

S e g m e n to 1 P ro g ra m a A

S e g m e n to 2

S is te m a S is te m a
o p e ra tiv o o p e ra tiv o

Sistema Operativos I - 2009 Departamento de Ingeniería


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 A P A V IR T U A L
( R E S ID E N T E E N D IS C O )
p p
0 2 p
2· 2 3·2

M E M O R IA P R IN C IP A L
2 p-1 2 ·2 p -1 3· 2 p-1

v ir tu a l a m e m o r ia fís ic a
P r o y e c c ió n d e p á g in a
0 2· 2 p
3·2 p
A
p
2

2 p-1 2 ·2 p-1 3· 2 p-1

A'

2 m -1

n > m
2 n-1

Sistema Operativos I - 2009 Departamento de Ingeniería


Traducción de direcciones

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


de página
n b its D ire c c ió n e n e l n iv e l k + 1

T ra d u c to r

m b its D ire c c ió n e n e l n iv e l 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

Sistema Operativos I - 2009 Departamento de Ingeniería


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
S I/N O N º M a rc o
0 1 2364 P ro g ra m a A
1 1 34
2 0
3 1 567
4 0
5 1 6738 M e m o r ia
v ir tu a l
m

T a b la d e p á g in a s d e u n n iv e l

Sistema Operativos I - 2009 Departamento de Ingeniería


Elementos de la tabla de páginas

D e s a c tiv a d a C a c h e
R e fe r e n c ia d a
M o d ific a d a

N º d e M a rc o /S w a p

P re s e n te /A u s e n te
P r o te c c ió n

• Otras informaciones
– Copy on Write
– Edad
– No pagina (fija en memoria física)
– Rellenar a ceros
Sistema Operativos I - 2009 Departamento de Ingeniería
Universidad Arturo Prat
Departamento de Ingeniería

ENTRADA/SALIDA

Departamento de Ingeniería
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
P ro c e s a d o r
CO NTRO LADO R

R e g is tr o R e g is tr o R e g is tr o
c o n tro l d a to s e s ta d o
D IS P O S IT IV O M e m o r ia
Bus

Sistema Operativos I - 2009 Departamento de Ingeniería


Transferencia de datos

P ro c e s a d o r
• Espera activa CO NTRO LADO R

n = 0 R e g is tr o R e g is tr o R e g is tr o
c o n tro l d a to s e s ta d o
while n < m D IS P O S IT IV O M e m o r ia
read registro_control Bus
if (registro_control = dato_disponible)
read registro_datos
store en memoria principal
n = n + 1
endif
endwhile
• Espera pasiva
– Uso de interrupciones

Sistema Operativos I - 2009 Departamento de Ingeniería


Organización del disco

C e ld a s d e b it
B y te

P is t a N P is t a 0

P is t a 1
S e c to re s
P is t a 0

a ) P is ta s y s e c to r e s b ) C e ld a s d e b it y o c te to

Sistema Operativos I - 2009 Departamento de Ingeniería


Universidad Arturo Prat
Departamento de Ingeniería

PROTECCIÓN

Departamento de Ingeniería
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


Sistema Operativos I - 2009 Departamento de Ingeniería
Protección: división del mapa de memoria

• Memoria virtual
– Espacios de memoria virtual independientes

R IE D M a p a V irtu a l
d e U s u a r io
A

M a p a V irtu a l
d e l S .O .

Sistema Operativos I - 2009 Departamento de Ingeniería


Estructura de un multiprocesador

P ro c e s a d o r P ro c e s a d o r P ro c e s a d o r
1 2 n

R e d d e c o n e x ió n

E /S M e m o r ia p r in c ip a l

Sistema Operativos I - 2009 Departamento de Ingeniería


Estructura de un multicomputador

M e m o r ia M e m o r ia M e m o r ia
p r in c ip a l p r in c ip a l p r in c ip a l
P ro c e s a d o r P ro c e s a d o r P ro c e s a d o r

R e d d e c o n e x ió n d e
p a s o d e m e n s a je s

Sistema Operativos I - 2009 Departamento de Ingeniería