Académique Documents
Professionnel Documents
Culture Documents
Los Sistemas Operativos son programas para la administracin eficiente de los recursos del computador.
2 /62
Tabla de Contenido
i. ii. 3. 4. 5. 6. 7. 8. Objetivos. Mapa Conceptual Visin General de un Sistema de Computo Procesador Buses Memoria Entrada/Salida 54 Bibliografa 3 4 6 11 43 46 60
3 /62
Objetivos de la Sesin
Exponer la arquitectura bsica de un computador. Presentar los elementos y las caractersticas de operacin de un microprocesador simple. Exponer el mecanismo de ejecucin de instrucciones Exponer el mecanismo de interrupciones Exponer el mecanismo del DMA. Presentar los tipos de buses que usa un P. Presentar los aspectos bsicos del manejo de memoria. Presentar los aspectos bsicos del manejo de E/S
4 /62
Memoria
E/S
5 /62
6 /62
Sistema Operativo
Explota los recursos de hardware de uno o ms procesadores. Provee un conjunto de servicios al usuario del sistema Administra la memoria secundaria y los dispositivos de E/S
7 /62
Elementos Bsicos
Procesador BUS del Sistema
Comunicacin entre el
memoria principal
Voltil Acceso aleatorio
Mdulos de E/S
Dispositivos de memoria secundaria Equipos de comunicacin Terminales
8 /62
9 /62
PROCESADOR
11 /62
12 /62
15 /62
16 /62
Modos de Operacin
Los microprocesadores dos modos de funcionamiento: El modo real. Operacin bsica del P. El modo protegido, en el que surgen capacidades nuevas, como memoria virtual, proteccion de segmentos.
17 /62
Modos de Operacin
MODO REAL Realiza una sola tarea a la vez, si se est imprimendo, scaneando, etc. no se puede hacer otra cosa hasta que el microprocesador no termine con la tarea asignada. Direccionamiento hasta de 1MB El DOS requiere el modo real.
MODO PROTEGIDO Hace varias tareas a la vez, pero las atiende todas juntas. Caractersticas:
Mecanismos de proteccin. Conmutacin de tareas. Manejo de Interrupciones y Excepciones. Permite el Modo Virtual.
18 /62
Ejecucin de Instrucciones
La tarea ms importante de un computador es ejecutar programas. Los programas constan de un conjunto de instrucciones y datos almacenados en la memoria. Pasos:
El procesador lee la instruccin memoria. El procesador ejecuta la instruccin. desde
INICIO
FIN
19 /62
Registro de Instruccin
La instruccin leda se carga en un registro conocido como registro de instruccin. Tipos de Instrucciones: Procesador-memoria
Se transfieren datos entre el procesador y la memoria y viceversa.
Procesador-E/S
Se transfieren datos de y hacia los dispositivos perifricos
Procesamiento de Datos
Operaciones aritmticas o lgicas con los datos
Control
Alteracin de la secuencia de instrucciones a pedido de otra instruccin.
21 /62
Mquina Hipottica
Formato de Instruccin
0 3 4 15
Cdigo de Operacin
Direccin
Formato de un entero
1
15
S
Magnitud
Registros Internos de la CPU PC: Contador de Programa IR: Registro de la Instruccin AC: Acumulador
Listado de cdigos de operacin 0001 Cargar de la memoria al acumulador 0010 Almacenar el acumulador en memoria 0101 Sumar al AC el contenido de la memoria
24 /62
Ejercicio 1
Para la mquina hipottica presentada, se adiciona 2 instrucciones: 0011 Carga de AC desde E/S 0111 Almacena el AC en la E/S En estos casos, las direcciones de 12 bits identifican a un dispositivo externo en particular. Mostrar la ejecucin del siguiente programa: 1. Cargar AC desde el dispositivo 5. 2. Sumar el contenido de la ubicacin de memoria 940 3. Almacenar el AC en el dispositivo 6 Asumir que el siguiente valor recuperado desde el dispositivo 5 es 3 y que la direccin 940 contiene 2.
25 /62
1. Se coloca la direccin 300 al contador de programa (PC) y se carga el contenido de la posicin de memoria al Registro de Instruccin (IR). 2. Load AC from I/O. El programa mueve la informacin que s encuentra en device 5 al acumulador. 3. El PC incrementa una posicin y coloca la informacin encontrada en la memoria al IR para ser procesada y ejecutada. 4. Add contents of memory location 940. La instruccin pide sumar la Informacin contenida en la posicin de memoria 940con el AC que ya tiene un 0003. 5. El PC incrementa una posicin y coloca la informacin encontrada en la memoria al IR para ser procesada y ejecutada. 6. Store AC to device 6. La instruccin pide almacenar la informacin del AC a el device 6 lo cual transfiere la informacin de AC para device 6.
27 /62
UCP UCP
memoria memoria
instrucciones de E/S
28 /62
Ejercicio 2
El mdulo de DMA transfiere caracteres a la memoria principal desde un DES que transmite 9600 bps (bits por segundo). El procesador puede leer instrucciones a razn de 1 milln de instrucciones por segundo. En cuanto se har ms lento el procesador debido a la actividad del DMA?
106 bps
9.6x103 bps
Interrupciones
Una interrupcin es la suspensin de la secuencia normal de ejecucin de un proceso. Permite mejora la eficiencia del procesamiento. Permite que el procesador ejecute otras instrucciones mientras que una operacin de I/O est en proceso. Es la suspensin de un proceso causado por un acontecimiento externo a ese proceso y ejecutado de tal forma que el proceso pueda ser reasumido ms adelante.
30 /62
Interrupciones
Supongamos que el procesador transfiere datos hacia una impresora, utilizando el esquema bsico propuesto. Luego de ejecutar una instruccin ESCRIBIR(data, print), el procesador debe esperar y permanecer desocupado hasta que la impresora le avise, que ya termin o acerca de un error. La duracin de la pausa puede ser del orden de varios cientos o miles de ciclos de instruccin. Es claro el derroche en el uso de los recursos.
31 /62
32 /62
Tipos de Interrupciones
De Programa. Generadas por la ejecucin de alguna instruccin tales como:
Overflow (desbordamiento aritmetico) Division por zero Intento de ejecutar una instruccin ilegal de la mquina Referencia fuera del espacio de memoria permitido para el usuario
De Reloj. Generadas por el reloj interno del procesador (funciones regulares) De E/S. Generadas por el controlador de E/S, para indicar termino de E/S, condiciones de error. Por falla de Hardware. Error de paridad, falta de energa.
33 /62
Vector de Interrupciones
Vector 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17-31 32-255 Uso
Error: Divisin por cero Excepciones para depuracin (ejecucin paso a paso) Interrupcin no enmascarable Punto de ruptura interrupcin (Instruccin INT) Desbordamiento ("Overflow"); utilizado cuando un clculo aritmtico se desborda. In (reservado) Cdigo de instruccin no vlido Coprocesador no disponible Fallo doble (reservado) TSS no vlido Segmento no disponible Excepcin de pila Proteccin general Fallo de pgina (reservado) Error de coprocesador (reservado) Disponibles para interrupciones enmascarables
34 /62
Administracin de Interrupciones
Es un programa que determina la naturaleza de la interrupcin y ejecuta la accin que sea necesaria. El control es transferido a este programa. Por lo general es parte del S.O. Se denomina Rutina de Servicio de Interrupciones (ISR: Interrupt service routine) (interrupt handler). El proceso que es interrumpido no debe de tener algo en especial, esta funcin es responsabilidad total de la RSI
35 /62
Transferencia de Control
Proceso actual 1. 2. 3. 4. 5. ............. ............. ............. ............. ............. ISR
.............. .............. .............. .............. .............. .............. ..............
36 /62
Hardware
37 /62
Tratamiento de interrupciones
El dispositivo emite una seal de interrupcin El procesador finaliza la ejecucin de la instruccin actual antes de responder a la interrupcin. El procesador verifica la Int (qu Int?) (polling) y enva una seal de reconocimiento al DES que la origin, esta seal le permite al DES suprimir la seal de Int. El procesador inicia la transferencia de control a la ISR. Se almacena en la pila: la PSW y la PC Se pone la PSW y la PC de la rutina de tratamiento de interrupciones (ISR: interrupt service routine) Se ejecuta la ISR
38 /62
Mltiples Interrupciones
Se pueden presentar interrupciones simultneamente o mientras se est ejecutando la ISR, se puede presentar una nueva interrupcin. Se deshabilitan las interrupciones mientras una interrupcin est siendo procesada. El procesador no hace caso de cualquier nueva seal de peticin de la interrupcin.
39 /62
Mltiples Interrupciones
Orden Secuencial Se deshabilitan las interrupciones para que el procesador puede completar la tarea. Las siguientes interrupciones permanecen pendientes hasta el procesador habilite las interrupciones. Despus de que ISR completa la tarea, el procesador verifica para interrupciones adicionales
Prioridades. Interrupciones de alta prioridad la causa interrupciones de baja prioridad esperen. Causas que una IRS de baja prioridad pueda ser interrumpido. Por ejemplo cuando una entrada llega desde la lnea de comunicacin, necesita ser absorbida rpidamente para hacer ms sitio para la siguiente entrada.
Multiprogramacin
Cuando el procesador tiene ms de un programa para ejecutar La secuencia de programas son ejecutados dependiendo de su prioridad relativa y si ellos estn esperando por I/O. Despus de que una ISR se completa, el control puede no ser retornado al programa que estaba ejecutando en el momento de la interrupcin.
41 /62
Ejercicio 3
42 /62
BUSES
43 /62
Buses
Son las pistas de cobre que se encuentran en la placa madre, que se encargan de transportar datos o pulsos. Bus de control. que consiste en una lnea que detecta las seales de entrada y de otra lnea que genera seales de control desde el interior de la CPU. Bus de direccin. una lnea unidireccional que sale desde el procesador y que gestiona la ubicacin de los datos en las direcciones de la memoria. Bus de datos. una lnea de transmisin bidireccional que lee los datos de la memoria y escribe nuevos datos en sta.
44 /62
Buses
45 /62
MEMORIA
46 /62
Jerarqua de Memoria
Registros
47 /62
Memoria Cache
La memoria Cache es una clase de memoria especial de alta velocidad que esta diseada para acelerar el proceso de las instrucciones de memoria en la CPU. La CPU puede obtener las instrucciones y los datos ubicados en la memoria cache mucho ms rpidamente que las instrucciones y datos almacenados en la memoria principal. Cuantas ms instrucciones y datos la CPU pueda obtener de la memoria cache, ms rpido ser la computadora.
V memoria principal V memoria cache CPU. 100 MHz 180 nanosegundos. 45 nanosegundos.
48 /62
Memoria Cache
Es invisible al SO. Incrementa la velocidad de la memoria. La velocidad del procesador es mayor que la velocidad de la memoria
104
Memoria Cache
Contiene una porcin de la memoria principal. El procesador primero verifica la memoria cache. Si no se encuentra en la memoria cache, el bloque de memoria conteniendo la informacin necesaria es movida a la memoria cache.
A medida que los tamaos de bloque aumenta, la tasa de aciertos, aumenta al inicio (principio de la cercana), pero luego comienza a disminuir dado que el bloque se hace mayor y la probabilidad de uso de un dato recientemente ledo se hace menor que la probabilidad de reutilizar el dato ubicado en la memoria cach.
51 /62
Cada vez que el bloque se actualiza. Cada vez que el bloque se reemplace.
Minimiza la operacin de la memoria. Deja la memoria en un estado obsoleto.
52 /62
Tamaos
La memoria principal consta de 2n palabras direccionales. Cada palabra tiene una direccin de n bits. La memoria principal consta de M = 2n/K bloques de tamao K palabras. La memoria cach consta de C bloques de K palabras. (C << M)
M
K C 53 /62
ENTRADA/SALIDA
54 /62
Operaciones
Las operaciones de E/S hacen uso de las siguientes tres tcnicas: 1. E/S programada 2. E/S dirigida por interrupciones. 3. Acceso Directo a Memoria
55 /62
1.
E/S Programada
Emitir orden de lectura al mdulo de E/S Leer estado del mdulo de E/S No listo CPU E/S
Cuando ocurre la interrupcin, el procesador lanza la IRS. El mdulo de E/S realiza la accin, no el procesador. El mdulo de E/S pone los bits apropiados en el registro de estados de E/S. No ocurren interrupciones. El procesador verifica el estado hasta que la operacin se complete. La verificacin se hace repetidamente.
E/S CPU
estado? Listo Leer palabra del mdulo de E/S Escribir palabra en memoria
Condicin de Error
E/S CPU
CPU Memoria
No
Hecho?
Si Siguiente instruccin
2.
El procesador es interrumpido cuando el mdulo de E/S esta listo para intercambiar datos El procesador esta libre hacer otros trabajos. No existen esperas innecesarias. Consume mucho tiempo del procesador porque cada palabra leda o escrita pasa a travs del procesador. La velocidad est limitada por velocidad en que el procesador verifica.
estado? Listo Leer palabra del mdulo de E/S Escribir palabra en memoria
Condicin de Error
E/S CPU
CPU Memoria
No
Hecho?
Si Siguiente instruccin
57 /62
3.
Transfiere un bloque de datos directamente, desde o hasta la memoria. Una interrupcin es enviada cuando la tarea es completada. El procesador es involucrado solo al inicio o al final de la transferencia. El DMA se implementa a travs de un mdulo separado o esta incorporado en el mdulo de E/S.
Siguiente instruccin
58 /62
E/S Programada
DMA
Emitir orden de lectura al mdulo de E/S Emitir orden de lectura al mdulo de E/S No listo estado?
CPU E/S
E/S CPU
Listo Emitir orden de lectura al mdulo de E/S Emitir orden de lectura al mdulo de E/S No Hecho?
E/S CPU
E/S CPU
CPU Memoria
CPU Memoria
Si Siguiente instruccin
Si Siguiente instruccin
Bibliografa
Sistemas Operativos (Captulo 1). William Stallings, 3ra Edicin. Prentice Hall.
60 /62
PREGUNTAS
61 /62