administracion de entrada, salida y procesos

27
ADMINISTRACIÓN DE ENTRADA / SALIDA Y PROCESOS Unidad II

Transcript of administracion de entrada, salida y procesos

Page 1: administracion de entrada, salida y procesos

ADMINISTRACIÓN DE ENTRADA / SALIDA Y PROCESOS

Unidad II

Page 2: administracion de entrada, salida y procesos

ENTRADA / SALIDA

AD

MIN

ISTRA

CIÓ

N

DE

Page 3: administracion de entrada, salida y procesos

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.

Page 4: administracion de entrada, salida y procesos

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

Page 5: administracion de entrada, salida y procesos

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.

Page 6: administracion de entrada, salida y procesos

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.

Page 7: administracion de entrada, salida y procesos

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.

Page 8: administracion de entrada, salida y procesos

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.

Page 9: administracion de entrada, salida y procesos

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.

Page 10: administracion de entrada, salida y procesos

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.

Page 11: administracion de entrada, salida y procesos

PROCESOS

AD

MIN

ISTRA

CIÓ

N

DE

Page 12: administracion de entrada, salida y procesos

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.

Page 13: administracion de entrada, salida y procesos

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

Page 14: administracion de entrada, salida y procesos

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

Page 15: administracion de entrada, salida y procesos

Procesamiento

Entrada/salida

Listo

SO

Tiempo

Proceso A

Proceso B

Proceso C

Procesador

Proceso Nulo

Page 16: administracion de entrada, salida y procesos

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.

Page 17: administracion de entrada, salida y procesos

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.

Page 18: administracion de entrada, salida y procesos

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.

Page 19: administracion de entrada, salida y procesos

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

Page 20: administracion de entrada, salida y procesos

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

Page 21: administracion de entrada, salida y procesos

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

Page 22: administracion de entrada, salida y procesos

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

Page 23: administracion de entrada, salida y procesos

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

Page 24: administracion de entrada, salida y procesos

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.

Page 25: administracion de entrada, salida y procesos

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

Page 26: administracion de entrada, salida y procesos

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.

Page 27: administracion de entrada, salida y procesos

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)