Contenido
Tema 1:
Introducción a los Sistemas
Informáticos
Elementos básicos
Registros del procesador
Ejecución de instrucciones
Interrupciones
Secciones Stallings: 1.1 – 1.4
A.Ortigosa
Sistema Operativo
Procesador (CPU cuando sólo hay uno)
Memoria principal
3
almacena datos y programas
= memoria real = memoria primaria
volátil
Módulos E/S: transportan datos entre procesador y
dispositivos de memoria secundaria
equipos de comunicación
terminales
Interconexión de sistemas (buses)
Tema 1 - Lección 1
Comunicación entre procesadores, memoria principal y módulos E/S
A.Ortigosa
Componentes (alto nivel)
Tema 1 - Lección 1
4
Registros del procesador
Memoria principal
CPU
Bus del
sistema
Registros visibles al usuario
Instrucción
Instrucción
Instrucción
Datos
Datos
Datos
Datos
Unidad de
ejecución
PC
IR
MAR
MBR
I/O AR
I/O BR
=
=
=
=
=
=
Contador de programa
Registro de instrucciones
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 un ordenador: visión de alto nivel
Tema 1 - Lección 1
Permiten al programador minimizar referencias a
memoria principal, optimizando el uso de estos registros
Ej: registro de datos
Registros de control y de estado
Módulos de E/S
A.Ortigosa
2
Elementos básicos de S.I.
Explota los recursos del Hardware de uno o
más procesadores para
Ofrece un conjunto de servicios a los
usuarios del sistema
Gestiona memoria secundaria y dispositivos
E/S
A.Ortigosa
Tema 1 - Lección 1
5
Usados por el procesador para controlar las operaciones
del procesador
Usados por las rutinas del SO para controlar la ejecución
de los programas
Ej: contador del programa
A.Ortigosa
Tema 1 - Lección 1
6
1
Registros visibles al usuario
Registros visibles al usuario
Registros de direcciones
(de instrucciones o de datos). Ejemplos:
Pueden ser referenciados mediante lenguaje
máquina
Disponibles para todos los programas
(de aplicación y del sistema)
Tipos de registros
Registro de índice
Puntero de segmento
Datos
Direcciones (de memoria principal)
De instrucciones
De datos
A.Ortigosa
7
Cuando la memoria se divide en segmentos, se referencia
mediante referencia al segmento particular + desplazamiento
dentro del segmento
Puntero de pila
Tema 1 - Lección 1
Implica sumar un índice a un valor base para obtener la dirección
efectiva
Apunta a la cima (tope) de la pila
A.Ortigosa
Registros de control y de estado
Fase de búsqueda
Contiene la dirección de la instrucción a ser leída
Registro de instrucción (IR)
Contiene la última instrucción leída
INICIO
Palabra de estado del programa (PSW)
Códigos de condición (flags)
Ejecutar
instrucción
FIN
Fase de búsqueda: procesador busca instrucción
de memoria
Contador de programa (PC) mantiene dirección
de la siguiente instrucción a leer
=> se incrementa después de cada lectura
Activados por el Hw como resultado de operaciones
Programa puede leerlos, pero no modificarlos
Ejs: resultado positivo, resultado negativo, cero (zero), desbordamiento
(overflow)
Bit para habilitar/deshabilitar interrupciones
Bit indicando modo supervisor/usuario
A.Ortigosa
Tema 1 - Lección 1
9
Registro de instrucción (IR)
Memoria
Paso 1
Se transfieren datos entre ambos (en cualquier dirección)
Memoria
Procesador-E/S
Tratamiento de datos
Control
Operaciones aritméticas o lógicas sobre los datos
Registros de CPU
Paso 2
Registros de CPU Memoria
Registros de CPU
Memoria
Paso 4
Registros de CPU Memoria
Registros de CPU
Altera la secuencia de la ejecución (saltos)
Tema 1 - Lección 1
10
Ciclo 2 (lectura + ejecución)
Paso 3
Ciclo 3 (lectura + ejecución)
Paso 5
A.Ortigosa
Registros de CPU Memoria
Se transfieren datos desde o hacia un dispositivo periférico (a
través del módulo E/S)
Tema 1 - Lección 1
Ciclo 1 (lectura + ejecución)
Procesador-memoria
A.Ortigosa
Ejemplo de ejecución de programa
En él se coloca la instrucción leída
Tipos de instrucciones
Buscar
instrucción
siguiente
Fase de ejecución
Contiene información de estado
8
Ciclo básico de instrucción
Contador del programa (PC)
Tema 1 - Lección 1
11
A.Ortigosa
Paso 6
Tema 1 - Lección 1
12
2
Ejemplo de ejecución de programa
Procesadores modernos: instrucciones con
más de una dirección
=> ejecución puede involucrar a varias
referencias a memoria
A.Ortigosa
Tema 1 - Lección 1
Interrupciones
Interrupción de la secuencia normal de
ejecución
Suspensión de un proceso causada por un
evento externo al mismo de forma que el
proceso podrá ser retomado
Mejora la eficiencia del procesamiento
Permite al procesador ejecutar otras
instrucciones durante E/S
13
A.Ortigosa
Clases de interrupciones
El control se transfiere a este programa
Determina la naturaleza de la interrupción y
realiza las acciones necesarias (detener
proceso, …)
Generalmente es una rutina parte del SO
Desbordamiento aritmético
División por cero
Intento de ejecutar instrucción ilegal
Referencia a zona de memoria fuera del espacio de
trabajo del usuario
De reloj: para funciones periódicas
De E/S: para indicar normalidad/error
Fallo de Hw: cortes de energía, errores de
paridad de memoria, etc.
A.Ortigosa
Programa de
usuario
Tema 1 - Lección 1
Programa
de E/S
Programa de
usuario
15
Programa Programa de
de E/S
usuario
14
Manejador de interrupciones
De programa
Tema 1 - Lección 1
A.Ortigosa
Tema 1 - Lección 1
16
Programa
de E/S
Ciclo de interrupción
Orden
de E/S
ESCRIBIR
ESCRIBIR
Orden
de E/S
ESCRIBIR
Orden
de E/S
Ciclo de búsqueda
Ciclo de ejecución
Ciclo de interrupción
FIN
Rutina de
tratamiento
de interrupc.
Rutina de
tratamiento
de interrupc.
ESCRIBIR
ESCRIBIR
ESCRIBIR
FIN
ESCRIBIR
ESCRIBIR
(a) Sin interrupciones
Interrupciones
deshabilitadas
INICIO
FIN
Buscar
instrucción
siguiente
Ejecutar
instrucción
FIN
ESCRIBIR
(b) Con interrupciones y corta
espera E/S
Comprobar
interrupción;
Inicia manejador
Interrup. de interrupción
habilitadas
(c) Con interrupciones y larga
espera de E/S
Figura 1.7. Ciclo de instrucción con interrupciones
Figura 1.5. Flujo de control del programa con y sin interrupciones
A.Ortigosa
Tema 1 - Lección 1
17
A.Ortigosa
Tema 1 - Lección 1
18
3
Ciclo de interrupciones
Interrupciones múltiples
Programa del usuario
Procesador comprueba si hay interrupciones
Si no, lee la siguiente instrucción del
programa
Si hay interrupción pendiente, suspende
ejecución del programa y ejecuta el
manejador de interrupciones
Rutina X de tratamiento de int.
2 posibilidades:
Deshabilitar
interrupciones
Definir prioridades
Rutina Y de tr.int.
(a) Tratamiento de interrupciones secuencial
Programa del usuario
Rutina X de tratamiento de int.
Rutina Y de tr.int.
(b) Tratamiento de interrupciones anidado
A.Ortigosa
Tema 1 - Lección 1
19
A.Ortigosa
Interrupciones múltiples. Orden
secuencial
Interrupciones múltiples.
Prioridades
Se deshabilitan interrupciones para que el
procesador complete la tarea
Interrupciones quedan pendientes hasta que el
procesador habilita interrupciones
Cuando el manejador de interrupciones termina,
el procesador comprueba si hay interrupciones
adicionales antes de retomar la tarea inicial
Limitación: prioridades o necesidades críticas de
tiempo
A.Ortigosa
Tema 1 - Lección 1
21
Interrupción de mayor prioridad hace esperar
a las de menor prioridad
Provoca la parada del manejador de
interrupciones de menor prioridad
Ejemplo: entrada por línea de
comunicaciones, necesita ser procesada
rápido para hacer espacio para las siguientes
A.Ortigosa
Multiprogramación
Tema 1 - Lección 1
Tema 1 - Lección 1
22
Para la próxima clase
Procesador tiene más de un programa a ejecutar
La secuencia de ejecución de programas
depende de su prioridad relativa y de si están
esperando E/S
Después del procesamiento de una interrupción,
el control puede no volver al programa que se
ejecutaba cuando se recibió la interrupción, sino
a otro pendiente de mayor prioridad
A.Ortigosa
Figura
1.12.
de control con múltiples interrupciones
Tema
1 -Transferencia
Lección 1
20
23
Secciones 2.1 y 2.2 del Stallings
A.Ortigosa
Tema 1 - Lección 1
24
4