Vous êtes sur la page 1sur 61

SISTEMAS OPERATIVOS Estructura de los Sistemas de Computo

Mg. Samuel Oporto Daz

Lima, 30 de Abril 2005 1 /62

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

Mapa Conceptual de la Sesin


Proceso Bus

Memoria

E/S

5 /62

VISION GENERAL DE UN SISTEMA DE COMPUTO

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

procesador, la memoria y los mdulos de E/S Memoria Principal


Es la memoria real o

memoria principal
Voltil Acceso aleatorio

Mdulos de E/S
Dispositivos de memoria secundaria Equipos de comunicacin Terminales
8 /62

Componentes de Alto Nivel

9 /62

Componentes de Alto Nivel


Procesador. CPU Memoria Principal. Memoria Real o Primaria Mdulos de E/S. Dispositivos de Entrada/Salida (DES) Interconexin de sistemas. BUS MAR (Memory Address Register). Registro de memoria direcionable, direccin de la siguiente R/W en memoria. MBR (Memory Buffer Register). Registro de memoria intermedia. Datos ledos o por escribir en Memoria. IOAR (Input/Output Address Register). Direccin de un DES. IOBR (Input/Output Buffer Register). Intercambia datos entre el DES y el Procesador.
10 /62

PROCESADOR

11 /62

Registros del Procesador


1. Registros visibles al usuario Permite que el programador minimice las referencias a la memoria principal. 1. Registros de control y de estado Usado por el procesador para controlar la operacin del procesador Usado por las rutinas del SO para controlar la ejecucin de programas

12 /62

1. Registros Visibles al Usuario


Puede ser referenciada por lenguaje de mquina. Disponible para todos los programas: (de aplicacin y del sistema). Los tipos de registros
Registros de Datos. (AX, BX, CX y DX) Registros de Direccin Registro ndice (SI, DI) Puntero de Segmento (CS, DS, SS, ES). Puntero de Pila (SP, BP)
13 /62

1. Registros Visibles al Usuario


Registros de Datos: AX. Para las operaciones de E/S, las correcciones decimales, las multiplicaciones, las divisiones y las translaciones. BX. Registro base para direccionar una posicin de memoria con el modo de direccionamiento indirecto con el registro base. CX. Contador de datos en las manipulaciones de cadenas de caracteres. DX. Para las multiplicaciones y divisiones asocindolo con AX, o de registro de direccionamiento indirecto para direccionar un puerto de E/S.
14 /62

1. Registros Visibles al Usuario


Registros de Direccin: Registro ndice (SI y DI) El direccionamiento indexado implica adicionar un ndice a un valor base para obtener una direccin. Puntero de Segmento (CS, DS, SS y ES). Cuando la memoria es dividida en segmentos, la memoria es referenciada por un segmento y un desplazamiento. Puntero de Pila (SP, BP). Puntero a la cima de la pila

15 /62

2. Registros de Control y de Estado


Contador de Programa (PC)
Contiene la direccin de una instruccin a ser leda

Registro de Instruccin (IR)


Contiene la instruccin ms recientemente leda

Palabra de Estado de Programa: (PSW: Program Status Word )


Cdigos de Condicin
Signo, Cero, Acarreo, Igualdad, Desbordamiento

Habilitar/deshabilitar interrupciones Modo Supervidor

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

Leer la siguiente instruccin Ejecutar la instruccin

El procesamiento de una instruccin simple se denomina ciclo de instruccin

FIN

19 /62

Lectura y ejecucin de instrucciones


Al inicio de cada ciclo de instruccin el procesador lee una instruccin de la memoria, en el registro de instruccin. El contador de programa (PC: program counter) tiene la direccin de la siguiente instruccin a ser leda. El PC se incrementa luego de cada lectura. La direccin cargada en el PC puede ser alterada.
20 /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

Direccin de la Instruccin. Instruccin que est ejecutandose Almacenamiento Temporal

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

Ejemplo de ejecucin de un programa


1. EL PC contiene 300, la direccin de la primera instruccin. Se cargar el contenido de la ubicacin 300 en el IR. 2. Los primeros 4 bits de IR indican que se cargar el AC. Los 12 bits restantes especifican la direccin, que es 940. (1 940)(0001 001110101100). 3. Se incrementa el PC y se lee la siguiente instruccin. 4. El contenido anterior de AC y el contenido de la ubicacin 941 se suman y el resultado se almacena en el AC. 5. Se incrementa el PC y se le la instruccin siguiente. 6. El contenido del AC se almacena en la ubicacin 941.
23 /62

Ejemplo de ejecucin de un programa


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.

Acceso directo a Memoria (DMA)


Los intercambios de E/S ocurren directamente con la memoria principal. El procesador entrega autoridad para que los mdulos de E/S lean y escriban directamente en memoria. Releva al procesador de la responsabilidad del intercambio El procesador est libre para hacer otras cosas. Resultado: interrupcin Indica estado de terminacin (OK, ERROR) Una interrupcin por bloque, no por byte

27 /62

E/S y acceso directo a memoria

UCP UCP

memoria memoria

dispositivos de dispositivos de entrada/salida entrada/salida

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

R = 9.6 x 103 / 106 = 0.96%


29 /62

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
.............. .............. .............. .............. .............. .............. ..............

i. ............. Interrupcin i+1 ............ .. .. .. m ............

36 /62

Tratamiento de una Interrupcin


El controlador del dispositivo u otro sistema del hardware genera una interrupcin El procesador finaliza la ejecucin de la instruccin en curso Salvar el resto de la informacin de estado del proceso

Interrupcin del proceso Software

Hardware

El procesador acusa el recibo de la interrupcin

Restaurar la informacin de estado del proceso

El procesador inserta la PSW y el PC en la pila

Restaurar los valores anteriores de PSW y PC

El procesador carga el nuevo valor del PC dependiendo de la interrupcin

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

Cache Memoria Principal Memoria Secundaria <Disco Magntico> Cinta magntica


Costo Tiempo Capacidad / bit Acceso

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

Tiempo de cada ciclo (nseg)

103 Memoria principal 102


Procesa dor

101 1955 1960 1965 1970 1975 1980 1985 1990

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.

Diseo de la Memoria Cach


Tamao del cach. Los caches pequeos tienen un impacto significante en el desempeo. Tamao del bloque.
es la unidad de intercambio de datos entre el cach y la memoria principal.

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

Diseo de la Memoria Cach


Funcin de correspondencia Determina la ubicacin qu ocupar el bloque en la memoria cach. hay sitio? El algoritmo del reemplazo. Determina qu bloque para reemplazar si no hay sitio Algoritmo LRU. Least-Recently-Used (el usado hace ms tiempo) Poltica de escritura.
Cundo tiene lugar la operacin de escritura en memoria?

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.

E/S Dirigida por Interrupciones


Emitir orden de lectura al mdulo de E/S Leer estado del mdulo de E/S CPU E/S Hacer otra cosa

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.

Interrupcin 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

57 /62

3.

Acceso Directo a Memoria


Emitir orden de lectura al mdulo de E/S Emitir orden de lectura al mdulo de E/S CPU DMA Hacer otra cosa

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.

Interrupcin DMA CPU

Siguiente instruccin

58 /62

E/S Programada

E/S Dirigida por interrupciones


Emitir orden de lectura al mdulo de E/S Emitir orden de lectura al mdulo de E/S estado? Listo Emitir orden de lectura al mdulo de E/S Emitir orden de lectura al mdulo de E/S No Hecho? CPU E/S Hacer otra cosa Emitir orden de lectura al mdulo de E/S Emitir orden de lectura al mdulo de E/S

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

CPU DMA Hacer otra cosa

Interpretar E/S CPU

Interpretar DMA CPU

E/S CPU

Siguiente instruccin Condicin de Error Condicin de Error

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

Vous aimerez peut-être aussi