Sunteți pe pagina 1din 37

TEMA 1: INTRODUCCIN A LOS SISTEMAS

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
--; ,'/
, ,
, ,
, ,
, ,
, ,
, ,
, , ,
, ' ,
" .

',' :..- --.,;---,


- , - 1, I
LScRtnl R ''-1 .. __ / I I
-r 7 ... ,..... - -'
I / nN
, ,
, ,
, ,
, ,
, "
, ,
,,,
,,,
_ L- ','
l SCRIIUR
l I ti.! u dI' ('fInlrul d"1 prugr'"II;t ('un \ ,in inlul'llpt iunr,.
1. 22
2 I.T.I. G. Opto de Informtica y Automtica.
Universidad de Salamanca
- SISTEMAS OPERATIVOS -
--> se refiere generalmente a
interrupciones fsicas
INT-->Configurable para
ignorar
NMI-->inmascarable, no se
puede configurar
TEMA l. Introduccin a los istemas infonnticos.
T-M
Control
Stack
T
y
Y+L
N
N+ l
}-
:starl
Interrupt
Service
Return
Routine
User's
Program
Main
Memory
y
N+lj-
Program
Counter
{ ~
General
Registers
I
T
1-
Stack
Pointer
Processor
T-M
(a) Interrupt occurs after instruction
at location N
T-M
Control
Stack
T
y
Y+L
N
N+ I
N + 1
}-
:starl
Interrupt
Service
Return
Routine
User's
Program
Main
Memory
1.22a
IY+L+J!
Program
Counter
{ ~
General
Registers
T-MI+-
Stack
Pointer
Processor
T
(b) Return from interrupt
Cambios en Memoria y los Registros durante una Interrupcin
.A 2 I.T.I.G. Opto de Informtica y Automtica.
y Universidad de Salamanca
- SISTEMAS OPERATIVOS-
TEMA l . Introducci n a los sistemas infonnticos. 1.23
7 MECANISMOS DE PROTECCIN DEL
SISTEMA.
Hay que evitar que un proceso pueda intencionada o
accidentalmente interferir en el funcionamiento de otro
o de l mismo.
Problemas que se pueden plantear:
Un programa sobreescribe las reas de memoria
de otro, alterando sus datos o su cdigo y
forzndole a ejecutar instrucciones que no son
las suyas (virus).
Un programa se descontrola y sobreescribe su
propio cdigo con resultados inesperados.
Un programa accede a un dispositivo mientras
otro est usndolo, alterando su funcionamiento.
Un programa accede a zonas vitales del
funcionamiento del ordenador como los
contextos de otros programas, la pila general,
etc.
Un programa qUIere acaparar el uso del
procesador, no cediendo su uso a ningn otro
programa.
Estos problemas pueden ser accidentales, debido a una
mala programacin, o intencionados para comprometer
la seguridad del sistema.
2 I.T.I.G. Dpto de Informtica y Automtica.
Universidad de Salamanca
- SISTEMAS OPERATI VOS -
TCNICAS DE COMPRESIN Y CODIFICACIN
---------------------------------------------------------------
1.- CON PERDIDA DE DATOS--> Enfocado a imgenes y audio
2.- SIN PERDIDA DE DATOS--> Enfocado a informacion muy sensible(programas)
TEMA l . Introduccin a Jos sistemas informt icos. 1.24
,
7 MECANISMOS DE PROTECCION DEL
SISTEMA.
7.1 Modo usuario/supervisor.
Las CPU s modernas tienen al menos dos modos de
funcionamiento: modo usuario y modo supervisor.
Desde el modo usuario no se pueden efectuar
operaciones de entrada/salida y algunas de las
instrucciones de la CPU no estn permitidas.
Existir una instruccin del modo supervisor para
pasar al modo usuario. Del modo usuario se pasa al
modo supervisor mediante una interrupcin.
Puede provocar la intelTUpcin:
Un intento de ejecutar una instruccin
privilegiada en modo usuario.
La recepcin de una peticin de interrupcin por
parte de un dispositivo.
Un acceso a una zona de memoria no permitida.
El paso de un determinado intervalo de tiempo.
Un fallo de hardware.
Normalmente, ser el Sistema Operativo el que se
ejecute en modo supervisor y ganar control mediante
las rutinas de servicio de interrupciones.
Hay procesadores que presentan ms de un modo de
operacin, cada cual con ms privilegios que el anterior.
Por ej . los Motorola 680xO.
2 I. T.I.G. Opto de Informtica y Automtica.
Universidad de Salamanca
- SISTEMAS OPERATIVOS-
TEMA l. Introduccin a los sistemas informti cos.
1.25
7 MECANISMOS DE PROTECCIN DEL
SISTEMA.
7.2 Registros lmite.
Se usan para impedir el acceso de un programa a reas
de memoria que no le corresponden.
Puede tratarse de un registro del procesador o de un rea
de memoria slo accesible en modo supervisor.
1
[BIJA
1
o
I
1
I O 1 O 13 Ipe
p ~
6
1
I
1 O O
e Isp
o
1
1
I
1 O O
D I HI
I
1 O O
O ILO
o
4
o
o
2
o
A
9
o
B
3
1
A
o
6
I
1 000 CARGA (Ox1 OOA)
1 001
1 002
1 003 SUMA (Ox I008)
1 004
1 005
1 006 ALMACINA (Ox11 OA)
1 007
1008
1009 PARADA
100A
1008
o o s ~ IOOC
o o ~ 100D
A veces existen registros para proteger por separado el
rea de datos y el rea de cdigo de un programa. Todo
esto estar relacionado con la gestin de memoria, que
se ver ms adelante.
2 I.T.I.G. Opio de Informlica y Automtica.
Universidad de Salamanca
- SISTEMAS OPERATIVOS-
TEMA l. lntroducci n a los sistemas infonnticos. 1.26
7 MECANISMOS DE PROTECCIN DEL
SISTEMA.
7.3 Temporizadores.
Puede que un programa, debido a un fallo, entre
en un bucle infinito y no ceda el control de la CPU.
Puede que intencionadamente no lo haga para obtener
ms tiempo de clculo. Para evitarlo, se usan
temporizadores.
Cada cierto intervalo de tiempo, se produce una
interrupcin del tipo peridico. La rutina de servicio se
encarga de ceder la CPU a los distintos programas en
ejecucin. Normalmente esto va combinado con tcnicas
de usuario/supervisor.
Se habla, a este respecto, de:
Multitarea apropiativa (preemptive multitasking):
UNIXes, WINDOWS NT, ...
Multitarea no apropiativa (non-preemptive
multitasking): WINDOWS 3.1 , MAC OS, ...
2 I.T.I.G. Opto de Informtica y Automtica.
Universidad de Salamanca
- SISTEMAS OPERATIVOS-
TEMA l . lntroduccin a los sistemas infonnticos.
1. 27
8 TCNICAS P ARA LLEVAR A CABO LAS
OPERACIONES DE ENTRADA/SALIDA.
Consideraciones generales:
Los dispositivos de entrada/salida procesan ms
lentamente los datos que la CPU.
Requieren atencin de forma y, a
veces, inmediata.
Para tratar de solucionar alguno de estos problemas, se
construyen bjJeres de dispositivo:
CPU \
Buffer
Dispositivo
Pueden ser internos al dispositivo y gestionados por este
o un rea de memoria principal gestionada por la CPU.
En este ltimo caso se necesita hacer uso de
interrupciones para llenar/vaciar el buffer cuando el
dispositivo requiera atencin.
Debido al tamao finito de los bfferes, no es una
solucin aceptable cuando el flujo de datos de entrada
supera el flujo del desage de salida.
2 I. T.I.G. Opto de Informtica y Automtica.
Universidad de Sal amanca
- SISTEMAS OPERATIVOS -
TEMA l. Introducci n a los sistemas informticos. 1. 28
8 TCNICAS PARA LLEVAR A CABO LAS
OPERACIONES DE ENTRADA/SALIDA.
8.1 E/S programada.
Se basa en la tcnica del sondeo (polling).
Para dispositivos de entrada, la CPU pregunta
continuamente (sondea) al dispositivo si tiene datos para
ser ledos.
Para dispositivos de salida, la
continuamente al dispositivo si est
nuevos datos.
Desventajas de la E/S programada:
CPU pregunta
listo para recibir
La CPU est ocupada sin hacer nada productivo
(estado de espera ocupada) .
Si hay muchos dispositivos, hay que preguntar a
todos en orden y puede tardar en atenderse las
peticiones.
2 I.T.I.G. Opto de Informtica y Automtica.
Universidad de Salamanca
- SISTEMAS OPERATIVOS-
TEMA l . Introduccin a los sistemas infonnti cos.
1.29
8 TCNICAS P ARA LLEVAR A CABO LAS
OPERACIONES DE ENTRADA/SALIDA.
8.2 E/S dirigida por interrupciones.
Cuando el dispositivo est listo, se genera una
interrupcin.
En las operaciones de entrada, el programa realiza la
peticin de entrada y, en el caso de que el dispositivo no
pueda satisfacerla, se cede la CPU a otro programa.
En las operaciones de salida, el programa realiza la
peticin de salida de datos, que queda almacenada en la
memoria. El programa u otros programas, pueden
continuar su ejecucin. Cuando el dispositivo est listo,
se produce una interrupcin y se escribe en l. (Cuidado
con la consistencia).
2 I.T.I. G. Dpto de Informtica y Automtica.
Universidad de Salamanca
- SISTEMAS OPERATIVOS-
En cada crculo donde pone trabajo es trabajo
real
TEMA l . Introducci n a los sistemas infonnticos.
En el caso de un sistema multiusuario interactivo, la
entrada/salida por interrupciones es fundamental:
En una sesin interactiva, se teclean comandos en un
terminal. Dichos comandos se irn ejecutando. Mientras
se est tecleando un comando, se requiere poca CPU
(comparar velocidades). Mientras se est ejecutando, se
requiere mucha CPU. Es fundamental que estos
procesos se puedan ir simultaneando. Cada vez que un
usuario pulse una tecla, se genera una interrupcin.
Mientras, se van ejecutando comandos de otros usuarios.
Usuario 1 Usuario 2 Usuario 3
5
TRABAJA
e TECLA=:>
10
TRABAJA
No slo se usa esta tcnica con la entrada/salida.
Tambin con algunos servicios del sistema operativo
como la comunicacin entre programas. (Fundamental
en las prcticas).
Definicin de consumo de CPU. El sondeo es
despilfarro de CPU.
1.30
2 I.T.I.G. Dpto de Informtica y Automt ica.
Universidad de Salamanca
- SISTEMAS OPERATIVOS-
TEMA l. lntroducci n a los si temas infonnticos.
1.31
8 TCNICAS P ARA LLEVAR A CABO LAS
OPERACIONES DE ENTRADA/SALIDA.
8.3 . (DMA).
Mecanismo que saca partido de las actuales f.m!.i::
xy.GJ1J.m$. de ordenadores. Otra forma de paralelismo. Una
lnea no puede ser compartida para transmitir varias
seales.
CPU
Z80
RST
ROM
M
R
E R
RAM PIO
CPU leyendo o escribiendo en memoria.
CPU
Z80
RST
CPU haciendo clculos.
2 I.T.I.G. Dpto de Informtica y Automtica.
Universidad de Salamanca
DISPOSITlVO
- SISTEMAS OPERATIVOS-
El uso de DMA requiere de
circuitera especial, es decir,
chips especiales.
TEMA l. Introducci n a los sistemas informticos.
Electrnica complicada (sincronizacin) .
Se usa para dispositivos que requieren velocidad
de transferencia alta y gran volumen de datos
(discos duros, tarjetas de vdeo/sonido, etc.)
l.32
8 TCNICAS P ARA LLEVAR A CABO LAS
OPERACIONES DE ENTRADA/SALIDA.
8.4 Memoria mQpe.q.4q.
Consiste en, con ayuda de la electrnica, hacer que
cuando la CPU lea o escriba en determinadas posiciones
. de memoria la informacin vaya a parar a un
determinado dispositivo. Las correspondientes
posiciones de memoria quedan anuladas.
Se usa en el PC, por ejemplo en las tarjetas de vdeo
VGA.
I
O 1
lA
I
1 O O 2
Ipc
I
7 F F F
Isp

2 I.T.I.G. Dpto de Informtica y Automtica.
Universidad de Salamanca
1 1
1 o
1 3
1
:
o
o
:
8
4 o
o
:
o
o o
o o
o o
o o
o o
o o
o o
1000 ENTRADA Ox l O
1001
1002 ALMACENA (Ox I008)
1003
1004
1005 PARADA
1006
1007
1 008 ~ n a de pantalla.
1009
100A
100B
looe
100D
- SISTEMAS OPERATIVOS -
TEMA l. Introduccin a lo si temas informticos.
Apndice ALGUNOS EJEMPLOS.
La tarjeta de sonido SOUND BLASTER:
Esta tarjeta de sonido es un dispositivo que, para su
funcionamiento requiere de una lnea de interrupcin,
una serie de puertos de comunicacin y uno (o dos)
canales de DMA. En la variable de entorno BLASTER
que se aade al fichero AUTOEXEC.BAT se pueden
ver los valores de la configuracin de la tarjeta:
SET BLASTER=A220 IS Dl HS P330 T6
Base de la zona de puertos de control: Ox220.
Lnea de interrupcin: 5.
Canales de DMA usados: 1, 5.
Base de la zona de puertos del sintetizador
MIDI: Ox330.
Dispositivos conectados en Linux:
En Linux, es posible saber el uso que se est dando a
interrupciones, puertos de memoria y canales de DMA:
Interrupciones:
$ cat / proc/ int errupts
o: 19280802 timer
1 : 84058 keyboard
2: o cascade
3 : 432239 + serial
6: 164 + floppy
10: 261147 3c509
13: 1 math error
14: 1723299 + ideO
1.33
2 I.T.I.G. Dpto de Informtica y Automt ica.
Universidad de Salamanca
- SISTEMAS OPERATIVOS-
Todos los circuitos para el control de E/S se gestionan a
travs de direcciones llamadas puertos. Usualmente
cada circuito tiene internamente una serie de registros
a los que se accede desde el procesador mediante los
buses con una direccin concreta para cada registro
del chip.
TEMA l. Introduccin a los sistemas infonnti cos.
Puertos de entrada/salida:
$ cat /proc/ioports
OOOO - OOlf dmal
0020 - 003f piel
0040-005f timer
0060-006f keyboard
0080-009f dma page reg
OOaO-OObf pie2
OOcO-OOdf dma2
OOfO - OO f f npu
OlfO-Olf7 ideO
02f8-02ff serial (set l
0300 - 030 f 3e509
0378-037f lp
03eO - 03df
03 f O-03f5
03f6 - 03f6
03f7-03f7
03 f 8 - 03ff
Canales de DMA:
vga+
floppy
ideO
floppy DIR
s e r i a l (set )
$ cat /proc/dma
2 : floppy
4 : eas eade
Tarjetas de vdeo VGA:
En el modo de texto de 80 columnas, el rea de pantalla
est mapeado sobre la memoria a partir de la direccin
OxB8000. Cada carcter de la pantalla se corresponde
con dos bytes de memoria. El primero es el cdigo del
carcter (cdigo PC437 u PC850, no ISO-LATINl ) y el
segundo codifica sus atributos de color y parpadeo
segn el siguiente esquema:
1.34

2 I.T.I.G. Dpto de Informtica y Automtica.
Universidad de Salamanca
- SISTEMAS OPERATIVOS -
TEMA l . Introduccin a los sistemas informticos.
adeo
Col or de fondo Color del texto
Hagamos un programa en TURBO C que escriba una M
amarilla sobre fondo rojo parpadeante en la segunda
lnea de la pantalla:
Posicin de memoria: OxB8000+80*2=OxB80AO.
Cdigo de color del rojo: 4=1 OOb.
Cdigo de color del amarillo: 14=1110b.
Atributo que hay que escribir en la memoria:
P adeo
Color de fondo Color del texto
L..-..I....-...;. :_O...,::_0....L._
J
..:.-..:. :_I...,::_0...J = OxCE.
#include <dos.h>
#include <conio . h>
void main (void)
{pokeb ( OxB800, OxAO , 'M ' ) ;
pokeb ( OxB800,OxAl,OxCE) ;
getch () ; }
1.35
6 2 I.T.I. G. Opto de Informtica y Automtica.
, Universidad de Salamanca
- SISTEMAS OPERATIVOS-

S-ar putea să vă placă și