You are on page 1of 73

Soporte para SO

Ingeniera Informtica
Organizacin y Arquitectura de Computadores

Coordinador: Jorge Osio
Docentes:
Andrea Bermudez
Valentin Guarepi
Juan E Salvatores
Introduccin
Ciertas funciones del SO como la planificacin de procesos y
la gestin de memoria solo se pueden realizar
eficientemente si el procesador incluye ciertos elementos
de HW que den soporte al Sistema Operativo
Organizacin y Arquitectura de Computadores 2
Objetivos y Funciones
Conveniencia
Hace a la computadora fcil de usar
Eficiencia
Permite mejor uso de los recursos


3 Organizacin y Arquitectura de Computadores
Niveles y vistas de un Sistema de
cmputo
4 Organizacin y Arquitectura de Computadores
Servicios del Sistema Operativo
Creacin de programas (editores, deputadores)
Ejecucin de Programas (cargar inst y datos en memoria ppal., inicio de I/O y
archivos)
Acceso a dispositivos I/O (inst. Y seales de control)
Acceso controlado a Archivos (dispositivo y formato de archivo)
Acceso al Sistema
Deteccin de Error y respuesta (error de memoria, fallo de disp, overflow)
Gestion de Cuentas(estadsticas de recursos, supervisin de parmetros)
5 Organizacin y Arquitectura de Computadores
S/O como Administrador de
recursos
6 Organizacin y Arquitectura de Computadores
Tipos de Sistemas Operativos
Interactivo (utiliza terminal y teclado)
Batch (Sistema de Colas)
Simple programa (Uni-programacin)
Multi-programacin (Multi-programa)

7 Organizacin y Arquitectura de Computadores
Sistema Batch simple
Programa monitor residente
Usuario asigna el trabajo al operador
El operador pone los trabajos en una cola
El monitor controla secuencias de eventos para los
procesos en cola.
Cuando un trabajo finaliza, el control retorna al monitor que
lee el siguiente trabajo
El monitor maneja la planificacin

8 Organizacin y Arquitectura de Computadores
Batch Simple: Distribucin de
memoria para monitor residente
9 Organizacin y Arquitectura de Computadores
Barch simple: Caractersticas
deseables del HW
Proteccin de memoria
Para proteger el monitor
Temporizacin
Para prevenir que un trabajo monopolice el uso sistema
Instrucciones de privilegio
Solo ejecutadas por el monitor
Por ejemplo. Instrucciones para control de I/O
Interrupciones
Permiten al procesador ceder y recuperar el control de los
programas de usuario.
10 Organizacin y Arquitectura de Computadores
Sistemas Batch
multiprogramados
Dispositivos de I/O muy lentos
Cuando un programa espera por una I/O, otro puede estar
usando la CPU

11 Organizacin y Arquitectura de Computadores
Programa simple
Leer registro 0,0015 seg
Ejecutar 100 instr. 0,0001 seg
Escribir registro 0,0015 seg
TOTAL: 0,0031 seg
% de uso CPU= 1/31 = 3,2%
12 Organizacin y Arquitectura de Computadores
Multiprogramacin con dos
Programas
13 Organizacin y Arquitectura de Computadores
Multiprogramacin con tres
programas
14 Organizacin y Arquitectura de Computadores
Utilizacin
Trab. 1 Trab. 2
Utilizacin del
procesador
20% 40%
Utilizacin de
memoria
33% 67%
Utilizacin de
disco
33% 67%
Utilizacin de
impresora
33% 67%
Tiempo
30min 15 min
Rendim. 6
trab/h
12
trab/h
Tiempo de
respuesta
medio
18min 10 min
Trab. 1 Trab. 2 Trab. 3
Tipo de trab. clculos E/S E/S
Duracin 5 min. 15 min. 10 min
Memoria 50M 100M 80M
Usa disco? no no Si
Usa terminal? No si no
Usa impresora? no no Si
15 Organizacin y Arquitectura de Computadores
Sistemas de tiempo compartido
Permiten al usuario interactuar directamente con al computadora
ej. Interactivo
Permite a multiples usuarios interactuar con la computadora.
El tiempo del procesador se comparte entre varios usuarios
Se basa en la multiprogramacin

Multiprogramacin con colas Tiempo compartido
Objetivo principal Maximizar la utilizacin del
procesador
Minimizar el tiempo de
respuesta
Fuente de Instrucciones
para el sistema operativo
Instrucciones de control de
trabajos que proporciona el
propio trabajo
Ordenes introducidas a
travs del terminal
16 Organizacin y Arquitectura de Computadores
Planificacin
Clave para la multi-programacin
Largo plazo
Medio plazo
Corto plazo
I/O

17 Organizacin y Arquitectura de Computadores
Planificacin a largo plazo
Determina que programas se admiten para ser procesados
en el sistema
ej. Controla el grado de multiprogramacin
Una vez admitido, trabajo pasa a ser un proceso y se agrega
al planificador a corto plazo.


18 Organizacin y Arquitectura de Computadores
Planificacin a medio plazo
Es parte de la funcin de intercambio (se ve luego)
Usualmente basado en la necesidad de realizar
multiprogramacin
En un sistema que no usa memoria virtual, el manejo de
memoria se debe considerar por el planificador.

19 Organizacin y Arquitectura de Computadores
Planificador a corto plazo
Conocido como Distribuidor
Toma la decisin de indicar que trabajo se ejecuta a
continuacin
ej. Que trabajo obtiene el uso del procesador en el prximo
espacio de tiempo
20 Organizacin y Arquitectura de Computadores
Planificacin a corto plazo
Modelo de procesos de 5 estados
21 Organizacin y Arquitectura de Computadores
Bloque de control de proceso
Identificador
Estado
Prioridad
Contador de Programa
Punteros de Memoria
Datos de Contexto
Estado I/O
Informacin de cuentas
22 Organizacin y Arquitectura de Computadores
Ejemplo de planificacin
23 Organizacin y Arquitectura de Computadores
Elementos clave del Sistema
Operativo
24 Organizacin y Arquitectura de Computadores
Planificacin de procesos
25 Organizacin y Arquitectura de Computadores
Gestin de Memoria
Uni-programa
Memoria dividida en dos
Una para Sistema Operativo (monitor)
Otra para los programas a ejecutarse
Multi-programa
La parte de memoria de Usuario se sub-divide para dar
cabida a los procesos activos. Esto se denomina gestin de
memoria.

26 Organizacin y Arquitectura de Computadores
Intercambio (Swapping)
Problema: Las actividades de I/O son mucho ms lentas que
las de ejecucin de CPU.
Frecuentemente en un sistema multi-programacin, la CPU
puede estar detenida mucho tiempo.
Soluciones:
Incrementar la memoria principal
Caro
Sirve para grandes programas
Intercambio
27 Organizacin y Arquitectura de Computadores
Que es Swapping?
Se tiene una cola de procesos a largo plazo almacenada es disco
Las solicitudes se traen a memoria a media que hay espacio
A medida que los procesos terminan se extraen de la memoria principal
Si ninguno de los procesos en memoria est preparado (ej. Todos
esperando por I/O)
Intercambia un proceso bloqueado a la cola intermedia
Intercambia por un proceso preparado o un nuevo proceso
El intercambio es un proceso I/O, lo que implica que se puede empeorar el
problema en lugar de mejorarlo.
28 Organizacin y Arquitectura de Computadores
Uso de Swapping
29 Organizacin y Arquitectura de Computadores
Particionamiento
Separar la memoria en secciones para ubicar los procesos
(Incluyendo el Sistema Operativo)
Particiones de tamao fijo
No necesariamente de igual tamao
Los procesos se agregan en la menor particin que pueda
contenerlos (mejor ajuste)
Siempre se desperdicia memoria
Esto conduce a las particiones de tamao variable
30 Organizacin y Arquitectura de Computadores
Particionamiento fijo
31 Organizacin y Arquitectura de Computadores
Particionamiento de tamao variable
(1)
Provee exactamente la memoria requerida por cada proceso
Esto conduce a un espacio al final de la memoria, demasiado pequeo para
utilizar
Solo un pequeo espacio, mejor aprovechamiento
Cuando todos los procesos estn bloqueados, intercambia un proceso por otro.
El nuevo proceso puede ser menor que proceso intercambiado
Queda otro pequeo espacio
32 Organizacin y Arquitectura de Computadores
Efecto del particionamiento dinmico

33 Organizacin y Arquitectura de Computadores
Particionamiento de tamao variable(2)
Eventualmente con este mtodo se pueden producir muchos espacios
libres (fragmentado)
Soluciones:
Coalisin Une los pequeos espacios para formar espacios ms grandes
Compactado - De vez en cuando el procesador va desplazando los procesos para
obtener un bloque libre (fragmentado de disco)
34 Organizacin y Arquitectura de Computadores
Relocalizacin
No necesariamente un proceso se va a cargar en la misma posicin de
memoria en cada intercambio
Las instrucciones contienen direcciones
Ubicacin de datos
Direcciones para instrucciones
Direcciones lgicas- relaticas al inicio del programa
Direcciones fsicas ubicacin actual en memoria
Se realiza conversin automtica de direccin logica a fsica cada vez que se
ejecuta el proceso.
A la direccin lgica se le suma la direccin de inicio del programa
35 Organizacin y Arquitectura de Computadores
Paginado
Memoria dividida en espacios de igual tamao, pequeos
trozos llamados marcos (frames)
Divisin de programas (processes) en pequeos trozos -
paginas
Asignar el nmero necesario de marcos de pgina para un
proceso
El sistema operativo mantiene la lista de los frames libres
Un proceso no requiere frames continuos
Utiliza la tabla de pginas para realizar el seguimiento
36 Organizacin y Arquitectura de Computadores
Ubicacin libre de frames
37 Organizacin y Arquitectura de Computadores
Direccionamiento lgico y Fsico -
Paginado
38 Organizacin y Arquitectura de Computadores
Memoria Virtual
Paginado por demanda
No requiere todas las pginas de un proceso en memoria
Trae las pginas cuando sea necesario
Fallo de pgina
Se requieren pginas que no estn en memoria
El sistema operativo debe cargar la pgina requerida
Tal vez requiera intercambiar una pgina para hacer espacio
Selecciona la pgina a retirar en base al historial reciente
39 Organizacin y Arquitectura de Computadores
Hiperpaginacin
Supongamos unos pocos procesos en una pequea memoria
Se intercambian pginas que se van a utilizar prximamente
El sistema Operativo pasa la mayor parte del tiempo intercambiando pginas

Soluciones
Algoritmo de remplazo de pgina eficiente
Reducir el nmero de procesos en ejecucin
Colocar ms memoria
40 Organizacin y Arquitectura de Computadores
Memoria virtual - Resumiendo

No se requiere un proceso completo en memoria para ejecutarlo
Se pueden intercambiar las pginas requeridas
Entonces, se pueden ejecutar procesos ms grandes que la memoria
principal disponible!
La memoria principal se denomina memoria real
De esta manera, el programador ve la memoria de muchos mayor tamao
memoria virtual (en disco)
41 Organizacin y Arquitectura de Computadores
Mdulo de E/S
Organizacin y Arquitectura de Computadores
Ingeniera Informtica
Docentes:
Coordinador: Ing. Jorge Osio
Profesora: Mg. Ing. Andrea Bermudez
Profesor: Ing. Juan E. Salvatore
Profesor: Ing. Valentin Guarepi

Descripcin de la unidad de Entrada/Salida

Permiten la comunicacin del sistema Microprocesador con otros
dispositivos.
Los dispositivos de E/S se denominan habitualmente perifricos,
por ejemplo, teclados, displays, unidades de Memoria, etc.
Cualquier perifrico necesita un mdulo adicional que permite
realizar la conexin del mismo con los buses del sistema
Microprocesador, este mdulo se denomina interfaz:


Organizacin y Arquitectura de Computadores 43
Input/Output Module
Interfaz a CPU y Memoria
Interfaz a uno o ms perifricos
44 Organizacin y Arquitectura de Computadores
Funciones del mdulo I/O
Control & temporizacin
Comunicacin con CPU
Comunicacin con Dispositivo
Bufering de datos
Error de Deteccin

45 Organizacin y Arquitectura de Computadores
Pasos I/O
Verificacin del estado de los dispositivos del mdulo I/O
Retorno de estados del mdulo I/O
Si est listo, la CPU solicita transferencia de datos.
El mdulo I/O obtiene los datos desde el dispositivo
El mdulo I/O transfiere datos a la CPU
Variaciones para Salidas, DMA, etc.
46 Organizacin y Arquitectura de Computadores
Diagrama del mdulo I/O
47 Organizacin y Arquitectura de Computadores
Tcnicas de Entrada/Salida

Existen varios mtodos para manejar los dispositivos de E/S:
1.- Mediante instrucciones especficas de E/S (programada), que se emplean en el
programa de control para acceder al perifrico.
2.- Mediante Acceso Directo a Memoria (DMA). La CPU pone en los buses de
direcciones y de datos en triestado. Un dispositivo controlador de DMA toma el
control de los buses y pasa los datos directamente entre el dispositivo E/S y la
memoria.
3.- Mediante Tcnicas de Interrupcin. El perifrico activa las lneas de interrupcin de
la CPU, las cuales que detienen el programa en ejecucin y trasladan el contador de
programa a la direccin de inicio de la subrutina de interrupcin, creada
especialmente para atender al perifrico que solicita la interrupcin.
4.- Mediante el tratamiento de las E/S como posiciones de memoria. Permite el empleo
de las mismas instrucciones para acceso a memoria que para E/S. Una zona del
mapa de memoria es reservada para los dispositivos de E/S. Estas posiciones se
llaman Puertos de E/S.

Organizacin y Arquitectura de Computadores 48
Tres tcnicas para Entrada
de bloque de datos
49 Organizacin y Arquitectura de Computadores
I/O Programada
CPU tiene control directo sobre la I/O
Sensado de estados
Comandos de lectura/escritura
Transferencia de Datos
CPU espera por el mdulo I/O para completar la operacin
Prdida de tiempo de CPU
50 Organizacin y Arquitectura de Computadores
I/O Programada - detalles
La CPU solicita operaciones I/O
El Mdulo I/O realiza operaciones
El Mdulo I/O setea bits de estados
La CPU verifica los bits de estados periodicamente
El Mdulo I/O no informa a la CPU directamente
El Mdulo I/O no interrumpe la CPU
La CPU espera o vuelve ms tarde
51 Organizacin y Arquitectura de Computadores
Comandos I/O
La CPU emite direcciones
- Identifica mdulos (&dispositivo si >1 por mdulo)
La CPU emite commandos
Control dice al mdulo que hacer
- ej. spin up disco
Test chequea estados
- ej. potencia?, Error?
Lectura/Escritura
- El mdulo transfiere datos por medio de un bufer
desde/hacia el dispositivo

52 Organizacin y Arquitectura de Computadores
Direccionamiento de dispositivos I/O
Bajo la I/O programada, en la transferencia de datos es muy
sencillo el acceso a memoria (punto de vista de la CPU)
Cada dispositivo tiene un nico identificador
Los comandos de CPU contienen un identificador (direccin)
53 Organizacin y Arquitectura de Computadores
Mapeo I/O
Memoria mapeada a I/O
Los dispositivos y la memoria comparten un espacio de direcciones
La I/O luce como una memoria de lectura / escritura
No tiene comandos especiales para I/O
Gran cantidad de comandos de acceso a memoria disponibles
I/O Aislada
Espacios de direcciones separados
Necesita lneas de seleccin de I/O o de memoria
Comandos especiales para I/O
Conjunto limitado
54 Organizacin y Arquitectura de Computadores
Memoria Mapeada a I/O e I/O aislada
55 Organizacin y Arquitectura de Computadores
Manejo de interrupciones de I/O
La CPU evita estar esperando
La CPU no requiere chequeo de dispositivos reiterados
El mdulo I/O interrumpe cuando est listo
56 Organizacin y Arquitectura de Computadores
Manejo de Interrupciones I/O
Operaciones Bsicas
La CPU emite comando de lectura
El Mdulo I/O obtiene datos desde perifricos mientras la CPU hace otro
trabajo
El mdulo I/O interrupte la CPU
La CPU requiere datos
El mdulo I/O transfiere datos

57 Organizacin y Arquitectura de Computadores
Simple
Procesamiento de
Interrupcin
58 Organizacin y Arquitectura de Computadores
Punto de vista de la CPU
Emite comados de lectura
Hace otro trabajo
Cheqea por interrupciones hasta finalizar cada ciclo de
interrupcin
Si ha sido interrupida:-
Guarda el contexto (registros)
Proceso de interrupcin
Bsqueda y almacenamiento de datos
59 Organizacin y Arquitectura de Computadores
Cambios en memoria y Registros por
una interrupcin
60 Organizacin y Arquitectura de Computadores
Identificando el mdulo de
interrucin (1)
Lineas diferentes para cada mdulo
PC
Nmero de dispositivos limitados
Verificacin por Software
La CPU pregunta a cada mdulo en orden
Resulta lento

61 Organizacin y Arquitectura de Computadores
Identificando el mdulo de
interrucin (2)
Daisy Chain or verificacin por Hardware
La Interrupcin enva una seal en bajo por la lnea
El mdulo responsable ubica el vector en el bus
La CPU usa un vector para identificar la rutina de manejo
Bus Master
El mdulo debe solicitar el acceso al bus antes de poner en alto la interrupcin
Ej. PCI y SCSI
62 Organizacin y Arquitectura de Computadores
Sequencia de Eventos
8259A acepta interrupciones
8259A determina prioridad
El 8259A envia seales a 8086 (flancos en la lnea INTR )
La CPU enva una confirmacin
El 8259A pone el vector correcto en el bus de datos
La CPU procesa interrupciones

63 Organizacin y Arquitectura de Computadores
Sistema de interrupciones de Bus
ISA
Bus ISA, tiene 2 8259As juntos en cadena
La conexin es va la interrupcin 2
ofrece 15 lineas
16 lineas menos una por conexin
IRQ 9 se usa para rerutear cualquier intento de uso del IRQ 2
Compatibilidad hacia atrs
Incorporado en el chip set
64 Organizacin y Arquitectura de Computadores
Controlador de
interrupcin 82C59A
65 Organizacin y Arquitectura de Computadores
Interfaz de perifricos programable
Intel 82C55A
66 Organizacin y Arquitectura de Computadores
Interfaz Teclado/Display al 82C55A
67 Organizacin y Arquitectura de Computadores
Acceso Directo a Memoria
El manejo de Interrupciones I/O y la I/O programada requiere intervencin
activa de la CPU.
La tasa de transferencia es limitada
CPU is tied up
DMA es la respuesta
68 Organizacin y Arquitectura de Computadores
Funcin DMA
Mdulo Adicional (hardware) sobre el bus
El controlador DMA toma posecin desde el CPU al I/O

69 Organizacin y Arquitectura de Computadores
Diagrama del mdulo Dma tpico
70 Organizacin y Arquitectura de Computadores
Operacin DMA
La CPU dice al controlador DMA :-
Lectura/escritura
Direccin de dispositivo
Inicio de la direccin de memoria del bloque de datos
Cantidad de datos a ser transferidos
La CPU continua haciendo otras tareas
El controlador DMA comienza las transferencias
El controlador DMA enva una interrupcin cuando termina
71 Organizacin y Arquitectura de Computadores
Apropiacin de Ciclo de transferencia
DMA
El controlador DMA toma el bus por un ciclo
Transferencia de una palabra de datos
No una interrupcin
La CPU no cambia de contexto
La CPU suspende antes el acceso al bus
ej. Antes de la bsqueda de un operando o dato o la escritura de un dato
Ralentiza la CPU pero no tanto como cuando la CPU hace la transferencia
72 Organizacin y Arquitectura de Computadores
Bibliografa
Stallings captulo 8
Stallings, W. [2004] Sistemas Operativos, Pearson
73 Organizacin y Arquitectura de Computadores

You might also like