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

Captulo 4

Entrada/Salida
4.1 Principios hardware de E/S
4.2 Principios software de E/S
4.3 Niveles software de E/S
4.4 Discos

Principios hardware de E/S (1)


El SO debe controlar los dispositivos de E/S:
Dar comandos
Atrapar interrupciones
Gestionar errores
Interfaz clara y sencilla
Deseable: misma interfaz para todos los dispositivos.
I/O 30% del SO

Principios hardware de E/S (2)


Dispositivos de E/S:
Diseadores y constructores
Mantenimiento
Control y explotacin
PROGRAMACIN
Comandos
Funcionalidad
Errores
Cmo programar el dispositivo?

Principios hardware de E/S (3)


Dispositivos E/S
Dos tipos:
Orientados a bloques
Almacena informacin en bloques de tamao fijo.
Direccionables por bloque
Discos.
Orientados a caracteres
Almacena/genera un flujo de caracteres
No acceso directo/ no bloques
Terminales, impresoras, lneas
Otros: cintas, relojes
4

Principios hardware de E/S (4)


Controladores de Dispositivo
Dispositivo E/S:
Componente mecnico
Componente electrnico controlador

Principios hardware de E/S (5)


Controladores de Dispositivo
P.ejem: discos: cilindros, pistas, sectores.

Controlador:
De secuencia de bits a bloque de bytes
Almacenar en buffer del controlador
Chequear errores
Copiar bloque a memoria

Principios hardware de E/S (6)


Memoria mapeada
CPU registros del controlador. Dos opciones:
Puertos de E/S
Memoria mapeada
0xFFFF
Memoria

Puertos E/S

Principios hardware de E/S (7)


Direct Memory Access (DMA)

0) dir. del bloque, dir. de memoria, num. bytes; 1) El controlador lee el bloque en su
buffer; 2) Checksum; 3) El controlador copia de buffer a memoria. 4) El
controlador interrumpe a la CPU; 5) El SO ya tiene la copia realizada
8

Principios hardware de E/S (8)


Direct Memory Access (DMA)
Para qu el buffer en el controlador?

Principios software de E/S (1)


Objetivos del software de E/S
INDEPENDENCIA DEL DISPOSITIVO.
Un programa debe ejecutarse correctamente independientemente de dnde
lea o escriba:
sort < entrada > salida

UNIFORMIDAD DE NOMBRES.
Nombres de ficheros y de dispositivos se construyen igual.
/dev/lp
/usr1/alumnos/f0175/modula2

GESTIN DE ERRORES.
Por las capas ms bajas. Si no pueden que lo comuniquen a las de arriba.

10

Principios software de E/S (2)


Objetivos del software de E/S
TIPO DE TRANSFERENCIA.
sncrona asncrona
bloqueante interrupciones
Casi todos los dispositivos son asncronos (interrupciones)
PERO: los programas son ms fciles de escribir con sncronas (bloqueantes).
El SO debe disfrazar las asncronas en sncronas

BUFFERING.
Almacenamiento intermedio de datos que vienen de dispositivos

TIPO DE DISPOSITIVOS
Dedicados compartidos
impresora disco
dedicados spooling compartidos.
Leer las secciones 5.2.2, 5.2.3 y 5.2.4

11

Niveles software de E/S (1)

12

Niveles software de E/S (2)


Gestores de interrupciones
Las interrupciones no son amigables.
Esconderlas en algn mdulo del SO.
El resto del SO no sabe nada de interrupciones.

13

Niveles software de E/S (3)


Gestores de interrupciones
Tratamiento de una interrupcin (genrico)

Salvar registros
Poner contexto para la rutina de tratamiento (TLB, MMU, )
Poner stack para la rutina de tratamiento
Ack al controlador de interrupciones
Copiar registros salvados a la tabla de procesos
Ejecutar la rutina de tratamiento
Seleccionar proceso a ejecutar
Pone contexto para el nuevo proceso (MMU, TLB, )
Cargar los registros del nuevo proceso
Arrancar el nuevo proceso
14

Niveles software de E/S (4)


Drivers de dispositivos

15

Niveles software de E/S (5)


Drivers de dispositivos
Cdigo dependiente del dispositivo.
Cada clase de dispositivo un driver diferente.
Lee/escribe en los registros de control del dispositivo.
Funcin: traducir peticiones abstractas en concretas.

16

Niveles software de E/S (6)


Drivers de dispositivos
Cuando llega la peticin: driver ocioso?
SI: ejecutarla inmediatamente
NO: encolarla
Leer bloque N
num cilindro, num sector, pista.
motor encendido?
posicin actual del brazo?

17

Niveles software de E/S (7)


Drivers de dispositivos

decidir qu operaciones (comandos al controlador)


decidir el orden de las operaciones.
Escribir en los registros del controlador (arrancar la
operacin).
Tipo de operacin?
bloqueante espera interrupcin.
No bloqueante no esperes.
Chequear errores.
Hay: intenta corregirlo
No hay: pasa informacin al nivel superior (datos y
estado de la operacin)
Quedan peticiones encoladas?
SI: seleccionar una
NO: dormir (bloquearse) hasta que llegue la siguiente peticin

18

Niveles software de E/S (8)


Software de E/S independiente del dispositivo
Gran parte del SW de E/S es independiente del dispositivo.
Funciones bsicas:
- Implementar las operaciones de E/S que son comunes a
todos los dispositivos.
- Presentar a los programas de usuario una interfaz uniforme.
Funciones tpicas:
- Interfaz uniforme para los drivers
- Buffering
- Gestin de errores
- Asignacin y liberacin de dispositivos dedicados
- Proporcionar un tamao de bloque independiente del
dispositivo

19

Niveles software de E/S (9)


Software de E/S independiente del dispositivo
Interfaz uniforme para los drivers

(a) Sin interfaz estndar


(b) Con interfaz estndar
20

Niveles software de E/S (10)


Software de E/S independiente del dispositivo
Interfaz uniforme para los drivers. Nombrado de dispositivos E/S

21

Niveles software de E/S (11)


Software de E/S independiente del dispositivo
Buffering

22

Niveles software de E/S (12)


Software de E/S independiente del dispositivo
Buffering

La comunicacin en red puede implicar muchas copias


23

Niveles software de E/S (13)


Software de E/S independiente del dispositivo
Gestin de errores
La mayora de los errores los maneja el driver.
Si el driver no puede
software independiente del dispositivo: decisiones polticas.
Asignar y liberar dispositivos dedicados
Pedir al SO el recurso (por ejemplo: open).
Liberar recurso (por ejemplo: close).
Tamao de bloque independiente del dispositivo
El software independiente del dispositivo da la visin de un nico
tamao de bloque (independiente del tamao real del bloque del
dispositivo).
24

Niveles software de E/S (14)


Software de E/S en espacio de usuario
Llamadas al sistema rutinas de biblioteca
count = write (fd, buffer, nbytes)
Rutinas tipo printf (formateo y pasar parmetros)
Sistema de spooling
impresora: demonio y directorio de spooling
red: demonio y directorio de spooling

25

Discos (1). Hardware. Discos magnticos

26

Discos (2). Hardware. Discos magnticos

Posibilidad de posicionamiento simultneo en varias unidades


(bsquedas solapadas).
Posibilidad de posicionamiento y r/w simultneos en dos unidade
NO transferencias simultneas.

27

Discos (3). Hardware. Discos magnticos

Geometra fsica de un disco con dos zonas


Geometra virtual para el disco
(los epgrafes RAID, CD-ROMs, CD grabables, regrabables y DVD
no entran para el examen)

28

Discos (4).

Formateo de discos

Formato de un sector de un disco

N cilindro
N sector

512 bytes

Error-Correcting Code

Reduccin de capacidad en el disco formateado


Adems, hay sectores para sustituir a los defectuosos de fbrica
29

Discos (5).

Formateo de discos

Ejemplo de cylinder skew

30

Discos (6). Formateo de discos


Por ejemplo:
10000 rpm, 300 sectores por pista, 800 seg salto entre pistas,
cul es el cylinder skew apropiado?
10000 rpm 6 msg. en dar una vuelta
300 sectores/pista y 6 msg. en dar una vuelta
se tarda 20 seg en leer un sector
En 800 seg se leen 800/20 = 40 sectores
cylinder skew apropiado = 40
(sin considerar la seleccin de cabeza)
31

Discos (7). Formateo de discos


Mientras se transfiere a memoria, el disco sigue girando.

(a) Sin interleaving


(b) Interleaving = 1
(c) Interleaving = 2

32

Discos (8). Formateo de discos


- Particionar el disco.
- Sector 0 -> master boot record (contiene):
cdigo de arranque
tabla de particiones (sector inicial y final de cada particin)
Una de las particiones debe estar activa
-Formateo (alto nivel) de cada particin:
boot block
indicacin de bloques libres
directorio raz,
(cuando veamos el sistema de ficheros)

33

Discos (9). Algoritmos de planificacin del


brazo del disco
tiempo de acceso =
tiempo de posicionamiento (brazo al cilindro adecuado) +
tiempo de latencia (espera de rotacin) +
tiempo de transferencia.
Algoritmos para disminuir el tiempo de posicionamiento.
FCFS (First-Come, First-Served)
- Atiende las peticiones por orden de llegada.
- Muy sencillo.
- Ninguna optimizacin.

34

Discos (10). Algoritmos de planificacin


del brazo del disco
Ejemplo (FCFS):
posicin actual: cilindro 11
llegan peticiones: 1, 36, 16, 34, 9 ,12

35

Discos (11). Algoritmos de planificacin


del brazo del disco
SSF (Shortest Seek First)
Suposicin: las peticiones pendientes se pueden encolar
mientras se atiende la actual.

36

Discos (12). Algoritmos de planificacin


del brazo del disco
SSF (Shortest Seek First)

37

Discos (13). Algoritmos de planificacin


del brazo del disco
SSF (Shortest Seek First)
Problema: POSIBLE INANICIN.
Mejora la eficiencia, (minimiza el tiempo de respuesta)
pero no es equitativo.

38

Discos (14). Algoritmos de planificacin


del brazo del disco
Algoritmo del Ascensor
Plantas: cilindros;
peticiones: usuarios
Compromiso entre eficiencia y equidad.
Moverse en un sentido hasta que no haya ms peticiones en ese
sentido (atendiendo a la ms corta) y cambiar de sentido.
Inicialmente subiendo
39

Discos (15). Algoritmos de planificacin


del brazo del disco
Algoritmo del Ascensor

En general, peor que SSF.


Dado un conjunto cualquiera de peticiones lmite superior
del movimiento total = 2 veces el nmero de cilindros.

40

Discos (16). Algoritmos de planificacin


del brazo del disco
C-SCAN
Variante del algoritmo del ascensor: recorrer el disco siempre en el
mismo sentido. Disminuye la desviacin en los tiempos de respuesta

41

Discos (17). Algoritmos de planificacin


del brazo del disco
En el algoritmo del ascensor
acumulacin de peticiones en un
extremo.

42

Discos (18). Algoritmos de planificacin


del brazo del disco
OTRAS OPTIMIZACIONES.
Peticiones sobre el mismo cilindro sector ms cercano
Cach en el controlador
Si N unidades de disco:
Ordenar posicionamiento en N-1
Realizar transferencia actual
Factor de entrelazado (interleaving)
(Leer la seccin 5.4.4. La seccin 5.4.5 no entra para el examen.)
43

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