View
14
Download
0
Category
Preview:
Citation preview
Sistemas Operativos
MODULO I. ANTECEDENTES
1.2 introducción a los ordenadores
Un S.O. explota los recursos hardware de uno o mas procesadores para proporcionar un conjunto de servicios a los usuarios del sistema. El S.O. también gestiona la memoria secundaria y los dispositivos de E/S para sus usuarios
Sistema OperativoSistema Operativo
Un ordenador consta del:
ProcesadorLa memoriaComponentes de E/S
Incluyendo uno o más módulos de cada tipo.
Estos componentes se interconectan para ejecutar programas.
Elementos básicos del ordenadorElementos básicos del ordenador
Existe 4 elementos estructurales:
Procesador. Controla el funcionamiento del ordenador sus funciones de procesamiento de datos. Cuando solo existe un procesador, se denomina Unidad Central de Proceso (CPU)
Memoria Principal. Almacena datos y programas. Esta memoria es habitualmente
volátil. Se conoce también con el nombre de memoria real o memoria primaria.
Módulos de E/S. Transfiere los datos entre el ordenador y su entorno externo. El entorno externo está formado por dispositivos de memoria auxiliar, equipos de comunicaciones y terminales.
Bus del sistema. Proporciona comunicación entre los procesadores, la memoria principal y los módulos de E/S.
Componentes del procesadorComponentes del procesador
PC
IR
RDA E/S
RDI E/S
RDAM
RDIM
UNIDAD DE EJECUCION
UNIDAD DE EJECUCION
.
.
.INSTRUCCIÓNINSTRUCCIÓN
.
.DATOSDATOSDATOS
.
.
.
012..........N-2N-1
.
Buffers
Bus del sistema
MEMORIA PRINCIPAL
MODULO E/S
CPU
Un procesador incluye un conjunto de registros que proporcionan un tipo de memoria que es más rápida y de menor capacidad que la memoria principal. Los registros del procesador sirven para 2 funciones:
Registros visibles para el usuarioRegistros de control y estado
Registros del procesadorRegistros del procesador
Permite al programador en lenguaje de máquina o en ensamblador minimizar las referencias a memoria principal optimizando el uso de registros. Para lenguajes de alto nivel, un compilador que realice optimización intentará tomar decisiones inteligentes sobre qué variables se asignan a registros y cuáles a posiciones de memoria principal.
Registros visibles para el usuario:Registros visibles para el usuario:
Se emplean varios registros del procesador para controlar el funcionamiento del mismo. En muchas máquinas estos registros no son visibles para el usuario. A algunos de ellos se puede acceder mediante instrucciones de máquina ejecutadas en modo control o de sistema operativo.
Registros de control y estado:Registros de control y estado:
Diferentes máquinas tendrán distintas organizaciones de registros y utilizarán diferente terminología. Los siguientes son esenciales para la ejecución de instrucciones:
Contador de Programa. Contiene la dirección de la próxima instrucción que se leerá de la memoria.Registro de instrucción. Contiene la última instrucción leída.(PSW) “palabra de estado del programa”contiene información de estado.
Un programa que va a ejecutarse en un procesador consta de un conjunto de instrucciones almacenado en memoria. El procesamiento de una instrucción consta de 2 pasos:
El procesador lee (busca) instrucciones de la memoria, una cada vez.Ejecuta cada una de ellas.
Ejecución de instrucciones:Ejecución de instrucciones:
La ejecución del programa consiste en repetir el proceso de búsqueda y ejecución de instrucciones.
La ejecución de la instrucción puede involucrar varias operaciones.
Es el procesamiento requerido por una única instrucción:
Ciclo de instrucción:Ciclo de instrucción:
La ejecución del programa se detiene sólo si se apaga la máquina, se produce algún tipo de error irrecuperable.
inicio paradaBusca lasiguienteinstrucción
Ejecuta lainstrucción
Fase de búsqueda Fase de ejecución
Al principio de cada ciclo de instrucción, el procesador lee una instrucción de la memoria. En un procesador típico, el PC almacena la dirección de la siguiente instrucción que se va a leer. El procesador siempre incrementa el PC después de cada instrucción ejecutada, de manera que se leerá la siguiente instrucción en forma secuencial.
Búsqueda y ejecución de una instrucción:Búsqueda y ejecución de una instrucción:
La instrucción leída se carga dentro del IR.
La instrucción contiene bits que especifican la acción que debe realizar el procesador.
El procesador interpreta la instrucción y lleva a cabo la acción requerida. Estas acciones se pueden dividir en 4 categorías:
Procesador-memoria. Se pueden transferir datos desde el procesador a la memoria o viceversa.
Procesador-E/S. Se pueden enviar datos a un dispositivo periférico o recibirlos desde el mismo, transfiriéndolos entre el procesador y un módulo de E/S.
Procesamiento de datos. El procesador puede realizar algunas operaciones aritméticas o lógicas sobre los datos.
Control. Una instrucción puede especificar que se va a alterar la secuencia de ejecución.
Características de una máquina hipotética:Características de una máquina hipotética:
direcciónCodigo-op
a) Formato de instrucción
0 3 4 5 6 15
magnitudS
b) Formato de un entero
0 1 2 3 4 5 6 15
Contador de programa (PC)=Dirección de la instrucciónRegistro de instrucción (IR)=Instrucción que se está ejecutandoAcumulador (AC)=Almacenamiento temporal
c) Registros internos de la CPU
0001 = Carga AC desde la memoria0010 = Almacena AC en memoria0101 = suma a AC de la memoria
d) Lista parcial de códigos-op
Ejemplo:Ejemplo:
Ilustrar una ejecución parcial de un programa, mostrando las partes relevantes de la memoria y de los registros del procesador, en base a 3 instrucciones, que corresponden a 3 fases de búsqueda y de ejecución.
Sistema de E/SSistema de E/S
Se pueden intercambiar datos directamente entre un módulo de E/S y el procesador. Al igual que el procesador puede iniciar una lectura o escritura en memoria, especificando la dirección de una posición de memoria, también puede leer o escribir datos en un módulo de E/S
Acceso directo a memoria:Acceso directo a memoria:
Los intercambios de E/S se realizan directamente con la memoriaEl procesador le otorga al módulo de E/S
autoridad para leer y escribir en la memoriaLibera al procesador de la
responsabilidad del intercambio de datosEl procesador queda libre para realizar
otras tareas.
Mejora la eficiencia del procesamientoPermite al procesador ejecutar otras
instrucciones mientras una operación de E/S está en marchaUna suspensión del proceso causada por
un evento externo al proceso realizada de tal manera que el proceso pueda ser reanudada.
Interrupciones:Interrupciones:
Todos los ordenadores proporcionan un mecanismo por el cual otros módulos(memoria y E/S) pueden interrumpir el secuenciamiento normal del procesador.
Las interrupciones constituyen una manerade mejorar la utilizacion del procesador.
Clases de interrupciones:Clases de interrupciones:
De programa•Desbordamiento aritmético•División por cero•Ejecución de instrucción ilegal•Referencia fuera del espacio de lamemoria permitido para el usuario.Por temporizador (timer). Permite al SO
realizar ciertas funciones de forma regular.
E/S (I/O). Generada por un controladorde E/S para señalar la conclusión normal de una operación o para indicar diversascondiciones de error.Por fallo del hardware. Generada por un
fallo, como un fallo en el suministro de energia o un error de paridad en la memoria.
Ejemplo:Ejemplo:
Considere un ondenador personal queoperase a 1GHz, lo que le permitiriaejecutar aproximadamente 109
instrucciones por segundo.
Un tipico HD tiene una velocidad de rotacion de 7200 r.p.m, que correspondecon un tiempo de rotación de media pistade 4 ms., que es 4 millones de veces maslento que el procesador.
Flujo de programa del control sin y con interrupciones:Flujo de programa del control sin y con interrupciones:
a) Sin interrupciones b) interrupciones: espera E/S breve c) interrupciones: espera E/S larga
Interrupciones y el ciclo de instrucción:Interrupciones y el ciclo de instrucción:
De cara al programa de usuario, unainterrupción suspende la secuencia normal de ejecución. Cuando se completa el procesamiento de la interrupción, se reanuda la ejecución:
.
.
.
.
1
i
i+1
m
Programa de usuario
La interrupcionSe produce enEste punto
.
.
Manejador de interrupcion
Transferencia de control mediante interrupciones
Para tratar las interrupciones, se añadeuna fase de interrupción al ciclo de instrucción
inicio
parada
Busca lasiguienteinstrucción
Ejecuta lainstrucción
Fase de búsqueda Fase de ejecución
Comprueba siHay una interrupcion:Inicia el manejadorDe interrupcionInterrupciones
habilitadas
Fase de interrupcion
Procesamiento de interrupciones:Procesamiento de interrupciones:
La aparición de una interrupción disparavarios eventos, tanto en el Hardware del procesador como en el Software.
Cuando un dispositivo de E/S completa unaoperación de E/S, se produce la siguientesecuencia de eventos en el Hardware.
Procesamiento simple de interrupciones:Procesamiento simple de interrupciones:
El controlador de dispositivou otro sistema Hw genera
una interrupcion
El procesador terminala ejecucion de lainstruccion actual
El procesador indicael reconocimiento de la
de la interrupcion
El procesador apila PSWy el PC en lapila de control
El procesador cargaun nuevo valor en el PCbasado en la interrupcion
Salva el resto de lainformacion de estado
del proceso
Procesa la interrupcion
Restaura la informacionde estado del proceso
Restaura los antiguosPSW y PC
Hardware Software
Múltiples interrupciones:Múltiples interrupciones:
Se produce múltiples interrupciones cuandoun programa puede estar recibiendo datosde una línea de comunicación e imprimiendo resultados al mismo tiempo. La impresora generará una interrupción cada vez que completa una operación de impresión.
El controlador de la linea de comunicación generara una linea de interrupción cadavez que llega una unidad de datos. La unidad podria consistir en un unico caractero en un bloque, dependiendo de la naturaleza del protocolo de comunicaciones. En cualquier caso, esposible que se produzca una interrupción de comunicación mientras se estaprocesando una interrupción de la impresora.
Se pueden considerar 2 alternativas paratratar con multiples interrupciones:Inhabilitar las interrupciones: significaque el procesador ignorara cualquier nuevaseñal de peticion de interrupción. Si se produce una interrupción durante estetiempo, generalmente permanecerapendiente de ser procesada, de maneraque el procesador sólo la comprobarádespués de que se rehabiliten lasinterrupciones.
____________________
__________
__________
Programa deusuario
Manejador deinterrupcion X
Manejador deinterrupcion Y
Procesamiento secuencial de interrupcionesProcesamiento secuencial de interrupciones
Definir prioridades para las
interrupciones: Permitir que unainterrupción de más prioridad cause que se interrumpa la ejecución de un manejadorde una interrupción de menor prioridad
____________________
__________
__________
Programa deusuario
Manejador deinterrupcion X
Manejador deinterrupcion Y
Transferencia de control con multiples interrupcionesTransferencia de control con multiples interrupciones
MultiprogramaciónMultiprogramación
Si el tiempo requerido para completar unaoperación de E/S es mucho mayor que el código de usuario entre las llamadas de E/S (una situación habitual), el procesadorestará parado la mayor parte del tiempo.Una solución a este problema es permitirque múltiples programas de usuario esténactivos al mismo tiempo
Cuando el procesador trata con variosprogramas, la secuencia en la que se ejecutan los programas dependerá de suprioridad relativa, así como de si estánesperando la finalización de una operación de E/S.Este concepto de múltiples programas queejecutan en turnos se denominamultiprogramación
Las restricciones de diseño en la memoriade un ordenador se pueden resumir en 3 preguntas:
Jerarquia de memoriaJerarquia de memoria
Se utilizan diferentes tecnologías paraimplementar los sistemas de memorias. Se cumple las siguientes relaciones:
Cuanto menor tiempo de acceso, mayor coste por bit.Cuanto mayor capacidad, menor coste
por bit.Cuanto mayor capacidad, menor
velocidad de acceso.
Para cumplir con los requisitos de rendimiento, el diseñador necesita utilizarmemorias de capacidad relativamente bajacon tiempos de acceso rapidos.La idea es no basarse en un únicocomponente de memoria o en una sola tecnologia, sino emplear una jerarquia de memoria:
En todos los ciclos de instrucción, el procesador accede a memoria al menosuna vez, para leer la instrucción y, con frecuencia, una o mas veces adicionales, para leer y/o almacenar los resultados. La velocidad a la que el procesador puedeejecutar instrucciones esta limitada por el tiempo de ciclo de memoria (el tiempo quese tarda en leer o escribir una palabra en memoria)
Memoria cacheMemoria cache
Idealmente, se deberia construir la memoria principal con la misma tecnologiaque la de los registros del procesador, consiguiendo tiempos de ciclo de memoriacomparables a los tiempos de ciclo del procesador.
La solución consiste en aprovecharse en el principio de la proximidad utilizando unamemoria pequeña y rapida entre el procesador y la memoria principal: cache
Fundamentos de la cacheFundamentos de la cache
El propósito de la memoria cache esproporcionar un tiempo de acceso a memoria próximo al de las memorias másrápidas disponibles y, al mismo tiempo, ofrecer un tamaño de memoria grande quetenga el precio de los tipos de memoria de semiconductores menos costosas
CPU Cache Memoriaprincipal
Transferencia de palabras
Transferencia de bloques
Existen 3 tecnicas para llevar a cabo lasoperaciones de E/S:
E/S programadaE/S dirigida de interrupcionesAcceso directo a memoria
Tecnicas de comunicación de E/S Tecnicas de comunicación de E/S
El modulo de E/S realiza la acción, no el procesadorSe activan los bits adecuados en
el registro de estado de E/SNo se producen interrupcionesEl procesador comprueba el
estado hasta que finaliza la operación
E/S programadaE/S programada
Envia el mandatode lectura almodulo de E/S
Lee el estadodel modulode E/S
Lee una palabradel
modulo de E/S
Escribe lapalabra enmemoria
Compruebael estado
Completado ?Siguiente instruccion
Si
No listo
listo
CPU E/S
E/S CPU
E/S CPU
CPU MEMORIA
Condicion de error
El procesador es interrumpidocuando un módulo de E/S esta listoEl proceador queda libre para
realizar otras tareasNo requiere tiempos de esperaConsume tiempo de CPU porque
cada palabra que se lee o escribepasa a través del procesador.
E/S dirigida por interrupcionesE/S dirigida por interrupciones
Envia el mandatode lectura almodulo de E/S
Lee el estadodel modulode E/S
Lee una palabradel
modulo de E/S
Escribe lapalabra enmemoria
Compruebael estado
Siguiente instruccionSi
listo
CPU E/S
E/S CPU
E/S CPU
CPU MEMORIA
Condicion de error
Completado ?No
Hace otra cosa
interrupcion
Transfiere un bloque de datosdirectamente a o desde la memoriaSe envia una interrupcion cuando
se completa la transferenciaEl procesador solo esta implicado
en el inicio y fin de la transferencia
Acceso directo a memoriaAcceso directo a memoria
Envia el mandatode lectura de bloqueal modulo de E/S
Lee el estadodel modulode DMA
CPU DMA
DMA CPU
Hace otra cosa
interrupcion
Siguiente instruccion
Recommended