Вы находитесь на странице: 1из 44

SISTEMAS OPERATIVOS II

CAPTULO I: SISTEMAS DE E/S


Sistemas de E/S

Captulo I: Sistemas de E/S

Generalidades

Las dos tareas de un computador son E/S y procesamiento El papel del SO en la E/S es administrar y controlar las operaciones y los dispositivos El control de los dispositivos conectados al computador es una preocupacin de los diseadores de sistemas operativos Se requieren diversos mtodos para controlarlos subsistema de E/S Subsistema de E/S aisla el resto del ncleo de la complejidad de administrar los dispositivos Algunos dispositivos nuevos son tan distintos de los anteriores que es un reto incorporarlos Controladores de dispositivos o drivers (software)

Captulo I: Sistemas de E/S

Hardware de E/S

Los computadores operan dispositivos: almacenamiento, transmisin, comunicacin con personas Un dispositivo se comunica con un sistema de computacin enviando seales Un dispositivo se comunica con la mquina a travs de un puerto Varios dispositivos pueden usar un conjunto de alambres y un protocolo, la conexin se llama bus Un controlador es una coleccin de circuitos electrnicos que pueden operar un puerto, bus o dispositivo Cmo el procesador envan rdenes y datos a un controlador?

Utilizando instrucciones de E/S especiales La instruccin activa las lneas de bus para que seleccionen el dispositivo apropiado y transfieran los bits correspondientes

Un puerto de E/S consiste en cuatro registros: estado, control, entrada de datos, salida de datos

Captulo I: Sistemas de E/S

Escrutinio (Polling)
Protocolo completo para la interaccin entre el anfitrin y un controlador Nocin bsica de saludo Ejemplo de saludo: productor-consumidor La operacin de escrutinio bsica es eficiente, pero se vuelve ineficiente si se intenta repetidamente y casi nunca encuentra que un dispositivo est listo para ser atendido mientras hay otras tareas de procesamiento que la CPU debe realizar.

Captulo I: Sistemas de E/S

Interrupciones

El hardware de la CPU tiene un alambre llamado lnea de solicitud de interrupcin (IRQ) que la CPU detecta despus de ejecutar cada instruccin Salta a la rutina de manejador de interrupcin en una direccin fija de la memoria Se necesitan funciones de manejo de interrupciones

1. capacidad para postergar el manejo de interrupciones ms avanzadas 2. se necesita una forma eficiente de despachar al manejador de interrupcin apropiado para un dispositivo sin tener que escrutar 3. se necesitan interrupciones de mltiples niveles Interrupcin no enmascarable reservada para sucesos importantes Interrupcin enmascarable puede ser desactivada

Existen dos lneas de solicitud de interrupcin


Vector de interrupciones Mecanismo de interrupciones tambin maneja excepciones o trampas La trampa recibe una prioridad relativamente baja en comparacin con las de los dispositivos

Captulo I: Sistemas de E/S

Acceso directo a la memoria


Cuando un dispositivo realiza grandes transferencias sera un desperdicio utilizar un procesador Se implementa un controlador de acceso directo a la memoria Transferencia de DMA El saludo entre controlador de DMA y el controlador del dispositivo se realiza a travs de un par de alambres llamados solicitud de DMA y reconocimiento de DMA Existe DMA a nivel fsico y a nivel virtual

Captulo I: Sistemas de E/S

Interfaz de E/S de las aplicaciones


Interfaces que permiten tratar los dispositivos de E/S de una forma uniforme y estandarizada Se puede eliminar por abstraccin las diferencias detalladas de los dispositivos de E/S identificando unas cuantas clases generales Las diferencias reales se encapsulan en mdulos del ncleo llamados controladores de dispositivo que internamente se adaptan a cada dispositivo pero que exportan una de las interfaces estndar El propsito de driver es ocultar las diferencias entre los controladores de dispositivos de modo que el subsistema de E/S del ncleo no las perciba. Hacer al subsistema de E/S independiente del hardware simplifica la tarea del creador de sistemas operativos. Ellos disean nuevos dispositivos de modo que sean compatibles con una interfaz anfitrin-controlador existente o bien escriben drivers para establecer una interfaz entre el nuevo hardware y los sistemas operativos. As es posible conectar nuevos perifricos sin esperar a que el proveedor de S.O. desarrolle cdigo de soporte.

Captulo I: Sistemas de E/S

Interfaz de E/S de las aplicaciones


Los

dispositivos varan en muchas dimensiones:

Flujo

de caracteres o bloques Acceso secuencial o aleatorio Sincrnico o asincrnico Compartible o dedicado Velocidad de operacin Lectura-escritura, slo lectura o slo escritura

Captulo I: Sistemas de E/S

Interfaz de E/S de las aplicaciones

Dispositivos por bloques y por caracteres


Existen dispositivos orientados a bloques como unidades de disco El dispositivo debe entender rdenes como leer y escribir, buscar o posicionarse Existen dispositivos a los que se accede a travs de una interfaz de flujo de caracteres Las llamadas al sistema bsicas permiten a una aplicacin obtener (get) o colocar (put) un carcter.

Captulo I: Sistemas de E/S

Interfaz de E/S de las aplicaciones

Dispositivos de red

La E/S de red difiere de la E/S de disco Una interfaz con la que cuentan es sockets de red Las llamadas al sistema permiten crear un socket, conectar un socket, detectar si una aplicacin remota se conecta al socket local, enviar y recibir paquetes La mayor parte de computadores cuentan con relojes y temporizadores que realizan funciones como dar la hora, dar el tiempo transcurrido, establecer un temporizador para iniciar una operacin X El planificador utiliza este mecanismo para generar una interrupcin que desaloje un proceso al trmino de su tiempo

Relojes y temporizadores

Captulo I: Sistemas de E/S

Interfaz de E/S de las aplicaciones

E/S bloqueadora y no bloqueadora


Cuando una aplicacin utiliza una llamada al sistema bloqueadora, la ejecucin de la aplicacin se suspende Las acciones fsicas que los dispositivos de E/S realizan generalmente son asincrnicas (no bloqueadora) No obstante los sistemas operativos usan llamadas al sistema bloqueadoras para la interfaz con las aplicaciones Una alternativa para una llamada al sistema no bloqueadora es una llamada al sistema asincrnica. Una llamada asincrnica regresa de inmediato sin esperar que termine la E/S

Captulo I: Sistemas de E/S

Subsistema de E/S del ncleo


Los

ncleos ofrecen relacionados con la E/S


Planificacin

muchos

servicios

de E/S Uso de buffers Uso de cachs Uso de spool y reservacin de dispositivos Manejo de errores Estructuras de datos del ncleo

Captulo I: Sistemas de E/S

Subsistema de E/S del ncleo


Planificacin
Planificar

de E/S

un conjunto de solicitudes de E/S significa determinar un buen orden de ejecucin de ellas El orden en que las aplicaciones emiten llamadas al sistema casi nunca es la mejor opcin La planificacin puede mejorar el desempeo global del sistema, repartir equitativamente el acceso entre los procesos y reducir el tiempo de espera promedio de las operaciones de E/S

Captulo I: Sistemas de E/S

Subsistema de E/S del ncleo

Uso de buffers

Buffer rea de memoria en la que se almacenan datos mientras se transfieren entre dos dispositivos o entre un dispositivo y una aplicacin Se utilizan por tres razones:

Diferencia de velocidad entre productor y consumidor Diferentes tamaos de transferencia Semntica de copiado de E/S de aplicaciones

Uso de cachs

Cach regin de memoria rpida que contiene copias de datos La diferencia entre un buffer y un cach es que un buffer podra contener la nica copia existente de un elemento de informacin, mientras que un cach slo contiene una copia en almacenamiento ms rpido de un elemento que existe en otro lado.

Captulo I: Sistemas de E/S

Subsistema de E/S del ncleo

Uso de spool y reservacin de dispositivos

Spool buffer que contiene salidas para un dispositivo como una impresora que no puede aceptar corrientes de datos intercaladas En algunos sistemas operativos existe un proceso demonio que se encarga del spool, en otros hay un hilo del ncleo que lo hace. Algunos dispositivos no pueden multiplexar de manera til las solicitudes de E/S de varias aplicaciones concurrentes. El uso de spool es una forma en que se pueden coordinar salidas concurrentes.

Captulo I: Sistemas de E/S

Subsistema de E/S del ncleo

Manejo de errores

Un S.O puede emplear memoria protegida para evitar errores y un problema mecnico no cause fallo total del sistema Los dispositivos y transferencias de E/S pueden fallar de diversas maneras, los S.O. pueden compensar los fallos transitorios El S.O. necesita mantener informacin de estado acerca del uso de componentes de E/S Diversas estructuras: tabla de archivos abiertos, seguir la pista a las conexiones de red, comunicaciones con dispositivos de caracteres y bloques

Estructuras de datos del ncleo

Captulo I: Sistemas de E/S

Transformacin de solicitudes de E/S en operaciones de hardware


Ejemplo

de leer un archivo de un disco

Captulo I: Sistemas de E/S

Desempeo

La E/S es un factor importante para el desempeo de un sistema Obliga a la CPU a ejecutar cdigo de controladores de dispositivos y planificar procesos de manera equitativa y eficiente a medida que se bloquean y desbloquean El trfico de red tambin puede causar una frecuencia de conmutaciones de contexto elevada Se pueden aplicar varios principios:

Reducir nmero de veces que hay que copiar datos en la memoria Reducir la frecuencia de interrupciones realizando transferencias grandes Emplear controladores que manejen DMA Reducir nmero de conmutaciones de contexto Hardware del dispositivo Driver del dispositivo Software de aplicacin

Dnde debe implementarse la funcionalidad de E/S?


CAPTULO I: SISTEMAS DE E/S


Estructura del Almacenamiento Secundario

Captulo I: Estructura del Almacenamiento Secundario


Estudiar el nivel ms bajo del sistema de archivos: la estructura del almacenamiento secundario Estructura de discos

Los discos constituyen el grueso del almacenamiento secundario Las unidades de disco se direccionan como grandes arreglos unidimensionales de bloques lgicos Bloques lgicos unidades de transferencia ms pequeas, el tamao suele ser 512 bytes, con formato de bajo nivel se puede escoger otro tamao El arreglo unidimensional de bloques lgicos se hace corresponder secuencialmente con los sectores del disco. El sector 0 es el primer sector de la primera pista del cilindro mas exterior Utilizando esta correspondencia es posible convertir un nmero de bloque lgico en una direccin de disco. En la prctica es difcil porque pueden existir sectores defectuosos y el nmero de sectores por pista no es constante

Captulo I: Estructura del Almacenamiento Secundario

Planificacin de discos
Una de las obligaciones del S.O. es usar el hardware de forma eficiente. El tiempo de acceso tiene dos componentes principales:

Tiempo de bsqueda Latencia rotacional

Cada vez que un proceso necesita E/S de o al dispositivo emite una llamada al sistema, la solicitud especifica varios elementos de informacin:

Si la operacin es de entrada o salida La direccin en disco para la transferencia La direccin en memoria para la transferencia El nmero de bytes por transferir

Captulo I: Estructura del Almacenamiento Secundario

Planificacin de discos
Planificacin

FCFS Planificacin SSTF Planificacin SCAN Planificacin C-SCAN Planificacin LOOK Planificacin C-LOOK Seleccin de un algoritmo de planificacin de disco

Captulo I: Estructura del Almacenamiento Secundario

Planificacin de discos
FCFS
La

forma mas sencilla es desde luego el servicio por orden de llegada First Come First Served Es justo pero generalmente no proporciona el servicio ms rpido

Captulo I: Estructura del Almacenamiento Secundario

Planificacin de discos
SSTF
Atender

las solicitudes cercanas a la posicin actual de la cabeza antes de mover la cabeza a una posicin lejana para atender otras solicitudes Algoritmo Shortest Seek Time First Tiempo de bsqueda ms corto primero

Captulo I: Estructura del Almacenamiento Secundario

Planificacin de discos

SCAN

El brazo del disco parte de un extremo del disco y se mueve hacia el otro atendiendo las solicitudes a medida que llega a cada cilindro hasta llegar al otro extremo del disco Algoritmo del elevador SCAN circular Mueve la cabeza de un extremo del disco a otro atendiendo las solicitudes en el camino slo en una direccin, cuando llega al otro extremo regresa de inmediato al principio sin atender solicitudes

C-SCAN

Captulo I: Estructura del Almacenamiento Secundario

Planificacin de discos

LOOK

El brazo del disco se mueve a todo lo ancho del disco atendiendo las solicitudes, pero slo llega hasta la ltima solicitud en cada direccin y cambia de sentido sin ir hasta el extremo del disco LOOK circular Mueve la cabeza a todo lo ancho del disco atendiendo las solicitudes en el camino slo en una direccin, cuando llega a la ltima solicitud regresa de inmediato a la primera solicitud sin atender solicitudes en el camino

C-LOOK

Captulo I: Estructura del Almacenamiento Secundario

Planificacin de discos

Seleccin de un algoritmo de planificacin de discos


Con cualquier algoritmo de planificacin, el desempeo depende en gran medida del nmero y tipo de solicitudes El mtodo de asignacin de archivos puede influir mucho sobre las solicitudes de servicio de disco, archivos contiguos vs archivos enlazados o indizados Los algoritmos consideran distancias de bsqueda, pero la latencia rotacional podra ser tan grande Las escrituras son ms urgentes que las lecturas, para hacer al sistema resistente a cadas del sistema

Captulo I: Estructura del Almacenamiento Secundario

Administracin de discos
Formateo

de discos Sector de arranque Bloques defectuosos

Captulo I: Estructura del Almacenamiento Secundario

Administracin del espacio de intercambio


La

administracin del espacio de intercambio es otra tarea de bajo nivel del SO Puesto que el acceso a un disco es mucho mas lento que a la memoria, el uso de ste tiene un efecto importante sobre el desempeo de un sistema El objetivo del diseo e implementacin es ofrecer el mejor rendimiento al sistema de memoria virtual
Uso

del espacio de intercambio Ubicacin del espacio de intercambio

Captulo I: Estructura del Almacenamiento Secundario

Administracin del espacio de intercambio

Uso del espacio de intercambio


Los diferentes SO usan de diversas maneras, dependiendo de los algoritmos de gestin de memoria Se puede usar para contener toda la imagen del proceso Se puede almacenar nicamente pginas que han sido expulsadas de la memoria principal La cantidad del espacio de intercambio requerida puede variar dependiendo de la cantidad de memoria fsica y la forma en que la memoria virtual se usa Es menos peligroso sobreestimar que subestimar, si un sistema se queda sin espacio de intercambio puede verse obligado a abortar procesos o incluso suspender sus actividades. Una sobreestimacin da lugar a espacio desperdiciado que podra usarse para archivos, pero no causa daos

Captulo I: Estructura del Almacenamiento Secundario

Administracin del espacio de intercambio


Ubicacin
Hay

del espacio de intercambio

dos lugares donde puede residir un espacio de intercambio:


En el sistema de archivos normal En una particin aparte

Captulo I: Estructura del Almacenamiento Secundario

Implementacin de almacenamiento estable


La informacin que reside en almacenamiento estable nunca se pierde. Para ello es necesario replicar la informacin en varios dispositivos de almacenamiento con modos de fallo independientes Es preciso coordinar las escrituras de tal forma que se garantice que un fallo durante una actualizacin no dejar las copias en un estado daado y que al recuperarnos las copias queden en un estado consistente y correcto Una escritura en disco puede tener tres resultados

Finalizacin con xito Fallo parcial Fallo total

Captulo I: Estructura del Almacenamiento Secundario

Confiabilidad de los discos


Trabajo

de investigacin

CAPTULO I: SISTEMAS DE E/S


Estructura del Almacenamiento Terciario

Captulo I: Estructura del Almacenamiento Terciario

Dispositivos de almacenamiento terciario


Discos
Cintas

removibles

Captulo I: Estructura del Almacenamiento Terciario

Tareas del sistema operativo


Interfaz

con las aplicaciones Nombres de archivos Gestin de almacenamiento jerrquico

Captulo I: Estructura del Almacenamiento Terciario

Tareas del sistema operativo


Interfaz
Los

con las aplicaciones

S.O. manejan los discos removibles casi igual que los fijos La unidad se monta, tiene un sistema de archivos En el caso de una unidad de disco, las operaciones bsicas son leer, escribir, buscar Las unidades de cinta tienen un conjunto distinto de operaciones ubicarse, escribir (se borra lgicamente todo lo que sigue a la posicin en la que se escribe)

Captulo I: Estructura del Almacenamiento Terciario

Tareas del sistema operativo

Nombres de archivos

Cmo dar nombres a los archivos que estn en medios removibles En el caso del disco duro no es difcil. Si el disco es removible, saber o identificar qu unidad contuvo el cartucho en algn momento pasado no implica saber cmo encontrar el archivo (si todos los dispositivos tuvieran un nmero nico de serie se podra facilitar) Los sistemas operativos actuales dejan sin resolver el problema del espacio de nombres en el caso de los medios removibles y confan en que las aplicaciones y los usuarios sabrn cmo acceder a los datos e interpretarlos

Captulo I: Estructura del Almacenamiento Terciario

Tareas del sistema operativo


Gestin

de almacenamiento jerrquico

Existen

mecanismos que permiten administrar los dispositivos de almacenamiento jerrquico de una forma automatizada

Captulo I: Estructura del Almacenamiento Terciario

Cuestiones de desempeo
Rapidez
Confiabilidad Costo

Captulo I: Estructura del Almacenamiento Terciario

Cuestiones de desempeo
Rapidez
Dos

aspectos

Ancho de banda Bytes transferidos dividido entre el tiempo de transferencia Latencia Los discos son mucho mas rpidos que las cintas

Captulo I: Estructura del Almacenamiento Terciario

Cuestiones de desempeo

Confiabilidad

Un aspecto del buen desempeo es alta velocidad pero no solo eso, Otro aspecto del buen desempeo es la confiabilidad Si se trata de leer un dato y no es posible hacerlo por un fallo, el tiempo de acceso es infinitamente largo y el ancho de banda infinitamente angosto Los discos magnticos son menos confiables que los discos duros fijos Los cartuchos de disco ptico se consideran muy confiables La confiabilidad de las cintas magnticas vara mucho

Captulo I: Estructura del Almacenamiento Terciario

Cuestiones de desempeo
Costo
La

memoria principal es mucho mas costosa que el almacenamiento en disco El costo por megabyte de almacenamiento en disco duro ha estado bajando rpidamente y es competitivo Las unidades de cinta mas econmica

Вам также может понравиться