Sistemas de Computación I/O 2º Semestre, 2008 José Miguel Rubio L. jose.rubio.l@ucv.cl http://www.inf.ucv.cl/~jrubio
Funciones: Enviar comandos a los dispositivos Detectar interrupciones. El usuario no debe darse cuenta de los manejos de bajo nivel para los casos en que el dispositivo está ocupado y se debe suspender el proceso o sincronizar algunas tareas. Controlar errores. Proporcionar una interfaz sencilla entre los dispositivos y el resto del sistema. Dicha interfaz debe ser independiente de los dispositivos. 2
de Dispositivos: De bloque Almacena la información en bloques de tamaño fijo, cada uno con su propia dirección. Es posible acceder a un bloque de forma independiente de los demás. De carácter Envía o recibe un flujo de caracteres No se pueden utilizar direcciones ni tienen operaciones de búsqueda. 3
La mayor parte de los dispositivos de I/O poseen dos partes claramente diferenciadas: Parte Electrónica (device controller) Parte Mecánica El kernel debe tener un módulo que se encargue de comunicarse con la controladora. (device driver) Aplicación KERNEL Controladora Disp. Mecánico 4
Ejemplo Parte mecánica: 5
Ejemplo Device controller 6
Un controlador de disco convierte el flujo de bits en serie que se leen del dispositivo en un bloque de bits que se ensambla en su propio buffer. chequea su validez para posteriormente moverlo hacia el device driver para luego ser ocupado por el proceso que lo necesita. Proceso Device Driver Device Controller Disco Duro Sectores 7
DMA (Acceso directo a memoria) Idea Base: La CPU debe proporcionar al controlador la dirección del bloque del disco, la dirección de memoria a donde debe ir el bloque y el número de bytes a transferir. 8
DMA (Acceso directo a memoria) Después de que el controlador ha leído todo el bloque del dispositivo a su buffer y lo ha verificado : Copia el primer byte o palabra a la memoria principal, en la dirección especificada por medio de la dirección de memoria de DMA. Incrementa la dirección DMA y decrementa el contador DMA en el número de bytes que acaba de transferir. Este proceso se repite hasta que el contador llegue a ser cero, momento en el cual el controlador genera una interrupción. 9
Características generales Capacidad de Almacenamiento Velocidad de rotación (RPM) Mayor Velocidad, Mayor transferencia de datos. Mayor ruido, Mayor calentamiento Tiempo de acceso Es el tiempo medio necesario que tarda la cabeza del disco en acceder a los datos que necesitamos. Memoria Cache El BUFFER o CACHE es una memoria que va incluida en la controladora interna del disco duro, de modo que todos los datos que se leen y escriben a disco duro se almacenan primeramente en el buffer. 10
Características generales Memoria Cache El BUFFER o CACHE es una memoria que va incluida en la controladora interna del disco duro, de modo que todos los datos que se leen y escriben a disco duro se almacenan primeramente en el buffer. En discos IDE/ATA ~ 2Mb En discos SCSI ~ 16 Mb 11
Características generales Tasa de transferencia Este número indica la cantidad de datos que un disco puede leer o escribir en la parte más exterior del disco o plato en un período de un segundo. Normalmente se mide en Mbits/segundo, y hoy en día, en un disco de 5400RPM, un valor habitual es 100Mbits/s. Interfaz IDE-SCSI Es el método o protocolo que utiliza el disco para conectarse al sistema. 12
de un HD 13
de un HD El disco está organizado en platos y estos a su vez se dividen en delgados círculos concéntricos denominados pistas. Las cabezas se mueven desde la pista más externa o pista 0 a la más interna. Las pistas están formadas por una agrupación de sectores, que son un conjunto de segmentos concéntricos de cada una de las pistas. 14
de un HD ~30000 pistas por pulgada 15
Capacidad de un HD Esta dada por la fórmula: #caras * #pistas/cara * #sectores/pista * # bytes/sector Algunas limitaciones históricas en PC: (1994) 2 20 ~ 500Mb (@ 512[Bytes/sector] ) 16
Capacidad de un HD Esta dada por la fórmula: #caras * #pistas/cara * #sectores/pista * # bytes/sector Algunas limitaciones históricas en PC: FAT FAT se diseño para acceder a clusters (conjunto de sectores) Por diseño: cluster más grande : 32Kbytes Direccionamiento máximo de la FAT : 65536 Tamaño máximo de la partición : 2[Gb] 17
Interna Tiempo de acceso: ~ tiempo de posicionamiento En promedio: ~10 ms Pista a Pista : ~ 1 ms Radio completo: ~20ms 18
Interna Tiempo de acceso: ~ tiempo de latencia 19
Externa Depende de la forma de acceso al dispositivo: IDE o SCSI. Velocidad del canal de acceso: IDE 40pines, 80 pines, Tipo de interfaz al dispositivo UltraDMA 5 ~ 100MB/s, SCSI 160 ~ 160MB/s Tipo de Sistema de archivos. Tamaño del bloque del disco 20
Interfaz Integrated Drive Electronics / AT Attachment (IDE/ATA) Small Computer Systems Interface (SCSI) 21
Interfaz Integrated Drive Electronics / AT Attachment (IDE/ATA)} Modos de funcionamiento: (PIO, DMA, UDMA) Cables 80 Pines 22
Interfaz Integrated Drive Electronics / AT Attachment (IDE/ATA)} de cables IDE : 80 pines / 40 pines 23
Interfaz Integrated Drive Electronics / AT Attachment (IDE/ATA)} Canales IDE/ATA En la mayoría de las placas madres, existen 2 canales IDE: Primario y Secundario. Cada canal es capaz de manejar 2 dispositivos IDE/ATA. No se puede iniciar un segundo requerimiento en el mismo canal hasta que el primero se complete. 24
Interfaz Integrated Drive Electronics / AT Attachment (IDE/ATA)} Canales IDE/ATA Capacidad Máxima: 2 28 [bloques] * 512[Bytes/bloques] ~ 128[GB] 25
26