La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Sebastián Sánchez Prieto

Presentaciones similares


Presentación del tema: "Sebastián Sánchez Prieto"— Transcripción de la presentación:

1 Sebastián Sánchez Prieto
Entrada Salida Sebastián Sánchez Prieto

2 El problema Los procesos hacen un uso extensivo de E/S
Cada dispositivo de E/S tiene su propia idiosincrasia Los dispositivos necesitan ayuda del núcleo Diferentes velocidades  S2P, OGP & IGT

3 Hardware de E/S disco Controladora SCSI disco Monitor Tarjeta gráfica
Procesador Puente memoria/ controlador Caché Memoria disco disco Bus PCI Controladora de disco IDE Interfaz del bus de expansión Teclado Bus de expansión disco disco Puerto paralelo Puerto serie  S2P, OGP & IGT

4 Placas madre Es la principal placa de circuito en el PC e incluye;
Procesador Memoria Ranuras de expansión Buses BIOS (Basic Input/Output System) Realiza el power-on self test (POST) CMOS RAM Almacena parámetros de configuración: tipo y cantidad de discos, cantidad de memoria, DRAM timings, valor del RTC Es actualizable Susceptible de ser modificada por los virus  S2P, OGP & IGT

5 Buses Se utilizan para llevar a cabo la interconexión de diferentes elementos Cada bus queda caracterizado por su velocidad máxima de transferencia y el ancho del mismo Los buses más rápidos conectan la CPU con la cache L1 El “bus de sistema” conecta la CPU con la cache L2 y la memoria dinámica (DRAM) Bus de sistema (64 bits de ancho) 66 MHz hasta principios del 98 100 MHz en el Pentium II  S2P, OGP & IGT

6 DIB Dual Independent Bus Usado a partir del Pentium II
Se sustituye el bus de sistema por: El backside bus: CPU - L2 El frontside bus: CPU - Memoria/periféricos  S2P, OGP & IGT

7 Bus ISA Industry Standard Architecture (1982)
Bus de 8 bits a la friolera de 4,77 MHz Posteriormente con el PC/AT (286) paso a ser de 16 bits y 6 y 8 MHz Capaz de transferir 16 MBps (teóricos) Debido a la multiplexación de direcciones y datos se queda en 8 MBps En la práctica 5 MBps, suficiente para la mayoría de los periféricos Problemas con: gráficos, discos y tarjetas de red  S2P, OGP & IGT

8 MCA y EISA bus Micro Channel Architecture (IBM)
Extended ISA (básicamente Compaq y otros) Ambos de 32 bits El primero a 10 MHz y el segundo a 8MHz Capaces de transferir hasta 20 MBps El primero era propietario El segundo era compatible con ISA Ninguno prosperó  S2P, OGP & IGT

9 Local bus Necesidad de acelerar los gráficos
Razón: aparecen las IGU o GUI (Windows) En 1990 VESA (Video Electronics Standard Association) establece el estándar Es un bus que extiende el bus de sistema del 486 y esa es su mayor desventaja Al estar muy acoplado con la CPU si colocamos más de dos ranuras VESA la CPU se ve afectada VESA recomienda sólo 2 ranuras a 33 MHz Como el bus VESA va a la misma velocidad del micro, ¿qué pasa si el micro va más rápido?  S2P, OGP & IGT

10 PCI bus Peripheral Component Interconnect (Intel)
La especificación PCI Local Bus Revision 2.0 es de 1993 PCI está separado del bus de sistema, pero tiene acceso a la memoria Se utiliza un puente (se permiten varios) PCI está limitado a 5 conectores Soporta PnP Tarjetas de 5 y 3,3 V  S2P, OGP & IGT

11 PCI bus Inicialmente PCI iba a 33 MHz PCI 2.1 a 66 MHz (266 MBps)
Soporta 32 y 64 bits Hasta 524 MBps Permite interrupciones compartidas  S2P, OGP & IGT

12 PCI-X bus Definido por IBM, Compaq y HP (1999)
Utilizado por periféricos de gran ancho de banda: Ethernet Gigabit Ultra3 SCSI Gráficos de alto rendimiento PCI-X aumenta la velocidad del bus y el número de slots de alta velocidad PCI permite slots de 33 MHz y uno a 66 MHz PCI-X soporta un slot a 133 MHz de 64 bits  S2P, OGP & IGT

13 Puerto AGP Accelerated Graphics Port (Intel)
AGP opera a la velocidad del frontside bus (66 MHz) Utilizado para gráficos 3D  S2P, OGP & IGT

14 Nuevas tecnologías La conexión de dispositivos externos está muy limitada: Puerto serie: 115,2 Kbps Puertos paralelo: 500 Kbps ¿Qué se puede hacer con periféricos rápidos? No hay posibilidad de conectar varios dispositivos al mismo puerto El número de interrupciones está limitado (16 líneas IRQ)  S2P, OGP & IGT

15 USB Universal Serial Bus (definido por un consorcio en 1995)
Se pueden conectar hasta 127 dispositivos utilizando “Daisy-chaining” o utilizando un hub USB A cada hub USB se pueden conectar 7 dispositivos entre los que se puede colocar otro hub USB y así sucesivamente USB es capaz de proporcionar una alimentación de 5 V para pequeños dispositivos La velocidad de transferencia es de hasta 12 Mbit/s Para dispositivos lentos puede transferir a 1,5 Mbit/s  S2P, OGP & IGT

16 USB Distancia máxima entre dispositivos: 5 m
Soporta modo isócrono: se puede reservar ancho de banda para ciertos dispositivos Puede distribuir hasta 500 mA por cada puerto  S2P, OGP & IGT

17 IEEE 1394 (Firewire) Similar a USB pero más rápido
La interfaz tiene dos niveles: Backplane bus: dentro del ordenador (12, y 50 Mbit/s) Interfaz punto a punto ( y 400 Mbit/s) Un puente conecta ambas interfaces La nueva especificación pretende llegar a 800 Mbit/s y 1,6 Gbit/s Conectores tipo Nintendo  S2P, OGP & IGT

18 IEEE 1394 (Firewire) Longitud máxima: 4,5 m Lleva 6 cables
La alimentación entre 8 y 40 V dc Hasta 1,5 A Permite transmisión asíncrona e isócrona La transmisión isócrona hace al bus Firewire adecuado para aplicaciones con restricciones de tiempo real Soporta hasta 63 canales isócronos  S2P, OGP & IGT

19 IEEE 1394 (Firewire) Niveles IEEE 1394
Dirección: 64 bits (10 red - 6 nodo y 48 dirección de memoria)  S2P, OGP & IGT

20 IEEE 1394 (Firewire) Ejemplo de interconexión
 S2P, OGP & IGT

21 USB 2.0 Propuesto por Compaq, HP, Intel, Lucent, Microsoft, NEC y Philips Un rendimiento entre 30 y 40 veces el de USB Surge como respuesta a Firewire Compatible con USB estándar Velocidad Mbit/s  S2P, OGP & IGT

22 Interfaz con los controladores
Instrucciones específicas de E/S Espacio de E/S proyectado en memoria Interrupciones Muestreo (polling) Acceso directo a memoria (ADM)  S2P, OGP & IGT

23 Acceso directo a memoria
Objetivo: solapar operaciones de CPU y E/S El ADM es un elemento básico para realizar de forma eficiente la multiprogramación Programación del ADM: Número de datos a transferir Puntero a la zona de memoria Problema: Necesidad de buffers en los controladores Solución: p.e. intercalado en los discos  S2P, OGP & IGT

24 Acceso directo a memoria
4 ADM Transfiere los bytes al buffer Incrementa el puntero de memoria y decrementa N 1 El manejador (driver) Inicia la operación de lectura CPU 5 Si N==0 se interrumpe a la CPU caché ADM Bus CPU/memoria Memoria buffer Bus PCI Controladora IDE 2 El controlador inicia la transferencia 3 Cada byte va al controlador ADM disco disco  S2P, OGP & IGT

25 Programación de la E/S Objetivos:
Ocultar el HW a los niveles superiores Presentar una interfaz uniforme de acceso Independencia de dispositivo sort < entrada > salida Manejo de errores Manejo de distintos tipos de dispositivos (compartibles y dedicados)  S2P, OGP & IGT

26 Cómo alcanzar estos objetivos
“Idea nueva”: estructuración en niveles Manejador de interrupciones Manejadores de dispositivos (drivers) Programas de S.O. independientes del dispositivo Programas de usuario Manejadores de interrupciones Las interrupciones se deben ocultar El núcleo se debe encargar de ellas  S2P, OGP & IGT

27 Manejadores de dispositivos
Contienen el código dependiente del dispositivo Cada manejador mantiene su cola de solicitudes Dispositivo: unidad de disco 1 Estado: libre Dispositivo: unidad de disco 2 Estado: ocupado Operación: lectura Archivo: datos.txt Operación: escritura Archivo: bal.mp3 Dispositivo: impresora Estado: ocupada Archivo: trp.ps Dispositivo: teclado Estado: libre Dispositivo: disco SCSI Estado: libre ...  S2P, OGP & IGT

28 E/S independiente de dispositivo
La frontera de este nivel con el anterior es difusa Funciones: Ofrecer una interfaz uniforme a los procesos de usuario Asignar nombres a los dispositivos Proteger los dispositivos Ofrecer un tamaño de bloque independiente de los dispositivos Almacenar los datos temporales en las transferencias de E/S Gestionar la asignación del espacio en dispositivos de bloques Reservar y liberar dispositivos dedicados Informar de los posibles errores Un aspecto muy importante en un SS.OO. es la asignación de nombres a los archivos y dispositivos y su protección  S2P, OGP & IGT

29 E/S en el espacio de usuario
Procedimientos de biblioteca: Forman parte del del software de E/S en espacio de usuario. Ejemplo: printf ("Solucion = %d \n"), dato); Sistema de spooling: Así se evita que los usuarios monopolicen el uso de los dispositivos de E/S P.e. el sistema de impresión  S2P, OGP & IGT

30 Spooling spooler Programa Driver de impresora
 S2P, OGP & IGT

31 Esquema global Respuesta de E/S Petición de E/S Procesos de usuario
Llamada de E/S; formateo de E/S; spooling SW independiente de dispositivo Asignación de nombres, protección, bloqueo, buffering, asignación de dispositivos Manejadores de dispositivo Asignación de valores a los registros de dispositivo, comprobación del estado Manejadores de interrupciones Reactivación del manejador cuando se completa la E/S Hardware Realización de la E/S  S2P, OGP & IGT

32 Ejemplo: discos Coordenadas: Pista, cabeza, sector (x, y, z)
Tiempos de acceso: T. posicionamiento T. latencia T. transferencia ¿Optimización?  S2P, OGP & IGT

33 Particiones en el PC MBR MBR Código de arranque Tabla de particiones
Sector de boot Sector de boot Sector de boot Sector de boot Partición lógica 1 Partición lógica 4 Partición activa Partición 4 (extendida) MBR Partición 1 Partición 2 Partición 3  S2P, OGP & IGT

34 Particiones en el PC Master Boot Record (primer sector)
Bytes 1-446: código de arranque Bytes : tabla de particiones (4 entradas) Bytes : número mágico AA55 El resto de sectores pueden estar: Sin utilizar En una partición En espacio libre que puede ser asignado a nuevas particiones  S2P, OGP & IGT

35 Particiones en el PC En el MBR sólo se puede especificar hasta 4 particiones primarias Cada entrada de la tabla de particiones incluye: Tipo de partición (Linux, NTFS, HURD, etc.) Etiqueta de “bootable” o no Posición inicial y final en el disco Con objeto de permitir un mayor número de particiones se introduce un tipo especial denominada “partición extendida” La partición extendida puede tener hasta cuatro particiones lógicas La partición extendida puede contener particiones extendidas, que contengan particiones extendidas y así sucesivamente La partición extendida puede ocupar cuarquier posición. No es necesario que sea la última En Linux cada partición se representa como /dev/hda1, /dev/hda2, etc.  S2P, OGP & IGT

36 Planificación FCFS Es la forma más sencilla de planificar
FCFS es aceptable con carga ligera  S2P, OGP & IGT

37 Sortest Seek Time First
Problemas: Posible inanición de solicitudes Se discrimina a las pistas externas  S2P, OGP & IGT

38 SCAN (algoritmo del ascensor)
Una variante del SCAN es el C-SCAN el cual proporciona un tiempo de espera más uniforme  S2P, OGP & IGT

39 Posibles errores en los discos
De programación (p.e. sector no existente) Transitorios (polvo en las cabezas) Permanentes (daños físicos) De búsqueda (pido leer el cilindro 6 y la cabeza se va al 7) Del controlador  S2P, OGP & IGT

40 Manejador de disco Función: Leer y escribir datos del disco
Procedimientos básicos: Inicializar el DMA Arrancar el motor (en el caso de disquetes) Mover las cabezas al lugar adecuado Leer o escribir los datos Detener el motor (en los disquetes)  S2P, OGP & IGT

41 Relojes Funciones: Mantener la fecha y la hora
Impedir que un proceso se adueñe del procesador Hardware asociado al reloj:  S2P, OGP & IGT

42 Tipos de relojes Reloj programable: Modos de funcionamiento:
Modo “un pulso” Modo de onda cuadrada Reloj en tiempo real Almacena el valor del tiempo actual El hardware del reloj genera interrupciones regularmente El resto lo hace el manejador  S2P, OGP & IGT

43 Funciones asociadas Evitar que los procesos monopolicen la CPU
Contabilidad del uso del procesador Avisar de eventos solicitados por el resto de los procesos Monitorización del sistema (perfiles de ejecución y estadísticas) Mantener actualizadas la fecha y la hora Llamadas soportadas: PonAlarma, PonerTiempo, ObtenerTiempo, Tick  S2P, OGP & IGT

44 Terminales Tipos de terminales Con interfaz RS-232
Con interfaz por memoria Teclados El manejador recibe las pulsaciones del teclado y se las pasa al proceso correspondiente Modo orientado a caracteres (raw mode) Modo orientado a líneas (cooked mode)  S2P, OGP & IGT

45 Programación de la salida
Varía de los terminales RS-232 a los proyectados en memoria Problemas: scrolling, ctrl g, cursor Funciones ofrecidas: Leer caracteres del terminal Escribir caracteres al terminal ioctl Cancelar una petición Activación: por interrupción (núcleo)  S2P, OGP & IGT


Descargar ppt "Sebastián Sánchez Prieto"

Presentaciones similares


Anuncios Google