Capítulo 7 Entrada/salida Sistemas operativos: una visión aplicada.
Sistemas operativos: una visión aplicada Capítulo 1 Conceptos arquitectónicos
-
Upload
abbot-greene -
Category
Documents
-
view
47 -
download
4
description
Transcript of Sistemas operativos: una visión aplicada Capítulo 1 Conceptos arquitectónicos
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
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
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
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 '
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
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
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
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
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
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.
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
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
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
MEMORIA VIRTUAL
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
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
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
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
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
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
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
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
Nº
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
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
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
ENTRADA/SALIDA
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
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
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
PROTECCIÓN
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
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
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.
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
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
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