Вы находитесь на странице: 1из 37

Capítulo 1

Introducción a los sistemas


informáticos
Sistema operativo
• Explota los recursos del hardware de
uno o más procesadores.
• Ofrece un conjunto de servicios a los
usuarios del sistema.
• Gestiona la memoria secundaria y los
dispositivos de entrada/salida (E/S).
Elementos básicos
• Procesador.
• Memoria principal:
– También se la conoce como memoria real o memoria
principal.
– Volátil.
• Módulos de E/S:
– Dispositivos de memoria secundaria.
– Equipos de comunicación.
– Terminales.
• Interconexión de sistemas:
– Permiten la comunicación entre procesadores,
memoria principal y los módulos de E/S.
Componentes de alto nivel
CPU Memoria principal
Bus del
sistema
Instrucción
Instrucción
Instrucción

Datos
Unidad de
ejecución Datos
Datos
Datos

Módulo de E/S

PC = Contador de programa
IR = Registro de instrucción
MAR = Registro de direcciones de memoria
MBR = Registro intermedio de memoria
I/O AR = Registro de direcciones de E/S
I/O BR = Registro intermedio de E/S

Figura 1.1. Componentes de una computadora: visión 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 ejecución de los
programas.
Registros visibles de usuario
• Puede ser referenciado por medio del
lenguaje de máquina.
• Está disponible para todos los programas
del sistema y de aplicación.
• Clases de registros:
– De datos.
– De dirección:
• Registro índice.
• Puntero de segmento.
• Puntero de pila.
Registros visibles de usuario
• Registros de dirección:
– Regístro índice:
• Implica sumar un índice a un valor base para obtener la
dirección 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:
• Señala la parte superior de la pila.
Registros de control y de
estado
• Contador de programa (PC, Program Counter):
– Contiene la dirección de la instrucción a ser leída.
• Registro de instrucción (IR, Instruction Register):
– Contiene la última instrucción leída.
• Palabra de estado del programa (PSW, Program
Status Word):
– Códigos de condición.
– Interupciones habilitadas/deshabilitadas.
– Estado usuario/supervisor.
Registros de control y de
estado
• Codigos de condición o flags:
– Conjunto de bits activados por el hardware
del procesador como resultado de
determinadas operaciones.
– Se puede acceder a través de un programa
pero no pueden ser alterados..
– Ejemplos:
• Resultado positivo.
• Resultado negativo.
• Cero.
• Desbordamiento.
Ciclo de instrucción

Ciclo de lectura Ciclo de ejecución

Leer la
Ejecutar la
INICIO instrucción FIN
instrucción
siguiente

Figura 1.2. Ciclo básico de instrucción.


Lectura y ejecución de
instrucciones
• El procesador lee una instrucción de la
memoria.
• El contador de programa (PC) lleva la
cuenta de cuál es la próxima instrucción
a leer.
• El procesador incrementará el PC
después de leer cada instrucción.
Registro de instrucción
• La instrucción leída 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
periférico.
– Tratamiento de datos:
• Operación aritmética o lógica sobre los datos.
– Control:
• Altera la secuencia de ejecución.
Ejemplo de ejecución de un
programa
Memoria Registros de CPU Memoria Registros de CPU

Paso 1 Paso 2
Memoria Registros de CPU Memoria Registros de CPU

Paso 3 Paso 4
Memoria Registros de CPU Memoria Registros de CPU

Paso 5 Paso 6

Figura 1.4. Ejemplo de ejecución 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 módulo
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 interrupción de la ejecución
normal del procesador.
• Mejora la eficiencia del procesamiento.
• Permite al procesador ejecutar otras
instrucciones mientras una operación de E/S
está en proceso.
• Es una interrupción 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 aritmético.
– División por cero.
– Intento de ejecutar una instrucción 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 interrupción
• Un programa que determina la
naturaleza de la interrupción y realiza
cuantas acciones sean necesarias.
• Se produce una transferencia de control.
• Generalmente forma parte del sistema
operativo.
Ciclo de interrupción
Ciclo de lectura Ciclo de ejecución Ciclo de interrupción

Interrupcione
s
inhabilitadas
Leer la Comprobación
Ejecutar la de interrupción;
INICIO instrucció
n instrucció Interrup- interrupción
n del proceso
siguiente ciones
habilitadas

FIN

Figura 1.7. Ciclo de instrucción con interrupciones.


Ciclo de interrupción
• El procesador comprueba si ha ocurrido alguna
interrupción.
• Si no hay interrupciones pendientes, el
procesador trae la próxima instrucción del
programa en curso.
• Si hay una interrupción pendiente, el procesador
suspende la ejecución del programa en curso y
ejecuta la rutina de tratamiento de la
interrupción.
Programa Programa Programa Programa Programa Programa
de usuario de E/S de usuario de E/S de usuario de E/S

Orden Orden Orden


ESCRIBIR de E/S ESCRIBIR de E/S ESCRIBIR de E/S

FIN

Rutina de Rutina de
tratamiento tratamiento
de interrup- de interrup-
ciones ciones

ESCRIBIR ESCRIBIR ESCRIBIR

FIN FIN

ESCRIBIR ESCRIBIR ESCRIBIR

(a) Sin interrupciones (b) Con interrupciones y (c) Con interrupciones y


corta espera de E/S larga espera de E/S

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


Interrupciones múltiples
• Inhabilitar las
Rutina X de tratamiento
Programa de usuario de interrupciones

interrupciones RutinaY de

mientras se esté
tratamiento de
interrupciones

procesando una:
– El procesador (a) Tratamiento secuencial de interrupciones
Rutina X de tratamiento

ignora cualquier Programa de usuario de interrupciones

nueva señal de
interrupción.
RutinaY de
tratamiento de
interrupciones

(b) Tratamiento de control con múltiples interrupciones

Figura 1.12. Transferencia de control con múltiples interrupciones.


Orden secuencial de
interrupciones mútiples
• Las interrupciones se inhabilitan para que el
procesador pueda completar las operaciones.
• Las interrupciones permanecen pendientes
hasta que el procesador las habilite.
• Después de terminar la rutina de tratamiento
de la interrupción, el procesador comprueba si
se ha producido alguna interrupción adicional.
Prioridad de las interrupciones
múltiples
• Las interrupciones de prioridad más alta pueden
hacer que las de prioridad más baja tengan que
esperar.
• Hace que se interrumpa a la rutina de
tratamiento de una interrupción de prioridad
más baja.
• Por ejemplo, cuando llega una interrupción
desde la línea de comunicaciones, se necesita
atender ésta rápidamente para hacer sitio a
nuevas entradas.
Multiprogramación
• El procesador ha de ejecutar varios
programas.
• El orden en que los programas se ejecutan
depende de su prioridad relativa y de si están
esperando una E/S.
• Una vez que se haya completado el
tratamiento de la interrupción, puede que no
se devuelva el control inmediatamente al
programa de usuario que estaba ejecutándose
en el momento de la interrupción.
Jerarquía de la memoria

Me t ro
s
mo gis
int R e ache
ern ria c o ri a
m
a M e ci pal
n
pir
o
tic
gné
Me ma M
m i sco D-RO W
ext oria D C -R W
e rn CD + R M
a D A
DV D-R
D V

Al ca
ma éti
c gn
sec enam a
ta m O
un Cin
da iento M M
R
rio
WO

Figura 1.14. La jerarquía de la memoria.


Descenso por la jerarquía
• Disminución del coste por bit.
• Aumento de la capacidad.
• Aumento del tiempo de acceso.
• Disminución de la frecuencia de acceso
a la memoria por parte del procesador:
– Cercanía 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 rápidamente 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 información necesaria.
Número Dirección
de entrada Etiquet Bloque de

Cache/Main Memory System


a memoria

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.
Diseño de la cache
• Tamaño de la cache:
– Las caches pequeñas pueden tener un impacto significativo
sobre el rendimiento.
• Tamaño del bloque:
– Es la unidad de intercambio de datos entre la cache y la
memoria principal.
– La tasa de aciertos significa que la información 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 leído más
recientemente se hace menor que la probabilidad de reutilizar
el dato que hay que sacar de la cache.
Diseño de la cache
• Función de traducción:
– Determina la posición de la cache que
ocupará el bloque.
• Algoritmo de reemplazo:
– Elige el bloque que hay que reemplazar.
– Algoritmo del menos recientemente usado
(LRU).
Diseño de la cache
• Política de escritura:
– Dicta cuándo tiene lugar la operación de escribir
en memoria.
– Puede producirse cada vez que el bloque se
actualice.
– La escritura se produce sólo cuando se reemplaza
el bloque:
• Reduce las operaciones de escritura en memoria.
• Deja la memoria principal en un estado obsoleto.
E/S programada
• El módulo E/S lleva a cabo la acción Emitir la orden

requerida en lugar del procesador. LEER al


módulo de E/S
CPU → E/S

• Activa los bits apropiados en el registro Leer estado


E/S → CPU
de estado de E/S. del módulo
de E/S

No listo
• No se producen interrupciones. Compro- Condición
bar

• El procesador comprueba el estado hasta estado de error


Listo
que se ha completado la operación. Leer palabra
del módulo E/S → CPU
de E/S

Escribir
palabra CPU → memoria
en memoria

No
¿Hecho?


Instrucción siguiente
(a) E/S programada
E/S dirigida por
interrupciones
• El procesador queda Emitir la orden
LEER al
CPU → E/S
Hacer
interrumpido cuando el módulo módulo de E/S otra cosa

E/S está listo para intercambiar Leer estado Interrupción

más datos.
del módulo
de E/S E/S → CPU

• El procesador puede realizar Compro-


bar
Condición

otras operaciones. Listo


estado de error

• Elimina las esperas innecesarias. Leer palabra


del módulo E/S → CPU
de E/S
• Consume una gran cantidad de
tiempo del procesador debido a Escribir
palabra
en memoria
CPU → memoria

que cada palabra de datos pasa a


través del procesador. No
¿Hecho?


Instrucción siguiente
(b) E/S dirigida por interrupciones
Acceso directo a la memoria
• Transfiere el bloque entero
directamente hacia o desde la
memoria. Emitir la orden CPU → DMA
LEER BLOQUE Hacer
• Cuando se completa la al módulo E/S otra cosa

transferencia se envía una Leer estado Interrupción


señal de interrupción. del módulo
de DMA DMA → CPU

• El procesador se ve
Instrucción siguiente
involucrado sólo al inicio y al
(c) Acceso directo a memoria
final de la transferencia.

Вам также может понравиться