58
ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS

ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

Embed Size (px)

Citation preview

Page 1: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

ENTRADA Y SALIDA

CURSO DE SISTEMAS OPERATIVOS

Page 2: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general de la e/s en MINIX Discos de RAM Discos Relojes Terminales

Page 3: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

Principios del hardware de E/S

Entenderemos por hardware de E/S como la programación de los dispositivos de entrada y salida.

Los dispositivos de E/S se dividen en dos categorías: dispositivos de bloque y dispositivos de caracteres. Los dispositivos de bloque transfieren la información en bloques direccionables de tamaño fijo. Los dispositivos de caracteres aceptan o entregan un flujo de caracteres sin importar la estructura.

Page 4: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

Controladores de dispositivo

Los dispositivos constan de una parte mecánica y otra electrónica. A la parte electrónica se le llama controlador o manejador del dispositivo. El sistema operativo trata generalmente con el controlador.

Interfaz del controlador y dispositivoManejadores de disco Impresora

CPU MemoriaControlador

de disco

Controlador de

la impresora

Otros

controladores...

Bus del sistema

Page 5: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

ContinuaciónEl trabajo del controlador es convertir un flujo de bits en serie en un bloque de bytes y realizar cualquier corrección de errores que se necesite.Controladores de E/S Direcciones de E/S Vector de int.

Reloj 040-043 8

Teclado 060-063 9

RS232 secundaria 2F8-2FF 11

Disco duro 320-32F 13

Impresora 378-37F 15

Despliegue mono. 3B8-3BF -

Despliegue de color 3D0-3DF -

Disco flexible 3F0-3F7 14

RS232 primaria 3F8-3FF 12

Page 6: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

Acceso directo a memoria DMA

El acceso directo a memoria se requiere para liberar a la CPU en la transferencia de bloque de información de o hacia la memoria.

La CPU debe especificarle al controlador de DMA la dirección de la memoria donde se dirige el bloque y el número de bytes a transferir.

Page 7: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

continuación

CPU Memoria

Controladordel disco

Manejador

Buffer

Registros DMA

Dirección de la memoriaConteo

Bus del sistema

Conteo

Page 8: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

Intercalación

01

234

5

67

(a)

0

12

3 4

56

7

(b)

0

1

2 3

4

5

67

(c)

(a) Sin intercalación. (b) Intercalación sencilla. (c) Doble intercalación.

Page 9: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

Principios del software de E/S

Un concepto importante es el de independencia del dispositivo.

Esto quiere decir que los archivos deben utilizarse de la misma manera independientemente de si están en un disco duro o en un disco flexible.

Page 10: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

continuación

Otro aspecto importante es el de nominación, esto es, los archivos y dispositivos deben reconocerse con nombres que no dependan del dispositivo en ninguna manera, como en UNIX.

Por otro lado el manejo de errores debe hacerse en los estratos más bajo. Y solo se deberá informar a los estratos superiores si el estrato bajo no puede manejarlo.

Page 11: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

Clasificación de dispositivos

Los dispositivos se clasifican en compartibles y dedicados.

Los compartibles son como los discos, varios usuarios pueden hacer uso de ellos al mismo tiempo sin crear conflictos.

Los dedicados como las impresoras, solo aceptan un usuario a la vez.

Page 12: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

Estratos del software de E/S

1. Manejadores de interrupciones

2. Manejadores de dispositivos

3. Software del sistema operativo independiente del dispositivo

4. Software a nivel del usuario

Page 13: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

Manejadores de interrupciones

Las interrupciones son indeseables, una forma de ocultarlas es bloquear los procesos de E/S siempre que ocurra un comando de E/S y se espere una interrupción.

Al recibir la interrupción, el procedimiento de interrupciones desbloquea al manejador mediante un semáforo o mediante señales.

Page 14: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

Manejadores de dispositivos

En términos generales, el trabajo de un manejador de dispositivo consiste en aceptar solicitudes abstractas del software independiente del dispositivo que está sobre él y observar que se cumpla la requisición.

Después de que la operación se ha completado debe verificar si hubo errores.

Si todo está bien, el manejador puede hacer que pasen los datos al software independiente del dispositivo.

Page 15: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

Software del sist. Oper. Indep.del dispositivo

La función básica del software independiente del dispositivo consiste en ejecutar las funciones de E/S que son comunes a todos los dispositivos y proporcionar una interfaz uniforme al software a nivel del usuario.

Page 16: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

Funciones

Sincronización uniforme de los manejadores de dispositivos

Nominación de dispositivos

Protección de los dispositivos

Proporción de un tamaño de bloque independiente del dispositivo

Separación

Asignación del almacenamiento en dispositivo de bloque

Asignación y devolución de dispositivos dedicados

Informe de errores

Page 17: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

Software a nivel del usuario

Las llamadas al sistema, entre ellas las llamadas al sistema se E/S, normalmente son realizadas por procedimientos de biblioteca.

Estos procedimientos hacen un poco más que colocar sus parámetros en el sitio adecuado para la llamada al sistema.

Page 18: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

continuación

Otro software a nivel de usuario es el manejo de la cola de impresión.

La cola es controlada por un software llamado demonio impresor, el cual maneja un directorio especial llamado directorio de manejo de cola de impresión.

Los demonios también se utilizan en la transferencia de archivos de un sistema a otro.

Page 19: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

continuación

Solicitud de E/SEstrato

Procesos de usuarios

Software independientedel dispositivo

Manejadores de dispositivos

Manejadores de interrupciones

Hardware

Contestación de E/SFunciones de E/S

Hacer la llamada a E/S, formatear la E/S;manejo por cola de impresión

Nominación, protección, bloqueo,separación, asignación

Conformar registros de dispositivos;verificar condición

Desbloquear el manejador cuandose complete una E/S

Realizar la opreación de E/S

Page 20: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

Estancamientos

Supóngase que una computadora tiene una unidad de cinta y una graficadora.

El proceso A solicita la cinta y B, la graficadora. Ahora A pide la graficadora (sin renunciar a la cinta) y B pide la cinta (sin renunciar a la graficadora), de manera que ambos procesos se bloquean indefinidamente.

A esta situación se le llama estancamiento.

Page 21: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

continuación

A

R

S

B

T

D

U

C

(a) (b) (c)

Page 22: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

A

Solicitud de R

Liberación de RLiberación de S

Solicitud de S

B

Solicitud de T

Liberación de TLiberación de S

Solicitud de S

C

Solicitud de R

Liberación de RLiberación de T

Solicitud de T

(a) (b) (c)

1. A solicita a R2. B solicita a S3. C solicita a T4. A solicita a S5. B solicita a T6. C solicita a R

estancamiento

A B C

R S T

A B C

R S T

A B C

R S T

A B C

R S T

A B C

R S T

A B C

R S T

(d)

(e) (f) (g)

(h) (i)(j)

1. A solicita a R2. C solicita a T3. A solicita a S4. C solicita a R5. A libera a R6. A libera a Sno hay estancamiento

A B C

R S T

A B C

R S T

A B C

R S T

A B C

R S T

A B C

R S T

A B C

R S T

(k)

(l) (m) (n)

(o) (p) (q)

Page 23: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

Condiciones de estancamiento

1. Condición de exclusión mutua. Cada recurso se asigna por lo regular exactamente a un proceso o bien esta disponible.

 2. Condición de contención y espera. Los procesos que regularmente contienen recursos otorgados antes pueden solicitar nuevos recursos.

 3. Condición de sin prioridad. Los recursos previamente otorgados no pueden extraerse por la fuerza de un proceso. Deben ser liberados en forma explícita por el proceso que lo contiene.

 4. Condición de espera circular. Debe haber una cadena circular de dos o más procesos, cada uno de los cuales esté esperando un recurso contenido en el siguiente miembro de la cadena.

Page 24: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

Estrategias para trabajar con los estancamientos

1. Simplemente se ignora el problema por completo.

2. Detección y recuperación.

3. Prevención, anulando una de las cuatro condiciones necesarias.

4. Evitación dinámica por medio de una distribución cuidadosa de los recursos.

Page 25: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

Algoritmo del avestruz

En unix simplemente se ignora el problema. Hay que tomar en cuenta que se pueden producir estancamientos por causas como: número limitado de ranuras para procesos (la llamada fork podría fracasar), el número máximo de archivos abiertos por el tamaño de la tabla de nodos i, el espacio para intercambio (swap) limitado, etc

Page 26: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

Detección y recuperación

Esta técnica consiste en eliminar los ciclos cuando estos se produzcan, esto se hace eliminando un proceso si se produce un ciclo al concederle un recurso.

Page 27: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

Prevención del estancamiento

Esta técnica consiste en garantizar que nunca se produzcan las cuatro condiciones para conducir al estancamiento. Esto se hace, por ejemplo, con el demonio impresor, ya que es el único capacitado para solicitar la impresora teniendo, por tanto, exclusión mutua.

1. Lectora de tarjetas2. impresora3. Graficadora4. Unidad de cinta5. Perforadora de tarjetas

A B

i j

(a) (b)

Page 28: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

Métodos para la prevención de estancamientos

Condición Método

Exclusión mutua Todo se maneja por cola de

impresión

Contención y espera Inicialmente se piden todos los recursos

No hay prioridad Se retiran los recursos

Espera circular Los recursos se ordenan numéricamente

Page 29: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

Algoritmo del banqueroEl banquero sabe que no todos los clientes necesitarán su límite de crédito máximo de inmediato, en esta analogía los clientes son procesos, las unidades son, por ejemplo, unidades de cinta y el banquero es el sistema operativo.

Algoritmo del banquero

Nombre Se usa Máximo

Andy

Bárbara

Marvin

Suzanne

0

0

0

0

6

5

4

7

Disponible:10

Nombre Se usa Máximo

Andy

Bárbara

Marvin

Suzanne

1

1

2

4

6

5

4

7

Disponible:2

Nombre Se usa Máximo

Andy

Bárbara

Marvin

Suzanne

1

2

2

4

6

5

4

7

Disponible:1

(a) (b) (c)

Page 30: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

Trayectoria de recursos

En la se aprecia un modelo para trabajar con dos procesos y dos recursos, una graficadora y una impresora. El eje horizontal representa el número de instrucciones ejecutadas por el proceso A. El eje vertical denota el número de instrucciones ejecutadas por el proceso B, en I1 A solicita la impresora; en I2 necesita una graficadora. La primera la devuelve en I3 y la segunda en I4. El proceso B necesita la graficadora de I5 a I7 y la impresora de I6 a I8.

Page 31: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

continuación

Impresora

Graficadora

Graficadora

u (ambos procesos terminados)

Impresora

I1

I2

I3

I4

I5

I6

I7

I8

p q

rs

t

A

B

Page 32: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

El algoritmo del banquero para múltiples recursosEl algoritmo para verificar si un estado es seguro es:

1. Búsquese un renglón, R, cuyo recurso no satisfecho necesite todos los menores que A. Si no existe tal renglón, el sistema se estanca porque no ningún proceso puede ejecutarse hasta terminar.

2. Supóngase que el procesos del renglón elegido solicita todos los recursos que necesita (lo que garantiza que es posible) y termina. Márquese este proceso como terminado y súmese todos sus recursos al vector A.

3. Repítase los pasos 1 y 2 hasta que todos los procesos se marquen terminados, en cuyo caso el estado inicial era seguro, o bien hasta que ocurra un estancamiento, en cuyo caso era riesgoso.

Page 33: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

continuación

ProcesoManejadores de cinta

GraficadorasImpresoras

Perforadoras

A 3 0

0 0 0 0

0

1 1

1

1 1 1

1

B

C

D 1

E

1

000

0

Recursos asignados

ProcesoManejadores de cinta

GraficadorasImpresoras

Perforadoras

A 1 0

2

0

0

0

0

1

11

3 1

1

0

B

C

D 1

E 1

2

0

0

0

Recursos que se siguen necesitando

E=(6342)P=(5322)A=(1020)

Page 34: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

Panorama general de la e/s en MINIX

Manejadores de interrupciones en minix

Muchos de los manejadores de dispositivos dan inicio a algún dispositivo de E/S y después se bloquean, esperando la llegada de un mensaje. Otros no dan inicio a ningún dispositivo físico de E/S (por ejemplo, la lectura de un disco RAM) y no esperan un mensaje de un dispositivo de E/S.

Page 35: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

Comunicación usuario sistema

Sistema estructurado por procesos

Procesos

Sistemade archivo

Procesodel usuario

Manejadordel dispositivo

Espacio delusuario

1-4 son mensajes de solicitudy de contestación entre tresprocesos independientes.

Espacio delkernel

1

2 3

4

Sistema monolítico

Un proceso

Parte delespacio

del usuario

Sistemade archivo Manejador

del dispositivo

La parte del espacio del usuario llamaa la parte del espacio del kernel con trampa.El sistema de archivo llama el manejadordel dispositivo como procedimeinto.Todo el sistema operativo esparte de cada proceso.

(a) (b)

Page 36: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

Tarea de E/S en MINIXmessage mess; /* buffer de mensajes */

 io_task()

{

int r, caller;

  inicialize(); /* sólo se hace una vez, durante la inic. del sistema */

  while (TRUE) {

receive(ANY, &mess); /* espera una solicitud para trabajar */

caller = mess.m_source; /* proceso del cual provino el mensaje */

switch(mess.m_type) { /* maneja cada tipo de solicitud posible */

case READ: r = do_read(); break;

case WRITE:r = do_write(); break;

case OTHER:r = do_other(); break;

default: r = ERROR;

}

mess.m_type = TASK_REPLY;

mess.REP_STATUS = r; /* código del resultado */

send(caller, &mess); /* enviar mensaje de contestación al solicitante */

}

}

Page 37: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

Software de E/S en MINIXSoftware de E/S independiente del dispositivo

El proceso del sistema de archivo de minix contiene todo el código de E/S independiente del dispositivo.

Software de E/S a nivel de usuario

Se dispone de procedimientos de biblioteca para hacer llamadas al sistema y para convertir de binario a ASCII y de ASCII a binario.

Manejo del estancamiento

Se ignora el problema por completo. El único sitio en que pueden ocurrir estancamientos es con los recursos compartidos implícitos, como las ranuras de la tabla de procesos, ranuras de la tablas de nodos i, etc.

Page 38: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

Discos de RAM

La idea que ostenta un disco de RAM es simple. Un dispositivo de bloque es un medio de almacenamiento con dos comandos: la escritura de un bloque y la lectura de un bloque.

Al colocar el directorio raíz en al disco RAM, el único disco flexible puede montarse y desmontarse a voluntad, permitiendo que haya medios removibles. Al tener el dispositivo raíz en el disco de RAM el sistema se vuelve altamente flexible: cualquier combinación de discos flexibles y duros puede montarse en él.

Page 39: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

Un disco de RAMMemoria central (RAM)

Programasde usuarios

Discode RAM

SistemaOperativo

Bloque 1 del disco de RAM

Las lecturas y escrituras del bloque 0de RAM utiliza esta memoria

Page 40: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

Manejador del disco de RAM en minix

/dev/ram, es un disco de RAM verdadero. Los dos dispositivos menores que siguen se utilizan para leer y escribir memoria física y la memoria del kernel, respectivamente. Cuando /dev/mem se abre y se lee, produce el contenido de las localidades de memoria física que comienzan en 0 absoluto (vectores de interrupción). El archivo especial /dev/kmem es como /dev/mem, salvo que el byte 0 de este archivo es el byte 0 de la memoria del kernel (dirección física 0x600 o bien 1536 decimal en minix).

El último archivo de este grupo, /dev/null, es un archivo especial que acepta datos y los desecha. Se utiliza comúnmente en comandos del shell cuando el programa solicitado genere una salida que no se necesita.

Page 41: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

Hardware del discoTodos los discos reales están organizados en cilindros, donde cada uno contiene tantas pistas como haya cabezas apiladas verticalmente. Las pistas se dividen en sectores, donde el número de sectores en torno a la circunferencia en comúnmente de 8 a 32. Todos los sectores contienen el mismo número de bytes. Los parámetros de un disco flexible de la IBM PC se muestran en la tabla siguiente.

Número de cilindros 40 Tiempo de localización (cilindros adyacentes) 6ms

Pistas por cilindro 2 Tiempo de localización (caso promedio) 77ms

Sectores por pista 9 Tiempo de rotación 200ms

Sectores por disquete 720 Tiempo de arranque/detención del motor 250ms

Bytes por sector 512 Tiempo para transferir un sector 22ms

Bytes por disquete 368640

Page 42: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

Algoritmos de planificación del brazo del disco

Posición inicial

Solicitudes pendientes

Secuancia de localizaciones

Cilindro 0 5 10 15 20 25 30 Tiempo

Posición inicial

Secuancia de localizaciones

Cilindro 0 5 10 15 20 25 30 Tiempo

Page 43: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

Manejo de errores

Algunos de los más comunes son:

1. Error de programación (por ejemplo, solicitud de un sector no existente).

2. Error transitorio de la suma de verificación (por ejemplo, ocasionado por polvo en la cabeza).

3. Error permanente de la suma de verificación (por ejemplo, bloque del disco físicamente dañado).

4. Error de localización (por ejemplo, el brazo se envió al cilindro 6 pero se fue al 7).

5. Error del controlador (por ejemplo, el controlador se niega a aceptar comandos).

Page 44: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

manejador del disco flexible en MINIX

disk_task

do_rdwt

dma_setup start_motor localización transferencia clock_mess

Formación deregistros DMA

Encendido delmotor de launidad

Desplazamientodel brazo alcilindro adecuado

Lectura oescriturade datos

Iniciacióndel cronómetroguardian

Procedimientos principales que forman el manejador del disco flexible.

Page 45: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

Relojes

Los relojes controlan la hora del día y evitan que algún proceso monopolice a la CPU, entre otras cosas.

Oscilador de cristal

El contador se disminuye en cada pulso

El registro de contención se utilizapara cargar el contador

Page 46: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

Software del reloj

Las funciones del manejador de reloj son, entre otras:

1. Conservación de la hora del día.

2. Prevención de que los procesos se ejecuten más tiempo del que tienen autorizados.

3. Conteo para uso de la CPU.

4. Manejo de la llamada al sistema alarm que hacen los procesos de los usuarios.

5. Provisión de cronómetros guardianes para cuidar partes del sistema en sí.

6. Realización de perfiles, monitoreo y recolección de estadísticas.

Page 47: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

Hora del día

64 bits

Hora del día en pulsos

32 bits

Hora del día en segundos

Número de pulsos enel segundo corriente

32 bits

Contador en pulsos

Tiempo de carga delsistema en segundos

(a)(b) (c)

Page 48: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

Simulación de cronómetros múltiples con un solo reloj

Es posible simular varios relojes con un solo reloj físico. Se puede utilizar una lista enlazada como en la figura 24. Cada captación de la lista indica cuántas pulsaciones del reloj después de la anterior se debe esperar antes de producir una señal. En este ejemplo, las

señales están pendientes para 4203, 4207, 4213, 4215 y 4216.

Encabezado

del reloj

Tiempo corriente Siguiente señal

4200 3

3 4 6 2 1 x

Page 49: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

Panorama del manejador del reloj en MINIX

El manejador acepta cuatro tipos de mensajes como sigue:

SET_ALARM permite a un proceso fijar un cronómetro que se agote en un número especificado de pulsaciones de reloj. También lo utilizan las tareas para los cronómetros guardianes.

GET_TIME produce el tiempo real corriente con el número de segundos que han transcurrido desde el 1 de enero de 1970 a las 12:00 a.m. SET_TIME fija el tiempo real.

CLOCK_TICK es el mensaje que se envía al manejador cuando ocurre una interrupción de reloj.

Page 50: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

Terminales

La tarea del manejador de la terminal es ocultar la diferencias entre las diferentes terminales, de manera que la parte independiente del dispositivo del sistema operativo y los programas de los usuarios no tengan que reescribirse para cada tipo de terminal.

Page 51: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

Tipos de terminales

Terminales

Interfaz dela RS-232

Interfaz delineadaen la memoria

Copia duraTty

de vidrioInteligente Blit

Orientada alos caracteres

Orientadaa los bits

Page 52: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

Terminal RS-232

Computadora

CPU Memoria

Tarjeta deinterfaz de

RS-232Línea de recepción

Línea de transmisión(50 a 9600 bps)

UART

Terminal

Bus UART

Page 53: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

Terminales delineadas en la memoria

CPU MemoriaTarjeta de la

Bus

RAM de video

Controlador de video

Monitor

TecladoPuerto paralelo

Señal de video analógica(por ejemplo, 16MHz)

Page 54: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

Una imagen en la RAM

Ram de videoDirección de RAM

Pantalla

25 líneas

80 caracteres...x3 x 2 x 1 x 0

...xD x C x B x A

0xB00A0

0xB0000

160 caracteres

(a) (b)

A0

B C D1 2 3

Page 55: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

Software de entrada

El manejador se hace cargo de la edición entre líneas y simplemente entrega las líneas corregidas a los programas de los usuarios o bien puede suministrar los caracteres tal y como los recibe. El primer modo es el modo elaborado y el segundo el modo no elaborado.

Page 56: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

Buffer de la terminal

Estructura de datosde la terminal

TerminalLa reserva delbuffer central

Terminal

Estructura de datosde la terminal

Area delbuffer de la

terminal 0

Area delbuffer de la

terminal 1

0

1

2

3

0

1

(a) (b)

Page 57: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

Modo elaborado

Carácter Comentario

Retroceso Retrocede y suprime un carácter

@ Suprime la línea corriente

\ Escape (acepta el siguiente carácter literalmente)

tab Posiblemente se extienda a espacios en la salida

CTRL-S Detiene la salida

CTRL-Q Inicia la salida

DEL Interrupción del proceso (SIGINT)

CTRL-\ Obliga un vaciado del núcleo (SIGQUIT)

CTRL-D Fin de archivo

Page 58: ENTRADA Y SALIDA CURSO DE SISTEMAS OPERATIVOS. CONTENIDO Principios del hardware de E/S Principios del software de E/S Estancamientos Panorama general

Panorama general del manejador de la terminal en MINIX

El manejador de la terminal es el archivo más grande de MINIX. Este acepta cinco mensajes:

1. Lectura de caracteres desde la terminal (del sistema de archivo a la mitad de un proceso de usuario).

2. Escritura de caracteres en la terminal (del sistema de archivo a la mitad de un proceso de usuario).

3. Fijación de los parámetros de la terminal para ioctl (del sistema de archivo a la mitad de un proceso de usuario).

4. Carácter disponible (del proceso de interrupción).

5. Cancelación de la solicitud de lectura anterior (del sistema de archivo cuando ocurra una señal).