Está en la página 1de 37

ARQUITECTURA DE SISTEMAS

OPERATIVOS

Sistemas operativos – overview

Capítulo 1
Sistemas operativos
• Aprovecha los recursos de hardware de
uno o mas procesadores
• Provee un conjunto de servicios para los
usuarios del sistema
• Gestiona la memoria secundaria de los
dispositivos E/S

2
ASO_Tema01

ELEMENTOS BASICOS
• Procesador
• Memoria principal
• Referido tanto a la memoria principal como a la
memoria secundaria
• Volatilidad
• Módulos E/S
• Dispositivos de memoria secundaria o auxiliar
• Equipamiento para comunicaciones
• terminales
• System bus
• comunicación entre los procesos, memoria y
módulos de E/S

3
Componentes principales

4
Registros del procesador
• Registros visibles para el usuario
– Habilita al programador para minizar las
referencias a la memora principal mediante
la optimización del uso de registro
• Registros de Control y Status
– Utilizado para el control operativo del
procesador
– Utilizado por las rutinas del sistema
operativo para controlar la ejecución de los
programas
5
Registros visibles al usuario
• Pueden ser referenciados / accedidos
desde lenguaje de máquina
• Accesible para todos los programas,
aplicaciones y el sistema operativo
• Tipos de Registros
– datos
– dirección
• Indice (Index)
• Puntero de Segmento (Segment pointer)
• Puntero de Pila (Stack pointer)
6
Registros visibles al usuario

• Registros de Dirección
– Indice
• consiste en la adición de un índice a un valor
base para obtener una dirección
– Segment pointer
• la memoria se divide en segmentos; se hace
referencia a la memoria por un segmento y un
desplazamiento
– Stack pointer
• Punto en la cima de la pila

7
Registro de Control
• Program Counter (PC)
– Indica la posición donde está el procesador en su
secuencia de instrucciones
• Registro de Instrucción (IR)
–  Contiene la instrucción que se está ejecutando
• Program Status Word (PSW)
– Códigos de condición
– Interrupciones habilidar / deshabilitar
– Modo usuario / modo supervisor

8
Registro de Control
• Códigos de condición o Banderas
– Son BITS fijados por el hardware como
resultado de las operaciones
– Pueden ser accedidos desde cualquier
programa pero no pueden ser modificados
– Ejemplos
• Resultado positivo
• Resultado negativo
• zero
• Overflow

9
Ciclo de una Instrucción

10
Instrucción de Acceso y Ejecución

• El procesador obtiene la instrucción de


la memoria
• El Program counter (PC) mantiene
dirección de la siguiente instrucción a
ser procesada
• El Program counter se incrementa
después de cada instrucción

11
Registro de Instrucción
• La instrucción extraída se coloca en el registro de
instrucción
• Tipos de Instrucciones
– Processor-memory
• Transfiere datos entre el procesador y la memoria
– Processor-I/O
• Datos transferidos hacia o desde un dispositivo periférico

– Data processing
• Operaciones aritméticas o lógicas sobre los datos
– Control
• Altera la secuencia de la ejecución

12
Ejecución de un programa
13
Acceso Directo a Memoria
(DMA)
• Los intercambios de E/S se producen
directamente en la memoria
• El procesador otorga autoridad al módulo de
E/S para lectura o escritura en la memoria
• Alivia la responsabilidad del procesador para
el intercambio
• El procesador queda libre para realizar otras
tareas

14
Interrupciones
⚫ Es una interrupción en la secuencia normal de
ejecución

⚫ Mejora la eficiencia de procesamiento

⚫ Permite al procesador para ejecutar otras instrucciones


mientras una operación de E/S está en curso

⚫ Puede ser la suspención de un proceso, causada por un


evento externo a ese proceso, y realizado de manera tal
que el proceso original se pueda reanudar

15
Tipos de Interrupciones
• Programa
– overflow
– division por zero
– Ejecución de una instrucción no permitida
– Referencia a un área de memoria no permitida
• Tiempo
• E/S
• Fallas de Hardware

16
Manejo de Interrupciones

• Existe un programa que determina la naturaleza


de la interrupción y realiza todo las acciones
que se requieren

• El control se transfiere a este programa

• Generalmente forma parte del sistema operativo

17
Ciclo de Interrupción

18
Ciclo de Interrupción
• El procesador verifica si existen interrupciones

• Si no hay interrupciones, el procesador trae la


siguiente instrucción para el programa actual

• Si existe una interrupción pendiente, debe


suspender la ejecución del programa en curso , y
ejecutar el manejador de interrupciones

19
20
Interrupciones Multiples
• Deshabilitar las
interrupciones ,
mientras que una
interrupción se está
procesando
– El procesador ignora las
nuevas señales de
petición de interrupción

21
Interrupciones Múltiples
orden secuencial

• Deshabilita las interrupciones por lo que el


procesador puede completar la tarea

• Las interrupciones siguen pendientes hasta que


el procesador permite interrupciones
nuevamente

• Después que se completa la rutina de gestión de


interrupciones, el procesador chequea por
nuevas interrupciones
22
Interrupciones con
Múltiples Prioridades

• La interrupción de mayor prioridad


obliga a esperar a la interrupción de
menor prioridad

• Cuando llega una entrada desde la línea


de comunicación, esta debe ser
absorvida rapidamente para dar espacio
a otras entradas
23
Multiprogramación

• El procesador atiende a mas de un programa

• La secuencia en que los programas son


ejecutados, depende de la prioridad que tenga
cada uno, y si se encuentra a la espera de E/S

• Luego que se completa la gestión de una


interrupción , el control no vuelve al programa
que se estaba ejecutando en el momento de la
interrupción
24
Jerarquía de la Memoria

25
Descendiendo en la Jerarquía
• Decrece el costo por bit

• Aumenta la capacidad

• Se incrementa el tiempo de acceso

• Se decrementa la frecuencia de acceso


de la memoria por el procesador
26
Caché de Disco
• Una porción de la memoria principal se utiliza
como un tampón (“buffer”) para mantener
temporalmente los datos para disponible para
acceso del disco
• La escritura en disco es agrupada
(“clustering”)
• Algunos datos escritos deberán ser
referenciados nuevamente. Estos datos se
recuperan rapidamente del caché, en lugar de
recuperarlo poco a poco del disco
27
Memoria Caché

• Invisible para el Sistema Operativo

• Aumenta la velocidad de la memoria

• La velocidad del procesador es más


rápido que la velocidad de la memoria

28
Memoria Caché

29
Memoria Caché

• Contiene una porción de la memoria principal

• El procesador chequea primero la memoria


caché

• Si no encuentra en la caché, entonces se mueve


el bloque de memoria que contiene la
información requerida hacia la memoria caché

30
Cache/Main Memory System

31
Diseño de Caché
🞭Medida del Caché
🞤 cachés de tamaño pequeño provocan impacto
significativo en el rendimiento

🞭Tamaño del bloque


🞤 la unidad de los datos intercambiados entre la memoria
caché y la memoria principal
🞤 El éxito significa que la información se encuentra en la
caché
🞤 Bloques de mayor tamaño tienen mas éxito hasta la probabiliad
de usar data los nuevos datos traidos, se vuelve menor que la
probabiliad de reutilizar datos que hayan sido movidos fueradel
caché

32
Diseño de Caché
• Función de Mapeo
– Detemina que ubicación ocupará el bloque
dentro de la caché
• Algoritmo de Reubicación
– Determina cuales serán los bloques a ser
reemplazados
– Algoritno del “Usado mas recientemente”
(Least-Recently-Used - LRU)

33
Diseño de Caché
• Política de Escritura
– Cuando la operación de escritura de
memoria se lleva a cabo
– Puede ocurrir cada vez que el bloque se
actualiza
– Puede ocurrir cada vez que el bloque es
reemplazado
• Minimiza las operaciones de memoria
• Deja la memoria en estado obsoleto

34
E/S Programadas
• El módulo E/S realiza la acción,
no el procesador
• Establece los bits apropiados en
el registro de estado E/S
• No se atienden interrupciones
• El procesador comprueba el
estado hasta que la operación
haya sido completada

35
Interrupciones E/S dirigidas
(Interrupt-Driven I/O)
• El procesador se interrumpe cuando el
módulo E/S se encuentra listo para el
intercambio de datos
• El procesador queda libre para realizar
otra tarea
• Sin esperas innecesarias
• Consume una gran cantidad de tiempo
de procesador porque cada palabra
leída o escrita pasa por el procesador

36
Acceso Directo a Memoria

• Transfiere un bloque de datos


directamente a o desde la
memoria
• Una interrupción se envía
cuando la tarea se ha
completado
• El procesador sólo está
implicada en el comienzo y el
final de la transferencia

37

También podría gustarte