Sistema de E-S-2 de E-S-2.pdf12/11/2009 6 • Los controladores son muy variados, casi como los...
Transcript of Sistema de E-S-2 de E-S-2.pdf12/11/2009 6 • Los controladores son muy variados, casi como los...
12/11/2009
1
TTemaema 3 3
SistemaSistema de de EntradaEntrada//SalidaSalida
•• El El corazóncorazón de de unauna computadoracomputadora lo lo constituyeconstituye la la UCP, UCP, ppero ero nno o serviríaserviría de de nada nada sinsin la la memoriamemoria principal y los principal y los dispositivosdispositivos de E/S:de E/S:
SISTEMA DE ENTRADA/SALIDASISTEMA DE ENTRADA/SALIDA
–– DDispositivosispositivos periféricosperiféricos, , que le permitan interactuar con el usuario.que le permitan interactuar con el usuario.
•• GGeneralmenteeneralmente estánestán fuerafuera de la de la computadoracomputadora y se y se conectanconectan a a ellaellamediantemediante cablescables..
•• SSon los on los tecladosteclados, , ratonesratones, , micrófonosmicrófonos, , cámarascámaras y y cualquiercualquier otrootrodispositivodispositivo de E/S de E/S queque se le se le ocurraocurra conectarconectar a a unauna computadoracomputadora..
DDispositivosispositivos dede almacenamientoalmacenamiento secundariosecundario (discos) y(discos) y terciarioterciario–– DDispositivosispositivos de de almacenamientoalmacenamiento secundariosecundario (discos) y (discos) y terciarioterciario((cintascintas y y sistemassistemas de de archivoarchivo). ).
–– Dispositivos de Dispositivos de comunicaciones.comunicaciones.
12/11/2009
2
El acceso a los dispositivos es: El acceso a los dispositivos es:
I ó dI ó d
SISTEMA DE ENTRADA/SALIDASISTEMA DE ENTRADA/SALIDA
Incómodo Incómodo
Detalles físicos de los dispositivos Detalles físicos de los dispositivos
Dependiente de las direcciones físicas Dependiente de las direcciones físicas
No seguro No seguro
Si el usuario accede a nivel físico no tiene restricciones Si el usuario accede a nivel físico no tiene restricciones
Objetivos: Objetivos: Obje osObje os
Suministrar una visión lógica de los dispositivos Suministrar una visión lógica de los dispositivos
Ofrecer primitivas de acceso cómodas e Ofrecer primitivas de acceso cómodas e independientes de los detalles físicos independientes de los detalles físicos
Mecanismos de protección Mecanismos de protección
NivelesNiveles del software de E/Sdel software de E/S
4
NivelesNiveles del software e un del software e un sistemasistema de E/Sde E/S
12/11/2009
3
EntradaEntrada//SalidaSalida
• Caracterización de los dispositivos de E/S
• Drivers: software de E/S dependiente del dispositivo/ p p
• Software de E/S independiente del dispositivo
• Almacenamiento secundario
• Almacenamiento terciario
• El reloj
• El terminal
• La red
• Servicios de entrada/salida
ClasificaciónClasificación de de dispositivosdispositivos E/SE/S
–– Periféricos. Se llama así a los dispositivos que permiten la Periféricos. Se llama así a los dispositivos que permiten la comunicación entre los usuarios y la computadora. Dentro de este comunicación entre los usuarios y la computadora. Dentro de este grupo se incluyen todos los dispositivos que sirven para proporcionar grupo se incluyen todos los dispositivos que sirven para proporcionar i t f l i t t t d ( tó t l d t )i t f l i t t t d ( tó t l d t )interfaz con el usuario, tanto para entrada (ratón, teclado, etc.) como interfaz con el usuario, tanto para entrada (ratón, teclado, etc.) como para salida (impresoras, pantalla, etc.).para salida (impresoras, pantalla, etc.).
–– Dispositivos de almacenamiento. Se usan para proporcionar Dispositivos de almacenamiento. Se usan para proporcionar almacenamiento no volátil de datos y memoria. Su función primordial almacenamiento no volátil de datos y memoria. Su función primordial es abastecer de datos y almacenamiento a los programas que se es abastecer de datos y almacenamiento a los programas que se ejecutan en la UCP. Según su capacidad e inmediatez se pueden dividir ejecutan en la UCP. Según su capacidad e inmediatez se pueden dividir en almacenamiento secundario (discos y disquetes) y terciario (cintas y en almacenamiento secundario (discos y disquetes) y terciario (cintas y sistemas de archivo).sistemas de archivo).
–– Dispositivos de comunicaciones. Permiten conectar a la computadora Dispositivos de comunicaciones. Permiten conectar a la computadora con otras computadoras a través de una red. Los dos tipos de con otras computadoras a través de una red. Los dos tipos de dispositivos más importantes de esta clase son los MODEM y las dispositivos más importantes de esta clase son los MODEM y las tarjetas de interfaz a la red.tarjetas de interfaz a la red.
12/11/2009
4
VelocidadesVelocidades de de dispositivosdispositivos típicostípicos
Dispositivos de Bloque y de Carácter Dispositivos de Bloque y de Carácter
•• Dispositivos de bloque:Dispositivos de bloque:
–– Acceso a nivel de bloque, secuencial o aleatorioAcceso a nivel de bloque, secuencial o aleatorio
–– Mandatos: leer, escribir, buscar, …Mandatos: leer, escribir, buscar, …
–– E/S directa o a través del servidor de ficherosE/S directa o a través del servidor de ficheros
–– Acceso posible a través de ficheros proyectados en memoriaAcceso posible a través de ficheros proyectados en memoria
–– Ejemplo: discos y cintasEjemplo: discos y cintas
•• Dispositivos de carácter:Dispositivos de carácter:
–– Acceso a nivel de a carácter, secuencial o aleatorioAcceso a nivel de a carácter, secuencial o aleatorio
Mandatos:Mandatos: getget putput–– Mandatos: Mandatos: getget, , putput, …., ….
–– Bibliotecas para optimizar y dar forma a este tipo de accesos: edición Bibliotecas para optimizar y dar forma a este tipo de accesos: edición de líneas, ventanas virtuales, ….de líneas, ventanas virtuales, ….
–– Ejemplo: terminales e impresorasEjemplo: terminales e impresoras
12/11/2009
5
Conexión de dispositivos Conexión de dispositivos de E/Sde E/S
Memoria
Bus del sistema
Controlador gráfico
CPUMemoria
Controlador de disco
Bus de expansión
…
estado control datos
ControladoresControladores de de dispositivosdispositivos II•• El El dispositivodispositivo de E/S de E/S tienetiene dos dos componeentescomponeentes::
–– componentecomponente mecánicomecánico
–– componentecomponente electrónicoelectrónico
•• El componente mecánico se El componente mecánico se conectan a conectan a la CPU la CPU a través a través del controladordel controlador
•• El El componentecomponente electrónicoelectrónico eses el el controladorcontrolador del del dispositivodispositivo
–– PuedePuede controlarcontrolar variosvarios dispositivosdispositivos de E/Sde E/S
10
•• TareasTareas del del controladorcontrolador
–– convertirconvertir bit en bit en serieserie (bit stream) a (bit stream) a bloquesbloques de de bytesbytes
–– RealizarRealizar correcióncorreción de de erroreserrores sisi eses necesarionecesario
–– DejarDejar la la informacióninformación en MPen MP
12/11/2009
6
•• Los controladores son muy variados, Los controladores son muy variados, casi casi como los dispositivos de E/S.como los dispositivos de E/S.
–– Muchos de Muchos de ellos ellos pueden controlar múltiples dispositivos. pueden controlar múltiples dispositivos.
–– OtrosOtros, , incluyen su propia UCP y bus para controlar la E/S por programa incluyen su propia UCP y bus para controlar la E/S por programa it i t i l UCP d l t dit i t i l UCP d l t d
ControladoresControladores de de dispositivosdispositivos IIII
y evitar interrupciones en la UCP de la computadora. y evitar interrupciones en la UCP de la computadora.
•• En los últimos años ha existido un esfuerzo importante de estandarización En los últimos años ha existido un esfuerzo importante de estandarización de los dispositivos, lo que permite usar un mismo controlador para de los dispositivos, lo que permite usar un mismo controlador para dispositivos de distintos dispositivos de distintos fabricantesfabricantes (ejemplo: SCSI, Small Computer SystemInterface, o IDE, Integrated Drive Electronics). .
•• El controlador esEl controlador es lala interfaz del dispositivo con el bus de la computadora yinterfaz del dispositivo con el bus de la computadora yEl controlador es El controlador es la la interfaz del dispositivo con el bus de la computadora y interfaz del dispositivo con el bus de la computadora y es el componente que se ve desde la UCP. es el componente que se ve desde la UCP.
–– Su programación se lleva a cabo mediante una interfaz de muy bajo Su programación se lleva a cabo mediante una interfaz de muy bajo nivel que proporciona acceso a una serie de registros del controlador.nivel que proporciona acceso a una serie de registros del controlador.
–– Las características del controlador son muy importantes, ya que Las características del controlador son muy importantes, ya que definen el aspecto del periférico para el sistema operativo.definen el aspecto del periférico para el sistema operativo.
–– Fundamental: Dirección de E/S, Unidad de transferencia e Interacción Fundamental: Dirección de E/S, Unidad de transferencia e Interacción computadoracomputadora‐‐controlador. controlador.
•• Para realizar una operación de E/S, la UCP tiene que escribir en los registros Para realizar una operación de E/S, la UCP tiene que escribir en los registros deldel controlador.controlador.
CC dd i t d li t d l t l d di ió d E/S d it l d di ió d E/S d i i di d
Conexión por puerto o memoriaConexión por puerto o memoria
•• CCadaada registro delregistro del controlador. una dirección de E/S o de memoria controlador. una dirección de E/S o de memoria asignada. asignada.
•• El modelo de El modelo de dispositivos por puertosdispositivos por puertos es clásico en las arquitecturas de es clásico en las arquitecturas de Intel. Intel.
–– Cuando se instala un dispositivo, a su controlador se le asigna un puerto Cuando se instala un dispositivo, a su controlador se le asigna un puerto de E/S, una interrupción hardware y un vector de interrupción. de E/S, una interrupción hardware y un vector de interrupción.
–– Una operación de E/S la UCP ejecuta operaciones Una operación de E/S la UCP ejecuta operaciones portinportin o o portoutportout
•• El modelo El modelo proyectado en memoriaproyectado en memoria asigna a cada registro de E/S una asigna a cada registro de E/S una direccíóndireccíón de MP.de MP.
–– No hay instrucciones específicas de E/S, seNo hay instrucciones específicas de E/S, se usan las instrucciones usan las instrucciones de de acceso a memoria.acceso a memoria.
–– Mapa único de direcciones de memoria. Mapa único de direcciones de memoria.
12/11/2009
7
UbicaciónUbicación de de puertospuertos de E/S de E/S een PCs (n PCs (parcialparcial) I) I
UbicaciónUbicación de de puertospuertos de E/S en PCs (de E/S en PCs (parcialparcial) II) II
12/11/2009
8
EntradaEntrada//SalidaSalida
• Caracterización de los dispositivos de E/S
• Drivers: software de E/S dependiente del dispositivo/ p p
• Software de E/S independiente del dispositivo
• Almacenamiento secundario
• Almacenamiento terciario
• El reloj
• El terminal
• La red
• Servicios de entrada/salida
Drivers de Drivers de dispositivosdispositivos
•• PosicionesPosiciones lógicaslógicas de los drivers de de los drivers de dispositivodispositivo
•• La communications entre La communications entre drivers drivers y y controladorescontroladores eses medientemediente el busel bus
12/11/2009
9
TiposTipos de E/S de E/S
•• ProgramadaProgramada
–– EsperaEspera actiavaactiavaEsperaEspera actiavaactiava
•• PorPor interrupcionesinterrupciones
–– AsociadaAsociada a la a la multiprogramaciónmultiprogramación
•• PorPor DMADMA
–– Para Para dispositivosdispositivos de de bloquesbloques
E/S E/S ProgramadaProgramada II
•• Se Se determinadetermina el el estadoestado de de dispositivodispositivo::
–– readyreadyreadyready
–– busybusy
–– ErrorError
•• Si Si estáestá busybusy se se esperaespera a a queque estéesté ready ready ((esperaespera activaactiva))
•• Se Se realizarealiza la la operaciónoperación de E/Sde E/S
12/11/2009
10
E/S E/S ProgramadaProgramada IIII
19
PasosPasos parapara imprimririmprimrir un string un string
E/S E/S ProgramadaProgramada IIIIII
20
EscribiendoEscribiendo un string en la un string en la impresoraimpresora mediantemediante E/S E/S programadaprogramada
12/11/2009
11
•• La CPU La CPU tienetiene unauna/s /s línealínea/s de /s de peticiónpetición de de interrupcióninterrupción conectadaconectada a los a los dispositivosdispositivos de E/Sde E/S
E/S E/S porpor interrupcionesinterrupciones II
•• El El manejadormanejador de de interrupcióninterrupción reciverecive la la interrupcióninterrupción
•• EnmascarableEnmascarable parapara ignorarignorar or or postponerpostponer algunasalgunas interrupcionesinterrupciones
•• El vector de El vector de InterruciponesInterrucipones eligeelige el el manejadormanejador de de interrupcióninterrupcióncorrespondientecorrespondiente
–– BasadoBasado een la n la prioridadprioridad de la de la interrucióninterrución
–– AlgunasAlgunas son son nono‐‐enmascarablesenmascarables
•• El El mecanismomecanismo de de interrucionesinterruciones tambiéntambién se se usausa parapara exceptionesexceptiones
E/S E/S porpor interrupcionesinterrupciones IIII
22
•• EscribiendoEscribiendo un string en la un string en la impresoraimpresora mediantemediante E/S E/S porpor interrupcionesinterrupciones
–– El El códigocódigo se se ejecutaejecuta cuandocuando se se invocainvoca la la llamadallamada al al sistemasistema de la de la impresoraimpresora
–– RutinaRutina de de servicioservicio de de interrupcióninterrupción
12/11/2009
12
ManejadoresManejadores de de interrupcionesinterrupciones
El driver El driver iniciainicia unauna operanciónoperanción de E/S y de E/S y se se bloqueabloquea hastahasta queque unaunainterrupcióninterrupción notificanotifica susu finalizaciónfinalizaciónpp
La La funciónfunción de de interrupcióninterrupción hacehace la la tareatarea
‐‐ CuandoCuando terminatermina desbloqueadesbloquea el driver el driver queque la la inicióinició
LasLas rutinasrutinas dede interrupcióninterrupción suelensuelen tenertener dosdos partespartes::
‐‐ unauna genéricagenérica yy
otraotra particularparticular parapara elel dispositivodispositivo
23
‐‐ otraotra particularparticular parapara elel dispositivodispositivo
Rutina de interrupciónRutina de interrupción
lala parteparte genéricagenérica hacehace lolo siguientesiguiente::
1.1. Captura de la interrupción.Captura de la interrupción.
2.2. Salvaguarda de estado del procesador.Salvaguarda de estado del procesador.
3.3. Activación de la rutina particular de servicio de la interrupción.Activación de la rutina particular de servicio de la interrupción.
4.4. PPlanificaciónlanificación comocomo lista para ejecutar lista para ejecutar la rutina particularla rutina particular..
5.5. Desactivación de la interrupción.Desactivación de la interrupción.
6.6. Restauración del estado del procesador.Restauración del estado del procesador.
7.7. Cesión de control (RETI).Cesión de control (RETI).
12/11/2009
13
TablaTabla de de excepcionesexcepciones del del procesadosprocesados PentiumPentium
Interrupciones que usan Interrupciones que usan algunos controladoresalgunos controladores
12/11/2009
14
E/S E/S mediantemediante DMA IDMA I
•• Se usa para evitar la E/S programada de grandes bloques de datosSe usa para evitar la E/S programada de grandes bloques de datos
•• Necesita un controlador con DMANecesita un controlador con DMA
•• Evita el uso de la CPU transfiriendo los datos directamente entre los Evita el uso de la CPU transfiriendo los datos directamente entre los dispositivos de E/S y la memoriadispositivos de E/S y la memoria
–– del usuariodel usuario
–– del núcleo del núcleo
•• Básico para aprovechar la CPU en un sistema Básico para aprovechar la CPU en un sistema multiprogramadomultiprogramado, ya que , ya que libera tiempo de la CPU que se puede usar para ejecutar otros programas.libera tiempo de la CPU que se puede usar para ejecutar otros programas.
Memoria
Registrode datos
E/S E/S mediantemediante DMA IIDMA II
Petición DMA(contador,di ió
Co
nta
do
r
Contador
Direcc ión
Disco
Bus
de
l sis
tem
a
dirección,datos)
InterrupciónOperación
(L/E)
Aceptación DMA
Lógica de control
ControladorUCP
12/11/2009
15
E/S E/S mediantemediante DMA IIIDMA III
•• ImprimeImprime un string un string usandousando DMADMA
29
–– UtilizadoUtilizado parapara programarprogramar E/S E/S parapara grandesgrandes movimientosmovimientos de de datosdatos
–– RequiereRequiere uncontroladoruncontrolador DMA DMA
–– TransfiereTransfiere los los datosdatos directamentedirectamente entre los entre los dispositivosdispositivos de E/S a MPde E/S a MP
OOperacionesperaciones enen un un manejadormanejador (driver)(driver)
Contestación aExtraer peticiónE/S d l li
Peticiones de E/S del dispositivo
Enviar mandatosal controlador
Operacionessobre datos
la petición
Traducir a formatodel controlador
Prepararrespuestade error
E/S de la lista
Error
Si No
Bloqueo
Esperarinterrupción
Programación delcontrolador
Si
No
Interrupción
Leer registrosestado delcontrolador
12/11/2009
16
FlujoFlujo del software de E/Sdel software de E/S
31
NivelesNiveles del del sistemasistema de E/S y de E/S y principalesprincipales funcionesfunciones de de cadacada nivelnivel
EntradaEntrada//SalidaSalida
• Caracterización de los dispositivos de E/S
• Drivers: software de E/S dependiente del dispositivo/ p p
• Software de E/S independiente del dispositivo
• Almacenamiento secundario
• Almacenamiento terciario
• El reloj
• El terminal
• La red
• Servicios de entrada/salida
12/11/2009
17
SWSW de E/Sde E/S independiente de dispositivo independiente de dispositivo
FuncionesFunciones del del swsw de E/S de E/S independienteindependiente del del dispositivodispositivo II
‐‐ IInterfaznterfaz uniformeuniforme parapara los los dispositivodispositivo
‐‐ Tamaño de acceso: bloques, flujo de caracteresTamaño de acceso: bloques, flujo de caracteres
‐‐ ProporcionarProporcionar un un tamañotamaño de de bloquebloque independienteindependiente del del dispositivodispositivo
‐‐ Almacenamiento intermedio (Almacenamiento intermedio (bufferingbuffering): almacena datos en memoria ): almacena datos en memoria mientras se transfieren entre dos dispositivosmientras se transfieren entre dos dispositivos
‐‐ evita accesos repetidosevita accesos repetidosl d f d l d dl d f d l d d‐‐ oculta diferencias de velocidadoculta diferencias de velocidad
‐‐ copia única (semántica de compartición)copia única (semántica de compartición)‐‐ Gestión de dispositivoGestión de dispositivo
‐‐ nombrado [/nombrado [/devdev//cdromcdrom inodoinodo (mayor, menor)](mayor, menor)]‐‐ protección (protección (rwxrwx))‐‐ asignaciónasignación y y liberaciónliberación de de dispositivosdispositivos‐‐ acceso en serie (si no se puede compartir)acceso en serie (si no se puede compartir)
12/11/2009
18
•• Planificación de E/S (Planificación de E/S (SScheduling)cheduling) –– encolaencola laslas peticionespeticiones de E/S en colas; de E/S en colas; unauna porpor dispositivodispositivo; genérica (ej., FIFO) y de manejador (ej., SCAN)
FuncionesFunciones del del swsw de E/S de E/S independienteindependiente del del dispositivodispositivo IIII
•• Gestión de erroresGestión de errores
‐‐ Transitorios: resueltos por el driver (reparación)Transitorios: resueltos por el driver (reparación)
‐‐ Permanentes: notificados al usuario y registradosPermanentes: notificados al usuario y registrados
•• BufferingBuffering CachingCaching –– mantienemantiene unauna copiacopia en en memoriamemoria muymuy rápidarápida–– PerformancePerformance
•• SpoolingSpooling –– retieneretiene la la salidasalida de un de un dispositivodispositivo
Si elSi el dispositivodispositivo únicamenteúnicamente puedepuede servirservir unauna peticiónpetición a laa la vezvez–– Si el Si el dispositivodispositivo únicamenteúnicamente puedepuede servirservir unauna peticiónpetición a la a la vezvez
–– ejej., la ., la impresoraimpresora
•• Device Device reservationreservation –– proporcionaproporciona accesoacceso exclusivoexclusivo al al servicioservicio
–– LlamadasLlamadas al al sistemasistema parapara la la asignanaciónasignanación y y liberaciónliberación
–– ProblemaProblema con con interbloqueosinterbloqueos
IndependenciaIndependencia del del dispositivodispositivo II
(a(a) Sin ) Sin interfazinterfaz de E/S de E/S estandarestandar
(b) (b) Con Con interfazinterfaz de E/S de E/S estandarestandar
12/11/2009
19
IndependenciaIndependencia del del dispositivodispositivo IIII
37
(a) (a) Sin bufferSin buffer(b) (b) Con buffer en Con buffer en espacioespacio de de usuariousuario(c) (c) Con buffer en el kernel y Con buffer en el kernel y copiacopia en en espacioespacio de de usuariousuario(d) Double (d) Double buffer en el buffer en el kernelkernel
IndependenciaIndependencia del del dispositivodispositivo
38
UnaUna transferenciatransferencia porpor red red puedepuede requerirrequerir variasvarias copiascopias
12/11/2009
20
Capas del sistema de E/SCapas del sistema de E/S
Interfaz del Sistema Operativo
Gestor de Cache
Gestor de Bloques
Sistemas de ArchivosNFTS HPFS FAT CD-ROM ...
Gestión de Redes(IPX/SPX, NETBEUI,
TCP/IP, ... )
Gestión de Redes
Controladores de dispositivo
Gestor de Cache
Manejadores de Dispositivos(CD-ROM, cinta, disco, puerto, ... )
FFlujo de una operación de E/Slujo de una operación de E/S
AplicaciónSubsistema
o DLLCopia en
Procesode usuario
Manejadorde
Gestor dearchivos
Gestor debloques
Gestor decache
Servicios
Copia en elsistema operativo
pmemoria delusuarioModo usuario
Modo núcleo
SW de E/S independiente de dispositivo
SW de E/S independiente de dispositivo
SW de E/S dedispositivo
Manejador deinterrupción
Controlador
Dispositivo(disco)
SW de E/S dependiente
de dispositivo
Hardware
Software
Bloque deldispositivo
Copia en elcontrolador
12/11/2009
21
E/S Bloqueante y E/S Bloqueante y NoNo‐‐bloqueante Ibloqueante I
•• Bloqueante: procesos suspendidos hasta que la E/S terminaBloqueante: procesos suspendidos hasta que la E/S termina
–– Fácil de usar y comprenderFácil de usar y comprender
–– Insuficiente para algunos requisitosInsuficiente para algunos requisitos
–– Ejemplo: Ejemplo: readread, , writewrite, ... de POSIX, ... de POSIX
•• No bloqueante: la llamada de E/S vuelve inmediatamenteNo bloqueante: la llamada de E/S vuelve inmediatamente
–– Interfaz de usuario más complejo y espacio para copia de datosInterfaz de usuario más complejo y espacio para copia de datos
–– Vuelve rápidamente con el estado de la operaciónVuelve rápidamente con el estado de la operación
–– Se Se puede implementar con puede implementar con threadsthreadsp pp p
•• Asíncronas: los procesos ejecutan mientras la E/S se lleva a caboAsíncronas: los procesos ejecutan mientras la E/S se lleva a cabo
–– Difícil de usar por operaciones pendientesDifícil de usar por operaciones pendientes
–– El sistema de E/S envía El sistema de E/S envía en una en una señal el fin de operación pendienteseñal el fin de operación pendiente
–– Interfaz para comprobar estado y esperar (Interfaz para comprobar estado y esperar (aiowaitaiowait))
E/S Bloqueante y NoE/S Bloqueante y No‐‐bloqueante bloqueante II II
Sínchrona Asíncrona
12/11/2009
22
E/S Bloqueante y NoE/S Bloqueante y No‐‐bloqueante bloqueante III III
Operac ión de E/S
Retorno de
Llamadade E/S
Registro de op. E/S
Biblioteca
Proceso
Operac ión de E/SProceso
Proceso NO bloqueado
Retorno deLlamada E/S
Programación de E/S
Tratamiento interrupciónContestac ión de E/S
interrupción
ControladorDispositivo
Controlador
ID. op. de E/S
Biblioteca
ProcesoLlamadade E/S
Proceso bloqueado
Programación de E/S
Tratamiento interrupciónContestac ión de E/S
interrupción
ControladorDispositivo
Controlador
Biblioteca
(A) E/S bloqueante (B) E/S no bloqueante
¿Fin Op. de E/S?
Retorno deLlamada E/S
Llamadade E/S
Registro de op. E/S
Biblioteca
Biblioteca
Proceso
Proceso
Retorno deLlamada E/S
Fin Op. de E/S
Contestac ión de E/S
Proceso
Biblioteca
EstructurasEstructuras de de datosdatos del Kernel de E/Sdel Kernel de E/S
•• El kernel El kernel guardaguarda informacióninformación de de estadoestado de los de los dispositivosdispositivos de E/S , de E/S , incluyendoincluyendo tablastablas de de ficherosficheros abiertosabiertos, , conexionesconexiones de red, de red, estadoestado de los de los dispositivosdispositivos de de caracterescaracteres..
•• MuchasMuchas estructurasestructuras de de datosdatos complejascomplejas parapara buffers, buffers, ubicaciónubicación de de memoriamemoria, , bloquesbloques ““suciossucios”.”.
12/11/2009
23
TablaTabla de de estadoestado de de dispositivosdispositivos
EstructuraEstructura del kernel de E/S en UNIXdel kernel de E/S en UNIX
12/11/2009
24
EntradaEntrada//SalidaSalida
• Caracterización de los dispositivos de E/S
• Drivers: software de E/S dependiente del dispositivo/ p p
• Software de E/S independiente del dispositivo
• Almacenamiento secundario
• Almacenamiento terciario
• El reloj
• El terminal
• La red
• Servicios de entrada/salida
EstructuraEstructura
•• El sistema de almacenamiento secundario se usa para guardar los El sistema de almacenamiento secundario se usa para guardar los programas y datos en dispositivos rápidos, de forma que sean programas y datos en dispositivos rápidos, de forma que sean fácilmente accesibles a las aplicaciones a través del sistema de fácilmente accesibles a las aplicaciones a través del sistema de archivos Esa es la razón por la que en la jerarquía de E/S losarchivos Esa es la razón por la que en la jerarquía de E/S losarchivos. Esa es la razón por la que en la jerarquía de E/S los archivos. Esa es la razón por la que en la jerarquía de E/S los dispositivos de almacenamiento secundario se colocan justo debajo dispositivos de almacenamiento secundario se colocan justo debajo de la memoria RAM. de la memoria RAM.
•• Hay dos elementos principales involucrados en este sistema:Hay dos elementos principales involucrados en este sistema:
–– Discos. El almacenamiento secundario se lleva a cabo casi Discos. El almacenamiento secundario se lleva a cabo casi exclusivamente sobre discos, por lo que es interesante conocer exclusivamente sobre discos, por lo que es interesante conocer su estructura y cómo se gestionan.su estructura y cómo se gestionan.
–– Manejadores de disco. Controlan todas las operaciones que se Manejadores de disco. Controlan todas las operaciones que se hacen sobre los discos, entre las que son especialmente hacen sobre los discos, entre las que son especialmente importantes las cuestiones de planificación de peticiones a importantes las cuestiones de planificación de peticiones a disco.disco.
12/11/2009
25
Estructura del sistema de E/S en LINUXEstructura del sistema de E/S en LINUX
Interfaz de llamadas al sistemaSistema de ficheros virtual
Sistema de ficheros Controlador del
dispositivo
Caché de bloques
Gestor de peticiones a los discos
Planificador de los discos
Caché de páginas de memoria
S s e de c e os dispositivo[alto nivel]
Controlador de dispositivos[bajo nivel]
Sistema de Almacenamiento Secundario
DiscosDiscos•• Dispositivos básicos para llevar a cabo almacenamiento masivo y no Dispositivos básicos para llevar a cabo almacenamiento masivo y no
volátil de datos. Además se usan como plataforma para el sistema de volátil de datos. Además se usan como plataforma para el sistema de intercambio que usa el gestor de memoria virtual. Son dispositivos intercambio que usa el gestor de memoria virtual. Son dispositivos electromecánicos (HARD DISK) u electromecánicos (HARD DISK) u optomecánicosoptomecánicos (CD(CD‐‐ROM y DVD), ROM y DVD),
d i l d bl ló i l i t d hid i l d bl ló i l i t d hique se acceden a nivel de bloque lógico por el sistema de archivos y que se acceden a nivel de bloque lógico por el sistema de archivos y que, actualmente, que, actualmente, se se agrupan agrupan en:en:
•• dos tipos básicos, atendiendo a la interfaz de su controlador:dos tipos básicos, atendiendo a la interfaz de su controlador:
–– DispositivosDispositivos SCSI (SCSI (Small Computer System InterfaceSmall Computer System Interface))..
–– DispositivosDispositivos IDE (IDE (Integrated Drive ElectronicsIntegrated Drive Electronics))..
•• tres tres tipos básicos atendiendo a su tecnología de fabricación:tipos básicos atendiendo a su tecnología de fabricación:
–– Discos duros (Discos duros (WinchesterWinchester). ).
Di ó tiDi ó ti–– Discos ópticos. Discos ópticos.
–– Discos extraíbles. Discos extraíbles.
•• Independientemente del tipo al que pertenezcan, las estructuras Independientemente del tipo al que pertenezcan, las estructuras física y lógica de todos los discos son muy similares, como se muestra física y lógica de todos los discos son muy similares, como se muestra a continuación.a continuación.
12/11/2009
26
Organización del disco duroOrganización del disco duro
Pista: Pista: cada corona circular que se encuentra sobre una superficie. cada corona circular que se encuentra sobre una superficie. Sector:Sector: divisiones físicas de tamaño fijo en que se considera dividida una divisiones físicas de tamaño fijo en que se considera dividida una pista. Típicamente contienen 512Bpista. Típicamente contienen 512BCilindro: Cilindro: conjunto de pistas, una por cada superficie, al que se accede con conjunto de pistas, una por cada superficie, al que se accede con una posición fija del peine de una posición fija del peine de cabezascabezas. Son como . Son como los anilloslos anillos que marcan la que marcan la edad de un árbol.edad de un árbol.
Organización del disco Organización del disco duro IIIduro III
Los Los sectoressectores son como los son como los pedazos de una pizza.pedazos de una pizza.Una Una pistapista es es uno de los anillosuno de los anillos que solo se encuentran enque solo se encuentran en un plato del HDun plato del HD..En la imagen podemos apreciar un HD viejo, con En la imagen podemos apreciar un HD viejo, con 20 pistas20 pistas y y 16 sectores.16 sectores.
12/11/2009
27
Características de los discos Características de los discos II
•• Un disco duro es un dispositivo de gran capacidad compuesto por Un disco duro es un dispositivo de gran capacidad compuesto por varias superficies magnetizadas y cuyas cabezas lectoras funcionan varias superficies magnetizadas y cuyas cabezas lectoras funcionan por efecto electromagnético. por efecto electromagnético.
•• En el ámbito organizativo las superficies del disco están divididas enEn el ámbito organizativo las superficies del disco están divididas en•• En el ámbito organizativo, las superficies del disco están divididas en En el ámbito organizativo, las superficies del disco están divididas en cilindros, con una pista para cada cabeza y un cierto número de cilindros, con una pista para cada cabeza y un cierto número de sectores por pista. El tamaño del sector es 512 bytes.sectores por pista. El tamaño del sector es 512 bytes.
•• Capacidad del disco:Capacidad del disco:–– Capacidad = cilindros * Capacidad = cilindros * pistas pistas * sectores * tamaño sector* sectores * tamaño sector
•• Los parámetros de la estructura física del disco son muy importantes Los parámetros de la estructura física del disco son muy importantes para el manejador del mismo.para el manejador del mismo.
•• Las operaciones de E/S se calculan y optimizan mediante dos Las operaciones de E/S se calculan y optimizan mediante dos parámetros fundamentales:parámetros fundamentales:parámetros fundamentales: parámetros fundamentales: –– tiempo de búsquedatiempo de búsqueda (lo que se tarda a ir de una pista a otra) y (lo que se tarda a ir de una pista a otra) y –– tiempo de latenciatiempo de latencia (el tiempo medio que se tardan a llegar los (el tiempo medio que se tardan a llegar los
datos debajo de las cabezas, una vez posicionadas en la pista) datos debajo de las cabezas, una vez posicionadas en la pista) –– T_accesoT_acceso = n * = n * T_búsquedaT_búsqueda + + T_latenciaT_latencia + + T_transferenciaT_transferencia
•• Densidad de cada pista. En los discos modernos las pistas tienen Densidad de cada pista. En los discos modernos las pistas tienen distinta densidad, por lo que el número de sectores varía de unas distinta densidad, por lo que el número de sectores varía de unas pistas a otras. pistas a otras.
Características de los discos Características de los discos IIIIII
•• Intercalado de sectores. El controlador debe emplear tiempo en Intercalado de sectores. El controlador debe emplear tiempo en copiar los datos leídos a memoria principal. Durante este tiempo no copiar los datos leídos a memoria principal. Durante este tiempo no puede estar transfiriendo datos del puede estar transfiriendo datos del disco, disco, que se sigue moviendo a que se sigue moviendo a velocidad constante, lo que significa que si quiere leer el sector velocidad constante, lo que significa que si quiere leer el sector siguiente deberá esperar a que las cabezas lectoras den una vuelta y siguiente deberá esperar a que las cabezas lectoras den una vuelta y lleguen de nuevo a ese bloque. lleguen de nuevo a ese bloque.
•• Almacenamiento intermedio en el controlador. Se puede optar por Almacenamiento intermedio en el controlador. Se puede optar por leer la pista entera y mantenerla en memoria del controladorleer la pista entera y mantenerla en memoria del controladorleer la pista entera y mantenerla en memoria del controlador. leer la pista entera y mantenerla en memoria del controlador.
•• Controladores inteligentes. Cuando controlan varios dispositivos, Controladores inteligentes. Cuando controlan varios dispositivos, permiten efectuar operaciones de búsqueda de forma solapada.permiten efectuar operaciones de búsqueda de forma solapada.
12/11/2009
28
Características de los discos IICaracterísticas de los discos IIEjemplo Ejemplo de disco durode disco duro
SEAGATE Barracuda ATA II ST330630A
Capacidad:Cilindros: Cabezas:Sectores:
1
7200 RPM
0.2 GB102325683
Parámetro Valor
Veloc idad:T. Búsqueda:Latencia:Memoria:
7200 RPM8,5 mseg.4,16 mseg2 Mbytes
•• Los discos se Los discos se direccionandireccionan comocomo un un grangran array 1array 1‐‐dimensional de dimensional de bloquesbloqueslógicoslógicos,, dondedonde el el bloquebloque lógicológico eses la la unidadunidad de de transferenciatransferencia másmáspequeñapequeña..
EstructuraEstructura de disco Ide disco I
pequeñapequeña..
•• Los Los bloquesbloques lógicoslógicos del array 1del array 1‐‐dimensional se dimensional se correspondencorresponden con con sectoressectores secuencialessecuenciales en el discoen el disco–– El sector 0 El sector 0 eses el primer sector de la el primer sector de la primeraprimera pistapista del del cilindrocilindro másmás
externoexterno..–– En el sector 0 se guarda la En el sector 0 se guarda la tabla de particionestabla de particiones..–– Particiones activas o de sistema: permiten arrancar desde un sistema Particiones activas o de sistema: permiten arrancar desde un sistema
operativo.operativo.
•• La La correspondenciacorrespondencia se se realizarealiza en en ordenorden alrededoralrededor de la de la pistapista, el , el restoresto de de pistaspistas y el y el restoresto de de cilindroscilindros desdedesde el el másmás externoexterno al al másmás internointerno.. El El manejador de disco no sabe nada de la organización de los ficheros, sólo de manejador de disco no sabe nada de la organización de los ficheros, sólo de particiones y bloques.particiones y bloques.
12/11/2009
29
EstructuraEstructura de disco IIde disco II
•• GeometríaGeometría físicafísica de un disco con 2 de un disco con 2 zonaszonas (176 (176 sectoressectores))
•• UnaUna posibleposible geometríageometría virtual virtual parapara esteeste disco (175 disco (175 sectoressectores))
•• FormateoFormateo físicofísico o de o de bajobajo nivelnivel——Divide Divide aal disco en l disco en sectoressectores quequeel el controladorcontrolador de disco de disco puedepuede leer y leer y escribirescribir..
Gestión de discoGestión de disco
•• FormateoFormateo lógicológico o “o “construirconstruir el el sistemasistema de de archivoarchivo”, ”, lleva a cabo lleva a cabo otras tres tareas fundamentales:otras tres tareas fundamentales:1.1. Creación del bloque de carga oCreación del bloque de carga o bloquebloque Boot Boot queque initializainitializa el el sistemasistema. . incluye el programa de incluye el programa de
arranque del computador, programa que se activa cuando se conecta la corriente eléctrica y se arranque del computador, programa que se activa cuando se conecta la corriente eléctrica y se produce un RESET. produce un RESET.
2.2. Creación de una lista de bloques defectuosos.Creación de una lista de bloques defectuosos.
3.3. Creación de una lista de bloques de repuesto. Creación de una lista de bloques de repuesto. q pq p
12/11/2009
30
FormateoFormateo de disco Ide disco I
Un sector de discoUn sector de disco
a) No a) No intercaladosintercalados b) b) IntercaladoIntercalado sencillosencillo c) c) IntercaladoIntercalado dobledoble
FormateoFormateo de disco IIde disco II
DecalajeDecalaje de de cilindroscilindros
12/11/2009
31
•• ElEl bloquebloque dede cargacarga incluyeincluye elel programaprograma queque sese cargacarga enen RAMRAM (núcleo(núcleo deldel sistemasistema operativo)operativo)cuandocuando sese enciendeenciende elel ordenadorordenador..
–– ElEl programaprograma cragadorcragador Bootstrap Bootstrap se se almacenaalmacena en ROM, en ROM, incluye solo los aspectos más incluye solo los aspectos más básicos de iniciación del hardware del sistema y un bucle de lectura que carga el sistemabásicos de iniciación del hardware del sistema y un bucle de lectura que carga el sistema
Creación de la estructura lógica Creación de la estructura lógica II
básicos de iniciación del hardware del sistema y un bucle de lectura que carga el sistema básicos de iniciación del hardware del sistema y un bucle de lectura que carga el sistema operativo en una dirección de la memoria. operativo en una dirección de la memoria.
– Lee palabras consecutivas de la entrada y las coloca de forma consecutiva en MP a partir de una dirección determinada.
Address Content Purpose. 000 17001 Read a word from the input into the following memory location. 001 17002 Execute what was just read above. 002 12000 Go back and do it again.
–– CuandoCuando haha terminadoterminado saltasalta aa lala direccióndirección dede memoriamemoria dondedonde pusopuso
•• LaLa listalista dede bloquesbloques defectuososdefectuosos,, incluyeincluye loslos bloquesbloques enen malmal estadoestado..–– SeSe marcanmarcan siempresiempre comocomo ocupadosocupados yy nono sese liberanliberan nuncanunca..pp pp yy–– UnUn bloquebloque eses defectuosodefectuoso porqueporque algunoalguno dede loslos sectoressectores queque lolo componencomponen sonson
defectuososdefectuosos.. SeSe sabesabe porpor lala paridadparidad deldel sectorsector introducidaintroducida durantedurante elel formatoformato físicofísico..
•• ListaLista dede bloquesbloques dede repuestorepuesto parapara elel casocaso enen queque algúnalgún bloquebloque deldel dispositivodispositivo fallefalle durantedurante eleltiempotiempo dede vidavida deldel mismomismo..
Creación de la estructura lógica Creación de la estructura lógica IIII
•• Para facilitar el uso de una partición de Para facilitar el uso de una partición de distintas formas , distintas formas , la la utilidad utilidad fdiskfdisk o o formatformat permite crear dos imágenes asociadas permite crear dos imágenes asociadas a cada partición:a cada partición:
–– Dispositivo de bloques. Todos los accesos al mismo pasan por el Dispositivo de bloques. Todos los accesos al mismo pasan por el sistema de archivos y la cache de bloques. sistema de archivos y la cache de bloques.
–– Dispositivo de caracteres. Permite Dispositivo de caracteres. Permite acceder a bloques de la partición acceder a bloques de la partición directamente. directamente.
•• Las peticiones deben ser forzosamente múltiplo del tamaño deLas peticiones deben ser forzosamente múltiplo del tamaño de•• Las peticiones deben ser forzosamente múltiplo del tamaño de Las peticiones deben ser forzosamente múltiplo del tamaño de bloquebloque
•• Deben estar alineadas al principio de un bloque.Deben estar alineadas al principio de un bloque.
12/11/2009
32
Tabla de particiones de un discoTabla de particiones de un disco
Manejadores de disco Manejadores de disco II
Funciones principales:Funciones principales:1.1. Proceso de la petición de E/S de bloques.Proceso de la petición de E/S de bloques.22 T d ió d l f ló i d d l l dT d ió d l f ló i d d l l d2.2. Traducción del formato lógico a mandatos del controlador.Traducción del formato lógico a mandatos del controlador.3.3. Insertar la petición en la cola del dispositivo, llevando a cabo Insertar la petición en la cola del dispositivo, llevando a cabo
la política de planificación de disco pertinente (la política de planificación de disco pertinente (FIFOFIFO, , SJFSJF, , SCANSCAN, , CSCANCSCAN, , EDFEDF, etc.)., etc.).
4.4. Enviar los mandatos al controlador, programando la DMA.Enviar los mandatos al controlador, programando la DMA.5.5. Bloqueo en espera de la interrupción de E/S.Bloqueo en espera de la interrupción de E/S.6.6. Comprobación del estado de la operación cuando llega la Comprobación del estado de la operación cuando llega la
interrupción.interrupción.77 Gestionar los errores si existen y resolverlos si es posibleGestionar los errores si existen y resolverlos si es posible7.7. Gestionar los errores, si existen, y resolverlos si es posible.Gestionar los errores, si existen, y resolverlos si es posible.8.8. Indicación del estado de terminación al nivel superior del Indicación del estado de terminación al nivel superior del
sistema de E/S.sistema de E/S.
12/11/2009
33
Manejadores de disco Manejadores de disco IIII
•• El paso 1 se lleva a cabo en un manejador para la clase de dispositivo disco El paso 1 se lleva a cabo en un manejador para la clase de dispositivo disco independiente del tipo de disco en particular, denominado independiente del tipo de disco en particular, denominado manejador manejador genéricogenérico. . gg
•• El paso 2 se lleva a cabo en un manejador dependiente del dispositivo, El paso 2 se lleva a cabo en un manejador dependiente del dispositivo, denominado denominado manejador particularmanejador particular. .
–– El El tipo de dispositivo y el dispositivo en particular se distinguen porque tipo de dispositivo y el dispositivo en particular se distinguen porque en la petición de E/S viene información que lo indica.en la petición de E/S viene información que lo indica.
En En UNIX y LINUX UNIX y LINUX majormajor numbernumber y y minorminor numbernumber
•• El paso 3 depende del diseño del manejador:El paso 3 depende del diseño del manejador:–– Cola global para cada tipo de dispositivoCola global para cada tipo de dispositivo–– Cola para dispositivo particular Cola para dispositivo particular –– Ambas. Ambas.
•• El SO El SO eses responsableresponsable del del usouso eficienteeficiente del Hwdel Hw—— en un disco, en un disco, estoesto eses el el timpotimpo de de accesoaccesomínimomínimo y el mayor y el mayor anchoancho de de bandabanda..
PlanificaciónPlanificación de disco Ide disco I
•• MejorarMejorar el el ttiempoiempo de de accesoacceso::–– Minimizar el Minimizar el tiempo de ptiempo de posicionamientoosicionamiento oo búsquedabúsqueda
‐‐> > distancedistance recorrida en el posicionamientorecorrida en el posicionamiento–– MinimizarMinimizar la la latencialatencia de de rotaciónrotación ((tiempotiempo de de esperaespera hastahasta queque el sector el sector deseadodeseado estáestá
debajodebajo de la de la cabezacabeza))
•• Objetivo: Objetivo: minimizar el tiempo de búsquedaminimizar el tiempo de búsqueda, que es directamente proporcional a la , que es directamente proporcional a la distancia de búsquedadistancia de búsqueda
•• ElEl tiempo de transferenciatiempo de transferencia tiene que ver con la velocidad de rotación del disco:tiene que ver con la velocidad de rotación del disco:•• El El tiempo de transferencia tiempo de transferencia tiene que ver con la velocidad de rotación del disco:tiene que ver con la velocidad de rotación del disco:‐‐ Ancho de banda: bytes transferidos / velocidad de transferenciaAncho de banda: bytes transferidos / velocidad de transferencia
•• El El anchoancho de de bandabanda eses el el númeronúmero total de bytes total de bytes transferidostransferidos dividodivido entre el entre el tiempotiempo total total entre la entre la primeraprimera peticiónpetición del del servicioservicio y la y la últimaúltima transferenciatransferencia..
12/11/2009
34
•• Criterios de planificación:Criterios de planificación:–– Optimizar el tiempo de búsqueda (Optimizar el tiempo de búsqueda (SSOOSSOO))
PlanificaciónPlanificación de disco IIde disco II
–– Dar servicio determinista (Dar servicio determinista (multimedia y SSTRmultimedia y SSTR))
•• ExistenExisten diferentesdiferentes algoritmosalgoritmos de de planificaciónplanificación de de peticionespeticiones de E/S a de E/S a disco.disco.
FCFS, SSTF, SCAN, CFCFS, SSTF, SCAN, C‐‐SCAN, CSCAN, C‐‐LOOKLOOK
•• PorPor ejemploejemplo parapara unauna cola de cola de peticionespeticiones de 0 a 199:de 0 a 199:j pj p pp pp
98, 183, 37, 122, 14, 124, 65, 6798, 183, 37, 122, 14, 124, 65, 67
Head pointer 53Head pointer 53
MecanismoMecanismo de de movimientomovimiento de de brazobrazo de discode disco
12/11/2009
35
FCFS (FIFO)FCFS (FIFO)
VemosVemos queque la la cabezacabeza I/O I/O atraviesaatraviesa un total de un total de 640640 cilindroscilindros
Shortest Seek First (SSTF) IShortest Seek First (SSTF) I
•• SelecionaSeleciona la la petiónpetión con con mínimamínima distanciadistancia desdedesde el el posicionamientoposicionamientoactual.actual.
(( ))•• SSTF SSTF eses unauna variantevariante de de planificaciónplanificación SJF (SJF (ShortestShortest Job Job FirstFirst); ); puedepuedecausarcausar inanicióninanición (starvation(starvation) en ) en algunasalgunas peticionespeticiones..
•• Primero las peticiones que minimizan el movimiento de cabezas desde la Primero las peticiones que minimizan el movimiento de cabezas desde la posición actual.posición actual.
•• Idea: maximizar el ancho de banda del disco.Idea: maximizar el ancho de banda del disco.
12/11/2009
36
VemosVemos queque la la cabezacabeza I/O I/O atraviesaatraviesa un total de un total de 236236 cilindroscilindros
Shortest Seek First (SSTF) IIShortest Seek First (SSTF) II
Ascensor (Ascensor (SCAN) ISCAN) I
•• El El brazobrazo de disco se de disco se muevemueve haciahacia un un extremoextremo sirviendosirviendo peticionespeticiones en en susurecorridorecorrido; el ; el sentidosentido se se invierteinvierte y y continúacontinúa el el servicioservicio de de peticionespeticiones hastahastaalcanzaralcanzar el el otrootro extremoextremo..
•• Idea: evitar desplazamientos atrás y adelante.Idea: evitar desplazamientos atrás y adelante.
•• Ventaja: combate el problema de inanición y Ventaja: combate el problema de inanición y homogeinizahomogeiniza las las desviaciones típicas de las latencias. desviaciones típicas de las latencias.
•• Problema: diferentes latencias según la posición; peor en los extremos, Problema: diferentes latencias según la posición; peor en los extremos, mejor en el centro.mejor en el centro.
12/11/2009
37
VemosVemos queque la la cabezacabeza I/O I/O atraviesaatraviesa un total de un total de 208208 cilindroscilindros
Ascensor (Ascensor (SCAN) IISCAN) II
•• ProporcionaProporciona un un tiempotiempo de de esperaespera másmás uniformeuniforme queque el el SCAN.SCAN.
Ascensor cíclico (Ascensor cíclico (SCAN) ISCAN) I
•• El El brazobrazo de disco se de disco se muevemueve haciahacia un un extremoextremo sirviendosirviendopeticionespeticiones en en susu recorridorecorrido. Cuando . Cuando alcanzaalcanza el el extremoextremo final , final , inmediatamenteinmediatamente se se muevemueve al principio del disco sin al principio del disco sin servirservirpeticionespeticiones, , desdedesde dondedonde se se muevemueve hacíahacía el el extremoextremo final final sirviendosirviendo laslas restantesrestantes peticionespeticiones..
•• TrataTrata los los cilindroscilindros comocomo unauna listalista circular circular dondedonde el el siguientesiguienteal al últimoúltimo cilindrocilindro eses el el primeroprimero..
•• Se Se usausa frecuentementefrecuentemente
12/11/2009
38
VemosVemos queque la la cabezacabeza I/O I/O atraviesaatraviesa un total de un total de 345345 cilindroscilindros ‐‐ 199199::VaVa del del últimoúltimo al al primeroprimero en un único movimiento y tarda muy pocoen un único movimiento y tarda muy poco
Ascensor cíclico (Ascensor cíclico (SCAN) IISCAN) II
CC‐‐LOOK ILOOK I
•• VersiónVersión del Cdel C‐‐SCANSCAN
•• El El brazobrazo únicamenteúnicamente vava hastahasta la la peticiónpetición másmás extremaextremaen en cadacada direccióndirección, sin , sin llegarllegar a los a los extremosextremos del disco.del disco.
12/11/2009
39
VemosVemos queque la la cabezacabeza I/O I/O atraviesaatraviesa un total de un total de ?? cilindroscilindros
CC‐‐LOOK IILOOK II
SelecciónSelección de un de un algorithmoalgorithmo de de planificaciónplanificación de discode disco
•• SSTF es frecuente y parece el más naturalSSTF es frecuente y parece el más natural
SCAN CSCAN C SCAN ti j di i t i t h lSCAN ti j di i t i t h l•• SCAN y CSCAN y C‐‐SCAN tienen mejor rendimiento para sistemas que usan mucho el SCAN tienen mejor rendimiento para sistemas que usan mucho el discodisco . .
•• La La eficienciaeficiencia dependedepende del del númeronúmero y y tipotipo de de peticionespeticiones..
•• Las Las peticionespeticiones al al servidorservidor de disco de disco estánestán influenciadasinfluenciadas porpor el el métodométodo de de ubicaciónubicación de de ficherosficheros..
•• El El algoritmoalgoritmo de de planificaciónplanificación de disco de disco puedepuede estarestar en un en un módulomódulo separadoseparadodel SOdel SO permitiendopermitiendo queque sese sustituyasustituya porpor otrootro algoritmoalgoritmo sisi eses necesarionecesariodel SO, del SO, permitiendopermitiendo queque se se sustituyasustituya porpor otrootro algoritmoalgoritmo sisi eses necesarionecesario..
•• Algoritmo estándar en casi todos los sistemas: CAlgoritmo estándar en casi todos los sistemas: C‐‐SCAN.SCAN.
•• SSTF y LOOK son SSTF y LOOK son alternativasalternativas razonablesrazonables comocomo algorithmoalgorithmo porpor defectodefecto..
12/11/2009
40
EficienciaEficiencia en el en el sistemasistema de de archivosarchivos
79
•• II‐‐nodes nodes situadossituados al al inicioinicio del del deldel discodisco•• Disco Disco divididodividido en en gruposgrupos cilindroscilindros
–– CadaCada unouno con con sussus propiospropios bloquesbloques e e ii‐‐nodosnodos
Gestión de errores de discoGestión de errores de disco
•• Errores Errores transitoriostransitorios
–– Debidos a la existencia de partículas de polvo en la superficie del Debidos a la existencia de partículas de polvo en la superficie del disco cuando se efectúa la operación de E/S, a pequeñas variaciones disco cuando se efectúa la operación de E/S, a pequeñas variaciones eléctricas en la transmisión de datos, fallos de calibración de cabezas, eléctricas en la transmisión de datos, fallos de calibración de cabezas, ......
–– Se detectan porque el ECC de los datos no coincide con el calculado y Se detectan porque el ECC de los datos no coincide con el calculado y se resuelven repitiendo la operación de E/S. se resuelven repitiendo la operación de E/S.
–– Si después de un cierto número de repeticiones no se resuelve el Si después de un cierto número de repeticiones no se resuelve el problema, el manejador concluye que la superficie del disco está problema, el manejador concluye que la superficie del disco está dañada y lo comunica al nivel superior de E/S. dañada y lo comunica al nivel superior de E/S.
•• Errores Errores permanentespermanentes se tratan de distintas formas. se tratan de distintas formas.
–– Errores de aplicación: poco que hacer. Errores de aplicación: poco que hacer.
–– Errores del controlador: tratar de reiniciar el controlador.Errores del controlador: tratar de reiniciar el controlador.
–– Errores de superficie del dispositivo: sustituir el bloque por uno de Errores de superficie del dispositivo: sustituir el bloque por uno de repuesto.repuesto.
12/11/2009
41
Gestión de Gestión de erroreserrores
•• UnaUna pistapista de disco con un sector de disco con un sector defectuosodefectuoso
•• Se Se sustituyesustituye el sector el sector malomalo porpor un un sparespare
•• Se Se desplazandesplazan los los sectotressectotres parapara evitarevitar el el malomalo
Fiabilidad y tolerancia a fallosFiabilidad y tolerancia a fallos
•• El sistema de E/S es uno de los componentes del sistema con mayores El sistema de E/S es uno de los componentes del sistema con mayores exigencias de fiabilidad, debido a que se usa para almacenar datos y exigencias de fiabilidad, debido a que se usa para almacenar datos y programas de forma permanente.programas de forma permanente.programas de forma permanente. programas de forma permanente.
•• Las principales técnicas usadas para proporcionar esta fiabilidad son:Las principales técnicas usadas para proporcionar esta fiabilidad son:–– Códigos correctores de error, como los existentes en las cabeceras y Códigos correctores de error, como los existentes en las cabeceras y
colas de los sectores.colas de los sectores.–– Operaciones fiables, cuya corrección se puede verificar antes de dar Operaciones fiables, cuya corrección se puede verificar antes de dar
el resultado de la operación de E/S. Esta técnica se implementa el resultado de la operación de E/S. Esta técnica se implementa mediante técnicas de almacenamiento estable.mediante técnicas de almacenamiento estable.
–– Redundancia, tanto en datos replicados como en código de paridad Redundancia, tanto en datos replicados como en código de paridad Redundancia, tanto en datos replicados como en código de paridadRedundancia, tanto en datos replicados como en código de paridadpara detectar errores y recuperarlos. Esta técnica se implementa para detectar errores y recuperarlos. Esta técnica se implementa mediante el uso de dispositivos mediante el uso de dispositivos RAID RAID ((RedundantRedundant ArrayArray of of InexpensiveInexpensive DisksDisks).).
–– Redundancia hardware, como el sistema de Windows NT que Redundancia hardware, como el sistema de Windows NT que permite conectar un disco a través de dos controladores.permite conectar un disco a través de dos controladores.
12/11/2009
42
RAID StructureRAID Structure
•• RAID RAID –– Multiples discos Multiples discos proporcionanproporcionan fiabilidadfiabilidad via via redundanciaredundancia..
•• Se Se utilizautiliza un un grupogrupo de discos de discos comocomo unauna unidadunidad de de almacezamientoalmacezamiento..
–– Discos Discos espejoespejo (Mirroring(Mirroring or or shadowing).shadowing).
–– BloquesBloques de de paridadparidad intercaladosintercalados ((menosmenos redundanciaredundancia).).
•• Hay 6 Hay 6 nivelesniveles RAID:RAID:
NivelesNiveles RAIDRAID
12/11/2009
43
Organizaciones RAIDOrganizaciones RAID
•• RAID 0RAID 0: la información se graba y se lee en paralelo entre varios discos : la información se graba y se lee en paralelo entre varios discos físicosfísicos
•• RAID 1RAID 1: Dos discos en configuración “espejo”. Uno contiene los datos y el otro : Dos discos en configuración “espejo”. Uno contiene los datos y el otro os d scos e co gu ac ó espejo U o co t e e os datos y e ot oos d scos e co gu ac ó espejo U o co t e e os datos y e ot ouna réplica una réplica exactaexacta
•• RAID 2RAID 2: : ArrayArray de discos sincronizados, con varios discos redundantes que de discos sincronizados, con varios discos redundantes que contienen el código de corrección contienen el código de corrección HammingHamming
•• RAID 3RAID 3: : ArrayArray de discos sincronizados, con un disco redundante que contiene el de discos sincronizados, con un disco redundante que contiene el bit de bit de paridadparidad
•• RAID 4RAID 4: : ArrayArray de discos independientes, con un disco de control de paridad de discos independientes, con un disco de control de paridad dedicadodedicado
•• RAID RAID 55: : ArrayArray de discos independientes, con control de paridad de discos independientes, con control de paridad distribuidodistribuido
•• RAID 6RAID 6: : ArrayArray de discos independientes, con control de CRC distribuidode discos independientes, con control de CRC distribuido
RAID (0 + 1) RAID (0 + 1) yy (1 + 0)(1 + 0)
12/11/2009
44
RAID RAID 55
Controlador
bloque 0
bloque 3
paridad
paridad
bloque 2bloque 1
Disco 0 Disco 1 Disco 2 Disco 3
bloque 3paridad
EntradaEntrada//SalidaSalida
• Caracterización de los dispositivos de E/S
• Drivers: software de E/S dependiente del dispositivo/ p p
• Software de E/S independiente del dispositivo
• Almacenamiento secundario
• Almacenamiento terciario
• El reloj
• El terminal
• La red
• Servicios de entrada/salida
12/11/2009
45
DispositivosDispositivos de de almacenamientoalmacenamiento terciarioterciario
•• La La característicacaracterística queque define el define el almacenamientoalmacenamiento terciarioterciario eses Low cost.Low cost.
•• GeneralmenteGeneralmente, el , el almacenamientoalmacenamiento terciarioterciario eses mobiblemobible::
–– Discos floppy, Discos floppy, másmás rápidosrápidos queque los discos los discos durosduros y y capacidadcapacidad de de 1 MB.
–– CDCD‐‐ROMsROMs
–– Cintas Cintas magnéticosmagnéticos
Discos Discos removiblesremovibles
•• Un disco magnetoUn disco magneto‐‐ópticoóptico almacenaalmacena datosdatos en en unauna superficiesuperficie rígidarígida de de material material magnéticomagnético cubiertacubierta con con unauna capacapa de de plásticoplástico..
–– UnaUna cabezacabeza laser laser amplificaamplifica un campo un campo magnéticomagnético parapara grabargrabar un bit.un bit.
–– La La luzluz laser se laser se utilizautiliza tambiéntambién parapara leer los leer los datosdatos..
•• Los discos Los discos ópticosópticos no no utilizanutilizan magnetismomagnetismo, , empleanemplean materialesmaterialesespecialesespeciales queque se se alteranalteran con la con la luzluz del laser.del laser.
12/11/2009
46
Discos WORMDiscos WORM
•• WORM (“Write Once, Read Many Times”) se WORM (“Write Once, Read Many Times”) se puedenpueden escribirescribir sólosólo unaunavezvez ..
•• UnaUna capacapa de de papelpapel aluminioaluminio entre dos entre dos capascapas de de plásticoplástico..
•• Para Para escribirescribir un bit, se un bit, se quemaquema con laser un con laser un pequeñopequeño agujeroagujero en el en el papelpapelde de aluminioaluminio del del dispositivodispositivo; la ; la informacióninformación se se puedepuede destruirdestruir peropero no no alteraralterar..
•• MuyMuy duraderosduraderos yy fiablesfiables•• MuyMuy duraderosduraderos y y fiablesfiables
•• LosLos Read OnlyRead Only disks, disks, comocomo CDCD‐‐ROM ROM yy DVD, DVD, vienenvienen de de fabricafabrica con los con los datosdatos prepre‐‐grabadosgrabados..
Cintas Cintas magnéticasmagnéticas
FueFue el primer el primer dispositivodispositivo de de lamacenamientolamacenamiento secuendariosecuendario..
ComparadaComparada con los con los disosdisos, , eses másmás baratabarata y y almacenaalmacena másmás datosdatos, , peropero el el pp yy ppaccesoacceso aleatorioaleatorio eses mucho mucho másmás lectoslectos: ~1000 : ~1000 vecesveces másmás lentoaquelentoaque el el disco.disco.
TípicamenteTípicamente almacenaalmacena 2020‐‐200GB .200GB .
UnaUna vezvez queque los los datosdatos estánestán bajobajo la la cabezacabeza I/O, la I/O, la velocidadvelocidad de de transferenciatransferencia eses comparable a la del disco.comparable a la del disco.
Se Se utilizautiliza parapara backups, o backups, o parapara guardarguardar datosdatos queque apenasapenas se se usanusan..
TecnologíasTecnologías comunescomunes son 4mm, 8mm, 19mm, LTOson 4mm, 8mm, 19mm, LTO‐‐2 and SDLT2 and SDLT
12/11/2009
47
EntradaEntrada//SalidaSalida
• Caracterización de los dispositivos de E/S
• Drivers: software de E/S dependiente del dispositivo/ p p
• Software de E/S independiente del dispositivo
• Almacenamiento secundario
• Almacenamiento terciario
• El reloj
• El terminal
• La red
• Servicios de entrada/salida
•• Varias acepciones:Varias acepciones:
–– Reloj del procesadorReloj del procesador
El El relojreloj
j pj p
–– Reloj del sistema (que mantiene fecha y hora)Reloj del sistema (que mantiene fecha y hora)
–– Temporizador que activa periódicamente al S.OTemporizador que activa periódicamente al S.O..
•• S.O. vinculado con las dos últimas S.O. vinculado con las dos últimas acepcionesacepciones
•• ¿Reloj es un dispositivo de E/S?¿Reloj es un dispositivo de E/S?
–– Sí, ya que implica registros Sí, ya que implica registros de E/S de E/S e interrupcionese interrupciones
–– Generalmente el Generalmente el S.O. le da tratamiento específico S.O. le da tratamiento específico
12/11/2009
48
RelojReloj hardwarehardwareRRelojeloj programableprogramable: :
•• Circuito temporizador que genera señal periódica (Circuito temporizador que genera señal periódica (ticktick))
–– Conectado a línea de interrupción de alta prioridadConectado a línea de interrupción de alta prioridad
–– Frecuencia programable (actúa como divisor de frecuencias)Frecuencia programable (actúa como divisor de frecuencias)Frecuencia programable (actúa como divisor de frecuencias)Frecuencia programable (actúa como divisor de frecuencias)
–– Modo operación programable (único disparo, onda cuadrada)Modo operación programable (único disparo, onda cuadrada)
–– Generalmente circuito con múltiples temporizadoresGeneralmente circuito con múltiples temporizadores
•• No todos conectados a línea de interrupción No todos conectados a línea de interrupción
•• Reloj alimentado por batería que mantiene hora y fechaReloj alimentado por batería que mantiene hora y fecha
–– Consultado por S.O. en su arranqueConsultado por S.O. en su arranque
–– También denominado reloj CMOSTambién denominado reloj CMOS
El El relojrelojRelojReloj softwaresoftware
96
TresTres manerasmaneras distintasdistintas de de maintenermaintener la la horahora del del díadía
12/11/2009
49
•• Labor principal de Labor principal de SO: SO: manejo manejo de interrupciones de CKde interrupciones de CK–– También iniciación y gestión de llamadas También iniciación y gestión de llamadas relacionadasrelacionadas
Driver deDriver de relojreloj
•• Compromiso al fijar frecuencia de interrupción:Compromiso al fijar frecuencia de interrupción:–– Demasiado alta: Excesiva sobrecarga por tratamiento de Demasiado alta: Excesiva sobrecarga por tratamiento de intint..–– Demasiado baja: Limitada precisión en medida del tiempoDemasiado baja: Limitada precisión en medida del tiempo–– Ejemplo típico: 100 Hz (1 interrupción cada 10 msEjemplo típico: 100 Hz (1 interrupción cada 10 ms))
•• Minimizar el trabajo Minimizar el trabajo realizado por realizado por la rutina la rutina de interrupciónde interrupción–– Ya que mientras no se atiende Ya que mientras no se atiende intint de disp. de menos de disp. de menos prioridadprioridad
•• Solución típica: Dividir trabajo asociado a Solución típica: Dividir trabajo asociado a intint. de reloj. de reloj–– Operaciones más urgentes realizadas por rutina de Operaciones más urgentes realizadas por rutina de interrinterr..–– Resto: tratamiento posterior fuera de la rutina (Resto: tratamiento posterior fuera de la rutina (intint. software. software) )
Funciones del manejador del reloj:Funciones del manejador del reloj:
Driver deDriver de relojreloj
• Mantenimiento de fecha y hora
• Gestión de temporizadores
• Contabilidad y estadísticas
• Soporte para la planificación de procesos
12/11/2009
50
Mantenimiento de fecha y horaMantenimiento de fecha y hora
•• En arranque En arranque SO SO programa temporizador y lee fechaprograma temporizador y lee fecha
–– A partir de A partir de entonces se entonces se actualiza la hora en cada actualiza la hora en cada intint CKCK
•• Almacenamiento de Almacenamiento de fecha y fecha y hora:hora:
–– Espacio Espacio suficientesuficiente
•• Debe Debe poder seguir usándose en un futuro lejanopoder seguir usándose en un futuro lejano
–– Diferencias entre horarios de países:Diferencias entre horarios de países:
•• Se Se almacena en UTC y bibliotecas se encargan de almacena en UTC y bibliotecas se encargan de conversiónconversión
–– Unidades de tiempo desde fecha fija en el pasadoUnidades de tiempo desde fecha fija en el pasado
•• UNIX: UNIX: segssegs. o . o µµsegssegs. desde 1. desde 1‐‐11‐‐19701970gg µµ gg
•• Windows: centenas de Windows: centenas de nsegsnsegs. desde 1. desde 1‐‐11‐‐16011601
•• Servicios Servicios para leer y para leer y cambiar hora cambiar hora (sólo (sólo superusuariosuperusuario) )
–– Peligroso retrasar hora:Peligroso retrasar hora:
•• Algunos SS.OO. permiten hacerlo gradualmenteAlgunos SS.OO. permiten hacerlo gradualmente
Gestión de temporizadoresGestión de temporizadores
• Algunos procesos necesitan esperar un plazo de tiempo– S.O. ofrece servicios para ello
• Propio S.O. también lo requiere– P.ej. módulo de comunicaciones o manejador de disquete
• Múltiples temporizadores a partir del temporizador HW– Lista de temporizadores activos:
• Elemento: plazo restante (ticks) + función a ejecutar al cumplir– Posible organización de la lista:
• Orden creciente y con plazos restantes relativos a anteriores• Orden creciente y con plazos restantes relativos a anteriores• Ejemplo: temp1 5 ticks, temp2 8 ticks y temp3 8 ticks:
– [temp1 5] [temp2 3] [temp3 0]
• Si la gestión del temporizador consume mucho tiempo‐ > ejecutada fuera de rutina de interrupción
12/11/2009
51
Contabilidad y estadísticasContabilidad y estadísticas
•• Ejecución periódica de rutina de Ejecución periódica de rutina de intint. reloj. relojj pj p jj
–– Permite muestreo de diversas Permite muestreo de diversas variablesvariables
•• Contabilidad de uso de procesador de cada procesoContabilidad de uso de procesador de cada proceso
–– Proceso que estaba ejecutando cuando Proceso que estaba ejecutando cuando intint. de reloj. de reloj
•• Se le carga uso de procesador en ese intervaloSe le carga uso de procesador en ese intervalo
•• Se distingue si estaba en modo usuario o Se distingue si estaba en modo usuario o sistemasistema
•• Perfiles de ejecuciónPerfiles de ejecución
–– Tiempo que consumen Tiempo que consumen las distintas partes del programalas distintas partes del programa
–– Rutina de Rutina de intint. . Muestrea el Muestrea el PC PC del del proceso interrumpidoproceso interrumpido
–– Se obtiene histograma de la Se obtiene histograma de la ejecución ejecución del programa del programa
Soporte Soporte para para planificación de procesosplanificación de procesos
•• Algoritmos Algoritmos de planificación de planificación basados en basados en el tiempoel tiempo
–– Rutina de Rutina de intint. . CK CK conlleva acciones de conlleva acciones de planificaciónplanificación
•• En En RoundRound‐‐RobinRobin::
–– En cada interrupción se descuenta tiempo a la rodajaEn cada interrupción se descuenta tiempo a la rodaja
–– Cuando llega a cero Cuando llega a cero ReplanificaciónReplanificación
•• Algoritmos que Algoritmos que recalculanrecalculan periódicamente la prioridadperiódicamente la prioridad
P j d di d d d UCP/ últi i t lP j d di d d d UCP/ últi i t l–– P.ej. dependiendo de uso de UCP/proceso en último intervalo P.ej. dependiendo de uso de UCP/proceso en último intervalo
12/11/2009
52
EntradaEntrada//SalidaSalida
• Caracterización de los dispositivos de E/S
• Drivers: software de E/S dependiente del dispositivo/ p p
• Software de E/S independiente del dispositivo
• Almacenamiento secundario
• Almacenamiento terciario
• El reloj
• El terminal
• La red
• Servicios de entrada/salida
El terminalEl terminal
•• Teclado + pantallaTeclado + pantalla
•• Dependiendo de forma de conexión:Dependiendo de forma de conexión:
–– Terminales serieTerminales serie
–– Terminales proyectados en Terminales proyectados en memoriamemoria
•• Dependiendo de tipo de información manejada:Dependiendo de tipo de información manejada:
–– Terminales en modo Terminales en modo alfanumérico (texto)alfanumérico (texto)
• Memoria de vídeo contiene códigos ASCII
• Controlador de vídeo genera patrones de pixels
–– Terminales en modo Terminales en modo gráficográfico
• Memoria de vídeo contiene matriz de pixels
• SW debe transformar de código ASCII a patrón de pixels
•• Exposición se centra en terminales en modo textoExposición se centra en terminales en modo texto
12/11/2009
53
Modo de operación del Modo de operación del terminalterminal
• Similar en todos los tipos de terminales– Diferencia: ¿Qué se hace por HW y qué por SW?
• Teclado genera interrupción al pulsar tecla– S.O. lee código de tecla de registro de controlador de teclado– Conversión a ASCII y manejo de teclas modif. por SW
• Salida para terminal mapeado en Memoria– Pantalla: matriz de pixels con memoria de vídeo asociada– Memoria de vídeo directamente accesible al procesador– Escritura en pantalla requiere escritura en memoria de vídeoEscritura en pantalla requiere escritura en memoria de vídeo
• Controlador de vídeo lee de memoria de video y refresca pantalla• Carácter ASCII Patrón de pixels
– Secuencias de escape:• Permiten operaciones especiales (p.ej. borrar la pantalla)
Hardware de terminal IHardware de terminal I
P ll l t
106
Terminal mapeado en Memoria• El driver escribe directamente en la RAM de video
Parallel port
12/11/2009
54
Hardware del terminal IIHardware del terminal II
107
• Una imagen de la RAM de video – Display sencillo monocromático– Modo carácter
• Corespondencía en la pantalla– los xs son bytes de atributos
EntradaEntrada//SalidaSalida
• Caracterización de los dispositivos de E/S
• Drivers: software de E/S dependiente del dispositivo/ p p
• Software de E/S independiente del dispositivo
• Almacenamiento secundario
• Almacenamiento terciario
• El reloj
• El terminal
• La red
• Servicios de entrada/salida
12/11/2009
55
La redLa red
•• Dada su creciente importancia, soporte de S.O. cada vez Dada su creciente importancia, soporte de S.O. cada vez mejormejor
•• Algunos SS.OO. le dan tratamiento diferente a otros dispositivosAlgunos SS.OO. le dan tratamiento diferente a otros dispositivosAlgunos SS.OO. le dan tratamiento diferente a otros dispositivosAlgunos SS.OO. le dan tratamiento diferente a otros dispositivos
–– En Linux no hay archivos en /En Linux no hay archivos en /devdev para la para la redred
•• Software de red organizado en tres niveles:Software de red organizado en tres niveles:
–– Nivel de interfaz a las aplicacionesNivel de interfaz a las aplicaciones
•• Típicamente, Típicamente, socketssockets ((WinsockWinsock en Windows) (capítulo 10)en Windows) (capítulo 10)
•• Puede considerarse como nivel de sesión OSIPuede considerarse como nivel de sesión OSI
–– Nivel de protocolosNivel de protocolos
•• Capa(s) que implementa(n) transporte y red OSI (o TCP/IP)Capa(s) que implementa(n) transporte y red OSI (o TCP/IP)
•• Incluye funciones de encaminamientoIncluye funciones de encaminamiento
–– Nivel de dispositivo de redNivel de dispositivo de red
•• Manejadores de dispositivos de red (nivel de enlace OSIManejadores de dispositivos de red (nivel de enlace OSI))
Niveles del software de redNiveles del software de red
12/11/2009
56
Niveles del software de redNiveles del software de red
Interfaz a las aplicaciones
Nivel de transporte
•• Niveles trabajan de forma independienteNiveles trabajan de forma independiente
–– Uso de interfaces estándar entre Uso de interfaces estándar entre nivelesniveles
•• Mensaje desciende como resultado de llamada de aplicaciónMensaje desciende como resultado de llamada de aplicación
Nivel de red
Ethernet SLIP ..........
Mensaje desciende como resultado de llamada de aplicaciónMensaje desciende como resultado de llamada de aplicación
–– Se va añadiendo información de Se va añadiendo información de controlcontrol
•• Menaje asciende como resultado de interrupción de recepciónMenaje asciende como resultado de interrupción de recepción
–– Se va eliminando información de Se va eliminando información de controlcontrol
•• Para implementación eficiente, minimizar copia de informaciónPara implementación eficiente, minimizar copia de información
EntradaEntrada//SalidaSalida
• Caracterización de los dispositivos de E/S
• Drivers: software de E/S dependiente del dispositivo/ p p
• Software de E/S independiente del dispositivo
• Almacenamiento secundario
• Almacenamiento terciario
• El reloj
• El terminal
• La red
• Servicios de entrada/salida
12/11/2009
57
Servicios de entrada/salidaServicios de entrada/salida
•• Servicios relacionados con el relojServicios relacionados con el reloj
–– Servicios de hora y fechaServicios de hora y fecha
•• Para leer y cambiar (sóloPara leer y cambiar (sólo superusuariosuperusuario) fecha y hora) fecha y horaPara leer y cambiar (sólo Para leer y cambiar (sólo superusuariosuperusuario) fecha y hora) fecha y hora
–– TemporizacionesTemporizaciones
•• Tanto síncronas (bloqueantes) como asíncronasTanto síncronas (bloqueantes) como asíncronas
–– Servicios de contabilidadServicios de contabilidad
•• Ejemplo: tiempo de procesador consumido por un Ejemplo: tiempo de procesador consumido por un procesoproceso
•• Servicios de entrada/salidaServicios de entrada/salida
–– Acceso a dispositivos a través de interfaz de archivosAcceso a dispositivos a través de interfaz de archivos
•• Programas independientes del medio que usanProgramas independientes del medio que usan
–– Sólo específicos para operaciones dependientes de Sólo específicos para operaciones dependientes de dispositivo.dispositivo.
•• Por ejemplo, desactivar eco de terminalPor ejemplo, desactivar eco de terminal
Servicios de fecha y hora en POSIXServicios de fecha y hora en POSIX
time_t time (time_t *t);• Devuelve número de segundos desde 1‐1‐1970 en UTC• Algunos UNIX tienen gettimeofday con precisión de µsegs.• Funciones de biblioteca para convertir a año, mes, ..., segundos
– gmtime (UTC) y localtime (horario local)
int stime (time_t *t);• Fija hora según parámetro (segundos desde 1‐1‐1970 en UTC).• Sólo para superusuario• Algunos UNIX tienen settimeofday con precisión de µsegs.
12/11/2009
58
Servicios de temporización en POSIXServicios de temporización en POSIX
unsigned int alarm (unsigned int segundos);
• Establece temporizador del plazo especificado• El proceso solicitante no se bloquea:
– Cuando se cumple plazo recibe señal SIGALRM• Sólo uno activo por proceso
– Si había uno activo, lo desactiva y devuelve plazopendientependiente
• Temporizadores más avanzados (setitimer):– Mayor resolución y diversos modos de operación
Servicios de contabilidad en POSIXServicios de contabilidad en POSIX
• Diversas funciones, se presenta una frecuentemente usada:– Obtiene tiempo de procesador consumido por un proceso
clock_t times (struct tms *info);• Proporciona info. sobre tiempo de ejecución del proceso e
hijos:– En parámetro de salida, tiempo en modo usuario y sistema
consumido por proceso e hijosp p j– Devuelve valor relacionado con tiempo real en el sistema
• p. ej. ticks de reloj desde arranque del sistema• Este valor no se usa de forma absoluta
– Se realizan dos llamadas y se calcula la diferencia