Está en la página 1de 37

Captulo 1

Introduccin a los sistemas


informticos

Sistema operativo
Explota los recursos del hardware de
uno o ms procesadores.
Ofrece un conjunto de servicios a los
usuarios del sistema.
Gestiona la memoria secundaria y los
dispositivos de entrada/salida (E/S).

Elementos bsicos
Procesador.
Memoria principal:
Tambin se la conoce como memoria real o memoria
principal.
Voltil.
Mdulos de E/S:
Dispositivos de memoria secundaria.
Equipos de comunicacin.
Terminales.
Interconexin de sistemas:
Permiten la comunicacin entre procesadores,
memoria principal y los mdulos de E/S.

Componentes de alto nivel


CPU

Memoria principal
Bus del
sistema
Instruccin
Instruccin
Instruccin

Datos

Unidad de
ejecucin

Datos
Datos
Datos

Mdulo de E/S

PC
IR
MAR
MBR
I/O AR
I/O BR

= Contador de programa
= Registro de instruccin
= Registro de direcciones de memoria
= Registro intermedio de memoria
= Registro de direcciones de E/S
= Registro intermedio de E/S

Figura 1.1. Componentes de una computadora: visin de alto nivel.

Registros del procesador


Registros visibles de usuario:
Permite al programador minimizar las
referencias a la memoria principal optimizando
el uso de estos registros.

Registros de control y de estado:


Son utilizados por el procesador para el control
de las operaciones.
Son utilizados por las rutinas del sistema
operativo para controlar la ejecucin de los
programas.

Registros visibles de usuario


Puede ser referenciado por medio del
lenguaje de mquina.
Est disponible para todos los programas
del sistema y de aplicacin.
Clases de registros:
De datos.
De direccin:
Registro ndice.
Puntero de segmento.
Puntero de pila.

Registros visibles de usuario


Registros 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.

Registros de control y de
estado
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.
Interupciones habilitadas/deshabilitadas.
Estado usuario/supervisor.

Registros de control y de
estado
Codigos de condicin o flags:
Conjunto de bits activados por el hardware del
procesador como resultado de determinadas
operaciones.
Se puede acceder a travs de un programa
pero no pueden ser alterados..
Ejemplos:

Resultado positivo.
Resultado negativo.
Cero.
Desbordamiento.

Ciclo de instruccin
Ciclo de lectura

Leer la
INICIO

instruccin
siguiente

Ciclo de ejecucin

Ejecutar la
instruccin

Figura 1.2. Ciclo bsico de instruccin.

FIN

Lectura y ejecucin de
instrucciones
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.

Registro de instruccin
La instruccin leda se carga en el registro de
instrucciones.
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.

Ejemplo de ejecucin de un
programa
Memoria

Paso 1
Memoria

Registros de CPU

Memoria

Registros de CPU

Registros de CPU

Paso 2
Memoria

Registros de CPU

Paso 3
Memoria

Paso 5

Paso 4
Registros de CPU

Memoria

Registros de CPU

Paso 6

Figura 1.4. Ejemplo de ejecucin de un programa


(contenidos de memoria y registros en hexadecimal).

Acceso directo de memoria


(DMA)
Los intercambios E/S se producen
directamente con la memoria.
El procesador otorga autoridad a un
mdulo de E/S para leer o escribir en la
memoria.
Releva al procesador de la responsabilidad
del intercambio.
El procesador queda libre para realizar
otras operaciones.

Interrupciones
Se trata de una interrupcin de la ejecucin
normal del procesador.
Mejora la eficiencia del procesamiento.
Permite al procesador ejecutar otras
instrucciones mientras una operacin de E/S
est en proceso.
Es una interrupcin de un proceso debida a un
factor externo al proceso y que se lleva a cabo
de tal modo que el procesador pueda
reanudarse.

Clases de interrupciones
De programa:

Desbordamiento aritmtico.
Divisin por cero.
Intento de ejecutar una instruccin ilegal.
Referencia a una zona de memoria fuera del
espacio permitido al usuario.

De reloj.
De E/S.
Por fallo del hardware.

Tratamiento de la interrupcin
Un programa que determina la
naturaleza de la interrupcin y realiza
cuantas acciones sean necesarias.
Se produce una transferencia de control.
Generalmente forma parte del sistema
operativo.

Ciclo de interrupcin
Ciclo de lectura

INICIO

Leer la
instrucci
n
siguiente

Ciclo de ejecucin

Ciclo de interrupcin

Interrupcione
s
inhabilitadas
Ejecutar la
instrucci
Interrupn

ciones
habilitadas

FIN

Figura 1.7. Ciclo de instruccin con interrupciones.

Comprobacin
de interrupcin;
interrupcin
del proceso

Ciclo de interrupcin
El procesador comprueba si ha ocurrido
alguna interrupcin.
Si no hay interrupciones pendientes, el
procesador trae la prxima instruccin del
programa en curso.
Si hay una interrupcin pendiente, el
procesador suspende la ejecucin del
programa en curso y ejecuta la rutina de
tratamiento de la interrupcin.

Programa
de usuario

Programa
de E/S

Orden
de E/S

ESCRIBIR

Programa
de usuario

Programa
de E/S

ESCRIBIR

Orden
de E/S

Programa
de usuario

Programa
de E/S

Orden
de E/S

ESCRIBIR

FIN
Rutina de
tratamiento
de interrupciones
ESCRIBIR

ESCRIBIR

Rutina de
tratamiento
de interrupciones
ESCRIBIR

FIN

ESCRIBIR

ESCRIBIR
(a) Sin interrupciones

(b) Con interrupciones y


corta espera de E/S

FIN

ESCRIBIR
(c) Con interrupciones y
larga espera de E/S

Figura 1.5. Flujo de control del programa con y sin interrupciones.

Interrupciones mltiples
Inhabilitar las
interrupciones
mientras se est
procesando una:
El procesador
ignora cualquier
nueva seal de
interrupcin.

Programa de usuario

Rutina X de tratamiento
de interrupciones

RutinaY de
tratamiento de
interrupciones

(a) Tratamiento secuencial de interrupciones


Programa de usuario

Rutina X de tratamiento
de interrupciones

RutinaY de
tratamiento de
interrupciones

(b) Tratamiento de control con mltiples interrupciones

Figura 1.12. Transferencia de control con mltiples interrupciones.

Orden secuencial de
interrupciones mtiples
Las interrupciones se inhabilitan para que
el procesador pueda completar las
operaciones.
Las interrupciones permanecen pendientes
hasta que el procesador las habilite.
Despus de terminar la rutina de
tratamiento de la interrupcin, el
procesador comprueba si se ha producido
alguna interrupcin adicional.

Prioridad de las interrupciones


mltiples
Las interrupciones de prioridad ms alta
pueden hacer que las de prioridad ms baja
tengan que esperar.
Hace que se interrumpa a la rutina de
tratamiento de una interrupcin de prioridad
ms baja.
Por ejemplo, cuando llega una interrupcin
desde la lnea de comunicaciones, se necesita
atender sta rpidamente para hacer sitio a
nuevas entradas.

Multiprogramacin
El procesador ha de ejecutar varios
programas.
El orden en que los programas se ejecutan
depende de su prioridad relativa y de si estn
esperando una E/S.
Una vez que se haya completado el
tratamiento de la interrupcin, puede que no
se devuelva el control inmediatamente al
programa de usuario que estaba ejecutndose
en el momento de la interrupcin.

Jerarqua de la memoria
Me
m
int oria

ern

Me
m
ext oria
er n
a

Al
ma
c
sec enam
un
da iento
rio

s
tro
gis
Re ache
c oria
m
M e ci pal
n
r
pi

co
ti
n
ag
o m ROM
c
s
Di CD- -RW
W
CD + R M
D
A
DV D-R
DV

ca
ti
n
g
a
ta m O
n
i
M M
C
R
WO

Figura 1.14. La jerarqua de la memoria.

Descenso por la jerarqua

Disminucin del coste por bit.


Aumento de la capacidad.
Aumento del tiempo de acceso.
Disminucin de la frecuencia de acceso
a la memoria por parte del procesador:
Cercana de referencias.

Cache de disco
Es una parte de la memoria principal que se
puede utilizar como buffer para guardar
temporalmente los datos transferidos con el
disco.
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 cache del
disco en lugar de hacerse lentamente desde el
disco.

Memoria cache
Es invisible para el sistema operativo.
Aumenta la velocidad de la memoria.
La velocidad del procesador es mayor
que la de la memoria.

Memoria cache
Transferencia de bloques
Transferencia de palabras

CPU

Cache

Memoria principal

Figura 1.16. Cache y memoria principal.

Memoria cache
Contiene una parte de la memoria
principal.
El procesador primero comprueba la
memoria cache.
Si una palabra no se encuentra en la
memoria cache, se introduce en la cache
un bloque de memoria principal que
contiene la informacin necesaria.

Nmero
de entrada Etiquet
a

Bloque

Direccin
de memoria

Cache/Main Memory System


Bloque
(K
palabras)

Longitud de bloque
(K palabras)

(a) Cache

Bloque

Longitud
de palabra

(b) Memoria principal


Figura 1.17. Estructura de cache/memoria principal.

Diseo de la cache
Tamao de la cache:
Las caches pequeas pueden tener un impacto
significativo sobre el rendimiento.

Tamao del bloque:


Es la unidad de intercambio de datos entre la cache y la
memoria principal.
La tasa de aciertos significa que la informacin se
encontr en la cache.
La tasa de aciertos comenzar a disminuir, dado que el
bloque se hace mayor y la probabilidad de uso del dato
ledo ms recientemente se hace menor que la
probabilidad de reutilizar el dato que hay que sacar de la
cache.

Diseo de la cache
Funcin de traduccin:
Determina la posicin de la cache que
ocupar el bloque.

Algoritmo de reemplazo:
Elige el bloque que hay que reemplazar.
Algoritmo del menos recientemente usado
(LRU).

Diseo de la cache
Poltica de escritura:
Dicta cundo tiene lugar la operacin de
escribir en memoria.
Puede producirse cada vez que el bloque se
actualice.
La escritura se produce slo cuando se
reemplaza el bloque:
Reduce las operaciones de escritura en memoria.
Deja la memoria principal en un estado obsoleto.

E/S programada
El mdulo E/S lleva a cabo la
accin requerida en lugar del
procesador.
Activa los bits apropiados en el
registro de estado de E/S.
No se producen interrupciones.
El procesador comprueba el
estado hasta que se ha
completado la operacin.

Emitir la orden
LEER al
mdulo de E/S

CPU E/S

Leer estado
del mdulo
de E/S

E/S CPU

No listo
Comprobar
estado

Condicin
de error

Listo
Leer palabra
del mdulo
de E/S

Escribir
palabra
en memoria

No

E/S CPU

CPU memoria

Hecho?

S
Instruccin siguiente

(a) E/S programada

E/S dirigida por


interrupciones
El procesador queda
interrumpido cuando el mdulo
E/S est listo para intercambiar
ms datos.
El procesador puede realizar
otras operaciones.
Elimina las esperas innecesarias.
Consume una gran cantidad de
tiempo del procesador debido a
que cada palabra de datos pasa a
travs del procesador.

CPU E/S

Emitir la orden
LEER al
mdulo de E/S

Hacer
otra cosa

Leer estado
del mdulo
de E/S

Interrupcin

E/S CPU

Comprobar
estado

Condicin
de error

Listo

No

Leer palabra
del mdulo
de E/S

E/S CPU

Escribir
palabra
en memoria

CPU memoria

Hecho?

S
Instruccin siguiente

(b) E/S dirigida por interrupciones

Acceso directo a la memoria


Transfiere el bloque entero
directamente hacia o desde
la memoria.
Cuando se completa la
transferencia se enva una
seal de interrupcin.
El procesador se ve
involucrado slo al inicio y
al final de la transferencia.

Emitir la orden

CPU DMA

LEER BLOQUE

Hacer
otra cosa

al mdulo E/S

Leer estado
del mdulo
de DMA

Interrupcin
DMA CPU

Instruccin siguiente
(c) Acceso directo a memoria

También podría gustarte