ADMINISTRACIÓN DE ENTRADA / SALIDA Y PROCESOS
Unidad II
ENTRADA / SALIDA
AD
MIN
ISTRA
CIÓ
N
DE
Es la parte del S.O. encargada de la administración de los dispositivos de E/S. Comprende tanto la transferencia entre diversos niveles de la memoria como la
comunicación con los periféricos.
Administración de Entrada / Salida
El SO debe controlar el funcionamiento de todos los dispositivos de E/S para alcanzar los siguientes objetivos:
Facilitar el manejo de los dispositivos periféricos. Para ello debe ofrecer una interfaz entre los dispositivos y el resto del sistema que sea sencilla y fácil de utilizar.
Optimizar la E/S del sistema, proporcionando mecanismos de incremento de prestaciones donde sea necesario.
Proporcionar dispositivos virtuales que permitan conectar cualquier tipo de dispositivos físicos sin que sea necesario remodelar el sistema de E/S del SO.
Permitir la conexión de dispositivos nuevos de E/S, solventando de forma automática su instalación usando mecanismos del tipo plug & play.
DISPOSITIVOS DE INTERFAZ DE USUARIO•Se llama así a los dispositivos que permiten la comunicación entre los usuarios y la computadora. Dentro de este grupo se incluyen todos los dispositivos que sirven para proporcionar interfaz con el usuario, tanto para entrada (ratón, teclado, etc.) como para salida (impresoras, pantalla, etc.).
DISPOSITIVOS DE ALMACENAMIENTO•Se usan para proporcionar almacenamiento no volátil de datos y memoria. Su función primordial es abastecer de datos y almacenamiento a los programas que se ejecutan en la CPU
DISPOSITIVOS DE COMUNICACIONES•Permiten conectar a la computadora con otras computadoras a través de una red. Los dos tipos de dispositivos más importantes de esta clase son los módem, para comunicación vía red telefónica, y las tarjetas de interfaz a la red, para conectar la computadora
DISPOSITIVOS DE E/S
Problemas entre el Sistema Operativo y los Dispositivos.
•Cada dispositivo tiene diferentes funciones.
•Los dispositivos depende de núcleo de sistema operativo.
•Existen diferentes velocidades entre los dispositivos tanto como de entrada, salida y bloque.
•El sistema operativo trata de buscar la mejor manera de realizar la función de entrada y salida.
Manejadores de Dispositivos (Device
Drivers)
Las unidades de E/S tienen una parte mecánica que es el propio dispositivo y otra electrónica que
se llama controlador del dispositivo y actúa como
intermediario.
Un controlador de dispositivo (driver) es un programa
informático que permite al sistema operativo interactuar con un
periférico.
El controlador convierte el flujo de bits en serie transmitidos desde un dispositivo en un bloque de bytes para la CPU y realizar las correcciones de los errores que
se puedan cometer en la transmisión.
El controlador dispone de tres capas funcionales: La interfaz del bus, el controlador y la interfaz del
dispositivo.
PUERTOS DE E/SEl controlador contiene una serie de registros llamados puertos de entrada/salida. Estos registros son accesibles pueden ser leídos y modificados mediante la ejecución de instrucciones máquina.
Registros de estado
Registros de ordenes
Buffer
• Indica la situación actual del dispositivo (ocupado o desocupado).
• En este registro se escribe la operación de E/S que se desea que realice el dispositivo.
• Un buffer es un almacén de información. El buffer del controlador se utiliza para guardar temporalmente los datos implicados en una operación de E/S.
OPERACIONES DE ENTRADA/SALIDA
Tanto en la E/S programada como la basada en interrupciones, la CPU debe encargarse de la transferencia de datos una vez que sabe que hay datos disponibles en el controlador.
LecturaEl canal transfiere a memoria principal un bloque de palabras de tamaño
especificado, en orden ascendente de direcciones, empezando en la dirección especificada en el campo dirección del dato.
EscrituraEl canal transfiere datos de memoria principal al dispositivo. Las
palabras se transfieren en el mismo orden que en la operación de lectura.
Control Se utiliza esta orden para enviar instrucciones específicas al dispositivo
de E/S, como rebobinar una cinta magnética, entre otros.
Bifurcación Cumple en el programa de canal la misma función que una instrucción
de salto en un programa normal.
ACCESO DIRECTO A MEMORIA (DMA)
Este dispositivo permite la transferencia directa de información entre la memoria y los periféricos o viceversa, sin requerir intervención alguna por parte del procesador.
DMA
Registro: almacena la dirección de memoria desde donde se
produce la transferencia.
Registro contador: guarda la longitud de bloque a transferir.
Bits: indica si la operación es de lectura o escritura.
Bloque de control: controla el funcionamiento del sistema.
Existen 3 tipos de transferencia para el máximo aprovechamiento del bus:
Por ráfagas: el DMA toma el control del bus y no lo suelta hasta terminar la transferencia.
Por robo de ciclo: el DMA toma el bus durante un ciclo enviando una palabra cada vez.
Transparente: se aprovechan los ciclos en que el procesador no usa el bus.
PROCESOS
AD
MIN
ISTRA
CIÓ
N
DE
El SO mantiene para cada proceso una serie de estructuras de información que permiten identificar sus características y los recursos asignados. Una parte básica de esta información se encuentra en el BCP (bloque de control de proceso). El SO mantiene una tabla con los BCPs de todos los procesos
ProcesoPrograma en ejecución. Unidad de procesamiento gestionada por el SO
P ro c . In ic .
In ic io In ic io
ShellSh ell
E d ito r
D em . Im pr. D em . C om ..
P ro c e so A
P ro c e so B P ro c e so D P ro c e so C
P ro c e so E P ro c e so F
In ic ioIn ic io
Para referirse a las relaciones entre
procesos se emplean los términos padre,
hijo, hermano, entre otros. Cuando un
proceso A solicita al SO la creación de un nuevo proceso (B),
se dice que A es padre de B y que B
es hijo de A.
Multitarea
Dependiendo del número de procesos y usuarios que pueden ejecutar simultáneamente, un SO puede ser:
Monotarea: sólo un
proceso en cada
instante
Monousuario
Multitarea
Multiusuario (tiempo compartido)
MonotareaMonousuario
MultitareaMonousuario
-------- MultitareaMultiusuario
Tareas
Usu
ario
s 1
1
∞
∞
La multitarea se basa en las siguientes características:
Base de la multitarea
Procesamiento
Entrada/salidaTiempo
Cuando un proceso realiza una operación de E/S se pasa a ejecutar otro
Paralelismo real entre operaciones de E/S y uso del procesador
Aprovechar las fases de realización de operaciones de E/S de unos procesos para ejecutar otros
Alternancia en los procesos en fases de E/S y procesamiento
Capaz de almacenar varios procesosMemoria principal
Procesamiento
Entrada/salida
Listo
SO
Tiempo
Proceso A
Proceso B
Proceso C
Procesador
Proceso Nulo
Un proceso puede encontrarse en diferentes situaciones, que cambian a medida que se modifican sus necesidades. Los estados básicos en que pueden encontrarse un proceso son: listo, ejecución y bloqueado
Estado de los procesos
Planificador (scheduler). Forma parte del núcleo del SO. Entra en ejecución cada vez que se activa el SO y tiene por misión seleccionar el proceso que se ejecutará a continuación.
Activador (dispatcher). También forma parte del SO y se encarga de poner en ejecución el proceso seleccionado por el planificador.
Ejecució
n.
• En este estado sólo está el proceso que está siendo ejecutado. El estado del proceso reside en los registros del procesador.
Bloquead
o.
• A la espera de que ocurra un evento. Situación típica: un proceso solicita una operación de E/S. Hasta que no finalice la operación el proceso queda bloqueado. El estado del proceso reside en su BCP. Li
sto.
• Puede entrar en ejecución en cuanto lo considere oportuno el planificador (módulo del SO que decide qué proceso pasará a ejecutarse). El estado del proceso reside en su BCP.
Además de los estados básicos también pueden estar:
Suspendido.
• Para disminuir el grado de multiprogramación efectivo el SO
puede retirar a un proceso sus marcos de página, alojándolo en la zona de intercambio (usualmente
disco). El objetivo de esta operación es dejar suficiente memoria para los procesos no suspendidos, de forma
que el conjunto residente no provoque hiperpaginación
En espera.
• Los procesos entran en el sistema porque lo solicita otro proceso o al estar prevista su ejecución batch. Es usual disponer de una lista de procesos batch en espera, para ser ejecutados en cuanto se pueda. El SO analiza dicha lista y lanza la ejecución de los procesos a medida que dispone de los recursos necesarios.
Ejecución
Listo ysuspendido
Listo
Bloqueado ysuspendido
BloqueadoFin E/S
Exit
Fin E/S
Exp
ulsa
do a
l dis
co
Exp
ulsa
do a
l dis
co
Rec
uper
ado
del d
isco
E n tra a ls is tem a
Mem
oria
Procesos por lotesen espera
Zona
de
inte
rcam
bio
Facilita la programación.•Las aplicaciones pueden organizarse en varios procesos, beneficiando así la modularidad.
Prestar buen servicio•Al poder atender a varios usuarios de forma eficiente, interactiva y simultánea.
Aprovechar los tiempos muertos•Que los procesos pasan esperando la conclusión de operaciones de E/S.
Aumentar el uso de la CPU•Al aprovechar los tiempos de bloqueo de unos procesos en la ejecución de otros.
Ventajas de la
multitarea
Objetivos
Planificación
Reparto equitativo del tiempo de procesador
Eficiencia
Menor tiempo de respuesta en uso interactivo
Menor tiempo de espera en lotes
Mayor número de trabajos por unidad de tiempo
Cumplir plazos de ejecución de los sistemas de tiempo real
Planificador: módulo del SO encargado de esta tarea. Selecciona el proceso en estado “listo” que pasará a ejecutar.
Activador: módulo del SO que pone en ejecución el proceso seleccionado por el planificador
En la planificación de procesos se suelen incluir varios niveles, en función del periodo temporal que cubren.
Tipos de planificación
Largo plazo. • Se toman procesos de la lista de espera. Se trata de procesos de tipo batch,
en los que no importa el momento final en que se ejecuten (dentro de ciertos límites)
Medio plazo. • Trata la suspensión de procesos, añadiendo procesos o eliminando procesos
de MP (quitando o pasando al estado suspendido)
Corto plazo. • Qué proceso será el que se ejecutará en el procesador en el instante siguiente
Ejecución
Listo ysuspendido
Listo
Bloqueado ysuspendido
BloqueadoFin E/S
Exit
Entra alsistema
Planificación a corto plazo
Planificación a medio plazo
Planificación alargo plazo
Mem
oria
Sw
ap
Procesos Batchen espera
Expulsión denota si un proceso acapara el procesador cuando está ejecutándose. Existen sistemas con y sin expulsión:
Para realizar las tareas de planificación el SO organiza los procesos en estructuras de información que faciliten la búsqueda de la información de los procesos. Generalmente se organizan mediante colas de prioridad y de tipo.
Sin expulsiónUn proceso conserva el uso del
procesador mientras lo desee; es decir, mientras no solicite del SO un servicio
que lo bloquee.
Ventajas: minimiza tiempo de planificación.
Inconvenientes: un proceso podría monopolizar el uso del procesador.
Con expulsión
El SO puede desalojar a un proceso del uso del procesador (sin que el proceso
lo haya solicitado).
Ventaja: control sobre el tiempo de ejecución de cada proceso.
Inconveniente: gasto de tiempo.
A) Planificación cíclica (Roud-Robin). - Objetivo básico: reparto equitativo de tiempo del procesador- Espacialmente indicado para sistemas de tiempo compartido- Basado en el concepto de rodaja (slot) de tiempo- Los procesos se organizan en forma de cola circular: para la
ejecución de elige el proceso que ocupa la cabeza de la cola
Un proceso permanece en ejecución hasta que pasa a bloqueado (al solicitar un servicio al SO) o consume su rodaja de tiempo (es decir, lleva ejecutando el tiempo indicado por la rodaja). Un proceso que ha consumido su rodaja pasa al final de la cola circular. REPARTO EQUITATIVO.
Algoritmos de planificación
B) FIFO (first in, first out). Procesos ordenados en función al instante en que pasan al estado listo. Los que llevan más tiempo estarán más cerca de la cabeza (y más próximos a ser elegidos). No hay expulsión: el proceso ejecuta hasta realizar una llamada bloqueante al SO. Aplicable a sistemas batch.
C) Prioridades. Pasa a ejecución el proceso de mayor prioridad. Si las prioridades son fijas, peligro de inanición. Un proceso esperando indefinidamente, ya que siempre llegan procesos con más prioridad que él. Se suele añadir algún mecanismo de envejecimiento: aumenta la prioridad de los procesos que llevan más tiempo esperando. Ya que puede haber varios procesos de igual prioridad esperando a ser elegidos, se necesita algún mecanismo para resolver los empares: cíclico (sistemas interactivos, FIFO (batch). Suelen utilizar la expulsión.
D) Prioridad al trabajo más corto.Exige conocer a priori el tiempo de ejecución de los procesos. aplicable a procesos batch repetitivos con comportamiento analizado. No hay expulsión. El trabajo seleccionado continúa ejecutándose mientras pueda; así se mejora el tiempo de respuesta. Problema: aumenta el tiempo necesario para los procesos de mayor tiempo de ejecución. También puede producirse inanición (siempre llegan trabajos más cortos….)
E) Aleatorio o lotería. Selección al azar.
F) Planificación de sistemas de tiempo real.Los procesos tienen que ejecutar en instantes predeterminados. Dos tipos de procesos de tiempo real: a plazo fijo (ejecutan una vez, en cierto instante) y periódicos (ejecución repetitiva cada cierto tiempo)
Top Related