Documente Academic
Documente Profesional
Documente Cultură
INFORM TICOS.
1) Elementos bsicos de un ordenador.
2) Visin a ms alto nivel.
La memoria principal.
Los puertos de entrada/salida.
El procesador.
3) Ejecucin de instrucciones.
4) Jerarqua de memorias. Memorias cach.
5) Multiprocesado.
6) Interrupciones.
7) Mecanismos de proteccin del sistema.
Modo usuario/supervisor.
Registros lmite.
Temporizadores.
8) Tcnicas para llevar a cabo las operaciones de E/S.
E/S programada.
E/S dirigida por interrupciones.
Acceso directo a memoria (DMA).
Memoria mapeada.
SISTEMAS OPERATIVOS. 2I.T. INFORMTICA DE GESTiN.
DEPARTAMENTO DE INFORMTICA Y AUTOMTICA.
TEMA l. Introduccin a lo sistemas infonnticos. 1.1
Can2
P ... 11el Port
r-
l O
7112= ' 7PS
,- ,- ,-
r-
lIIJO
Sockzt 7
le:::
Vi
t;; t;;
a a a
a Il
a
(")
V> V>
:>- :>- :>-
'"el
o o
V> V> V> V> V> V> Vl Vl
c:::
[" ["
!r
["
ir
[" ["
Si"
=
w ....
-
'"
... w ....
-
o ........
o
-
L- L- L- L- L-
rn
L- L- L-
O
rn
:011
--
l!
-0,- '-
I BiDs I
AW./AWAAD
- C]
==
I I
Ii
i<
KBCIR
CJ
l!
'C :. 0
:= :g
o
N
,=
:
,
I AIX PlJaCON I
2 I.T.I.G. Opto de Informtica y Automtica.
Universidad de Salamanca
- SISTEMAS OPERATIVOS -
TEMA l. Introduccin a los sistemas informticos. 1.2
1 ELEMENTOS BSICOS
CPU, procesador o U CP.
BIOS. Memoria no voltil.
Memoria principal, real o primaria.
Mdulos de entrada/salida.
Sistemas de interconexin. Buses. Ranuras de ampliaci n.
t---;;..j >
+5V
,11
CPU
Z80
RST
+5V
6
II
29
17 16
+ +
ROM
"
E
BUS DE
CONTROL
23 25
24 18
+
t
26
t
RAM
BUS DE
DIRECCIONES
30-40 Y 1-5
CPU
Z80
19
BUS DE
DATOS
7-15. menos II
20 21 22 28
t t t t t t
-------- ---------
NMI INT WAlT HALT RESET
CONTROL DEL MICROP.
2 I.T.I.G. Opto de Informtica y Automtica.
Universidad de Salamanca
MREQ MI IORQ RD WR RFSH
COl'iTROL MEM y E/S
- SISTEMAS OPERATIVOS-
TEMA l. Int roduccin a los sistemas informticos.
2 VISIN A MS ALTO NIVEL.
2.1 La memoria primaria.
Compuesta por celdas individuales que albergan un
nmero comprendido entre O y 255 (un byte u octeto).
Por comodidad se usa tanto el sistema de
numeracin binario (O=OOOOOOOOb a 255= 11111111 b),
como el hexadecimal o base 16 (dgitos O, 1, 2, 3, 4, 5,
6, 7, 8, 9, A, B, C, D, E Y F: O=OxOO a 255=OxFF) .
.& Repasar sistemas de numeracin y cambios de base.
Las celdas estn numeradas, partiendo de O. Este
nmero es la direccin de memoria de la celda. Tambin
se suele usar el si stema hexadecimal para referirse a
direcciones de memoria.
208
191
194
151
3
85
198
76
77
33
74
91
148
142
136
159
180
127
0011
0016
0015
0014
0013
0012
0011
0010
0009
0008
0007
0006
0005
0004
0003
0002
0001
0000
Deci mal
o o 0011
8 F 0010
C 2 OOOF
9 7 OOOE
o 3 0000
5 5 OOOC
C 6 0008
4 C OOOA
4
: 0
0009
2 I 0008
4 A 0007
5 8 0006
9 4 0005
8 E 0004
8 8 0003
9 F 0002
8 4 0001
7 F 0000
Hexadecimal
(\
+
-
u
CTRL-C
U
ii
L
M
!
J
[
6
A
f
,
I
Del
ISO-8859-1
1.3
2 I.T.I. G. Opto de Informtica y Automtica.
Universidad de Salamanca
- SISTEMAS OPERATIVOS -
TEMA l. Introduccin a los sistemas infonnticos.
2 VISIN A MS ALTO NIVEL.
2.2 Los puertos de entrada/salida.
U sados por la CPU para comunicarse con los
dispositivos. Funcionamiento parecido a la memoria
principal. Hay una o varias direcciones de acceso
diferentes para cada dispositivo.
Diferencia entre Puerto
y Direccin de Memoria?
Puerto
r----"J
r - 1?? - I 06 SOUND BLASTER
1-----,
L _ Z7?. _ ~ 0 5
I 41 104 DISCO DURO
r - 1?? - -103
L ____ ~
I ??? J 02
r - 1?? - 101 IMPRESORA
1-----,
1 __ ?!..? __ 100
2 VISIN A MS ALTO NIVEL.
2.3 El procesador.
Dispositivo con registros, capacidad de clculo,
movimiento de datos y posibilidad de ejecutar
instrucciones.
I
lA
I
, ,
Ipc
I
,
Isp
CPU de 8 bits
A-Acumulador.
PC - Contador de Programa.
SP - Puntero de pila.
1.4
2" I.T.I .G. Dpto de Informtica y Automtica.
Universidad de Salamanca
- SISTEMAS OPERATIVOS-
Tanto para acceder a
memoria como a los
puertos se usan los 3
buses: direcciones, datos y
control.
La diferencia entre actuar o
acceder a memoria o
puerto de E/S la
determinan generalmente
una de las seales de
control
TEMA l. Introduccin a los sistema informticos. 1.5
2.3.1 Registros visibles de usuario:
Permiten al programador minimizar las referencias a la memoria
principal optimizando el uso de estos registros.
Pueden ser referenciados por medio del lenguaje de mquina.
Estn disponibles para todos los programas del sistema y de
aplicacin .
Clases de registros:
- De datos.
- De direccin:
- Regstro ndice:
Implica sumar un ndice a un valor base para obtener la
direccin efectiva.
- Puntero de segmento:
Cuando la memoria se divide en segmentos, una referencia a
la memoria consta de una referencia a un segmento
particular y un desplazamiento dentro del segmento.
- Puntero de pila:
Seala la parte superior de la pila.
2.3 .2 Registros de control y de estado:
Son utilizados por el procesador para el control de las
operacJOnes.
Son utilizados por las rutinas del sistema operativo para
controlar la ejecucin de los programas.
2 I. T.I. G. Opto de Informtica y Automtica.
Universidad de Salamanca
- SISTEMAS OPERATIVOS-
TEMA l. Introducci n a los sistemas infonnticos. 1.6
-Contador de programa (PC, Program Counter):
Contiene la direccin de la instruccin a ser leda.
-Registro de instruccin (IR, Instruction Register):
Contiene la ltima instruccin leda.
- Palabra de estado del programa (PSW, Program Status
Word):
- Cdigos de condicin: conjunto de bits
activados por el hardware del procesador como
resultado de determinadas operaciones. Se pueden
acceder a travs de un programa pero no pueden
ser alterados ..
Ejemplos:
Resultado positivo.
Resultado negativo.
Cero .
Desbordamiento.
- Interupciones habilitadas/deshabilitadas.
- Estado usuario/supervisor.
Ver "Notas Adicionales" de la
t!Familia de Procesadores P6".
e-
3 EJECUCIN DE INSTRUCCIONES
Pasos:
Leer instruccin de memoria .
Ejecucin de la instruccin.
2 I.T.I.G. Dpto de Informtica y Automt ica.
Universidad de Salamanca
- SISTEMAS OPERATIVOS-
TEMA l. Introducci n a los sistemas infonnticos. 1.7
(
Ciclo de Lectura Ciclo de Ejecucin
I
Leer la Ej ecutar la
}4
Inicio instruccin instruccin
Fin
Siguiente
Mecanismo:
El procesador lee una instruccin de la memoria.
El contador de programa (PC) lleva la cuenta de
cul es la prxima instruccin a leer.
El procesador incrementar el PC despus de leer
cada instruccin.
La instruccin leda se carga en el registro de
instrucciones.
o Tipos de instrucciones:
- Procesador- memoria: se transfieren
datos entre el procesador y la memoria.
- Procesador- E/S: se transfieren datos
desde o hacia un dispositivo perifrico.
- Tratamiento de datos: operacin
aritmtica o lgica sobre los datos.
- Control: altera la secuencia de ejecucin.
2 I.T.I.G. Opto de Informatica y Automtica.
Universidad de Salamanca
- SISTEMAS OPERATIVOS -
TEMA l. Int roduccin a los sistemas informticos.
1emona
, r I I \ 9 ()
X I J <;1 4 J
] ('11 2 9 I
'1-1(11
0
O '0 31
- \ U o o :1
Paso I
Mer )ona
X() 1 4 0
30 1 . 9
Paso 3
Memona
-'oc! 1 O
Paso :;
9 o
? 4 I
9 4 1,
Paso 2
MemorIa Re gIros de PU
3 JO 2 re 001 9 4 O
J AC 0 1 , 9 -t
I
Di J 9 -t I
g ;1
Paso -t
Memoria
.100 1 9 -1 O
.10 1 5 9 4 1,
IR J02 1 9 '4 J
Paso 6
pe
o o 5 AC
2 9 -! J IR
Ejemplo: Programa que lee dos nmeros del teclado, los
suma y saca el resultado por la pantalla:
Solucin: (Puerto del teclado: Ox 1 O, puerto de la pantalla: Ox 13)
1
\
\
1
o
\
\
6
1
o
\
\
4
o
1
o
3
o
D
\
o
9
o
D
o
3
o
o
\
\
\
1
1
\
\
000
00\
002
003
004
005
006
\007
1008
1009
100A
\ 008
\OOC
100D
1.8
2" I.T.I.G. Opto de Informtica y Automtica.
Universidad de Salamanca
- SISTEMAS OPERATIVOS-
En el paso 2 la instrucin 1940 indica que se debe
cargar lo que haya en la direccin 940 en el
acumulador.
El program Counter (PC) se incrementa
automticamente.
En el paso 4 la instruccin indica que debe sumar al
acumulador lo que haya en la direccin 941.
En el paso 6 se indica que se guarde en la direccin 941
lo que haya en el acumulador.
No todas las instrucciones tienen el mismo tamao, y
dependiendo que operacin se haga el PC sabe en
cuanto incrementarse.
TEMA l. Introducci n a los sistemas infOlmticos.
Lenguaje ensamblador, una ayuda para entender el cdigo mquina:
1 1 1000 ENTRADA 0,10
1 O 1001
1
:
3 1002 ALMACENA (OxIOOD)
1 O 1003
O D 1004
1 I 1005 ENTRADA OxlO
1 o 1006
6 9 1007 SUMA (Ox1 000)
1 o 1008
o D 1009
1 O 100A
SALIDA 0,13
1 3 1008
4 O 100C
PARADA
o o 100D
Dispuestos para comenzar la ejecucin del programa:
ITIDA
I
l O O
I
,
? ? ?
r-----,
- 1?1 -, 14
J- - ---J
O Ipe
?
Isp
1 ??? I 13 Pantalla
1- - 1?1 -1
12
------1
L _ : : 7 ~ _ J I I
I 4 I lO Teclado
-- --_ ....1
-
1
I
1
I
O
I
I
6
I
O
1
I
4
O
1 1000 ENTRADA Ox10
O 1001
3 1002 ALMACENA (Ox1000)
O 1003
D 1004
I 1005 ENTRADA 0.10
:
O 1006
9 1007 SUMA (Ox1000)
O 1008
D 1009
O 100A
SALIDA Oxl3
3 1008
O looe
PARADA
:
O 100D
1.9
A 2 I. T.I.G. Dpto de Informtica y Automtica.
V' Universidad de Salamanca
- SISTEMAS OPERATI VOS-
TEMA 1. Int roduccin a los sistemas infonnticos.
Se carga y ejecuta la primera instruccin:
I
O 4
lA
1-
I
1 O O 2 Ipe
I
? ?
?
?
Isp
,..---- -
r - 1?1 - , 14
J..---- - J
1
??? 1 13 Pantalla
1- - 1?1 - 1
12
1 ??? 110 Tecl ado
___ __ ...J
1
1
1
1
o
:
1
1
:
6
1
:
o
1
1
:
4
O
1
o
3
o
D
1
o
9
O
D
o
3
O
O
1
1
000 ENTRADA 0, 10
001
1 002 ALMACENA (0, 1000)
1003
1004
1005 ENTRADA 0, 10
1006
1007 S MA (Ox l 00D)
1008
1009
100A SALIDA 0,13
100B
100C PARADA
100D
El acumulador conti ene ahora la entrada del tecl ado. El contador
de programa se ha incrementado para apuntar a la sigui ente instruccin
que se va a ejecutar.
Se carga y ejecuta la segunda instruccin:
I
1 O O 5 Ipe
-
I
Isp
?
? ? ?
r- ----
r - '?1 -, 14
J..--': .. : :"'-J
1
??? 1 13 Pantalla
1- - 1?1 -' 12
1 3
1 10 Teclado
_____ ...J
1
1
:
1
1
:
o
1
1
6
1
o
1
1
4
O :
1
o
3
o
D
1
o
9
o
o
o
3
O
4
1 000 ENTRADA 0,10
1001
1002 ALMACENA (0, 1000)
1003
1004
1005 ENTRADA Oxl0
1006
1007 SUMA (0, 1000)
1008
1009
100A SALIDA OxJ3
100B
looC PARWA
100D
Se ha al macenado el contenido del acumulador en la posicin de
memoria Ox 1 OOD. El contador de programa se ha incrementado.
1.10
2 I.T.I.G. Dpto de Informtica y Automtica.
Universidad de Salamanca
- SISTEMAS OPERATIVOS-
TEMA 1. Introducci n a 10 sistemas informticos.
Se carga y ejecuta la tercera instruccin:
I I 1000 ENTRADA Ox l O
I
O 3
lA
I o
I 3
1001
1002 ALMACENA (OxIOOo)
I
l O O 7 Ipc
I o
o
,
o
1003
1004
I
? ? ? ?
Isp
I I
I o
1005 ENTRADA Ox l O
1006
-
6
,
9 1007 S MA (OxIOOO)
I
:
o 1008
o
,
o 1009
1 , o 100A
SALIDA 0,13
I 3 100B
4 o 100C
PARADA
o 4 1000
Se ha ledo por el puerto del teclado el valor 3 y se ha
almacenado en el acumulador. Se incrementa el contador de programa.
Se carga y ejecuta la cuarta instruccin:
I
,
I 1000 E TRADA 0, 10
I
O 7
lA
I ,
o
I 3
1001
1002 ALMACENA (Ox I OOO)
I
1 O O : Alpc
1 o
o
,
o
1003
1004
,
I
? ? ? ?
Isp
I I
I O
1005 E ' TRADA OxlO
1006
6 9 1007 SUMA (Ox l 000)
1 o 1008
r -----
o o 1009
-
I O looA
SALIDA Ox l 3
I 3 100B
4 O 100C
PARADA
o
,
4 1000
Se ha sumado al contenido del acumulador el valor situado en la
posicin de memoria Ox l OOD. El contador de programa se ha
incrementado.
1. 11
2 I.T.I.G. Opto de Informtica y Automtica.
Universidad de Salamanca
- SISTEMAS OPERATIVOS-
Entrada 0x10: Esta instruccin
indica que se lea del puerto 10, y lo
que se lea se guarde en el
acumulador.
Almacena 0x100D: Esta instruccin
indica que se guarde en la
direccin 100D el contenido de A.
Suma 0x100D: Esta instruccin
indica que se sume el acumulador
al contenido de la direccin 100D y
se mantenga el resultado de la
suma en el A.
Salida 0x13: Esta instruccin indica
que apunta a la pantalla, es decir,
muestra el contenido del
acumulador (A) en la pantalla.
TEMA l . Introducci n a los sistemas informticos.
Se carga y ejecuta la quinta instruccin:
I
O 7
lA
I
l O O
, ,
I
? ? ?
r --- --
- 1?1 -1
14
I------
J
: Clpc
?
Isp
1 7 1 13 Pantalla
1- 1?1 -1
12
L _ _ J 11
I ??? I 10 Teclado
----_ ....
-
1 1 1000 ENTRADA OxlO
1
:
O 1001
1 : 3 1002 AL 1ACENA (Ox IOOD)
1 O 1003
O D 1004
1
:
1 1005 ENTRADA Ox10
1 O 1006
6 9 1007 SUMA (Ox IOOD)
1 O 1008
O D 1009
1 O 100A
SALlDA Ox13
1 3 100B
4 O looe
PARADA
O 4 100D
El contenido del acumulador se saca por el puerto Ox 13 y
aparece en la pantalla. El contador de programa se ha incrementado. Se
carga y ejecuta la ltima instruccin del programa:
I
O O
lA
I
1 O O
I
1 O O
r- ----.
- 1?1 -1 14
I------
J
O Ipc
: DI Sp
1 ??? 1 13 Pantalla
P
P
1- - 1?1 - 1
12
1 ??? 11 0 Teclado
2 3 1000 LLAMADA Oxl006
I O 100 1
O 6 1002
I
:
o 1003 SALlDA Ox13
I 3 1004
4 O 1005 PARADA
I I 1006 ENTRADA OxlO
I O 1007
3 2 1008 RETORNO
O O 1009
O O 100A
O O 100B
O O l ooe
O o 100D
La CPU pasa al estado de PARADA. El PC apunta a la prxima
(hipottica) instruccin que se ejecutar.
1.12
2 I.T.I.G. Opto de Informtica y Automt ica.
Universidad de Salamanca
- SISTEMAS OPERATIVOS-
TEMA l. Introduccin a los sistemas infOlmticos.
Algunas preguntas:
Y si el PC hubiera contenido el valor Ox 1001 al
principio?
Quin se encarga de cargar el programa en
memoria y de cargar el PC con su valor para
comenzar la ejecucin?
Qu hace el ordenador cuando acaba la
ejecucin de un programa? Se queda parado
para siempre?
Sera posible ejecutar varios programas a la
vez?
1.13
2" I.T.I.G. Opto de Informtica y Automtica.
Universidad de Salamanca
- SISTEMAS OPERATIVOS-
TEMA l. Introducci n a los sistemas infonnticos.
Para qu sirve la pila (SP=stack pointer)?
Es un espacio de almacenamiento temporal UFO (Last
In, First Out).
I
O
I
1
I
1
p
~
2
O
lA
1
O
O O O Ipe
1
1
O O
: DI SP
4
1
I
3
O
O
O
O
S
4
O
Ejecutemos el programa:
~ A
I
1 O O
I
I O O
r-----
r - 711- -'14
I-----.J
6
pe
Bl sp
1 1?? 1 13 Pantalla
1- 1?1 -'12
r- r!'! -i ll
L ____ _
1 5 110 Teclado
_____ ...J
S4
3 1000
O 1001
6 1002
:
O 1003
3 1004
O 1005
1 1006
O 1007
2 1008
O 1009
:
O 100A
:
O 100B
: O looe
:
O 1000
2 3
1 O
O : 6
1 O
1 3
4 O
1 1
1 O
3
:
2
O : O
O O
O O
1 O
O 3
LL 1ADA 0,1006
SALIDA 0,13
PARADA
ENTRADA 0, 10
RETORNO
1 000
1 001
1 002
1 003
1 004
1 005
1 006
1 007
1 008
1 009
l ooA
l ooB
100C
1000
LLAMADA 0,1006
SALIDA 0,13
PARADA
ENTRADA 0,10
RETORNO
El pe apunta ahora el inicio del procedimiento. En la pila ha
quedado apuntada la direcci n de retomo para no olvidarla. El puntero
de pila se ha decrementado para meter ah nuevos valores.
1.14
2 I.T.I.G. Dpto de Informtica y Automtica.
Universidad de Salamanca
- SISTEMAS OPERATIVOS-
TEMA l . Introducci n a los sistemas infonnticos.
Siguiente in truccin:
2 3 1000 LLAMADA 0. 1006
[8JA
1 O
o 6
1001
1002
I
I O O 8 Ipe
1 O
1 3
1003 SALIDA 0.13
1004
I
1 O O
fBl sp
4 : O
1 1
1005 PARADA
1006 ENTRADA 0.10
1 O 1007
P . ~
3 2 1008 RETOR..NO
O O 1009
o O 100A
s
4
o O looa
1 o 100C
o : 3 1000
Esta instruccin ya la hemos visto. Pasemos a la siguiente:
2
.
3 1000 LLAMADA 0, 1006
I
O 5
lA
1 O
O 6
1001
1002
I
I
;
O O
;
3 Ipe
1 O
1
:
,
,
1003 SALIDA 0. 13
1004
I
I O O
;
Dl sp
4 O
1 1
1005 PARADA
1006 ENTRADA 0. 10
1 : O 1007
3 2 1008 RETORNO
O O 1009
O O lOOA
O
:
O \Ooa
1 O lOOC
O
:
3 1000
La CPU ha sido capaz de retomar del procedimiento gracias a la
pila. El puntero de pila SP se ha incrementado al sacar la direccin de
retomo. El resto de instrucciones se ejecutaran como antes ...
La pila tambi n puede almacenar val ores local es en los
procedimientos .
Por qu es necesari o que la pila sea U FO?
LIS
2 I.T.I.G. Opto de Informtica y Automlica.
Universidad de Salamanca
- SISTEMAS OPERATIVOS-
TEMA l. Introducci n a los sistemas infonnti cos.
4 JERARQUA DE MEMORIAS.
MEMORIAS CACH.
De ms rpidas y ms caras a ms lentas y ms
baratas (lgico):
Registros de la CPU.
Memoria cach interna al procesador.
Memoria cach externa al procesador.
Memoria principal ordinaria. Cach de disco
magntico.
Disco magntico.
Dispositivos magneto-pticos.
Cintas magnticas, CDs, etc.
Cuando se agota una memoria de rango superior se
acude a otra de rango inmediatamente inferior como
almacenamiento temporal. En esto consiste la
paginacin, las memorias cach, etc.
1.1 6
2 I.T.I.G. Dpto de Informtica y Automtica.
Universidad de Sal amanca
- SISTEMAS OPERATIVOS-
TEMA 1. Introduccin a los sistemas informticos.
TP
Memoria .. Memoria
cach principal
Oxl005 13
Oxl00l- 27 Ox 1 ()()6. 44
Oxl007- lO
0.1002- lO Oxl007- 14
Oxl003- 03 Oxl008- 92
OxlOO4- 82 OxlOO9- 00
Ox1005- 13 OxIOOA- 10
La cach guarda una copia de los ltimos
accesos a memoria principal.
Se fundamenta en el carcter local de los
programas de ordenador.
Un ni vel adicional: la cach de di sco
Es una parte de la memoria principal que se puede
utilizar como buffer para guardar temporalmente los
datos transferidos con el disco.
Ventajas:
- Las escrituras al disco se agrupan.
- Se pueden volver a escribir algunos datos
destinados a la salida. Los datos se recuperan
rpidamente por software desde la cach del disco
en lugar de hacerse lentamente desde el disco.
1.17
2 I.T.I.G. Dpto de Informtica y Automtica.
Universidad de Salamanca
- SISTEMAS OPERATIVOS-
TEMA l. Int roduccin a los sistemas informticos.
5 MULTIPROCESADO.
Consiste en poder ejecutar varios programas
independientes en un ordenador. Puede tener uno o ms
procesadoresf.$.i.c:.9.$..
Problemas:
Posibilidad de interrumpir la ejecucin de un
programa. .. Las intelTupciones.
Posibilidad de reanudar un programa en el punto
en que se interrumpi.
Reparto del uso de la CPU entre los programas.
Medios para impedir que un programa pueda
accidental o intencionadamente influir en otro.
Mecani mos de proteccin del sistema.
Transparencia.
Cooperacin y comunicacin intencionada entre
procesos .. .
Quin se encargar de regular todos estos aspectos?
OxIOOO
Prog. 1
OxI ABC
Prog. 2
Oxl COO
I Libre
I
Ox2 134
Prog. 3
Merroria
l.1 8
2 I.T.I.G. Opto de Informtica y Automtica.
Universidad de Salamanca
- SISTEMAS OPERATIVOS-
INTERRUPCIONES: Son seales internas o externas al
procesador que le hacen interrumpir de manera mas o
menos IMPREVISTA la ejecucin que esta realizando.
Cuando ocurre una interrupcin se ejecuta una rutina o
procedimiento llamada "Rutina de Servicio de la
Interrupcin".
Casi todas las interrupciones estn previstas o
contempladas,y existe a priori una rutina de servicio para
cada tipo de IRQ. Por ejemplo, una divisin por 0 ocasiona
una IRQ y hay una rutina de servicio para ese tipo de evento
para tomar las acciones adecuadas en el contexto del
programa que ocasiona la IRQ.
IMPORTANTE: Cuando ocurre una IRQ se debe guardar, para
luego poder recuperarlo, el contexto en el que se encontraba
el procesador al ocurrir la IRQ.
Cuando se dice contexto se hace referencia generalmente a
los registros de un procesador.
Algo muy habitual o indispensable es que al inicio
de la rutina de servicio se resguarden los valores
de los registros que se van a utilizar con el fin de
restaurarlos en la parte final de la rutina de servicio.
Con esto se consigue dejar los registros tal y como
estaban.
La orden mas comn en ensamblador para
resguardar los registros es la orden "push". Esta
orden mete en la pila el valor del registro indicado.
La orden mas comn para recuperar valores de la
pila es la orden "pop". Esta orden extrae un dato de la pila
y lo almacena en el registro indicado.
TEMA 1. Introducci n a los sistemas infonnticos.
Para poder reanudar la ejecuci n de un programa es necesario restaurar
el estado del procesador justo antes de la interrupcin, esto es, guardar
el valor de los registros (su
[TITIA
I
1
I
O
l O l O Ipc
I
1
I
O
lO ID Isp
??? 14
??? 13 Pantalla
??? 12
??? 11
9 10 Teclado
[ITIJA
I
1
I
O
I
O
1
2
1pc
I
1
I
O
I
O
I F Isp
??? 14
??? 13 Pantalla
??? 12
??? II
??? 10 Teclado
p
/
1m err.
s
A
SP
pe
A
SP
1 I 1 000 ENTRADA 0.10
I O I 001
1 O I 002 SALIDA 0.J3
I 3 I 003
4 O I 004
O O 1 005
O O I 006
O O I 007
O O 1 008
O O 1 009
O O 1 ooA
O O I ooB
O O 1 OOC
O O I ooD
I 1 1000 ENTRADA O.J O
1 O 1001
I O 1002 SALIDA 0.13
I 3 1003
4 O 1004
O O 1005
O O 1006
O I 1007 Datos del programa l.
I O 1008
O F 1009
1 O looA
O 2 looB
O 5 lOOC Datos del programa 2.
O 3 l ooD
Transparencia: los programas no dispondrn de cdigos
especiales para compartir la CPU. Ellos funcionarn
y estarn diseados como si solamente estuvieran
ellos ejecutndose en memoria.
1.19
A 2 I.T.I.G. Dpto de Informtica y Automtica.
,. Universidad de Salamanca
- SISTEMAS OPERATIVOS-
TEMA l. Introducci n a los sistemas infonnticos.
6 INTERRUPCIONES.
Mecanismos por los que se interrumpe la
ejecucin normal de un programa para llamar a un
procedimiento de servicio a un suceso.
Cuando una interrupcin ha sido solicitada pero no se
atiende se dice que est, o ha sido ..
Pasos que se producen cuando se recibe y atiende una
interrupcin:
La CPU acaba la ejecucin de la instruccin en
curso .
Se salta automticamente (sin que haya ninguna
instruccin en el programa que lo indique) a la
direccin del procedimiento de servicio de la
interrupcin como si de otro procedimiento se
tratase.
1.20
Ciclo de Lectura Ciclo de Ej ecucin Ciclo de Interrupcin
Leer la
}4
Inicio
instruccin
Siguiente
2 I. T.I.G. Dpto de Informtica y Automtica.
Universidad de Salamanca
I Interrupciones
Inhabilitadas
Ejecutar la
Comprobacin
de Interrupcin
instruccin
-.
+ Interrupcin
Interrupciones
en Proceso
Habilitadas
Fin
- SISTEMAS OPERATIVOS-
TEMA 1. Introducci n a los sistemas infonnticos. 1.21
I
O
I
O
lA
P
'4
/
I
1
I
O
l O l o Ipe
erro Int
I
1
I
O
I
O
ID Isp
??? 14
??? 13 Pantalla
??? 12
??? 11
9 10 Teclado
s
~
I
CITIJA
I
I
I
8
I
O
I O I
1 Ipe
I
4
I
1
I
O
l O lB Isp
O
O
O
O
??? 14
O
11? 13 Pantalla
O
??? 12
S ~
O
??? II
I
??? 10 Teclado
O
I
I
I
I
4
O
O
O
O
O
O
O
O
O
I
O
O
3
O
O
O
O
O
O
O
O
O
2
I
O
O
3
O
O
O
O
O
O
O
O
O
O
I
I
I
()()()
I 001
I 002
I 003
I 004
I 005
1 006
I 007
1008
1009
100A
1008
IOOC
1000
ThTRADA 0, 10
SALIDA Ox13
PARADA
()()() ENTRADA 0,10
001
I 002 SALIDA Oxl3
1003
1004 PARADA
1005
1006
1007
1008
1009
100A
1008
IOOC
1000
PROCEDIM lENTO DE SERVICIO
DE INTERRUPCJ
7 3 8001 MErmA
O O 8002
O O 8003
O O 8004
7 5 8005 SACARA
3 2 8006 RETORNO
Como no se sabe cundo se va a producir la
interrupcin, es importante que la rutina de tratamiento
deje al final todos los registros del procesador como se
los encontr .
.6 2 I.T.I.G. Opto de Informtica y Automtica.
_ Universidad de Salamanca
- SISTEMAS OPERATIVOS-
-->Push A
--> Pop A
TEMA l. Int roducci n a los istemas infonnti cos.
Tipos de interrupciones:
De programa: excepciones aritmticas, eJecu-
cin de instrucciones ilegales, ...
Peridicas (se usarn para el multiproceso).
De entrada/salida ( muy importantes!! !).
Por errores en el hardware.
Las interrupciones constituyeron la base del pnmer
multiproceso. Ej: Los TSR (programas residentes en
memoria) de MS-DOS.
J:roy.r:un.:a
"'1 ...... , , ,
I / 1,,"
<D I ., r l
, , ,
I .... , I
1 ...... I I
, ,
I:.SCRIIJ IR , ' 1
-1 1 ..... .. 1 I
I / .. .. _,
, ; ...... ,
G> 1 ,' I
" '
I
I
"
" ,
" I
-'- (,
t sc.."RIII1R , 1
-1 :
o
-'- .
( II } SlIIlIlh:rrup .. lOt
t)fu.:n
IIN
@
, ,
, ,
1 , ,
. ,
,
-'- .
I.scRIIlIR
\
COIU \k If.\ .
de \l:SWI' lO EIS
'i
: / E'
I ... .. , I I
I ... I I
. ....... ... /L .. - IJeu
l-.SCRIU1R J _ ... .. , I <kEfS
--; ,'/
, ,
, ,
, ,
, ,
, ,
, ,
, , ,
, ' ,
" .