1 1 Tema 14: Gestión de la Lectura/Escritura Sistemas Operativos (Tema 11 en apuntes prof. Rovayo)
2 22 Tema 14: Gestión de la Lectura/Escritura Índice: 1.Discos Magnéticos 2.Relojes y Alarmas 3.Otros Dispositivos
3 3 Índice: 1.Discos Magnéticos 2.Relojes y Alarmas 3.Otros Dispositivos 3 Tema 14: Gestión de la Lectura/Escritura
4 44 1. Discos Magnéticos Tema 14: Gestión de la Lectura/Escritura 1.Hardware de los discos 2.Prestaciones 3.Mejora del tiempo de arranque 4.Mejoras del tiempo de búsqueda 5.Mejoras de la demora de rotación 6.Tratamiento de errores
5 55 1. Discos Magnéticos Tema 14: Gestión de la Lectura/Escritura 1.Hardware de los discos 2.Prestaciones 3.Mejora del tiempo de arranque 4.Mejoras del tiempo de búsqueda 5.Mejoras de la demora de rotación 6.Tratamiento de errores
6 66 1.1 Hardware de los discos Tema 14: Gestión de la Lectura/Escritura Constan de una o más placas circulares que giran alrededor de eje Cada placa puede tener una o dos caras magnetizables Por cada cara, un cabezal de lectura Todos los cabezales se mueven de forma solidaria (peine) Pueden moverse de forma radial o tangencial
7 77 1.1 Hardware de los discos Tema 14: Gestión de la Lectura/Escritura
8 88 1.1 Hardware de los discos Tema 14: Gestión de la Lectura/Escritura
9 99 1.1 Hardware de los discos Tema 14: Gestión de la Lectura/Escritura
10 10 1.1 Hardware de los discos Tema 14: Gestión de la Lectura/Escritura
11 11 1.1 Hardware de los discos Tema 14: Gestión de la Lectura/Escritura
12 12 1.1 Hardware de los discos Tema 14: Gestión de la Lectura/Escritura
13 13 1.1 Hardware de los discos Tema 14: Gestión de la Lectura/Escritura
14 14 1.1 Hardware de los discos Tema 14: Gestión de la Lectura/Escritura ¡Vídeo de ejemplo!
15 15 1.1 Hardware de los discos Tema 14: Gestión de la Lectura/Escritura Organización de la información Pistas: coronas concéntricas, divididas en sectores Sector: unidad mínima de transferencia Discos pequeños o antiguos: todas las pistas tienen igual número de sectores: mayor densidad magnética en pistas centrales Discos ZBR: pistas exteriores tienen mas sectores: más capacidad más velocidad de transmisión 16 Sectores por pista 12 Sectores por pista 14 Sectores por pista 11 Sectores por pista 9 Sectores por pista Imágenes tomadas de www.pcguide.com
16 16 1.1 Hardware de los discos Tema 14: Gestión de la Lectura/Escritura Organización de la información Sector: (continuación) Estructura de un sector: Sincronización Información de identificación Datos Código de corrección de errores Espaciadores Información para el control del servomotor Cilindro: conjunto de pistas accesibles desde una posición de las cabezas lectoras Numerados consecutivamente Cilindro 0: el más externo
17 17 1.1 Hardware de los discos Tema 14: Gestión de la Lectura/Escritura Transferencia de la información Cabezas lectoras deben estar posicionadas y estabilizadas Sectores se transfieren a velocidad constante de bits Velocidad de giro constante Modos de direccionamiento: LBA (Linear Block Address) CHS (Cylinder Head Sector) Particularidades: discos flexibles Dispositivo extraíble: cabezas lectoras en la unidad Cabezas lectoras rozan físicamente superficie de disco Consecuencias: Menor densidad de grabación Motor sólo gira durante las transferencias
18 18 1.1 Hardware de los discos Tema 14: Gestión de la Lectura/Escritura Particularidades: discos duros Muy alta densidad de grabación Para mayor eficiencia, motor gira permanentemente Velocidades típicas: 3.600, 7.200, 9.600, 12.000, 15.000 rpm Consecuencias: Cabezas lectoras no pueden tocar superficie de disco Mínima distancia posible de superficie (típicamente 0.5μm) Discos envasados al vacío o en atmósfera controlada cabello: 20μm 0,5μm huella digital: 8μm partícula humo: 2,5μm
19 19 1. Discos Magnéticos Tema 14: Gestión de la Lectura/Escritura 1.Hardware de los discos 2.Prestaciones 3.Mejora del tiempo de arranque 4.Mejoras del tiempo de búsqueda 5.Mejoras de la demora de rotación 6.Tratamiento de errores
20 20 1.2 Prestaciones Tema 14: Gestión de la Lectura/Escritura Realización de una transferencia Ta=[Tm]+ Tb Tb= nTc + Th + Tr+ Tx
21 21 1. Discos Magnéticos Tema 14: Gestión de la Lectura/Escritura 1.Hardware de los discos 2.Prestaciones 3.Mejora del tiempo de arranque 4.Mejoras del tiempo de búsqueda 5.Mejoras de la demora de rotación 6.Tratamiento de errores
22 22 1.3 Mejora del tiempo de arranque Tema 14: Gestión de la Lectura/Escritura Ante un acceso con motor parado: hay que arrancarlo Idea: tras acceso, dejar motor encendido un tiempo ¡Siguientes accesos no tendrán que esperar Tm!
23 23 1. Discos Magnéticos Tema 14: Gestión de la Lectura/Escritura 1.Hardware de los discos 2.Prestaciones 3.Mejora del tiempo de arranque 4.Mejoras del tiempo de búsqueda 5.Mejoras de la demora de rotación 6.Tratamiento de errores
24 24 1.4 Mejora del tiempo de búsqueda Tema 14: Gestión de la Lectura/Escritura Ante un único acceso: no se puede hacer nada Si gestor de disco tiene lista de búsquedas pendientes: ¡Ordenándolas de forma inteligente se puede conseguir un mejor tiempo total! Criterios de planificación de cabezas lectoras: Por orden de llegada (FCFS) Por menor tiempo de búsqueda (SSTF) Criterio del ascensor (SCAN) Variantes de SCAN: C-SCAN F-SCAN N-SCAN
25 25 1.4 Mejora del tiempo de búsqueda Tema 14: Gestión de la Lectura/Escritura Criterio FCFS Las peticiones se atienden en el mismo orden en que se reciben Ejemplo: Cabezal inicialmente en cilindro 11 Búsquedas: 1, 36, 16, 34, 9, 12 05101520253035 10 35 20 18 25 3 Número total de cilindros saltados: 10 + 35 + 20 + 18 + 25 + 3 = 111
26 26 1.4 Mejora del tiempo de búsqueda Tema 14: Gestión de la Lectura/Escritura Criterio SSTF Se atiende la petición mas próxima al cilindro en que se encuentran actualmente las cabezas lectoras Ejemplo: Cabezal inicialmente en cilindro 11 Búsquedas: 1, 36, 16, 34, 9, 12 05101520253035 1 3 7 15 33 2 Número total de cilindros saltados: 1 + 3 + 7 + 15 + 33 + 2 =61
27 27 1.4 Mejora del tiempo de búsqueda Tema 14: Gestión de la Lectura/Escritura Criterio SSTF Ventajas: Productividad mejor que FCFS: buen tiempo medio Inconvenientes: Varianza muy elevada: Puede producir aplazamiento indefinido de peticiones alejadas de posición actual de los cabezales No válido para sistemas interactivos
28 28 1.4 Mejora del tiempo de búsqueda Tema 14: Gestión de la Lectura/Escritura Criterio SCAN Se establece sentido de movimiento de las cabezas: Se atienden todas las peticiones en el orden en que se van encontrando, hasta llegar a la última Se invierte el sentido de movimiento Se repite proceso Ejemplo: Cabezal inicialmente en cilindro 11, sentido inicial ascendente Búsquedas: 1, 36, 16, 34, 9, 12 05101520253035 1 4 18 2 27 8 Número total de cilindros saltados: 1 + 4 + 18 + 2 + 27 + 8 = 60
29 29 1.4 Mejora del tiempo de búsqueda Tema 14: Gestión de la Lectura/Escritura Criterio SCAN Ventajas: Productividad similar a SSTF Inconvenientes: Mejor trato a los archivos que residen en cilindros centrales del disco: Cabezas lectoras pasan más frecuentemente sobre estos cilindros (reciben más oportunidades) Peticiones a los extremos se pueden ver aplazadas por peticiones a cilindros intermedios que hayan llegado después 05101520253035
30 30 1.4 Mejora del tiempo de búsqueda Tema 14: Gestión de la Lectura/Escritura Criterio C-SCAN Se establece sentido de movimiento de las cabezas: Se atienden todas las peticiones en el orden en que se van encontrando, hasta llegar a la última Se salta a petición mas lejana en extremo opuesto de disco Se repite proceso Ejemplo: Cabezal inicialmente en cilindro 11, sentido ascendente Búsquedas: 1, 36, 16, 34, 9, 12 05101520253035 1 4 18 2 35 8 Número total de cilindros saltados: 1 + 4 + 18 + 2 + 35 + 8 = 68
31 31 1.4 Mejora del tiempo de búsqueda Tema 14: Gestión de la Lectura/Escritura Criterio C-SCAN Ventajas: Iguala el número de oportunidades de ser atendidas de peticiones en cilindros centrales y extremos Inconvenientes: Peticiones a extremos aún siguen siendo aplazadas por peticiones centrales que lleguen después 05101520253035
32 32 1.4 Mejora del tiempo de búsqueda Tema 14: Gestión de la Lectura/Escritura Criterio F-SCAN Planificación SCAN, pero sólo se atienden las peticiones que hayan llegado antes de empezar semiciclo: Dos listas: Peticiones del ciclo en curso Peticiones llegadas una vez empezado ciclo en curso Al terminar ciclo en curso, segunda lista se vuelca sobre primera, y comienza nuevo ciclo SCAN Evita aplazamiento de peticiones en extremos por parte de peticiones centrales que lleguen después
33 33 1.4 Mejora del tiempo de búsqueda Tema 14: Gestión de la Lectura/Escritura Criterio N-SCAN Se aplica planificación SCAN a grupos de N peticiones como máximo Ejemplo: Cabezal inicialmente en cilindro 11, N=3, sentido inicial ascendente Búsquedas: 34, 9, 12, 1, 36, 16, 05101520253035 1 22 7 25 20 35
34 34 1.4 Mejora del tiempo de búsqueda Tema 14: Gestión de la Lectura/Escritura Criterio N-SCAN Ventajas: No produce aplazamientos indefinidos Se atenúa la preferencia por las zonas centrales del disco → Varianza mejora sensiblemente Inconvenientes: Tiempos medios no tan buenos (dependientes de N)
35 35 1. Discos Magnéticos Tema 14: Gestión de la Lectura/Escritura 1.Hardware de los discos 2.Prestaciones 3.Mejora del tiempo de arranque 4.Mejoras del tiempo de búsqueda 5.Mejoras de la demora de rotación 6.Tratamiento de errores
36 36 1.5 Mejora del tiempo de rotación Tema 14: Gestión de la Lectura/Escritura Misma idea que mejora tiempo de búsqueda: reducir tiempo medio de búsqueda Estrategias: Intercalado de sectores Ordenación circular Transferencia de pista completa
37 37 1.5 Mejora del tiempo de rotación Tema 14: Gestión de la Lectura/Escritura Intercalado de sectores El problema: si se procesan dos sectores consecutivos, es probable que el segundo sector “se escape” Quiero el sector X, porfaplease… Estupendo, pues ahora quiero el X+1…
38 38 1.5 Mejora del tiempo de rotación Tema 14: Gestión de la Lectura/Escritura Intercalado de sectores La solución: que sectores lógicos consecutivos no estén físicamente adyacentes: 0 1 2 3 4 5 6 7 Numeración natural 0 4 1 5 2 6 3 7 Intercalado = 1 0 3 6 1 4 7 2 5 Intercalado = 2 Intercalado se puede llevar a cabo: Durante el formateo Por software, en el propio gestor NFS 0 2 4 6 … NLS 0 1 2 3 …
39 39 1.5 Mejora del tiempo de rotación Tema 14: Gestión de la Lectura/Escritura Ordenación circular Si hay varias peticiones pendientes para el mismo cilindro: Se pueden ordenar en sentido de la rotación La primera será la que tenga una menor demora Ejemplo: Peticiones pendientes: 0, 7, 3, 6, 1 Brazo sobre sector 2 0 1 2 3 4 5 6 7 Orden: 3, 6, 7, 0, 1
40 40 1.5 Mejora del tiempo de rotación Tema 14: Gestión de la Lectura/Escritura Transferencia de pista completa Tan pronto cabezas lectoras se sitúan sobre cilindro: comienzan a transferir Pista completa se transfiere en periodo de rotación + tiempo de transferencia de un sector Ventaja: anticipación Por localidad espacial, es muy probable que tras sector n se pida sector n+1: dicha operación se sirve inmediatamente Almacenamiento de pistas: Controlador de unidad de disco En la interfaz de disco En el gestor de dispositivo
41 41 1. Discos Magnéticos Tema 14: Gestión de la Lectura/Escritura 1.Hardware de los discos 2.Prestaciones 3.Mejora del tiempo de arranque 4.Mejoras del tiempo de búsqueda 5.Mejoras de la demora de rotación 6.Tratamiento de errores
42 42 1.6 Tratamiento de errores Tema 14: Gestión de la Lectura/Escritura Tipos de errores: De programación Transitorios de datos Permanentes de datos De localización De controlador Errores de programación Descripción: el gestor recibe una petición sin sentido de nivel superior Solución: informar que la operación solicitada no es válida
43 43 1.6 Tratamiento de errores Tema 14: Gestión de la Lectura/Escritura Errores transitorios de datos Descripción: al leer un sector y comprobar su CRC, se comprueba que los datos leídos no son correctos Posibles causas: Mecánicas: vibración del equipo durante la operación Discos flexibles: suciedad entre disco y cabezas lectoras Electrónicas: Interferencias con otros dispositivos (móviles, etc.) Fluctuación de la alimentación Error permanente de datos … Solución: intentar de nuevo Si tras un número de reintentos no hay éxito: informar a nivel superior
44 44 1.6 Tratamiento de errores Tema 14: Gestión de la Lectura/Escritura Errores permanentes de datos Descripción: El disco tiene sectores físicamente dañados y no utilizables por consiguiente Habitual en discos duros Posibles causas: Defecto de fabricación Aterrizaje de cabezales (en discos duros) Desgaste o mal uso (discos flexibles) … Solución: hay que evitar que dicho sector se utilice ¡ESTE PROBLEMA NO LE CORREPONDE AL GESTOR DE DISCO! Asignación de bloques es responsabilidad de administrador de archivos
45 45 1.6 Tratamiento de errores Tema 14: Gestión de la Lectura/Escritura Errores permanentes de datos Soluciones: (por administrador de archivos) Formar un archivo especial compuesto por todos los bloques defectuosos El administrador de archivos ocultará dicho archivo Crear un archivo del sistema con los números de los bloques defectuosos En el arranque, el administrador de archivo lee del archivo los números de los bloques defectuosos Evita asignarlos en los sucesivo
46 46 1.6 Tratamiento de errores Tema 14: Gestión de la Lectura/Escritura Errores permanentes de datos Soluciones: (por administrador de archivos) Sistemas FAT: marcar sectores como defectuosos en la FAT Crear pista/cilindro de sectores de reserva, y sustituir los accesos a sectores defectuosos por sectores de reserva. Se puede implementar: Por software Por hardware (por parte del propio disco) ¡Puede dar al traste con el criterio de planificación de las cabezas lectoras!
47 47 1.6 Tratamiento de errores Tema 14: Gestión de la Lectura/Escritura Errores de localización Descripción: Tras mover cabeza lectora a un cilindro, se comprueba que no está donde se esperaba (error de localización de cilindro) Tras sector i-1, se encuentra sector i+1 (error de localización de sector i) Solución errores de localización de cilindro: Recalibrar cabezas lectoras Reintentar Solución errores de localización de sector: Reintentar
48 48 1.6 Tratamiento de errores Tema 14: Gestión de la Lectura/Escritura Errores de controlador Descripción: el disco no responde Controlador está basado en un microprocesador Todo microprocesador se puede colgar Solución: la línea de reset del microprocesador de controlador está mapeada en un bit de registro de comandos: reiniciar Si tras reiniciar sigue sin responder: pánico
49 49 Índice: 1.Discos Magnéticos 2.Relojes y Alarmas 3.Otros Dispositivos 49 Tema 14: Gestión de la Lectura/Escritura
50 50 2. Relojes y alarmas Tema 14: Gestión de la Lectura/Escritura 1.Hardware 2.Actividades relacionadas con el reloj
51 51 2. Relojes y alarmas Tema 14: Gestión de la Lectura/Escritura 1.Hardware 2.Actividades relacionadas con el reloj
52 52 2.1 Hardware Tema 14: Gestión de la Lectura/Escritura Dispositivo temporizador más simple: Temporizador de Intervalo Programable (PIT) Consta de: Un registro de valor inicial Un contador autodecrementable con un comparador Un oscilador Circuitería de control … … Valor inicial Contador ¿=0? T
53 53 2. Relojes y alarmas Tema 14: Gestión de la Lectura/Escritura 1.Hardware 2.Actividades relacionadas con el reloj
54 54 2.2 Actividades relacionadas con el reloj Tema 14: Gestión de la Lectura/Escritura Suposición: hardware sólo genera interrupciones (ticks) Todo se hace por software Actividades: Fecha y hora Cuanto de tiempo y límite de ejecución Contabilidad tiempo de ejecución Temporización y alarmas Perfiles de tiempo de ejecución
55 55 2.2 Actividades relacionadas con el reloj Tema 14: Gestión de la Lectura/Escritura Fecha y hora Contador en memoria y cada tick lo incrementa Posibles formatos de representación: Nº de ticks desde fecha y hora mágica Nº de segundos desde fecha y hora mágica + Nº de ticks desde el último segundo Fecha como nº de días desde fecha mágica + hora en ticks Fecha de arranque como nº de segundos desde fecha mágica + nº de segundos desde arranque …
56 56 2.2 Actividades relacionadas con el reloj Tema 14: Gestión de la Lectura/Escritura Cuanto de tiempo y límite de ejecución Programar un tick de la duración necesaria Si duración mayor que mayor tick programable: Multiplicar tick por software Cuanto de tiempo: provocar conmutación Límite de ejecución: terminar proceso t=T/4 …
57 57 2.2 Actividades relacionadas con el reloj Tema 14: Gestión de la Lectura/Escritura Contabilidad del tiempo de ejecución Programar interrupción periódica Un contador por cada proceso En cada interrupción: se incrementa contador a proceso activo Si es costoso acceder a PCB: contador global que se vuelca en PCB cuando se conmuta Resultados: sólo una aproximación P1 P2 P3 P1 P3P1P3P1 P3 P1 P3 Pt P19 P20 P36
58 58 2.2 Actividades relacionadas con el reloj Tema 14: Gestión de la Lectura/Escritura Contabilidad del tiempo de ejecución Hacer tick más pequeño: mayor sobrecarga Además, ha de tenerse en cuenta: Tiempo de atención a interrupciones: le contarán a proceso activo Tiempo del sistema: ¿y si tick sorprende funcionando a SO?
59 59 2.2 Actividades relacionadas con el reloj Tema 14: Gestión de la Lectura/Escritura Temporizadores y alarmas Temporizador: artefacto software que hace algo dentro de t unidades de tiempo Alarma: artefacto software que hace algo a las h horas del día d Se pueden implementar los unos en base a los otros Precaución: ¡alarmas dependen de la hora del sistema! Actividades cuando expira temporizador o alarma: Enviar una señal Enviar un mensaje Abrir un semáforo Ejecutar un proceso Activar un indicador …
60 60 2.2 Actividades relacionadas con el reloj Tema 14: Gestión de la Lectura/Escritura Temporizadores y alarmas Implementación 1: tabla de alarmas/temporizadores Un contador por cada proceso (nº de ticks hasta expiración) Se decrementan contadores con cada tick Al llegar a 0: expiración t/at T1 T2 T3 …… 3 2 5 2 1 4 1 0 3 0 0 2 0 0 1 0 0 0 Inconvenientes: Por cada tick hay que recorrer tabla completa
61 61 2.2 Actividades relacionadas con el reloj Tema 14: Gestión de la Lectura/Escritura Temporizadores y alarmas Implementación 2: lista de horas de expiración Expresar temporizadores/alarmas como hora absoluta Crear lista ordenada por hora de expiración Por cada tick: comparar con hora actual la(s) primera(s) Ventajas: No hay que explorar la lista completa lista 12:00:0112:00:0513:15:12 …
62 62 2.2 Actividades relacionadas con el reloj Tema 14: Gestión de la Lectura/Escritura Temporizadores y alarmas Implementación 3: lista diferencial Lista ordenada cronológicamente de manera incremental Primer nodo: ticks restantes hasta próxima expiración Nodo i: ticks desde la anterior expiración Ventajas: No hay que explorar la lista completa Más simple que mecanismo anterior lista 12:00:0112:00:0513:15:12 … 3409070210
63 63 2.2 Actividades relacionadas con el reloj Tema 14: Gestión de la Lectura/Escritura Temporizadores y alarmas Implementación 4: Método MINIX Alarmas/temporizadores se expresan en ticks respecto hora de arranque en PCB SO almacena en una variable la hora (en ticks) de próxima expiración Cuando llega dicha hora, revisa PCB’s para encontrar cuáles han expirado Procalarm T112325 T218620 T312325 …… Proxima Alarma: 12325 Fecha y hora: 1232112322123231232412325
64 64 2.2 Actividades relacionadas con el reloj Tema 14: Gestión de la Lectura/Escritura Perfiles de tiempo de ejecución Perfilado= cálculo del tiempo que un programa invierte en cada región de código Implementaciónes: Muestreo Cálculo preciso Perfilado por muestreo Determinar en cada tick en qué región se encuentra el proceso Para ello, se comprueba el valor del contador de programa Se cuenta nº de veces que se detecta contador en cada zona Es necesario conocer la distribución de las zonas en memoria
65 65 2.2 Actividades relacionadas con el reloj Tema 14: Gestión de la Lectura/Escritura Perfiles de tiempo de ejecución Perfilado preciso Se insertan instrucciones a la entrada y salida de cada región Manualmente Mediante el compilador Entrada: se obtiene instante de entrada Salida: se obtiene instante de salida, y se calcula la diferencia Dificultad: necesaria mucha precisión en fecha y hora void rutina (int parametro) { … } clock_t time_in = times(&buffer); clock_t time= times(&buffer) – time_in; total[ID_RUTINA]+= time;
66 66 Índice: 1.Discos Magnéticos 2.Relojes y Alarmas 3.Otros Dispositivos 66 Tema 14: Gestión de la Lectura/Escritura
67 67 3. Otros dispositivos Tema 14: Gestión de la Lectura/Escritura 1.Terminales 2.Discos Ópticos
68 68 3. Otros dispositivos Tema 14: Gestión de la Lectura/Escritura 1.Terminales 2.Discos Ópticos
69 69 3.1 Terminales Tema 14: Gestión de la Lectura/Escritura Dos tipos totalmente distintos de terminal: Terminales externos Terminales con memoria compartida Terminales externos: Sistema autónomo conectado a través de algún tipo de sistema de comunicaciones BUS procesador Interfaz comunicaciones Memoria
70 70 3.1 Terminales Tema 14: Gestión de la Lectura/Escritura Terminales con memoria compartida Se trata de tres dispositivos independientes: Pantalla Teclado Ratón Fuertemente relacionados entre ellos BUS procesador Adaptador Teclado Memoria Adaptador ratón Adaptador Pantalla
71 71 3.1 Terminales Tema 14: Gestión de la Lectura/Escritura Pantalla El adaptador barre un área de memoria que representa el contenido de la pantalla (memoria de video) Memoria de video puede estar en Adaptador Memoria principal Interpretación memoria: depende de modo de video Texto Gráfico BUS procesador Memoria Adaptador Pantalla m. video
72 72 3.1 Terminales Tema 14: Gestión de la Lectura/Escritura Teclado Dispone de un microcontrolador que explora el array de teclas n veces por segundo Al pulsar una tecla: Genera una interrupción de tecla pulsada En registro de datos se puede leer scancode de tecla Al soltar una tecla: Genera una interrupción de tecla liberada En registro de datos se puede leer scancode de tecla Aplicación: detectar combinaciones de teclas Conversión scancode ↔ carácter: en gestor de teclado e04d
73 73 3.1 Terminales Tema 14: Gestión de la Lectura/Escritura Ratón Dispone de un microcontrolador que provoca una interrupción cada vez que cambia de estado Pulsación de una tecla Liberación de tecla Desplazamiento Por cada cambio de estado, microcontrolador proporciona: Vector de desplazamiento Estado de teclas Gestor de ratón: Mueve un cursor por la pantalla Los adaptadores de video suelen disponer de cursores hardware de ratón Procesa los clicks
74 74 3.1 Terminales Tema 14: Gestión de la Lectura/Escritura Ratón Tecnologías: Mecánico Óptico Láser Imagen tomada de wikipedia.org
75 75 3.1 Terminales Tema 14: Gestión de la Lectura/Escritura Software de lectura del terminal Lectura de caracteres: Atender interrupciones de teclado (terminales con memoria compartida) Sistema de comunicaciones (terminales externos) Gestión de combinaciones de teclas Mapas de caracteres Composición de caracteres especiales (acentos, etc.) Repetición de caracteres Terminales con memoria compartida
76 76 3.1 Terminales Tema 14: Gestión de la Lectura/Escritura Software de lectura del terminal Caracteres de control Algunos caracteres pueden tener significado especial: Backspace, Ctrl-C, teclas de movimiento de cursor… Modos de funcionamiento: Elaborado Semielaborado No elaborado
77 77 3.1 Terminales Tema 14: Gestión de la Lectura/Escritura Software de lectura del terminal Buffer de lectura anticipada Útil para: Escribir por adelantado En modo elaborado: corregir errores antes de que lleguen a proceso Implementación 1: un buffer por terminal Ventaja: implementación sencilla Inconveniente: gasto de memoria si hay muchos terminales Implementación 2: asignación dinámica de bloques pequeños El espacio se va asignando conforme va siendo necesario
78 78 3.1 Terminales Tema 14: Gestión de la Lectura/Escritura Software de lectura del terminal Eco de las pulsaciones No es complicado, excepto tratamiento casos especiales: Borrado Tabulación Ultima columna de una línea Carácter de fin de línea etc.
79 79 3.1 Terminales Tema 14: Gestión de la Lectura/Escritura Software de escritura del terminal Terminales externos: Gestión de buffers Gestión de transmisión (carácter a carácter) Mayor parte de trabajo en el propio terminal Algunos terminales admiten comandos de control (ej: comandos ANSI) Pantalla (terminal con memoria compartida) Los caracteres/gráficos se copian de memoria de usuario a memoria compartida Posicionamiento cursor (gráfico y/o texto) Tratamiento de caracteres especiales (ej: Bell, 07) Gestión de scroll Algunas operaciones pueden venir aceleradas por hardware
80 80 3. Otros dispositivos Tema 14: Gestión de la Lectura/Escritura 1.Terminales 2.Discos Ópticos
81 81 3.2 Discos Ópticos Tema 14: Gestión de la Lectura/Escritura Tecnologías: CD AUDIO CD-ROM CD-R CD-RW DVD Mismas dimensiones en todos los casos 120 mm 15 mm 1,2 mm
82 82 3.2 Discos Ópticos Tema 14: Gestión de la Lectura/Escritura CD-AUDIO Evolución disco láser 30 cm Detalles técnicos: ISO10149 (libro rojo) Grabación: Disco maestro de vidrio Láser de potencia graba fosos de 3,12 μm Zonas no quemadas: llanos Disco maestro se imprime en policarbonato: policarbonato aluminio policarbonato transparente etiqueta laca protectora
83 83 3.2 Discos Ópticos Tema 14: Gestión de la Lectura/Escritura CD-AUDIO Lectura: Se dirige laser de baja potencia contra disco Longitud de onda: 0,78 μm (1/4 profundidad foso) Si hay un foso: desfase de ½ longitud onda: cancelación de onda (no refleja) Codificación por transición: 1 = foso/llano o llano/foso 0 = no transición policarbonato aluminio
84 84 3.2 Discos Ópticos Tema 14: Gestión de la Lectura/Escritura CD-AUDIO Fosos y llanos describen una espiral Comienza en agujero 22188 revoluciones (paso de 1,6μm) Originalmente: velocidad lineal constante 530 rpm en zona central 200 rpm en zona externa
85 85 3.2 Discos Ópticos Tema 14: Gestión de la Lectura/Escritura CD-ROM Versión para datos de anterior soporte Libro amarillo normaliza representación de los datos 1 byte = 14 bits (código hamming) Trama = 24 bytes (588 bits, 192 bits de datos, 396 de control) 1 sector = 98 tramas. Cada sector consta de: 12 Bytes 00FF00FF….FF00 3 bytes: nº de sector 1 byte: modo Modo 1: 2048 bytes datos + 288 bytes de corrección de errores Modo 2: 2336 bytes de datos bytes de datos + corrección / bytes de datos
86 86 3.2 Discos Ópticos Tema 14: Gestión de la Lectura/Escritura CD-R CD-R en blanco: un surco guía a cabeza durante la escritura Una capa de tinte simula la diferencia de reflectividad foso/llano Colorante: inicialmente transparente laser en lectura lo pasa (potencia lectura: 0,5 mW Si potencia 8-16mW: se vuelve oscuro (simula foso) material reflectante policarbonato transparente etiqueta laca protectora tinte
87 87 3.2 Discos Ópticos Tema 14: Gestión de la Lectura/Escritura CD-R Libro naranja: define formato CD-ROM XA (multisesión) Sesión = conjunto de pistas Pista = grupo de sectores escritos en una sesión Cada sesión tiene una TOC (Table of Contents)
88 88 3.2 Discos Ópticos Tema 14: Gestión de la Lectura/Escritura CD-RW En lugar de colorante: aleación de varios metales Aleación tiene dos posibles estados: Amorfo (no refleja láser) Cristalino (refleja láser) Láser tiene tres niveles de potencia: Alto: aleación se funde y se vuelve amorfa → crea un “foso” medio: aleación funde y cristaliza → crea un “llano” baja: no afecta aleación (se usa para leer)
89 89 3.2 Discos Ópticos Tema 14: Gestión de la Lectura/Escritura DVD Análogos a CD, pero… Fosos más pequeños: 0,4μm Consecuencia: láser de longitud de onda de 0,65μm Espiral más cerrada paso de 0,74μm en lugar de 1,6μm Posibilidad de doble capa Dos capas superpuestas A la capa inferior se accede gracias a que la superior es semitransparente
90 90