Introducción a los sistemas de Computación

Anuncio
Introducción a los sistemas de
Computación
Capítulo 1
Sistemas Operativos
• Admnistra los recursos del hardware de
uno o mas procesadores
• Provee un conjunto de servicios a los
usuarios del sistema
• Administra memoria secundaria y los
dispositivos de entrada/salida
Elementos Básicos
• Procesador
• Memoria Principal
– Se la conoce como memoria real o primaria
– volátil
• Módulos de entrada/salida
– Dispositivos de memoria secundaria
– Equipamiento de comunicaciones
– terminales
• Bus del sistema
– comunicacion entre procesadores, memoria, y
módulos de entrada/salida
Componentes principales
Registros del Procesador
• Registros publicos
– Permite al programador minimizar las
referencias a memoria principal
optimizando el uso de dichos registros
• Control y registros de estado
– Usados por el procesador para el control
operativo del mismo procesado
– Utilizados por las rutinas del S.O. Para
controlar la ejecucion de los programas
Registros Públicos
• Pueden ser referenciados por lenguaje de
maquina
• Disponible para todos los programas, de
aplicacion o de sistema
• Tipos de registros
– Datos
– Direcciones
• Indice
• Puntero a segmentos
• Stack pointer
Registros Públicos
• Registros de direccionamiento
– Indices
• Intervienen en el calculo de direcciones reales
sumando su contenido a un registro base
– Punteros a segmentos
• Cuando la memoria se divide en segmentos, el
direccionamiento se hace en base al contenido
del segmento mas un desplazamiento
– Stack pointer
• Apunta al tope de la pila o stack
Control and Status Registers
• Program Counter (PC) o Registro de Proxima
Instruccion (RPI)
– Contiene la direccion de la instruccion a ser
analizada
• Instruction Register (IR) o Registro de
Instruccion (RI)
– Contiene la instruccion analizada
• Program Status Word (PSW)
– Codigos de condición
– Habilitacion/inhabilitacion de prioridades
– Modo Supervisor o modo usuario
Registros de Estado y Control
• Códigos de Condición y banderas
– Bits administrados por el procesador registrando
los resultados de las operaciones
– Pueden ser accedidas por los programas pero no
modificadas
– Ejemplos
•
•
•
•
resultado positivo
Resultado negativo
cero
Overflow
Ciclo de Procesamiento para cada
Instrucción
Procesamiento de cada
instruccion y su ejecución
• El procesador toma una instrucción
desde la Memoria Principal
• Program counter (PC) retiene la
dirección de la proxima instruccion a
analizarse
• El Program counter se incrementa con
cada instruccion tomada para analizar
Registro de Instruccion
• La instruccion leida, es copiada al IR
(instruction register)
• Tipos de instrucción
– Procesador a memoria
• Transferencia de datos entre memoria y procesador
– Procesesador-E/S
• Datos transferidos hacia o desde perifericos
– Procesamiento de datos
• Operacion aritmetica o logica sobre datos
– Control
• Altera la secuencia de operacion
Ejemplo de ejecucion de un
programa
Direct Memory Access
(DMA)
• El intercambio de E/S se hace
directamente con la memoria
• El procesador garantiza al modulo de
E/S con la debida autoridad para
leer/grabar a memoria
• Releva al procesador de responsabilidad
por sobre el intercambio
• Libera al procesador para realizar otras
tareas
Interrupciones
• Interrumpe la secuencia normal de ejecucion
de un programa
• Mejora la eficiencia de procesamiento
• Permite al procesador ejecutar otras
instrucciones mientras avanzan las operaciones
de E/S
• La suspension de un proceso causado por un
evento externo al proceso se hace de tal
manera, que el proceso puede ser reiniciado
Clases de Interrupciones
• Programas
–
–
–
–
overflow artimético
division por cero
Ejecucion de una instruccion ilegal
Referencia a una direccion fuera de los
limites de la memoria
• Timer
• Entrada / Salida
• Falla de Hardware
Administrador de interrupciones
• Es un programa que determina la
naturaleza de cada interrupcion y pone n
marcha las acciones correspondientes
• El control es transferido a este programa
• Generalmente, forma parte del S.O.
Ciclo de Interrupción
Ciclo de Interrupción
• El procesador controla las interrupciones
• Si no hay interrupciones, se sigue con el
ciclo de instruccion de la siguiente orden
para el programa en curso de ejecución
• Si hay pendiente una interrupcion, se
suspende la ejecucion del programa
actual y se ejecuta el programa
administrador de interrupciones
Interrupciones multiples
• Traba nuevas
interrupciones
mientras se trata
una previa
– El procesador
ignora cualquier
nueva señal de
interrupción
Interrupciones Múltiples
Orden secuencial
• Inhabilita interrupciones para que el
procesador pueda completar su trabajo
• Las interrupciones quedan pendientes
hasta que el procesador vuelve a
habilitar las interrupciones
• Despues de completada la rutina del
administrador de interrupciones, el
procesador chequea si hay nuevas
interrupciones por atender
Interrupciones Multiples
Prioridades
• Interrupciones de alta prioridad obligan
a esperar a otras de menor prioridad,
• Causan la interrupcion del aministrador
de interrupciones de baja prioridad a ser
interrumpido
• Ejemplo: cuando llega una entrada a
traves de la linea de comunicaciones,
necesita ser rapidamente absorbido para
hacer lugar a los datos entrantes
Multiprogramación
• El procesador puede trabajar simultaneamente
con mas de un programa La secuencia de
programas que se ejecuten, depende de su
relativa prioridad y del orden del pedido de
E/S de datos
• A la finalizacion del administrador de
interrupciones, el control puede no retornar al
programa al programa que se estaba
ejecutando cuando ocurrio la interrupcion
Jerarquia de Memorias
Analizando y vinculando las
Memorias por su jerarquia
•
•
•
•
Costo decreciente por bit
Incremento de capacidad
Incremento del tiempo de acceso
Decrecimiento de la frecuencia de
accesos a la memoria por parte del
procesador
– Principio de localizacion de referencia
Principio de Localizacion de
referencia
• Es una observacion hecha en el
funcionamiento de la memoria/disco:
donde es alta la probabilidad de que la
instruccion a ejecutarse a posteriori de
una previa, esté fisicamente contigua a la
misma. Es alta la probabilidad de que
sean fisicamente vecinos, dos registros
que se han de procesar secuencialmente
Disco Cache
• Una porcion de memoria principal usada
como buffer para retener
transitoriamente, datos del disco
• El disco se graba por cluster
• Algunos datos grabados, pueden requerir
ser referenciados nuevamente. Los datos
son recuperados rapidamente del cache
instalado en lugar de hacerlo del disco,
mucho mas lentamente.
Memoria Cache
• Invisible al sistema operativo
• Incrementa la velocidad de la memoria
• La velocidad del procesador es mayor a
la de la memoria
Memoria cache
Memoria Cache
• Contiene una porcion de memoria
principal
• El procersador chequea primero la cache
• Si no lo encuentra en la cache, se mueve
el bloque requerido desde la memoria
hacia la cache
Cache/Main Memory System
Diseño de Cache
• Tamaño de la cache
– Caches aún pequeñas, tienen un significativo
impacto en la performance
• Tamaño del bloque
– Es la unidad de intercambio de datos entre
chace y memoria ppal.
– A mayor tamaño de bloque mas hits, hasta la
probabilidad de utilizacion de datos cargados
desde memoria sea menor a la de reusar los que
fueron recien cargados en la cache
Diseño de la cache
• Funciones de mapeo
– Determina cual sector de la cache, va a ser
ocupada por el bloque
• Algoritmos de reemplazo
– Determina el bloque a reemplazar
– Algoritmo de Least-Recently-Used (LRU)
Diseño de la Cache
• Politica de grabación
– Cuando se graba la memoria
– Puede ocurrir en cada oportunidad en que el
bloque es actualizado
– Puede ocurrir solamente cuando el bloque
es reemplazado
• Minimiza las operaciones de memoria
• Deja la memoria en un estgado obsoleto
E/S programada
• El modulo de E/S realiza la
operacion, no el procesador
• Inicializa apropiadamente los
bits del registro de estado de
E/S
• No se producen interrupciones
• El procesador chequea el
status de los indicadores, hasta
que la operacion se completa
Interrupcion orientada a E/S
• El procesador es interrumpido
cuando el modulo de E/S esta
listo para el intercambio de datos
• El procesador es liberado para
acomenter otro trabajo
• Eliminan esperas inutiles
• Consume un poco de tiempo de
procesador debido a que cada
palabra procesada se hace a
traves del procesador
Direct Memory Access (DMA)
• Transfiere un bloque de datos
de/hacia memoria en forma
directa
• Se envia una interrupcion
cuando la transmisión se ha
completado
• El procesador solo se
involucra al comienzo y
finalizacion de la transmision
Descargar