95
Sistemas Operativos ENTRADA / SALIDA

3 Entrada Salida

Embed Size (px)

DESCRIPTION

completo

Citation preview

Sistemas OperativosENTRADA / SALIDA

Principios de Hardware E/SPara los Ing. Electrónicos la E/S son chips, cables, fuentes de poder, motores y todo lo físico.

Los programadores lo ven como los comandos que acepta el software, las funciones que lleva acabo y los errores que pueden soportar.

La programación del Hardware es importante porque permite a trabajar con los dispositivos conectados a la computadora.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS2

Dispositivos de E/SDispositivos de bloque: Almacenan información en bloques de tamaño fijo.◦ Los tamaños de bloque varían desde 512 bytes hasta 32,768 bytes.

◦ Es posible leer o escribir cada bloque de forma independiente.

◦ Los discos duros, CD-ROM y memoria USB son los más comunes.

◦ Las unidades de disco y las de cinta magnética van desapareciendo para dar paso a otras tecnologías.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS3

Dispositivos de E/SDispositivos de caracter: Envía o acepta un flujo de caracteres, sin importar la estructura de bloque.◦ Las impresoras, las interfases de red y los ratones, son ejemplos de

dispositivos de caracter.

◦ Las pantallas (monitores) cumplen con algunas características pero comúnmente reciben señales que se convierten en imágenes.

El S.O. tiene que manejar y controlar un sinfín de dispositivos, algunos de estos funcionan independientemente.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS4

Dispositivos de E/S

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS5

Controladores de dispositivosLas unidades de E/S regularmente cuentan con un componente mecánico y uno electrónico.

El componente electrónico se llama controlador de dispositivo o adaptador.

Puede ser un chip en la tarjeta principal o una tarjeta de circuito integrado conectado a una ranura de expansión (PCI).

La tarjeta controladora contiene un conector que puede tener un cable al dispositivo.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS6

Controladores de dispositivosMuchos controladores manejan 2, 4 u 8 dispositivos idénticos.

La interfase entre el controlador y el dispositivo puede ser un estándar ANSI, IEEE o ISO.

Los fabricantes producen dispositivos que coinciden con interfase IDE, SATA, SCSI, USB o FireWire.

La interfase entre el controlador y el dispositivo es de muy bajo nivel.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS7

Controladores de dispositivosCon el controlador el S.O. maneja los dispositivos usando caracteres o pixeles por línea, líneas por pantalla, etc.◦ Un disco duro lee y escribe un flujo serial

de bits.

◦ Cada bloque de bytes, bit por bit, es guardado en un búfer dentro del controlador para armarlo como un bloque mayor que puede ser copiado a la memoria principal.

◦ En un monitor, los bits se juntan en bytes que se convierten en señales de luz para la pantalla.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS8

E/S asignación de memoriaCada controlador tiene registros que usa para comunicarse con el CPU, el S.O. puede hacer que envíe o acepte datos, que encienda, se apague o cualquier otra acción.

Muchos dispositivos tienen un búfer de datos donde el S.O. puede leer o escribir.

A cada registro de control se le asigna un puerto E/S de 8 a 16 bits, el conjunto de todos es el espacio de puertos de E/S y está protegido para programas de usuario.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS9

E/S asignación de memoriaEjemplos de instrucciones de IBM/360:

IN REG, PUERTO

OUT PUERTO,REG

Una vez leído, se pasa a la memoria:

IN R0, 4

MOV R0, 4

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS10

E/S asignación de memoria

Otro método llamado E/S con asignación de memoria (mapped-memory) es asignar todos los registros de control al espacio de memoria.

A cada registro se le asigna una dirección de memoria única.

Las computadoras PDP/11 usan este método.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS11

E/S asignación de memoria

En las computadoras IBM PC se usan direcciones de 640 K a 1 Mb para búferes de datos, y de 0 a 64 K para puertos de E/S.

Estas áreas están reservadas y si no se usan, se desperdician.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS12

E/S asignación de memoriaPara ambos métodos, cuando la CPU desea leer un dato, en memoria o en un puerto de E/S, coloca la dirección en el bus y manda una señal READ.

Otra señal se manda para requerir espacio de E/S o de memoria.

Si la memoria está disponible, se responde a la petición, con las siguientes implicaciones:

1. Hay sobrecarga para controlar la E/S.

2. No se requiere protección de procesos de usuario.

3. Puede leerse la memoria o el registro de control.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS13

E/S asignación de memoriaAl usar E/S se debe deshabilitar la memoria caché para evitar conflictos.

El tener solo un bus para datos como para dispositivos de E/S, puede hacerlo lento.

Una solución es tener un bus dedicado.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS14

Acceso Directo a Memoria (DMA)La CPU solicita datos de un controlador de E/S un bit a la vez, pero se desperdicia tiempo, por eso se utiliza DirectMemory Access (DMA).

Regularmente existe un DMA en la tarjeta principal para regular las transferencias de varios dispositivos en forma concurrente.

El DMA tiene acceso al bus del sistema de forma independiente al CPU.

Contiene varios registros que pueden leerse o escribirse.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS15

Acceso Directo a Memoria (DMA)El controlador del disco lee un bloque, bit por bit, hasta que coloca todo el bloque completo en un búfer interno.

Después, calcula la suma de comprobación para verificar errores de lectura.

Luego, se produce una interrupción.

El S.O. puede leer el bloque del búfer del controlador, byte por byte, para almacenarlo en la memoria principal.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS16

Acceso Directo a Memoria (DMA)El DMA programa al controlador definiendo que debe transferir y a donde.

También se emite un comando al controlador del disco para indicarle que debe leer datos.

El DMA inicia la transferencia enviando una petición de lectura al controlador del disco mediante el bus.

Los datos se transfieren y se escriben en memoria, el DMA incrementa la dirección de memoria y disminuye la cuenta de bytes.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS17

Acceso Directo a Memoria (DMA)

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS18

Acceso Directo a Memoria (DMA)Una vez que termina de transferir datos de un dispositivo, el DMA utiliza el algoritmo por turno rotatorio (round-robin) para acceder a otro dispositivo.

El bus de datos puede operar con una palabra a la vez o con un bloque de palabras.

En el primero el DMA interrumpe al CPU para leer palabras en modo robo de ciclo.

Con los bloques, la interrupción se hace para transferir las palabras de un bloque y se llama modo de ráfaga.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS19

Acceso Directo a Memoria (DMA)A esta forma de trabajar, donde el DMA transfiere datos de los dispositivos de E/S a la memoria, se le llama “fly – by”.

El DMA trabaja junto con el CPU para obtener y convertir los números de memoria física que va a usar para almacenar los datos.

El búfer interno del controlador se usa para verificar lo que se va a leer antes de hacerlo.

No todas las computadoras usan DMA, el argumento es que la CPU puede hacer sus funciones más rápido, pero se bloquea.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS20

Repaso de las interrupcionesCuando un dispositivo de E/S ha terminado el trabajo asignado, produce una interrupción.

La señal pasa al bus y detectada luego por el chip controlador de interrupciones.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS21

Repaso de las interrupcionesSi no hay interrupciones pendientes, el controlador procesa la siguiente de inmediato.

Si se atiende otra petición anterior o si hay prioridad, al dispositivo que la emite se le ignora, pero este sigue mandando la señal hasta que la CPU lo atiende.

El vector de interrupciones se usa para apuntar al programa correspondiente que utiliza el dispositivo de E/S.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS22

Repaso de las interrupcionesLa ubicación del vector de interrupción puede estar de manera estática en la máquina (hardwired) o en la memoria.

Se debe guardar el contador del programa para reiniciar el proceso interrumpido.

Si se guarda el vector en los registros internos del S.O. existe el riesgo de sobre escribirlos al existir una nueva interrupción.

Puede utilizarse la pila del Kernel que apunte a la siguiente instrucción en la memoria.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS23

Repaso de las interrupcionesPara evitar errores de la pila apuntando a la siguiente instrucción en la memoria, se utiliza una interrupción precisa con 4 propiedades:

1. El contador de programa (PC) se guarda en un lugar conocido.

2. Todas las instrucciones antes de la instrucción a la que apunta el PC se han ejecutado por completo.

3. Ninguna instrucción más allá de la instrucción a la que apunta el PC se ha ejecutado.

4. Se conoce el estado de ejecución de la instrucción a la que apunta el PC.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS24

Repaso de interrupcionesLas instrucciones hasta el contador del programa (316) se han completado y ninguna más allá se ha iniciado, esto es una interrupción precisa.

La que no cumple con los requerimientos es una interrupción imprecisa.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS25

Repaso de las interrupcionesLa interrupción imprecisa tiene distintos estados de avance que hacen más lentas las interrupciones.

El tener interrupciones precisas requiere almacenar más información de lo que se está haciendo y mantener copias “sombra” de los registros para que la CPU no se pierda.

Si no se requieren interrupciones precisas se puede ahorrar espacio en la memoria.

Las interrupciones hacen que el S.O. sea complicado y lento.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS26

Objetivos del Software E/SUn concepto clave es la independencia de dispositivos que significa que los programas pueden acceder a cualquier dispositivo de E/S sin tener que especificarlo por adelantado.

Un programa debe leer un archivo desde disco duro, CD-ROM, DVD o memoria USB sin necesidad de que sea modificado para cada dispositivo.

La denominación uniforme es tener cualquier nombre conformado por letras o números para identificar un dispositivo.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS27

Objetivos del Software E/SCon la denominación uniforme, en UNIX, una memoria USB puede identificarse con el nombre de un directorio como usr/ast/respaldo en lugar de un disco H:/>.

El manejo de errores del dispositivo se debe hacer lo más cerca del hardware, si el controlador detecta un error, debe tratar de corregirlo ahí mismo.

Si no puede hacerlo el controlador, el software lo debe tratar para no pasarlo al S.O.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS28

Objetivos del Software E/SOtra cuestión clave son las transferencias síncronas (de bloqueo) contra las asíncronas (con interrupciones).

En una llamada síncrona un programa de usuario se suspende hasta que haya datos disponibles en el búfer.

La mayoría de las operaciones E/S son asíncronas, la CPU inicia transferencia y se va a hacer algo más hasta que llegue una interrupción.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS29

Objetivos del Software E/SEl uso del búfer es otra cuestión de importancia, frecuentemente los datos que se leen de un dispositivo no se pueden almacenar en el destino final.

Por ejemplo, la lectura de un dispositivo de audio digital, en algunas computadoras, requiere almacenarse en un búfer de salida por adelantado para sincronizar la velocidad en que se llena y se vacía para evitar desbordamientos.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS30

Objetivos del Software E/SLos dispositivos compartidos son aquellos que pueden usarlos varios usuarios a la vez.

Diferentes usuarios pueden tener archivos abiertos en el mismo disco duro en un instante.

Los dispositivos dedicados son los que un usuario utiliza de forma exclusiva.

Una cinta magnética no permite que varios usuarios lean y escriban a la vez.

Su uso favorece los interbloqueos.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS31

E/S programadaLa E/S programada es aquella en que la CPU hace todo el trabajo.

Para imprimir las letras “ABCDEFGH” un proceso de usuario primero ensambla la cadena en un búfer.

Luego, el proceso adquiere a la impresora para escribir haciendo una llamada al sistema.

Si la impresora esta ocupada, la llamada fallará y se bloqueará hasta que la impresora este libre.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS32

E/S programadaEl S.O. copia la cadena en el espacio de usuario y de ahí al Kernel donde se puede obtener más rápido.

Cuando la impresora está disponible, se pasa carácter por carácter y esto la activa.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS33

E/S programadaLa E/S programada es simple pero ocupa a la CPU de tiempo completo hasta que se completen las operaciones de E/S.

En sistemas en que la CPU no tiene nada más que hacer es razonable que se tenga espera ocupada.

Pero en sistemas donde la CPU tiene otros trabajos para realizar, se necesita mejorar el método de E/S para que la CPU pueda trabajar con otros procesos.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS34

E/S con interrupcionesOtra opción es imprimir cada carácter mientras va llegando en lugar de guardarlos en un búfer.

Si la velocidad de impresión es menor a la de transferencia, la CPU estará inactiva por algún tiempo.

La impresora genera una interrupción al imprimir el primer carácter y está esperando por el siguiente.

La CPU llama al planificador para ejecutar otro proceso.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS35

E/S con interrupcionesLa interrupción detiene el proceso actual y guarda su estado.

Si no hay más caracteres por imprimir se desbloquea el proceso de usuario.

En caso contrario se imprime el siguiente carácter y regresa al proceso que se estaba ejecutando antes de la interrupción.

Esto permite que la CPU atienda a otros procesos mientras se imprime.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS36

E/S mediante uso de DMAEn la impresión, el DMA se encarga de enviar los caracteres a la impresora uno a la vez, sin que el CPU se moleste.

El DMA es E/S programada, todo el trabajo se hace sin intervención de la CPU.

Mientras que se realiza la operación de E/S el hardware especial (el controlador de DMA) libera a la CPU de trabajar para que se ocupe en otros procesos.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS37

E/S mediante uso de DMALa ventaja del DMA es reducir el número de interrupciones de una por cada carácter a una por cada búfer impreso.

El controlador DMA es más lento que la CPU.

Si el DMA no puede controlar al dispositivo a toda su velocidad, entonces puede ser mejor utilizar E/S controlada por interrupción o E/S programada.

En cualquier caso, vale la pena utilizar DMA.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS38

Capas del Software E/SEl software de E/S se organiza en 4 capas:

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS39

Manejadores de interrupcionesLos 10 pasos para manejar interrupciones:

1. Se guardan los registros (incluyendo el PSW) que no han sido almacenados por el hardware de interrupción.

2. Establecer un contexto para el procedimiento de servicio de interrupciones, usando registros de memoria y una tabla de páginas.

3. Crear una pila para el procedimiento del servicio de interrupciones.

4. Reconocer el controlador de interrupciones. Si no hay un controlador centralizado, rehabilitar las interrupciones.

5. Copiar los registros desde donde se guardaron (posiblemente en alguna pila) a la tabla de procesos.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS40

Manejadores de interrupciones

6. Ejecutar el procedimiento de servicio de interrupciones. Éste extraerá de los registros del controlador de dispositivos que provocó la interrupción.

7. Elegir el proceso a ejecutar a continuación. Si hay un proceso de alta prioridad bloqueado, puede elegirse para ejecutarlo poniéndolo en listo.

8. Establecer el contexto de la memoria para el proceso que se va a ejecutar a continuación.

9. Cargar los registros del nuevo proceso, incluyendo su PSW.

10. Empezar a ejecutar el nuevo proceso.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS41

Manejadores de interrupcionesEl procesamiento de interrupciones ocupa un considerable número de instrucciones de la CPU, las máquinas que usan memoria virtual requiere establecer tablas de páginas.

En algunas máquinas se mueven datos del área de usuario al kernel, lo que requiere ciclos de la CPU.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS42

Drivers de dispositivosCada dispositivo de E/S conectado a la computadora necesita de cierto código para controlarlo.

Es software que escribe el fabricante del dispositivo y se llama driver.

Para poder usar el hardware del dispositivo (los registros del controlador físico) el driver debe formar parte del kernel del S.O.

Hay controladores que se ejecutan en el área de usuario, lo que evita problemas con el kernel.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS43

Drivers de dispositivosLos S.O. clasifican a los controladores, la más común es para dispositivos de bloque pero también hay para dispositivos de carácter.

En algunos sistemas como UNIX, el S.O. que es código binario, contiene a todos los controladores que necesita.

Las computadoras personales con MS-DOS usan otro esquema que consiste en cargar dinámicamente el controlador en el sistema durante la ejecución.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS44

Drivers de dispositivos

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS45

Drivers de dispositivosUn controlador de dispositivo tiene varias funciones, la más obvia es aceptar peticiones abstractas de lectura y escritura del software, además de inicializar el dispositivo si es necesario y otras más.

Comúnmente el controlador recibe datos, los revisa si son válidos, verifica que el dispositivo esté disponible, lo enciende si está apagado, recibe los datos y controla al dispositivo cuando se transmiten.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS46

Drivers de dispositivosEl controlador se bloquea si el dispositivo está ocupado y se desbloquea al recibir la interrupción cuando el dispositivo acabó.

Otra actividad del controlador es revisar si hay errores, en este caso los reporta.

Si hay más peticiones esperando para uso del dispositivo, puede el controlador seleccionar la que sigue y comenzar a ejecutarla.

El controlador debe ser reentrante, mientras ejecuta una llamada debe recibir la siguiente.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS47

Drivers de dispositivosUn controlador tiene varias funciones:◦ Aceptar peticiones de lectura y escritura que provienen del S.O. y

ejecutarlas.

◦ Comprobar que el dispositivo se encuentra en uso, de ser así, la petición se pondrá en espera para procesarla después.

◦ El controlador recibe una secuencia de comandos dependiendo que deba hacer el dispositivo.

◦ Enviar interrupciones al S.O. una vez que el dispositivo se encuentra ocupado o desocupado.

◦ Si existen errores los detecta y los reporta al S.O.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS48

Drivers de dispositivosEn un sistema con “conexión en caliente” es posible agregar o eliminar dispositivos mientras que la computadora funciona.

Cuando se quita un dispositivo, el controlador debe terminar la transferencia actual E/S sin dañar el Kernel y cualquier solicitud al dispositivo pendiente debe eliminarse.

Al agregar un dispositivo el S.O. le asigna un recurso y lo quita de los que se retiraron.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS49

Software E/S independientePartes del software E/S son específicos a un dispositivo y otras partes son independientes.

Hay ciertas funciones que realizan los controladores que son independientes del dispositivo:

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS50

Interfaz uniformeLa Interfaz entre los controladores y el S.O. debe ser uniforme. Hay dos casos:◦ Cada dispositivo tiene una interfaz distinta con el S.O. esto requiere

mucha programación.

◦ Cada dispositivo tiene una interfaz compatible con el S.O., los controladores son idénticos.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS51

Uso de búferEl uso de búfer puede tener implicaciones:

◦ Sin búfer, los datos pasan directamente pero uno por uno, requiere mucho tiempo.

◦ Con un búfer de n caracteres, se llena y pasa al espacio de usuario, tarda menos.

◦ Con un búfer en el kernel, se pasa una página completa al espacio de usuario.

◦ Con doble búfer en el kernel, se van alternando, uno pasa datos al espacio de usuario mientras que el otro recibe datos.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS52

Uso de búferEl uso de búfer en una red permite que se envíen mas datos, pero el rendimiento se reduce.

◦ Del área de usuario los datos pasan al búfer del kernel, de ahí se envían al controlador de red para tener al CPU ocupado, además el búfer puede reutilizarse.

◦ El paquete se pone en la red y al recibirse se coloca en otro búfer, se envía el acuse de recibo y se puede enviar otro paquete.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS53

Reporte de erroresAlgunos errores son específicos de ciertos dispositivos.

Hay errores de programación de E/S como escribir un dispositivo de entrada, leer uno de salida o usar una unidad de disco no existente. En ese caso se reporta el error.

Errores reales son el usar una cámara de video apagada o escribir un bloque de disco dañado. Depende del controlador intentar nuevamente o eliminar el proceso de llamada.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS54

Dispositivos dedicadosLos dispositivos dedicados solo pueden usarse una vez por un proceso, el S.O. acepta o rechaza peticiones si el dispositivo está disponible o no.

Otra opción es bloquear al proceso llamador mientras el dispositivo dedicado esté ocupado, colocando al proceso en una fila de espera hasta que pueda adquirir el dispositivo para usarlo.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS55

Tamaño de bloqueEn el caso de los discos que pueden tener diferentes tamaños de sector, se necesita tener un tamaño de bloque igual para todas las marcas y modelos.

Lo mismo sucede con dispositivos de carácter, algunos reciben byte por byte y otros un bloque como la interfaz de red.

Estas diferencias se deben ocultar haciendo que el S.O. trabaje con todos los dispositivos por igual usando un tamaño de bloque uniforme.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS56

Software E/S en área de usuarioAunque la mayor parte del software E/S se encuentra en el S.O. hay pequeñas bibliotecas vinculadas con programas de usuario, como el caso de printf en lenguaje C que construye una cadena y luego la escribe usando write.

El uso de filas (spooling) es una solución para trabajar con dispositivos dedicados con multiprogramación, como la impresora.

Un demonio puede tomar archivos de la fila de impresión y protegerlos del uso directo de usuarios antes de imprimirlo.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS57

Software E/S en área de usuarioLas filas también pueden usarse en la transmisión de datos en una red.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS58

DiscosExisten diferentes tipos de discos: CD-ROM, CD-grabable y DVD.

En los discos magnéticos tipo IDE (Electrónica de Unidad Integrada) y SATA (ATA Serial) la unidad de disco contiene un microcontrolador que trabaja con el dispositivo.

Una función interesante es de búsqueda traslapada, mientras el controlador espera completar una búsqueda, puede iniciar otra búsqueda en una unidad diferente.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS59

DiscosDiferencias entre un disco flexible de IBM PC y un disco duro de 20 años después:

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS60

DiscosLos discos tienen 2 zonas, en este caso la exterior tiene 32 sectores por pista y la interior tiene 16 sectores.

Hay otros discos que manejan x clilindros, y cabezas y zsectores.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS61

RAIDRAID (Redundant Array of Inexpensive Disks) es un conjunto de discos magnéticos que permiten tener sistemas de respaldo redundantes.

Consiste de una caja de discos y un controlador SCSI con capacidad de 15 que utiliza un solo controlador.

Para el software RAID aparece como un solo disco aunque los datos se distribuyen entre las unidades operando en paralelo.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS62

RAIDEn RAID nivel 0 existe una banda de 2 sectores, se escriben datos utilizando turno rotatorio (round-robin) en cada disco.

Al proceso de distribuir datos sobre varias unidades se le llama reparto de bloques (striping).

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS63

RAIDEn RAID 1 se duplican los datos en los discos, hay 4 discos primarios y 4 discos de respaldo secundarios.

Una escritura se hace 2 veces, una lectura puede hacerse de uno o de otro, si una falla se utiliza la copia.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS64

RAIDRAID 2 funciona con palabras en lugar de sectores de RAID 0 y 1.

Se divide un byte en 2 (nibbles de 4 bits) y a cada uno se le agregan 3 bits de paridad, los 7 bits se sincronizan y se graban en las 7 unidades.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS65

RAIDEl RAID 3 es una simplificación de RAID 2.

A cada nibble se le agrega un bit de paridad que se escribe en una sola unidad.

La sincronización debe ser exacta ya que los bytes individuales están en varias unidades.

RAID 2 y RAID 3 ofrecen velocidades de transferencia de datos muy altas.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS66

RAIDEl RAID 4 es similar a RAID 0 usando bloques en lugar de palabras o bytes.

Se agrega una paridad por banda en una unidad adicional.

Si una unidad falla, los bytes perdidos se recalculan a partir del bit de paridad, leyendo todas las unidades, es lento en actualización.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS67

RAIDEl problema de RAID 4 es la unidad de paridad que se convierte en cuello de botella.

En RAID 5 esto se resuelve al distribuir los bits de paridad de manera uniforme en todas las unidades que se leen por round-robin.

En caso de falla, la reconstrucción del contenido de una unidad es compleja.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS68

CD-ROMLos discos ópticos (láser) tienen más alta densidad de grabación que un disco magnético.

Un CD utiliza un láser infrarrojo de alta potencia para formar hoyos que permiten que se refleje la luz desde dentro o de la superficie.

Los hoyos y las áreas lisas se escriben en una sola espiral continua que tiene una longitud de 5.6 km.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS69

CD-ROMPara reproducir a una velocidad uniforme, la cabeza de lectura pasa por encima de las líneas de hoyos.

La parte interna se mueve a 530 RMP y la externa se reduce a 200 RPM.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS70

CD-ROMEl estándar creado por Sony y Phillips en 1984 se conoce como CD-ROM (Compact Disk Read only Memory) que es de lectura.

El disco tiene un preámbulo que sirve para reconocer el inicio de un sector, el software calcula donde comienza cada uno y desplaza a la cabeza de lectura.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS71

CD-GrabablesComo respaldo de datos, los CD-ROM se modificaron para funcionar como CD maestros que permitieran la duplicación y así surgieron lo CD grabables o CD-R.

Para esto se agrega una capa de colorante que puede “quemarse” con el láser al escribir.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS72

CD-GrabablesLuego se creó el CD-ROM XA que permite escribir en forma incremental sectores, a un grupo de sectores se les conoce como pista.

El problema ahora era la tabla de contenido VTOC (Visual Table of Contents) que se debía grabar cada vez que se agregaban pistas.

Las pistas nuevas se agruparon en sesiones y surgieron los CD-ROM multisesiones donde la VTOC puede estar al principio o después según las pistas añadidas.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS73

CD-RegrabablesEL CD-ROM luego se convirtió en CD-RW o CD-Regrabable que utiliza otra capa de metal en lugar de colorante para grabar y volver a grabar.

El láser ahora tiene varias potencias, una permite grabar haciendo hoyos y otra borra fundiendo el metal haciéndolo liso otra vez.

El CD-RW cuesta más que el CD-ROM y se utiliza para respaldar discos duros.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS74

DVDLa evolución del CD y la demanda por almacenar más datos llevó a crear el DVD (Digital Video Disk).

La capacidad del DVD es de 4.7 Gb comparada con los 700 Mb de un CD.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS75

CARACTERÏSTICA DVD CD

Tamaño de hoyo 0.4 micrones 0.8 micrones

Ancho espiral 0.74 micrones 1.6 micrones

Distancia láser 0.65 micrones 0.78 micrones

DVDAdemás un DVD puede grabarse con formato de compresión MPEG-2 para almacenar más datos. Hay 4 formatos de DVD:◦ Un solo lado, una sola capa (4.7 Gb).

◦ Un solo lado, doble capa (8.5 Gb).

◦ Doble lado, una sola capa (9.4 Gb).

◦ Doble lado, doble capa (17 Gb).

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS76

DVDEn los nuevos dispositivos Blu-ray se utiliza un láser de 0.405 micrones (azul) para empaquetar 25 Gb en una sola capa y 50 Gb en doble capa.

El formato HD DVD utiliza el mismo láser azul con capacidad de 15Gb en una capa y 30 Gb en doble capa.

Esta guerra de formatos creada por los fabricantes tiene el inconveniente de no usar un estándar, esto afecta al consumidor.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS77

Formato de discoEl disco duro utiliza una fila de platos de acero o vidrio cubierto por una capa de óxido de metal magnetizable.

El formato a nivel bajo mediante software consiste en crear una serie de pistas concéntricas que contienen cada una sectores, el formato contiene:

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS78

Formato de discoEl preámbulo contiene los bits que identifican al sector, cada uno con tamaño de 512 bytes.

El campo ECC de 16 bytes contiene información redundante que puede servir para recuperarse de errores de lectura.

Para poder leer o escribir varias pistas a la vez, se usa un desplazamiento entre cada pista conocido como desajuste de cilindros.

La cabeza lectora puede desplazarse más rápido con los sectores desfasados.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS79

Formato de disco

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS80

Formato de discoPara leer continuamente sectores mientras el disco está girando, se requiere de un búfer.

Después de leer un sector, los datos se están pasando del búfer a la memoria, en ese momento el siguiente sector pasa por la cabeza lectora y se lee al mismo tiempo.

Para evitar más tiempo de búsqueda mientras gira el disco se usan sectores entrelazados:

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS81

Formato de discoCon sectores entrelazados el proceso de copia es lento, existen discos con búfer con capacidad de almacenar una pista completa, con el uso de un chip DMA o con el CPU, el controlador de disco puede enviar los datos leídos a la memoria.

Al dar formato se puede crear una partición en el disco, esto significa que el mismo disco puede usarse como dos separados.

Esto se conoce como formato de alto-nivel.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS82

Algoritmo del brazo del discoEl tiempo de lectura o escritura de un bloque del disco se da por:

1. Tiempo de búsqueda (el tiempo para desplazar el brazo al cilindro apropiado).

2. Retraso rotacional (el tiempo para que el sector apropiado se coloque debajo de la cabeza).

3. Tiempo de transferencia de datos actual.

Al reducir tiempos de búsqueda promedio mejora el rendimiento del sistema de manera considerable.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS83

Algoritmo del brazo del discoEl algoritmo Primero en llegar Primero en ser atendido (First-Come First-Served, FCFS) busca los datos que se solicitan en orden.

Cuando el disco está muy cargado es posible usar una tabla indexada con el número de cilindro de las peticiones pendientes, permitiendo que la cabeza lectora haga la mitad de movimientos comparado con FCFS.

El algoritmo se llama Búsqueda del trabajo más corto primero (Shortest Seek First, SSF).

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS84

Algoritmo del brazo del discoEl algoritmo SSF tiene la desventaja de seguir atendiendo las peticiones más pequeñas según sigan llegando, las más grandes entonces quedan desatendidas por más tiempo.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS85

Algoritmo del brazo del discoPor otra parte el algoritmo del elevador se usa con el brazo lector.◦ Si el brazo se mueve en una dirección sobre el disco, las siguientes

peticiones a atender son las que se encuentren en esa dirección.

◦ Al terminar en un sentido, se mueve al contrario y se atienden todas las peticiones en esa dirección.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS86

Manejo de erroresEn caso de errores en sectores del disco, estos se sustituyen por sectores adicionales.◦ Un sector está defectuoso dentro de un conjunto de sectores de un

disco.

◦ Si el sector 7 está defectuoso se reasigna un nuevo sector adicional con ese número.

◦ Otra opción es desplazar todos los sectores una posición hacia arriba.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS87

Manejo de erroresSi el problema con los sectores no lo puede resolver el controlador, entonces pasa al S.O.

Mediante software el S.O. puede crear un archivo con los sectores defectuosos que no se introduce en el sistema de archivos de manera que el usuario no lo pueda leer por accidente.

Pero el problema que surge al respaldar es que se copie el archivo con sectores malos, puede evitarse si el programa lo detecte y no lo guarde.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS88

Almacenamiento estableEl disco debe funcionar todo el tiempo sin errores.

El algoritmo de almacenamiento estable debe escribir correctamente los datos o no hacer nada en caso de errores dejando los datos existentes intactos.

El almacenamiento estable utiliza dos discos idénticos en donde los bloques correspondientes forman un bloque libre de errores.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS89

Almacenamiento establePara lograr esto se procede con:◦ Escrituras estables. El dato se guarda en el disco 1, si hay error se

intenta las veces necesarias hasta obtener éxito, luego de escribirse en el disco 1 se escribe en el disco 2, de igual forma hasta que se tiene éxito en la operación.

◦ Lecturas estables. Se lee el dato del disco 1, si hay errores se intenta n veces, si persiste el problema se lee del disco 2, menos probable de fallar.

◦ Recuperación de fallas. Después de una fallas se comparan los 2 bloques leídos, si uno está mal se reemplaza por el otro, si están bien y son distintos, el bloque del disco 1 reemplaza al del disco 2.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS90

RelojesTambién conocidos como temporizadores son esenciales para multiprogramación.

El reloj antiguo se conectaba a la electricidad y generaba un pulso por cada ciclo de voltaje.

El reloj actual tiene un oscilador, un contador y un registro, el cristal de cuarzo genera un pulso.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS91

RelojesEl software del reloj debe hacer lo siguiente:

1. Mantener la hora del día.

2. Evitar que los procesos se ejecuten por más tiempo del permitido.

3. Contabilizar el uso de la CPU.

4. Manejar la llamada alarm de los procesos de usuario.

5. Proveer de temporizadores guardianes (watchdogs) para ciertas partes del sistema.

6. Realizar perfilamiento, supervisión y recopilación de estadísticas.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS92

Interfases de usuarioSegún el tipo de dispositivo el S.O. trabaja con las interfases de usuario:◦ Las terminales utilizan caracteres especiales que se pueden

introducir e imprimir.

◦ Los teclados que son dispositivos de entrada trabajan con bibliotecas especiales que permiten ver el movimiento del cursor y el despliegue de texto.

◦ La interfaz gráfica usa el paradigma WIMP (Windows Icons MenusPointer) para procesar los eventos que ocurren.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS93

Clientes delgadosTienen ventajas en comparación de las PCs estándar como la simplicidad y menor necesidad de mantenimiento por parte de los usuarios.

El objetivo es que la máquina cliente no tenga la inteligencia ni el software y que sea simplemente como una pantalla, todo el cómputo se hace en el lado servidor.

El cliente delgado THINC ha demostrado que con 5 operaciones es posible construir un cliente con buen rendimiento.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS94

Administración de energíaCuestión muy importante para las computadoras portátiles ya que las baterías son limitadas.

El S.O. emplea diversas técnicas para reducir el consumo de energía.

Los programas también pueden ayudar al sacrificar cierta calidad por tiempos de vida más largo para las baterías.

PROF. LUIS H. CRUZ A.

SISTEMAS OPERATIVOS95