3. 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.
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.
4. 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
5. • 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.
6. 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.
7. El 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.
8. 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.
Lectura
El 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.
Escritura
El 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.
9. 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.
10. 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.
11.
12. 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
Programa en ejecución. Unidad de procesamiento gestionada por el SO
Proc. Inic.
Inicio Inicio
ShellShell
Editor
Dem. Impr. Dem. Com..
Proceso A
Proceso B Proceso D Proceso C
Proceso E Proceso F
InicioInicio
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.
13. 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)
Monotarea
Monousuario
Multitarea
Monousuario
--------
Multitarea
Multiusuario
Tareas
Usuarios 1
1
∞
∞
14. La multitarea se basa en las siguientes
características:
Procesamiento
Entrada/salida
Tiempo
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 procesos
Memoria principal
16. 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
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.
17. Ejecución.
• En este estado
sólo está el
proceso que
está siendo
ejecutado. El
estado del
proceso reside
en los
registros del
procesador.
Bloqueado.
• 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.
Listo.
• 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.
18. 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.
20. 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.
21. 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
22. En la planificación de procesos se suelen incluir varios niveles, en
función del periodo temporal que cubren.
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
24. 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ón
Un 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.
25. 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.
26. 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.
27. 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)