PDF de programación - Tema 6 - Gestión de Entrada/Salida

Imágen de pdf Tema 6 - Gestión de Entrada/Salida

Tema 6 - Gestión de Entrada/Salidagráfica de visualizaciones

Publicado el 10 de Febrero del 2017
1.405 visualizaciones desde el 10 de Febrero del 2017
796,7 KB
80 paginas
Creado hace 17a (16/04/2007)
Tema 6

Gestión de Entrada/Salida

Sistemas Operativos

1

Índice

1. Arquitectura del sistema de E/S (Tanenbaum [C5.1.1, C5.2 y C5.3])
2. Discos (Tanenbaum [C5.4.1, C5.4.3 y C5.4.4])
3. Relojes (Tanenbaum [C5.5])
4. Terminales (Tanenbaum [C5.6 y C5.7])
5. E/S en Linux (Tanenbaum [C10.5.1, C10.5.3 y C10.5.4])
6. E/S en Windows 2000 (Tanenbaum [C11.6.1, C11.6.3 y C11.6.4])

2

1. Arquitectura del sistema de E/S

Índice

1.1 Objetivos del software de E/S
1.2 Dispositivos de bloques y de caracteres
1.3 Estructura y componentes del sistema de E/S
1.4 Manejadores de interrupciones
1.5 Manejadores de dispositivos
1.6 Software de E/S independiente del dispositivo
1.7 Software de E/S en el espacio de usuario

3

1.1 Objetivos del software de E/S

1. Independencia de dispositivo

– Se debe poder acceder a los dispositivos de E/S sin tener que

especificar previamente de qué tipo de dispositivo se trata

2. Nombres uniformes para los dispositivos

– El nombre de un fichero o dispositivo debe ser simplemente una
cadena o un entero, y no depender del dispositivo. Así todos los
ficheros y dispositivos se direccionan de un mismo modo: “con
un nombre de ruta”
3. Manejo de errores

– Deben manejarse tan cerca del hardware como sea posible
– Subsanar todos los errores posibles
– Comunicando los no subsanables a los procesos de usuario

4

1.1 Objetivos del software de E/S (ii)

4. Conversión de transferencias asíncronas (controladas por interrupciones)

en síncronas (por bloqueo)
– Casi toda E/S física es asíncrona: la CPU inicia la transferencia y realiza otra

tarea hasta que llega una interrupción

– Sin embargo, es más sencillo escribir los programas si las operaciones de E/S

son bloqueantes

– El SO ha de hacer que las operaciones que son controladas por interrupciones

parezcan bloqueantes para el programador

5. Compartición de recursos

– Debe permitir la compartición de ciertos dispositivos (como los discos)
– Pero al mismo tiempo debe garantizar el uso exclusivo de otros (como las

impresoras)

6. Uso de buffers

– Debe proporcionar almacenamiento temporal en memoria para evitar pérdida de

datos (teclado) o acelerar dispositivos (discos)

5

1.2 Dispositivos de bloques y de caracteres (I)

Dispositivos de bloques (discos)
– Almacenan información en bloques de tamaño fijo, cada uno con su

propia dirección

– Es posible leer o escribir cada bloque con independencia de todos los

demás

Dispositivos de caracteres (lo que no es disco)
– Suministra o acepta un flujo de caracteres sin estructurarlos en bloques
– No es direccionable ni tiene una operación de desplazamiento

Impresoras, teclados, interfaces de red, etc…

Otros, sin embargo, no son direccionables por bloques y tampoco
aceptan un flujo de caracteres

Relojes, pantallas mapeadas a memoria

La división es muy útil:
– Sist. Ficheros ⇒ disp. bloques ⇒ manejador ⇒ disp. Físico

se ocupa sólo de dispositivos abstractos de bloques

6

1.2 Dispositivos de bloques y de caracteres (II)

Dispositivo

Tasa de datos

Teclado
Ratón
Modem de 56k
Canal telefónico
Líneas ISDN duales
Impresora láser
Escárner
Ethernet Clásico
USB
Cámara grabadora digital
Disco IDE
CD-ROM 40x
Ethernet rápida
Bus ISA
Disco EIDE (ATA-2)
Interfaz FireWire (IEEE
1394)
Monitor XGA
Red SONET OC-12
Disco SCSI Ultra 2
Ethernet Gigabit
Cinta Ultrium
Bus PCI
Tarjeta posterior Sun
Gigaplane XB

10 bytes/s
100 bytes/s
7 KB/s
8 KB/s
16 KB/s
100 KB/s
400 KB/s
1.25 MB/s
1.5 MB/s
4 MB/s
5 MB/s
6 MB/s
12.5 MB/s
16.7 MB/s
16.7 MB/s
50 MB/s

60 MB/s
78 MB/s
80 MB/s
125 MB/s
320 MB/s
528 MB/s
20 GB/s

7

1.3 Estructura y componentes del software de E/S

El SW de E/S suele estar organizado en 4 capas, cada una con una función
bien definida y una interfaz clara con las capas adyacentes
1. Manejadores de interrupciones
2. Manejadores de dispositivos
3. Software de E/S independiente del dispositivo (SID)
4. Software de E/S en el espacio de usuario

Capa

Respuesta

de E/S

Funciones de E/S

Solicitud
de E/S

Procesos de usuario

Hace llamadas de E/S; da formato a la E/S; spooling

Software independiente

del dispositivo

Manejadores
de dispositivo

Manejadores

de interrupciones

Dar nombres, protección, bloqueos, uso de buffers, asignaciones

Inicializa los registros del dispositivo; comprueba el estado

Despierta al manejador al terminar la E/S

Hardware

Realiza la operación de E/S

8

1.4 Manejadores de interrupciones (I)

Se deben ocultar al máximo en el S.O.
El proceso que solicita la operación se bloquea hasta
que termina la E/S
Cuando se presenta una interrupción el manejador de
interrupciones hace lo propio para manejarla. Después
avisa al manejador que le solicitó esa operación de E/S
El manejador despierta al proceso y prosigue su
ejecución
Así, el efecto real es que el proceso que antes estaba
bloqueado ahora ya puede ejecutarse

9

1.4 Manejadores de interrupciones (II)

Incluso a la hora de implementar el SO interesa ocultar
las interrupciones (inevitables por molestas que sean)
– La mejor manera de ocultar las interrupciones es hacer que el
controlador que inicia una operación de E/S se bloquee hasta
que la E/S haya terminado y se presente la interrupción

– Dicho controlador puede bloquearse ejecutando down en un

semáforo, wait en una variable de condición, receive de un
mensaje, etc

– La subrutina de atención a interrupciones después de hacer su

trabajo (si realiza alguno) desbloqueará el controlador que la
generó ejecutando up sobre semáforo, signal variable de
condición, enviando un mensaje al controlador bloqueado etc…
– Este modelo funciona de forma óptima si los controladores se

estructuran como procesos del kernel, con sus propios estados,
pilas y contadores de programa

10

1.5 Manejadores de dispositivos

Código que depende de los dispositivos, que sirve para controlarlos
El fabricante proporciona manejadores de su dispositivo para varios SO
Cada manejador controla un dispositivo, o una clase de dispositivos
Forma parte del núcleo del SO, necesita ejecutarse en modo núcleo para
acceder a los registros de la controladora del dispositivo
En sistemas Unix antiguos los manejadores se compilaban junto con el
kernel (se cambiaba poco de dispositivos y los usuarios estaban
familiarizados en compilar el kernel) en lugar de cargarlos de forma
dinámica a arrancar o en tiempo de ejecución
La mayoría de los SO definen una interfaz que todos los manejadores
deben soportar (cjto de procedimientos que el resto del SO puede invocar
para pedir a la controladora que realice algún trabajo)
Al solicitar la orden a realizar, el manejador puede ser que tenga que
esperar (bloqueándose hasta que se produzca una interrupción) o que la operación
termine sin retraso (el manejador no se bloquea)
Ha de ser reentrante ⇒⇒⇒⇒ durante su ejecución, debe considerar la
posibilidad de que se le invoque otra vez antes de terminar

11

1.6 Software de E/S independiente de dispositivo

Hay software que no depende directamente del dispositivo
Dependiente versus independiente: ¿dónde está la frontera?
– Algunas funciones que podrían efectuarse con independencia del dispositivo en

realidad se ejecutan en el manejador por eficiencia o por otros motivos

Funciones:
1.
2. Asociación de nombres simbólicos de los dispositivos y el manejador correcto:

Interfaz uniforme del software a nivel de usuario

/dev/tty0 ⇒ nodo-i especial (id. tipo y dispositivo)
Interfaz uniforme para manejadores de dispositivo

3.
4. Protección de dispositivos ⇒ evitar que usuarios no autorizados accedan al

dispositivo

5. Tamaño de bloque independiente del dispositivo




Agrupar o dividir sectores para conseguir un tamaño único de bloque lógico
Las capas superiores pueden trabajar con dispositivos abstractos

12

1.6 Software de E/S independiente de dispositivo (ii)

Funciones (continúa...)
6. Uso de buffers para almacenamiento temporal de los datos



Homogeneizan velocidades, se pueden recibir los datos de manera más rápida que la
velocidad que pueden salir

7. Asignación de espacio en los dispositivos de bloques



Realizar la gestión de la lista ligada o mapa de bits para administrar el espacio libre es
independiente del dispositivo

8. Arbitrio entre dispositivos de uso exclusivo



Examinar las solicitudes de uso de dispositivos y aceptarlas o rechazarlas, según el
dispositivo esté disponible o no

9.

Informe de errores


Los errores no resueltos por los manejadores deberán ser tratados por el SID, que
intentará solucionarlos, y si no puede, deberá informar de los mismos

13

1.7 Software de E/S en espacio de usuario

Procedimientos de biblioteca
– La mayoría del software de E/S está en el núcleo
– Sin embargo, también hay procedimientos de biblioteca que se ejecutan

en modo usuario y que se encargan de realizar las llamadas al
sistema (ej. read, printf, etc.)

– Normalmente preparan el «entorno» adecuado y a continuación

realizan la llamada al sistema

Sistema de spooling
– Los dispositivos de uso exclusivo no se pueden dejar a cargo de

programas de usuario (problema: monopolización)

– El sistema de spooling es una forma de manejar dispositivos dedicados

en un sistema con multipogramación

– Hay un demonio y un directorio de spooling
– El demonio verifica periódicamente el directorio para saber si hay

trabajos pendientes

– Las impresoras se manejan de esta manera

14

1.7 Software de E/S en espacio de usuario

printf en OSO

aplicación

kernel

15

Índice

2. Discos

2.1 Hardware para discos. Estructura física
2.2 Planificación de los movimientos del brazo del disco
2.3 Manejo de errores
2.4 Discos en RAM
2.5 Fiabilidad y tolerancia a fallos. Sistemas RAID

16

2.1 Hardware

Serie de platos que giran sobre un eje
(≈ 10.000rpm)

Conjunto de cabezas, una por cada
superficie del disco

Cabezas conectadas a un brazo móvil.
Determinan qué pistas conforman un
cilindro

Cada cilindro tiene tantas pistas como
cabezas haya

Las pistas se dividen en sectores

Las unid
  • Links de descarga
http://lwp-l.com/pdf2386

Comentarios de: Tema 6 - Gestión de Entrada/Salida (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios...
CerrarCerrar
CerrarCerrar
Cerrar

Tienes que ser un usuario registrado para poder insertar imágenes, archivos y/o videos.

Puedes registrarte o validarte desde aquí.

Codigo
Negrita
Subrayado
Tachado
Cursiva
Insertar enlace
Imagen externa
Emoticon
Tabular
Centrar
Titulo
Linea
Disminuir
Aumentar
Vista preliminar
sonreir
dientes
lengua
guiño
enfadado
confundido
llorar
avergonzado
sorprendido
triste
sol
estrella
jarra
camara
taza de cafe
email
beso
bombilla
amor
mal
bien
Es necesario revisar y aceptar las políticas de privacidad