Publicado el 14 de Enero del 2017
956 visualizaciones desde el 14 de Enero del 2017
949,0 KB
211 paginas
Creado hace 18a (23/05/2006)
Periféricos
Javier Gil. D.F.I.S.T.S.
Curso 2005-2006
Índice general
1. Presentación de la asignatura
6
6
1.1. Advertencia . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6
1.2. Un poco de historia . . . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . . . . . . . . . . . 10
1.3. Dos perspectivas
1.4. Plan del curso . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2. Consideraciones generales sobre la entrada/salida
13
2.1. El problema general de la entrada/salida . . . . . . . . . . . . 13
2.1.1. Operación asíncrona . . . . . . . . . . . . . . . . . . . 13
2.1.2. Diferencia de velocidad . . . . . . . . . . . . . . . . . . 14
Interfaces de E/S . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.2.
2.3. E/S programada . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.4. E/S guiada por interrupciones . . . . . . . . . . . . . . . . . . 19
2.5. Sobre la latencia de las interrupciones . . . . . . . . . . . . . . 21
2.6. Consideraciones sobre el uso de buffers . . . . . . . . . . . . . 23
2.7. Otros modelos de colas . . . . . . . . . . . . . . . . . . . . . . 25
2.8. Gestión de interrupciones en el AT . . . . . . . . . . . . . . . 27
2.8.1. Generalidades . . . . . . . . . . . . . . . . . . . . . . . 27
2.8.2. Preparación y control del 8259 . . . . . . . . . . . . . . 29
2.8.3.
Implantación . . . . . . . . . . . . . . . . . . . . . . . 32
2.8.4. Ejemplos . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3. El teclado
35
3.1. Secuencia de sucesos
. . . . . . . . . . . . . . . . . . . . . . . 35
3.2. Tipos de teclados . . . . . . . . . . . . . . . . . . . . . . . . . 37
3.3. El teclado perfecto . . . . . . . . . . . . . . . . . . . . . . . . 38
3.4. Acceso al teclado a través de la BIOS . . . . . . . . . . . . . . 41
3.5. El controlador de teclado . . . . . . . . . . . . . . . . . . . . . 44
3.6. Estructura del buffer de teclado . . . . . . . . . . . . . . . . . 46
3.7. El teclado y el antiguo DOS . . . . . . . . . . . . . . . . . . . 48
1
4. Terminales
49
4.1.
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
4.2. Tipos de terminales . . . . . . . . . . . . . . . . . . . . . . . . 50
4.2.1. Terminales por interfaz de memoria . . . . . . . . . . . 51
4.2.2. Terminales por interfaz serie . . . . . . . . . . . . . . . 51
4.2.3. Terminales ANSI
. . . . . . . . . . . . . . . . . . . . . 52
4.3. Modos de entrada . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.4. La base de datos y librería termcap . . . . . . . . . . . . . . . 55
4.4.1.
Introducción . . . . . . . . . . . . . . . . . . . . . . . . 55
4.4.2. Preparación . . . . . . . . . . . . . . . . . . . . . . . . 55
4.4.3. Búsqueda de una descripción de terminal . . . . . . . . 56
4.4.4. Extrayendo información del buffer . . . . . . . . . . . . 57
4.4.5. Preparación . . . . . . . . . . . . . . . . . . . . . . . . 59
4.4.6. Envíos de relleno . . . . . . . . . . . . . . . . . . . . . 59
4.4.7. Forma de especificar los parámetros . . . . . . . . . . . 60
4.4.8. El lenguaje de codificación de parámetros
. . . . . . . 60
. . . . . . . . . . . . . 62
4.4.9. Enviar órdenes con parámetros
4.5. La librería curses.h . . . . . . . . . . . . . . . . . . . . . . . . 65
4.5.1.
Introducción . . . . . . . . . . . . . . . . . . . . . . . . 65
4.5.2. Funciones básicas . . . . . . . . . . . . . . . . . . . . . 66
4.5.3. Funciones comunes . . . . . . . . . . . . . . . . . . . . 68
4.5.4. Atributos y colores . . . . . . . . . . . . . . . . . . . . 70
4.5.5. Caracteres gráficos . . . . . . . . . . . . . . . . . . . . 73
4.5.6. Conexión y puesta en marcha de una terminal bajo Linux 73
5. Interfaz serie
75
5.1.
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.2. Unidad simple de datos . . . . . . . . . . . . . . . . . . . . . . 75
5.3. Paridad y baudios . . . . . . . . . . . . . . . . . . . . . . . . . 76
5.4. Serialización . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
5.5. La interfaz de programación . . . . . . . . . . . . . . . . . . . 77
5.5.1. Direcciones base . . . . . . . . . . . . . . . . . . . . . . 77
5.5.2. Los buffers de recepción y transmisión . . . . . . . . . 78
5.5.3. El registro de habilitación de interrupciones
. . . . . . 78
5.5.4. El registro de identificación de interrupción . . . . . . . 79
5.5.5. Registro de formato de datos
. . . . . . . . . . . . . . 81
5.5.6. Registro de control de modem . . . . . . . . . . . . . . 81
5.5.7. Registro de estado de serialización . . . . . . . . . . . . 82
5.5.8. Registro de estado del modem . . . . . . . . . . . . . . 82
. . . . . . . . . . . . . . . . . . . . . 82
5.5.9. Registro auxiliar
5.6. Un programa de ejemplo . . . . . . . . . . . . . . . . . . . . . 83
2
5.7. La interfaz V.24 . . . . . . . . . . . . . . . . . . . . . . . . . . 84
5.7.1. Características generales . . . . . . . . . . . . . . . . . 84
5.7.2. Tipos de conexión . . . . . . . . . . . . . . . . . . . . . 86
5.7.3. De vuelta a los registros de la UART . . . . . . . . . . 87
5.8. Dispositivos apuntadores . . . . . . . . . . . . . . . . . . . . . 87
5.8.1. Ratones . . . . . . . . . . . . . . . . . . . . . . . . . . 87
5.8.2. Otros dispositivos apuntadores . . . . . . . . . . . . . . 90
6. Impresoras
91
6.1.
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
6.2. Tecnologías de impresión . . . . . . . . . . . . . . . . . . . . . 91
6.2.1. Tecnología de impacto . . . . . . . . . . . . . . . . . . 92
6.2.2. Tecnología de inyección de tinta . . . . . . . . . . . . . 92
6.2.3. Tecnología laser . . . . . . . . . . . . . . . . . . . . . . 93
6.2.4. Tecnología de sublimación de tinta sólida . . . . . . . . 93
6.3. Programación del puerto paralelo . . . . . . . . . . . . . . . . 93
6.3.1. Estructura de los registros . . . . . . . . . . . . . . . . 93
6.3.2. Estructura de la comunicación . . . . . . . . . . . . . . 94
. . . . . . . . . . . . . . . . . . . . . . . 99
6.3.3. Conexionado
6.4. Funciones BIOS para control del puerto paralelo . . . . . . . . 101
6.5. Problemática de la programación de impresoras
. . . . . . . . 102
6.5.1.
Introducción . . . . . . . . . . . . . . . . . . . . . . . . 102
6.5.2. Las impresoras de la familia Proprinter XL24 . . . . . 103
Instalación y administración de impresoras en UNIX . . . . . 105
6.6.1.
Introducción . . . . . . . . . . . . . . . . . . . . . . . . 105
6.6.2. Orden lp . . . . . . . . . . . . . . . . . . . . . . . . . . 105
6.6.3. Filtros de impresión . . . . . . . . . . . . . . . . . . . 106
6.6.4. Estado del subsistema lp . . . . . . . . . . . . . . . . . 107
6.6.5. Acciones administrativas . . . . . . . . . . . . . . . . . 107
6.6.6. Otras acciones . . . . . . . . . . . . . . . . . . . . . . . 110
6.7. Particularidades de la impresión en Linux . . . . . . . . . . . 111
Introducción . . . . . . . . . . . . . . . . . . . . . . . . 111
6.7.1.
6.7.2.
Impresión usando lpr . . . . . . . . . . . . . . . . . . . 111
6.7.3. El programa lpc . . . . . . . . . . . . . . . . . . . . . . 113
6.7.4.
Impresión de tipos concretos de archivos . . . . . . . . 113
6.7.5. Los filtros mágicos y el archivo /etc/printcap . . . . . . 115
6.6.
7. El lenguaje PostScript
116
7.1.
Introducción . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
7.2. PostScript como lenguaje de programación . . . . . . . . . . . 117
7.3. La pila. Aritmética . . . . . . . . . . . . . . . . . . . . . . . . 118
3
7.4. Primeros programas en PostScript . . . . . . . . . . . . . . . . 119
7.5. Procedimientos y variables . . . . . . . . . . . . . . . . . . . . 122
7.5.1. Diccionarios . . . . . . . . . . . . . . . . . . . . . . . . 122
7.5.2. Definición de variables . . . . . . . . . . . . . . . . . . 122
7.5.3. Definición de procedimientos . . . . . . . . . . . . . . . 122
7.6. Texto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
7.7. Sistemas de coordenadas . . . . . . . . . . . . . . . . . . . . . 124
7.8. Estructuras de control del programa . . . . . . . . . . . . . . . 125
7.8.1. Comparaciones
. . . . . . . . . . . . . . . . . . . . . . 125
7.8.2. Condicionales . . . . . . . . . . . . . . . . . . . . . . . 126
7.8.3. Bucles . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
7.9. Vectores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
7.10. Ejercicio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
8. Unidades de disco (I)
130
8.1. Notas históricas . . . . . . . . . . . . . . . . . . . . . . . . . . 130
8.2. La crisis de las memorias masivas . . . . . . . . . . . . . . . . 132
8.3. Fundamentos físicos . . . . . . . . . . . . . . . . . . . . . . . . 134
8.3.1. Ley de Biot-Savart . . . . . . . . . . . . . . . . . . . . 134
8.3.2. Tipos de materiales . . . . . . . . . . . . . . . . . . . . 135
8.4. Geometría y parámetros dinámicos del disco . . . . . . . . . . 139
8.5. El teorema de Salzberg . . . . . . . . . . . . . . . . . . . . . . 142
8.6. Cambios en la geometría y en la interfaz . . . . . . . . . . . . 143
8.7. Fiabilidad y prestaciones . . . . . . . . . . . . . . . . . . . . . 147
8.8. El tamaño del sector
. . . . . . . . . . . . . . . . . . . . . . . 148
9. Unidades de disco (II)
9.2. Sistemas de discos redundantes
9.1.1. Múltiples niveles
9.1.2. Dos ejemplos
150
9.1. Jerarquías de almacenamiento . . . . . . . . . . . . . . . . . . 150
. . . . . . . . . . . . . . . . . . . . . 152
. . . . . . . . . . . . . . . . . . . . . . . 153
. . . . . . . . . . . . . . . . . 154
9.2.1. RAID 0: Sistema no redundante . . . . . . . . . . . . . 155
9.2.2. RAID 1: Discos espejo . . . . . . . . . . . . . . . . . . 156
9.2.3. RAID 2: Estilo memoria ECC . . . . . . . . . . . . . . 156
9.2.4. RAID 3: Paridad en un único disco . . . . . . . . . . . 156
. . . . . . . . . . . . . . 156
9.2.5. RAID 4: Paridad por bloques
9.2.6. RAID 5: Paridad por bloques distribuidos
. . . . . . . 157
9.2.7. RAID 6: Cód
Comentarios de: Periféricos (0)
No hay comentarios