La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

S.O.I Temario Curso: 04/05 Horas INTRODUCCIÓN 5 PROCESOS Y THREADS 8

Presentaciones similares


Presentación del tema: "S.O.I Temario Curso: 04/05 Horas INTRODUCCIÓN 5 PROCESOS Y THREADS 8"— Transcripción de la presentación:

1 S.O.I Temario Curso: 04/05 Horas INTRODUCCIÓN 5 PROCESOS Y THREADS 8
GESTIÓN DE MEMORIA 8 ENTRADA/SALIDA 4 GESTIÓN DE FICHEROS 4 Entrada / Salida

2 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 Entrada / Salida

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

4 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 Dispositivo Tasa Trans. Teclado Ratón 10 B/s 100 B/s Modem 56K Imp. Láser 7 KB/s 100 KB/s Scanner 400 KB/s USB 1,5 MB/s 40x CD-ROM 6 MB/s FastEthernet 12,5 MB/s SCSI Ultra 2 80 MB/s Bus PCI 528 MB/s Sun Gigaplane 20 GB/s FireWire 50 MB/s Entrada / Salida

5 Principios Hardware (Controladores)
Preámbulo Datos ECC Sector 1 . CPU MP Controlador Disco/s Impresora ? Bloque de bytes Buffer amortiguador de velocidad Comprobar errores Dejar en la memoria Estándar Entrada / Salida

6 Principios Sotware (Objetivos)
Independencia del dispositivo: sort < entrada > 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 Interrupciones Bloqueo Almacenaje intermedio: Amortiguar velocidades, ... Compartido vs exclusivo: Ficheros en disco vs listados por impresora Entrada / Salida

7 Niveles Software read (df, ….) => Petición de la E/S
Respuesta de la E/S HARDWARE Gestores de Interrupciones Drivers de dispositivos Sw independiente del dispositivo Sw de E/S a nivel de usuario 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 Entrada / Salida

8 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 signal Rutina tratamiento interrupción ? ? wait (sDisco) más acciones Tratar la interrupción Salvar registros Ejecutar rutina específica Contexto rutina int Planificar proceso Pila rutina int Recuperar estado proceso Ack al controlador int rte Registros salvados a descriptor Entrada / Salida

9 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, ….) ¿Extraigo dispositivo? LeerBloque (12.300, &buffer) LeerBloque (5,&b) ¿Llega una petición? ? ? DDisco DTeclado DImpLaser cilindro pista, sector Atender petición DDisco ? ¿Motor encendido? ON ? ¿Mucho tiempo? ¿Posición actual? OFF Entrada / Salida

10 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 i-node tipo # principal # secundario df = open (“/dev/fd0”, …) ? Entrada / Salida Nombrado de dispositivos de E/S

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

12 Sw independiente: Almacenamiento (buffers)
Entrada / Salida

13 Sw independiente (Gestión errores y dispositivos dedicados)
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 Entrada / Salida

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

15 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 Entrada / Salida

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

17 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. Entrada / Salida

18 DISCOS (Hardware de los discos magnéticos - III)
Geometría física de un disco con dos zonas Geometría virtual para el disco Tanenbaum comenta detalles de electrónica y algo de formateo. No hay referencias a los drivers del sistema que los gestionan. La tecnología de cómo están construidos estos dispositivos no es de SO-1. Entrada / Salida

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

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

21 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 = 0 Interleaving = 1 Interleaving = 2 ¡ Habitual buffer en controlador para toda una pista ! Entrada / Salida

22 DISCOS (Establecer particiones)
¿Formateo a alto nivel? Master boot record Código de arranque Tabla particiones # 1er sector tamaño C D E F 1 1001 ----- 1000 8000 ¿Partición activa? Entrada / Salida

23 DISCOS (Planificación del brazo: FCFS)
¡ Colas de peticiones pendientes por cilindro ! Ejemplo: Posición actual: cilindro 11 Llegan peticiones: 1, 36, 16, 34, 9 ,12 1 9 11 12 16 34 36 X X X X 10 35 20 18 25 3 ¡ En total se atraviesan 111 cilindros ! ¡ En total se atraviesan 111 cilindros ! Entrada / Salida

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

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

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

27 DISCOS (Planificación del brazo: 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) La sección Gestión de errores viene bastante bien explicada. En cualquier caso es puramente ilustrativa: cada SO trata los suyos (que son muchos más). La sección explica una estrategia para asegurar la integridad de datos en un disco en presencia de errores (según modelo que formula). Dado lo corto que vamos de tiempo, optaría por no pedirlo para el examen. (Leer la sección La sección no entra para el examen.) Entrada / Salida


Descargar ppt "S.O.I Temario Curso: 04/05 Horas INTRODUCCIÓN 5 PROCESOS Y THREADS 8"

Presentaciones similares


Anuncios Google