La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Entrada / Salida1 Horas 1INTRODUCCIÓN5 2PROCESOS Y THREADS8 3GESTIÓN DE MEMORIA8 4ENTRADA/SALIDA4 5GESTIÓN DE FICHEROS4 S.O.ITemarioCurso: 04/05.

Presentaciones similares


Presentación del tema: "Entrada / Salida1 Horas 1INTRODUCCIÓN5 2PROCESOS Y THREADS8 3GESTIÓN DE MEMORIA8 4ENTRADA/SALIDA4 5GESTIÓN DE FICHEROS4 S.O.ITemarioCurso: 04/05."— Transcripción de la presentación:

1 Entrada / Salida1 Horas 1INTRODUCCIÓN5 2PROCESOS Y THREADS8 3GESTIÓN DE MEMORIA8 4ENTRADA/SALIDA4 5GESTIÓN DE FICHEROS4 S.O.ITemarioCurso: 04/05

2 Entrada / Salida2 Tema 4.Entrada / Salida PRINCIPIOS HARDWARE Dispositivos y Controladores E/S mapeada DMA PRINCIPIOS SOFTWARE (Objetivos) NIVELES SOFTWARE Manejadores de interrupción Drivers de dispositivos Independencia del dispositivo Sw de E/S en el espacio de usuario DISCOS Hardware (discos magnéticos) Formateo Planificación del brazo

3 Entrada / Salida3 Principios Hardware (Dispositivos + Controladores ) Z80 D7-D0 INT PBUS ABUS PMEM PES LEC ESC A15-A DMA D7-D0 EOP DREQ DACK MR MW IOR IOW CS HRQ HLDA A15-A FDC INT D7-D0 R W CS TC DREQ DACK A0 MP 64K D7-D0 CS LEC ESC A15-A0 IOR IOW MR MW ? S.O =>Simplicidad Eficiencia

4 Entrada / Salida4 Principios Hardware (Dispositivos) Orientados a bloques:Bloques [512B..32KB] y acceso aleatorio Orientados a caracteres:Flujo de bytes y acceso secuencial Tasas de transferencia muy variable:10B/seg..20GB/seg DispositivoTasa Trans. Teclado Ratón 10 B/s 100 B/s Modem 56K Imp. Láser 7 KB/s 100 KB/s Scanner400 KB/s USB1,5 MB/s 40x CD-ROM6 MB/s FastEthernet12,5 MB/s SCSI Ultra 280 MB/s Bus PCI528 MB/s Sun Gigaplane20 GB/s FireWire50 MB/s

5 Entrada / Salida5 Principios Hardware (Controladores) PreámbuloDatosECC Sector CPUMP Controlador Disco/s Controlador Impresora ? Bloque de bytes Buffer amortiguador de velocidad Comprobar errores Dejar en la memoria Estándar

6 Entrada / Salida6 Principios Sotware (Objetivos) Independencia del dispositivo:sort salida Uniformidad de nombres:/dev/lp /dev/usr/alumnos/zz9999 /dev/usr/profesores/pcarazo ¿mount? Gestión de errores:Cuanto más local mejor Tipo de transferencia:Síncrona vs asíncrona InterrupcionesBloqueo Almacenaje intermedio:Amortiguar velocidades,... Compartido vs exclusivo:Ficheros en disco vs listados por impresora

7 Entrada / Salida7 Niveles Software HARDWARE Gestores de Interrupciones Drivers de dispositivos Sw independiente del dispositivo Sw de E/S a nivel de usuario read (df, ….) => Petición de la E/SRespuesta de la E/S Formateo, TRAP Nombrado, protección, bloqueo, almacenamiento Manejar controlador (reg), comprobar estado, errores Salvar y recuperar estado, realizar tratamiento Realización física de la E/S

8 Entrada / Salida8 Niveles Software (Gestores de interrupciones) HARDWARE Gestores de Interrupciones Drivers de dispositivos Sw independiente del dispositivo Sw de E/S a nivel de usuario read (df, ….) Driver Comandos* out reg,valor ? Tratar la interrupción ? wait (sDisco) más acciones Rutina tratamiento interrupción Salvar registrosEjecutar rutina específica Contexto rutina intPlanificar proceso Pila rutina intRecuperar estado proceso Ack al controlador intrte Registros salvados a descriptor signal

9 Entrada / Salida9 Niveles Software (Drivers de dispositivos) HARDWARE Gestores de Interrupciones Drivers de dispositivos Sw independiente del dispositivo Sw de E/S a nivel de usuario read (df, ….) ? DDiscoDTeclado DImpLaser ? LeerBloque (12.300, &buffer) cilindro pista, sector ¿Motor encendido?ON ¿Mucho tiempo? OFF LeerBloque (5,&b) ¿Llega una petición? Atender petición DDisco ? ¿Posición actual? ? ¿Extraigo dispositivo?

10 Entrada / Salida10 Niveles Software (Sw independiente del dispositivo) HARDWARE Gestores de Interrupciones Drivers de dispositivos Sw independiente del dispositivo Sw de E/S a nivel de usuario read (df, ….) Interfaz uniforme para los drivers Almacenamiento (buffers) Gestión de errores Pedir | Liberar dispositivos dedicados Tamaño de bloque independiente del dispositivo Sistema Operativo ? df = open (/dev/fd0, …) ? Nombrado de dispositivos de E/S i-node tipo # principal # secundario

11 Entrada / Salida11 Sw independiente: Almacenamiento (buffers) Pi Usuario Kernel Pi

12 Entrada / Salida12 Sw independiente: Almacenamiento (buffers)

13 Entrada / Salida13 Sw independiente (Gestión errores y dispositivos dedicados) Errores: Parámetros=> Operación inocua e informar del error Físicos=> Resolución local o pasar la pelota o crash Dispositivos dedicados: Open=> Como entrar en región crítica Close=> Como salir de región crítica

14 Entrada / Salida14 Sw independiente (Tamaño de bloque independiente) 0..N ramDisk leerBloque (dispositivo, indBloque, dirBuffer) escribirBloque Operaciones: Bloque 0Bloque 1Bloque 2Bloque N Datos: Sw independiente dispositivo Drivers Por encima del Sw independiente, cada dispositivo de bloques:

15 Entrada / Salida15 Niveles Software (Sw E/S en el espacio de usuario) Llamadas al sistema rutinas de biblioteca count = write (fd, buffer, nbytes) Rutinas tipo printf (formateo y pasar parámetros) Sistema de spooling impresora: demonio y directorio de spooling red: demonio y directorio de spooling

16 Entrada / Salida16 DISCOS (Hardware de los discos magnéticos - I)

17 Entrada / Salida17 DISCOS (Hardware de los discos magnéticos - II) Posibilidad de posicionamiento simultáneo en varias unidades (búsquedas solapadas). Posibilidad de posicionamiento y r/w simultáneos en dos unidades. NO transferencias simultáneas.

18 Entrada / Salida18 DISCOS (Hardware de los discos magnéticos - III) Geometría física de un disco con dos zonas Geometría virtual para el disco

19 Entrada / Salida19 DISCOS (Formateo a bajo nivel: Sector de disco) PreámbuloDatosECC Patrón de bits Cilindro, Sector Parametrizable Habitual 512B Error Correcting Code Habitual 16 bits ¿ Capacidad efectiva ? ¿ Sectores defectuosos de fábrica ?Sectores extra alternativos ¿ Cómo ubicar los sectores en la superficie del disco ?

20 Entrada / Salida20 DISCOS (Formateo a bajo nivel: cylinder skew) Leer 5 sectores Amortigua posicionamiento ¿Viable?

21 Entrada / Salida21 DISCOS (Formateo a bajo nivel: Entrelazado de sectores) Mientras se transfiere a memoria, el disco sigue girando y …. ¡ Controlador con un único buffer (sector) ! Interleaving = 0Interleaving = 1Interleaving = 2 ¡ Habitual buffer en controlador para toda una pista !

22 Entrada / Salida22 DISCOS (Establecer particiones) Master boot record Código de arranque Tabla particiones #1 er sectortamaño C D E F ¿Partición activa? ¿Formateo a alto nivel?

23 Entrada / Salida23 DISCOS (Planificación del brazo: FCFS) Ejemplo: Posición actual: cilindro 11 Llegan peticiones: 1, 36, 16, 34, 9, XX X XXX ¡ En total se atraviesan 111 cilindros ! ¡ Colas de peticiones pendientes por cilindro ! ¡ En total se atraviesan 111 cilindros !

24 Entrada / Salida24 DISCOS (Planificación del brazo: SSF Shortest Seek First) ¡ En total se atraviesan 61 cilindros ! INJUSTICIA + INANICIÓN

25 Entrada / Salida25 DISCOS (Planificación del brazo: Ascensor ) Idea de sentido: (Sube – Baja) *

26 Entrada / Salida26 DISCOS (Planificación del brazo: Ascensor mejorado CSCAN )

27 Entrada / Salida27 DISCOS (Planificación del brazo: Otras optimizaciones ) OTRAS OPTIMIZACIONES: Peticiones sobre el mismo cilindro sector más cercano Caché en el controlador Si N unidades de disco: Ordenar posicionamiento en N-1 Realizar transferencia actual Factor de entrelazado (interleaving) (Leer la sección La sección no entra para el examen.)


Descargar ppt "Entrada / Salida1 Horas 1INTRODUCCIÓN5 2PROCESOS Y THREADS8 3GESTIÓN DE MEMORIA8 4ENTRADA/SALIDA4 5GESTIÓN DE FICHEROS4 S.O.ITemarioCurso: 04/05."

Presentaciones similares


Anuncios Google