Sistemas Operativos II (II-UJI) Sistemas de E/S1
SS OOIIIIIIIITema 4. Sistemas de entrada/salida
Índice
n Introducción
n Estructura y componentes del sistema de entrada/salida
n Dispositivos de almacenamiento secundario
n Dispositivos de almacenamiento terciario
n El reloj
n El sistema de E/S en Linux
n El sistema de E/S en Windows NT/2K
n Servicios de E/S en POSIX
Sistemas Operativos II (II-UJI) Sistemas de E/S2
SS OOIIIIIIIITema 4. Sistemas de entrada/salida
Índice
n Dispositivos de almacenamiento secundario3 Discos
• Estructura física de los discos• Formateo de discos
– Formateo físico– Creación de particiones– Formateo lógico
• Planificación del acceso a disco• Fiabilidad y tolerancia a fallos
– Sistemas RAID
Sistemas Operativos II (II-UJI) Sistemas de E/S3
SS OOIIIIIIIITema 4. Sistemas de entrada/salida
Bibliografía
n J. Carretero et al. Sistemas Operativos: Una Visión Aplicada. McGraw-Hill. 2001. Capítulo 7.
n W. Stallings. Sistemas Operativos. Prenctice-Hall. 2001. Capítulo 11.
n A. Silbertschatz, P. Galvin, G. Gagne. Sistemas operativos. Adison-Wesley. 2002. Capítulos 12 y 13.
Sistemas Operativos II (II-UJI) Sistemas de E/S4
SS OOIIIIIIIITema 4. Sistemas de entrada/salida
Índice
n Introducción
n Estructura y componentes del sistema de entrada/salida
n Dispositivos de almacenamiento secundario
n Dispositivos de almacenamiento terciario
n El reloj
n El sistema de E/S en Linux
n El sistema de E/S en Windows NT/2K
n Servicios de E/S en POSIX
*
Sistemas Operativos II (II-UJI) Sistemas de E/S5
SS OOIIIIIIIIIntroducción
n El SO necesita:
u Dispositivos de almacenamiento de datosl Almacenamiento secundario (discos)l Almacenamiento terciario (cintas)
u Dispositivos de interacción con el usuariol Periféricos de interfaz de usuario (ratones, pantallas, impresoras,
escáner, lápices ópticos, etc.)
u Dispositivos de comunicacionesl Conexión con otras máquinas (tarjetas de red, modems, etc.)
Sistemas Operativos II (II-UJI) Sistemas de E/S6
SS OOIIIIIIIIEstructura de una computadora
Dispositivos de salida(impresora, monitor, ...)
Dispositivos de entrada(teclado, ratón, lápiz óptico, ...)
Dispositivos de entrada/salida(discos, cintas,
modem, ...)
Unidad principal(CPU, registros, memoria RAM,entrada/salida -discos internos,
red, ...-)
Sistemas Operativos II (II-UJI) Sistemas de E/S7
SS OOIIIIIIIIEstructura de una computadora
n Dispositivos por bloques y por caracteres:
u Dispositivos por bloquesl Manejan la información en unidades de tamaño fijo (bloques)l Ejemplos: discos y cintas
u Dispositivos por caracteresl Gestionan flujos de caracteres de forma lineal sin estructura tipo
bloque ni tamaño fijol Ejemplos: pantallas, teclados, impresoras, modems, tarjetas de red,
etc.
Sistemas Operativos II (II-UJI) Sistemas de E/S8
SS OOIIIIIIIIConexión de dispositivos de E/S
Bus del sistema
Bus de expansión
Controlador gráfico
…
CPUMemoria
Controlador de disco
estado control datos
Sistemas Operativos II (II-UJI) Sistemas de E/S9
SS OOIIIIIIIIConexión de dispositivos de E/S
n Controladores de dispositivos:
u Un controlador puede controlar uno o más dispositivos
u Funciones:l Transferir información entre MC y periféricosl Sincronizar la velocidad del procesador con la del periféricol Detectar posibles errores que se produzcan en el acceso al
periférico
Sistemas Operativos II (II-UJI) Sistemas de E/S10
SS OOIIIIIIIIFunciones del sistema de E/S
n ¿Qué es el sistema de entrada/salida (E/S)?
u Parte del SO que ofrece:l Visión lógica simplificada de los dispositivos de E/Sl Mecanismos de abstracción de los detalles físicos de éstos
n Objetivos del sistema de E/S:
u Facilitar el manejo de los dispositivos de E/Su Optimizar la E/S del sistemau Proporcionar dispositivos virtuales para conexión de dispositivos sin
tener que remodelar el SOu Permitir la conexión de dispositivos nuevos de E/S
Sistemas Operativos II (II-UJI) Sistemas de E/S11
SS OOIIIIIIIIFunciones del sistema de E/S
n Mecanismos de incremento de prestaciones:
u Caché de disco:l Memoria intermedia situada en MC para bloques de discol Memoria de tamaño variable dependiendo del espacio libre para
procesos de usuariol Contiene copia de algunos bloques del discol Lecturas anticipadas de datos: Principio de localidad de referenciasl Estrategia de reemplazo de bloques: Generalmente LRU
Sistemas Operativos II (II-UJI) Sistemas de E/S12
SS OOIIIIIIIITema 4. Sistemas de entrada/salida
Índice
n Introducción
n Estructura y componentes del sistema de entrada/salida
n Dispositivos de almacenamiento secundario
n Dispositivos de almacenamiento terciario
n El reloj
n El sistema de E/S en Linux
n El sistema de E/S en Windows NT/2K
n Servicios de E/S en POSIX
*
Sistemas Operativos II (II-UJI) Sistemas de E/S13
SS OOIIIIIIIIEstructura del sistema de E/S
Controladores de dispositivo
Interfaz del Sistema Operativo
Gestor de Bloques
Gestor de Caché
Sistemas de ArchivosNFTS HPFS FAT CD-ROM ...
Manejadores de Dispositivos(CD-ROM, cinta, disco, puerto, ... )
Gestión de Redes(IPX/SPX, TCP/IP, ... ) Gestión de Redes
Sistemas Operativos II (II-UJI) Sistemas de E/S14
SS OOIIIIIIIIEstructura del sistema de E/S
n Componentes:
u Interfaz del SO:l Proporciona servicios de E/S a las aplicaciones y una interfaz
homogénea para comunicarse con manejadores de dispositivos
u Sistemas de ficheros (SF):l Proporciona una interfaz homogénea para acceder a los diferentes
SF del SO (SV, NTFS, FAT, ...) → SF virtualesl Traduce las operaciones del formato del usuario al de bloques
u Gestor de redes:l Proporciona una interfaz homogénea para acceder a los diferentes
sistemas de red del SO (TCP/IP, Novell, ...)
Sistemas Operativos II (II-UJI) Sistemas de E/S15
SS OOIIIIIIIIEstructura del sistema de E/S
n Componentes (cont.):
u Gestor de bloques:l Atiende peticiones a nivel de bloquel Interacciona con la caché de bloques para optimizar la E/S
u Gestor de caché:l Optimiza la E/S para dispositivos de tipo bloque mediante caché
u Manejadores de dispositivos:l Traduce las operaciones sobre dispositivos a operaciones de control
de cada dispositivo particular
Sistemas Operativos II (II-UJI) Sistemas de E/S16
SS OOIIIIIIIIEstructura del software de E/S
AplicaciónSubsistema
o DLL
Gestor dearchivos
Gestor debloques
Gestor decaché
Servicios
Dispositivo(disco)
Copia en elsistema operativo
Copia enmemoria delusuario
Modo usuario
Modo supervisor
Procesode usuario
SW de E/S independiente de dispositivo
SW de E/S independiente de dispositivo
SW de E/S dependiente de dispositivo
Hardware
Software
Bloque deldispositivo
Copia en elcontroladorControlador
Manejador deinterrupción
Manejador dedispositivo
Sistemas Operativos II (II-UJI) Sistemas de E/S17
SS OOIIIIIIIIEstructura del software de E/S
n Manejadores de interrupción y de dispositivos:
u Manejador de interrupción:l Tratan las interrupciones de los controladores de dispositivos →
Ejecución del manejador de interrupciónl Comunican el evento al manejador de dispositivo
u Manejador de dispositivo:l Acepta peticiones del SW de E/S independiente del dispositivol Traduce las peticiones a formato del controladorl Planifica el acceso de peticiones al dispositivol Envía las órdenes al controladorl Espera a que se cumplanl Comprueba el estado de la operación cuando llega la interrupciónl Gestiona los errores, si existen, y los resuelve, si es posible
Sistemas Operativos II (II-UJI) Sistemas de E/S18
SS OOIIIIIIIIEstructura del software de E/S
n Operaciones de un manejador de dispositivo:
Operacionessobre datos
Contestación ala petición
Traducir a
controlador
Prepararrespuestade error
Extraer peticiónE/S de la lista
Peticiones de E/S del dispositivo
Bloqueo
Error
Esperarinterrupción
Programación delcontrolador
Sí
Sí
No
No
Interrupción
Leer registrosestado delcontrolador
formato del
Enviar
controladormandatos al
Sistemas Operativos II (II-UJI) Sistemas de E/S19
SS OOIIIIIIIIEstructura del software de E/S
n SW independiente del dispositivo:
u Función:l Ejecutar las funciones de E/S comunes a todos los dispositivos a
través de una interfaz común
u Proporciona:l Acceso a nivel de bloques o caracteres
Tamaños de acceso genéricos
l Almacenamiento intermedio en memoria del SO Optimización de la E/S evitando accesos a dispositivos Oculta diferencias de velocidad Facilita la implementación de la compartición
Sistemas Operativos II (II-UJI) Sistemas de E/S20
SS OOIIIIIIIIEstructura del software de E/S
n SW independiente del dispositivo (cont.):
u Proporciona (cont.):l Gestión de dispositivos
Nombrado: Traducción de nombres de usuario a identificativosdel sistema
Protección Control de acceso
l Planificación de la E/S
l Gestión de errores
Sistemas Operativos II (II-UJI) Sistemas de E/S21
SS OOIIIIIIIITema 4. Sistemas de entrada/salida
Índice
n Introducción
n Estructura y componentes del sistema de entrada/salida
n Dispositivos de almacenamiento secundario3 Discos
• Estructura física de los discos• Formateo de discos
– Formateo físico– Creación de particiones– Formateo lógico
• Planificación del acceso a disco• Fiabilidad y tolerancia a fallos
– Sistemas RAID
n Dispositivos de almacenamiento terciario
n ...
*
Sistemas Operativos II (II-UJI) Sistemas de E/S22
SS OOIIIIIIIIDiscos
n Utilización:
u Almacenamiento masivo y no volátil de datosu Plataforma para el sistema de intercambio del gestor de memoria virtual
n Taxonomía según la interfaz de su controlador:
u Dispositivos SCSI (Small Computer System Interface)u Dispositivos IDE (Integrated Drive Electronics)
n Taxonomía según la tecnología de fabricación:
u Discos duros (Winchester) Almacenamiento secundariou Discos ópticos (CD-ROM, DVD)u Discos extraíbles (disquetes, ZIP, JAZZ)
Estructura física y lógica muy similar para todos
Almacenamiento terciario
Sistemas Operativos II (II-UJI) Sistemas de E/S23
SS OOIIIIIIIIEstructura física de los discos
n Formato y organización de los datos:
u CarasPistasSectoresCilindros
u Estructura de un sector:l Cabecera (Contiene el número de sector)l Área de datos (256, 512 ó 1024 bytes)l Apéndice (Contiene código de corrección de errores
Se calcula cada cada vez que se lee o escribe un sector)
u Miles de pistas por superficieVarios cientos de sectores por pista
Información usada por el controlador de disco, no accesible por usuario
Sistemas Operativos II (II-UJI) Sistemas de E/S24
SS OOIIIIIIIIEstructura física de los discos
n Características físicas de los sistemas de disco:
u Caras:l Simple caral Doble cara
u Platos:l Un solo platol Múltiples platos
u Portabilidad del disco:l Disco no extraíblel Disco extraíble
u Cabezal:l Fijo: Uno por pistal Móvil: Uno por superficie
u Mecanismo del cabezal:l Contacto (disquetes)l Hueco fijol Hueco aerodinámico (discos Winchester)
Sistemas Operativos II (II-UJI) Sistemas de E/S25
SS OOIIIIIIIIEstructura física de los discos
n Capacidad del disco:
u N° caras x N° pistas x N° sectores x Tamaño sector
n Tiempo de acceso a disco:
(Tiempo de espera Para acceso al dispositivo)Tiempo de posicionamiento Cabezal bajo la pista de los datosTiempo de latencia Cabezal bajo el sector de los datosTiempo de transferencia Entre dispositivo y MC
u Tiempos medios en discos magnéticos actuales:l Tiempo de posicionamiento: 5-10 msg.l Tiempo de latencia: 3-5 msg.
u El SO sólo puede influir en el tiempo de posicionamiento
Σ0 en cabezales fijos
Sistemas Operativos II (II-UJI) Sistemas de E/S26
SS OOIIIIIIIIEstructura física de los discos
n Apreciaciones a tener en cuenta:
u Densidad de cada pista: En los discos modernos el número de sectores varía de unas pistas a otras
u Intercalado de sectores: La numeración de los sectores no es consecutiva
u Almacenamiento intermedio en el controlador: Almacenamiento de la pista entera en memoria del controlador
u Controladores inteligentes: Si controlan varios dispositivos, permiten efectuar operaciones de búsqueda solapadas
Sistemas Operativos II (II-UJI) Sistemas de E/S27
SS OOIIIIIIIIEjemplo de disco duro
Capacidad:
Velocidad:Tpo. posicionamiento:Tpo. latencia:
Cilindros: Cabezas:Sectores:
1
7200 RPM8,5 msg.4,16 msg.
0.2 GB102325683
SEAGATE Barracuda ATA II ST330630A
Parámetro Valor
Sistemas Operativos II (II-UJI) Sistemas de E/S28
SS OOIIIIIIIITema 4. Sistemas de entrada/salida
Índice
n Introducción
n Estructura y componentes del sistema de entrada/salida
n Dispositivos de almacenamiento secundario3 Discos
• Estructura física de los discos• Formateo de discos
– Formateo físico– Creación de particiones– Formateo lógico
• Planificación del acceso a disco• Fiabilidad y tolerancia a fallos
– Sistemas RAID
n Dispositivos de almacenamiento terciario
n ...
*
Sistemas Operativos II (II-UJI) Sistemas de E/S29
SS OOIIIIIIIIFormateo físico de discos
n Formateo físico o de bajo nivel:
u División del disco en sectores para que el controlador de disco pueda leer y escribir
l Creación de la estructura de datos de cada sector
u Realizado normalmente como parte del proceso de fabricación
Sistemas Operativos II (II-UJI) Sistemas de E/S30
SS OOIIIIIIIIFormateo de discos
n Creación de particiones:
u Partición o volumen: Porción contigua de sectores del disco
u Particiones primarias y extendidas
u Partición activa, de sistema o de arranquel Permite arrancar un SO
u Tabla de particiones:l Información sobre la distribución lógica del disco en particionesl Almacenada en el sector 0 (primer sector de la primera pista del
cilindro más externo)
Sistemas Operativos II (II-UJI) Sistemas de E/S31
SS OOIIIIIIIIFormateo de discos
n Tabla de particiones de un disco:
Sistemas Operativos II (II-UJI) Sistemas de E/S32
SS OOIIIIIIIIFormateo lógico de discos
n Formateo lógico de una partición:
u Estructura lógica de un disco: Estructura significativa para el SO
u Formateo lógico de una partición → Creación de un SFl format para sistemas Windowsl mkfs para sistemas Unix
Sistemas Operativos II (II-UJI) Sistemas de E/S33
SS OOIIIIIIIIFormateo lógico de discos
n Tareas de un formateo lógico:
u Construcción del bloque de carga o sector de arranque
u Creación de la estructura lógica del SF
u Creación de una lista de bloques defectuosos
u Creación de una lista de bloques de repuesto
Sistemas Operativos II (II-UJI) Sistemas de E/S34
SS OOIIIIIIIIFormateo lógico de discos
n Bloque de carga o sector de arranque:
u Contiene información sobre la estructura de la partición y el programa cargador
u El programa cargador:
l Incluye los aspectos más básicos de iniciación del HW y un bucle de lectura que carga el SO en una dirección de la memoria
l Cuando termina salta a la dirección de memoria donde puso el núcleo y se arranca el SO
Sistemas Operativos II (II-UJI) Sistemas de E/S35
SS OOIIIIIIIIFormateo lógico de discos
Bloque de carga
Bloque con información
sobre el sistema de ficheros
(superbloque)
Bloques deinodos
Bloques de datos: directorio fichero indirección libre
Mapa de bits de bloques libres
Mapa de bits de inodos
n Creación de la estructura lógica del SF:
u Estructura lógica de un SF con inodos:
Sistemas Operativos II (II-UJI) Sistemas de E/S36
SS OOIIIIIIIIFormateo lógico de discos
n Lista de bloques defectuosos:
u Los bloques en mal estado se marcan como ocupados y no se liberan nuncau Bloque defectuoso: Cuando alguno de los sectores que lo componen son
defectuososu Detección por la paridad del sector introducida durante el formato físico
n Lista de bloques de repuesto:
u Permite sustituir un bloque del dispositivo si falla durante el tiempo de vida del mismo
Sistemas Operativos II (II-UJI) Sistemas de E/S37
SS OOIIIIIIIIRecordando... Arranque de Linux
n Partes del arranque de Linux desde el disco duro de un PC:
u Cargador de la BIOS del PC
u Cargador LILO
u Núcleo
u Primer programa de usuario /sbin/init
Sistemas Operativos II (II-UJI) Sistemas de E/S38
SS OOIIIIIIIIRecordando... Arranque de Linux
n Cargador de la BIOS:
u El procesador arranca en modo real
u La BIOS carga el “Master Boot Record (MBR)” del disco en RAM
u Se ejecuta el LILO
n Cargador LILO:
u Pregunta por el SO a cargar
u Si es Linux copia el setup.S y el núcleo en RAM
u Ejecuta el setup.S:
l Consulta a la BIOS el HW instalado (memoria, teclado, etc.)l Salta al núcleo
n Núcleo ...
MBR
0x1BE 0x1FE0x000
Tabla de particiones
LILO 0xAA55*
Sistemas Operativos II (II-UJI) Sistemas de E/S39
SS OOIIIIIIIITema 4. Sistemas de entrada/salida
Índice
n Introducción
n Estructura y componentes del sistema de entrada/salida
n Dispositivos de almacenamiento secundario3 Discos
• Estructura física de los discos• Formateo de discos
– Formateo físico– Creación de particiones– Formateo lógico
• Planificación del acceso a disco• Fiabilidad y tolerancia a fallos
– Sistemas RAID
n Dispositivos de almacenamiento terciario
n ...
*
Sistemas Operativos II (II-UJI) Sistemas de E/S40
SS OOIIIIIIIIPlanificación de disco
n Uno de los objetivos del SO:
u Usar el HW de forma eficientePara discos ⇒ Accesos rápidos y mucho ancho de banda
n Objetivo de la planificación del acceso a disco:
u Minimizar el tiempo de posicionamiento l Minimizar movimientos de cabezalesl Directamente proporcional a la distancia entre búsquedas
bytes transferidostiempo de transferencia
Tiempo de posicionamientoTiempo de latenciaTiempo de transferencia
Tiempo de acceso a disco = Σ
Sistemas Operativos II (II-UJI) Sistemas de E/S41
SS OOIIIIIIIIPlanificación de disco
n Algoritmos de planificación del acceso a disco:
u FCFSu SSFu SCANu C-SCANu LOOKu C-LOOKu F-SCAN
Variantes del algoritmo SCAN
Sistemas Operativos II (II-UJI) Sistemas de E/S42
SS OOIIIIIIIIFCFS
n Peticiones atendidas por orden de llegada
n Planificación sencilla
n Movimientos bruscos de cabezales
n Tiempo de posicionamiento grande
Sistemas Operativos II (II-UJI) Sistemas de E/S43
SS OOIIIIIIIIFCFS
Cola de peticiones = 98, 183, 37, 122, 14, 124, 65, 67Cabezal en sector 53 (dirección n°pista creciente)
N°pistas desplazadas=(98-53)+(183-98)+(183-37)+(122-37)+(122-14)+(124-14)+(124-65)+(67-65)=641
14 37 53 65 67 98 122 124 183 199PISTAS
Sistemas Operativos II (II-UJI) Sistemas de E/S44
SS OOIIIIIIIISSF
n Sortest Seek First (SSF)
n Primero las peticiones que están más cerca de la posición actual del cabezal
n Similar a planificación de CPU Sortest Jof First (SJF)
n Puede causar inanición de algunas peticiones
Sistemas Operativos II (II-UJI) Sistemas de E/S45
SS OOIIIIIIIISSF
Cola de peticiones = 98, 183, 37, 122, 14, 124, 65, 67Cabezal en sector 53 (dirección n°pista creciente)
14 37 53 65 67 98 122 124 183 199PISTAS
N°pistas desplazadas = 226
Sistemas Operativos II (II-UJI) Sistemas de E/S46
SS OOIIIIIIIISCAN
n El cabezal va de un extremo del disco al otro sirviendo las solicitudes que encuentra a su pasoAl volver se sirven todas las del sentido contrario
n Política seguida para controlar eficientemente los ascensores y asegurar que todo el mundo suba → Algoritmo de planificación de disco del ascensor
n Óptimo cuando las solicitudes uniformemente por todo el disco (no habitual)Favorece a las solicitudes sobre cilindros más interiores y exteriores y a las últimas peticiones en llegar
Sistemas Operativos II (II-UJI) Sistemas de E/S47
SS OOIIIIIIIISCAN
Cola de peticiones = 98, 183, 37, 122, 14, 124, 65, 67Cabezal en sector 53 (dirección n°pista creciente)
N°pistas desplazadas = 331
14 37 53 65 67 98 122 124 183 199PISTAS
Sistemas Operativos II (II-UJI) Sistemas de E/S48
SS OOIIIIIIIIC-SCAN
n Propiedad de ascensores (y discos):
u Es más costoso subir a un edificio parando que ir de un golpe de arriba abajo y viceversa
n Variante del algoritmo del ascensor que viaja en un solo sentido
u Las cabezas se mueven de un extremo a otro del disco y luego vuelven al principio
u No se atienden peticiones mientras las cabezas vuelven a la posición inicial
u Trata los cilindros como una lista circular que enlaza el último cilindro con el primero → Ascensor cíclico
n Tiempo de espera más uniforme que el ascensor normal
u En dispositivos con muchas peticiones de E/S tiene rendimiento superior a otras
n Se usa frecuentemente (UNIX, Linux, Windows)
Sistemas Operativos II (II-UJI) Sistemas de E/S49
SS OOIIIIIIIIC-SCAN
Cola de peticiones = 98, 183, 37, 122, 14, 124, 65, 67Cabezal en sector 53 (dirección n°pista creciente)
14 37 53 65 67 98 122 124 183 199PISTAS
N°pistas desplazadas = 382N°engañoso: Ir del último al primero se hace en un único movimiento y tarda muy poco →→ 183
Sistemas Operativos II (II-UJI) Sistemas de E/S50
SS OOIIIIIIIILOOK
n Igual que SCAN pero sin llegar a la última y primera pista para cambiar dirección de cabezal
u Sólo llega hasta la petición con menor y mayor número de pista
Sistemas Operativos II (II-UJI) Sistemas de E/S51
SS OOIIIIIIIILOOK
Cola de peticiones = 98, 183, 37, 122, 14, 124, 65, 67Cabezal en sector 53 (dirección n°pista creciente)
14 37 53 65 67 98 122 124 183 199PISTAS
N°pistas desplazadas = 299
Sistemas Operativos II (II-UJI) Sistemas de E/S52
SS OOIIIIIIIIC-LOOK
n Igual que C-SCAN pero sin llegar a última y primera pista
u Llega hasta la petición con mayor número de pista y luego a la de menor número de pista
Sistemas Operativos II (II-UJI) Sistemas de E/S53
SS OOIIIIIIIIC-LOOK
Cola de peticiones = 98, 183, 37, 122, 14, 124, 65, 67Cabezal en sector 53 (dirección n°pista creciente)
14 37 53 65 67 98 122 124 183 199PISTAS
N°pistas desplazadas = 222N°engañoso →→ 153
Sistemas Operativos II (II-UJI) Sistemas de E/S54
SS OOIIIIIIIIF-SCAN
n Con SSF, SCAN, C-SCAN, LOOK y C-LOOK puede que el brazo no se mueva durante un periodo considerable de tiempo
u Por ejemplo, si uno o varios procesos tienen porcentajes altos de acceso a una pista
n Solución: Dividir las peticiones a disco en dos colas
u Al inicio de un rastreo todas las solicitudes en una cola y la otra vacía
u Las solicitudes que lleguen después se colocan en la cola inicialmente vacíaSe atenderán cuando la otra cola esté vacía
Sistemas Operativos II (II-UJI) Sistemas de E/S55
SS OOIIIIIIIITema 4. Sistemas de entrada/salida
Índice
n Introducción
n Estructura y componentes del sistema de entrada/salida
n Dispositivos de almacenamiento secundario3 Discos
• Estructura física de los discos• Formateo de discos
– Formateo físico– Creación de particiones– Formateo lógico
• Planificación del acceso a disco• Fiabilidad y tolerancia a fallos
– Sistemas RAID
n Dispositivos de almacenamiento terciario
n ...
*
Sistemas Operativos II (II-UJI) Sistemas de E/S56
SS OOIIIIIIIISistemas RAID
n RAID (“Redundant Array of Independent Disks”, Vector Redundante de Discos Independientes)
n Planteamiento:
u Reemplazo de unidades de disco de gran capacidad por vectores dediscos de menor capacidad
n Objetivos:
u Aumentar la seguridad de datosu Mejorar el tiempo de acceso a datos
Sistemas Operativos II (II-UJI) Sistemas de E/S57
SS OOIIIIIIIIRAID
n Almacenamiento de datos:
u Distribución de datos consecutivos entre los discos ⇒Acceso simultaneo a datos de varios discos ⇒Mejor rendimiento de E/S
u Cada disco se divide en bandas (“strips”)l Banda: bloque, sector o alguna unidadl Las bandas se asignan por turno rotatorio a discos consecutivos del
vector
Sistemas Operativos II (II-UJI) Sistemas de E/S58
SS OOIIIIIIIIRAID
n Almacenamiento de datos (cont.):u El SO ve el vector de discos físicos como una sola unidad lógica
Correspondencia de datos para una serie RAID nivel 0
banda 7
banda 6
banda 5
banda 4
banda 12
banda 8
banda 4
banda 0
banda 13
banda 9
banda 5
banda 1
banda 14
banda 10
banda 6
banda 2
banda 15
banda 11
banda 7
banda 3
banda 3
banda 2
banda 1
banda 0
Disco físico 0
Disco físico 1
Disco físico 2
Disco físico 3
Disco lógico
SW de gestióndel vector
Sistemas Operativos II (II-UJI) Sistemas de E/S59
SS OOIIIIIIIIRAID
n Fiabilidad y tolerancia de fallos:
u Redundancia para almacenar información de paridadPosibilidad de recuperación de datos en caso de fallo de disco
u Por ejemplo, utilizando la operación XOR:
X2(i) = X0(i) X1(i)
Si falla X1, por ejemplo, sumando X2(i) X1(i) a ambos lados de la ecuación se obtiene:
X1(i) = X2(i) X0(i)
1 1 1 0 0 0 1 1
Discos de datos
1 1 1 0 1 1 0 1 0 0 0 0 1 1 1 0
Disco de paridad
X0 X2X1
+
+
+
Sistemas Operativos II (II-UJI) Sistemas de E/S60
SS OOIIIIIIIIRAID
n Fiabilidad y tolerancia de fallos (cont.):
u Solicitud de lectura ⇒ Lectura de datos y código de corrección de errorSolicitud de escritura ⇒ Escritura de datos y código de corrección de error
Puede suponer acceder varias veces a los discos
Repercusión en el tiempo de acceso
u Implementación SW costosa
Sistemas Operativos II (II-UJI) Sistemas de E/S61
SS OOIIIIIIIIRAID
n Niveles RAID:
u Siete niveles con diferentes arquitecturas de diseñol Existen combinaciones de niveles
u Cada nivel cumple distintos propósitos
u No hay un nivel RAID perfecto para todos los usuarios
Sistemas Operativos II (II-UJI) Sistemas de E/S62
SS OOIIIIIIIIRAID
n Niveles RAID (cont.):
u RAID 0 (no redundante)
u RAID 1 (espejo)
banda 12
banda 8
banda 4
banda 0
banda 13
banda 9
banda 5
banda 1
banda 14
banda 10
banda 6
banda 2
banda 15
banda 11
banda 7
banda 3
banda 12
banda 8
banda 4
banda 0
banda 13
banda 9
banda 5
banda 1
banda 14
banda 10
banda 6
banda 2
banda 15
banda 11
banda 7
banda 3
banda 12
banda 8
banda 4
banda 0
banda 13
banda 9
banda 5
banda 1
banda 14
banda 10
banda 6
banda 2
banda 15
banda 11
banda 7
banda 3
Sistemas Operativos II (II-UJI) Sistemas de E/S63
SS OOIIIIIIIIRAID
n Niveles RAID (cont.):
u RAID 2 (redundancia mediante código de Hamming)
u RAID 3 (redundancia mediante paridad)
b0 b1 b2 b3 f4 (b) f1 (b) f2 (b)
b0 b1 b2 b3 P (b)
Sistemas Operativos II (II-UJI) Sistemas de E/S64
SS OOIIIIIIIIRAID
n Niveles RAID (cont.):
u RAID 4 (redundancia mediante paridad)
u RAID 5 (paridad por intercalación distribuida de bloques)
P(12-15)
P(8-11)
P(4-7)
P(0-3)
banda 12
banda 8
banda 4
banda 0
banda 13
banda 9
banda 5
banda 1
banda 14
banda 10
banda 6
banda 2
banda 15
banda 11
banda 7
banda 3
banda 15
banda 11
banda 7
P(0-3)
banda 12
banda 8
banda 4
banda 0
P(10-12)
banda 9
banda 5
banda 1
banda 13
P(7-9)
banda 6
banda 2
banda 14
banda 10
P(4-6)
banda 3
Sistemas Operativos II (II-UJI) Sistemas de E/S65
SS OOIIIIIIIIRAID
n Niveles RAID (cont.):
u RAID 6 (redundancia dual)
banda 15
banda 11
Q(4-6)
P(0-3)
banda 12
banda 8
banda 4
banda 0
P(10-12)
banda 9
banda 5
banda 1
Q(10-12)
P(7-9)
banda 6
banda 2
banda 14
Q(7-9)
P(4-6)
banda 3
banda 15
banda 11
banda 7
Q(0-3)
Sistemas Operativos II (II-UJI) Sistemas de E/S66
SS OOIIIIIIIIRAID
n RAID 0 ó DSA (“Data Striping Array without parity”):
u No incluye redundancia ⇒ No es miembro verdadero de la familia RAID
u Ventajas:l Proporciona rendimiento más alto que disco convencionall Se emplea toda la capacidad de los discosl No tiene coste adicionall Diseño sencillol Fácil implementación SW
u Desventajas:l No tiene integridad de datosl Un error en uno de los discos implica la pérdida total de los datos
Sistemas Operativos II (II-UJI) Sistemas de E/S67
SS OOIIIIIIIIRAID
n RAID 1 ó MDA (“Mirrored Disk Array”):
u Redundancia vía duplicación de datos
u Solicitud de lectura: La del disco que suponga menos tiempo de accesoSolicitud de escritura: Rendimiento dado por la escritura más lenta de las dos
u Ventajas:l Mayor rendimiento en las lecturas de datos respecto a un disco
convencional Si alta tasa de solicitudes de lectura, doble rendimiento que RAID 0
l Recuperación de datos sencilla
u Desventajas:l Bastante caro (doble espacio del necesario)l Lentitud en la escritura de datos (escritura en dos discos)
Si alta tasa de solicitudes de escritura, igual rendimiento que RAID 0
Sistemas Operativos II (II-UJI) Sistemas de E/S68
SS OOIIIIIIIIRAID
n RAID 2 ó HCEC (“Hamming Code for Error Correcting”):
u Bandas muy pequeñas (byte o palabra)
u Redundancia mediante código de Hamming
u Ventajas:l Velocidad de transferencia altal Recuperación de datos
u Desventajas:l Solución cara (pero menor que RAID1), mucho disco para códigos de errorl Tiempo de escritura altol No existen implementaciones comerciales
Sistemas Operativos II (II-UJI) Sistemas de E/S69
SS OOIIIIIIIIRAID
n Detección y corrección de errores vía Código de Hamming:
u Sea un dato a transmitir de i bits
u Añadir p bits en posiciones potencias de 2
u En caso de error de un bit en la transmisión los p bits permiten detectar el error y corregirlo
u Ha de cumplirse 2p ≥ i+p+1
Sistemas Operativos II (II-UJI) Sistemas de E/S70
SS OOIIIIIIIIRAID
n Detección y corrección de errores vía Código de Hamming (cont.):
u Ejemplo:l Dato a transmitir: D3 D2 D1 D0l Generación de códigos de paridad: P0 = D0 D1 D3
P1 = D0 D2 D3P2 = D1 D2 D3
l Construcción dato nuevo:
+ +
+ +
+ +
D3 D2 D1 P2 D0 P1 P0
B7 B6 B5 B4 B3 B2 B1
Sistemas Operativos II (II-UJI) Sistemas de E/S71
SS OOIIIIIIIIRAID
n Detección y corrección de errores vía Código de Hamming (cont.):
u Ejemplo (cont.):l Detección error: Bit codificado en C2 C1 C0
C0 = P0 D0 D1 D3C1 = P1 D0 D2 D3C2 = P0 D1 D2 D3
l Corrección error: Complementar bit codificado en C2 C1 C0
+ +
+ +
+ +
+
+
+
C2 C1 C0 FALLO
0 0 0 Ninguno0 0 1 B10 1 0 B2 0 1 1 B31 0 0 B41 0 1 B51 1 0 B61 1 1 B7
Sistemas Operativos II (II-UJI) Sistemas de E/S72
SS OOIIIIIIIIRAID
n RAID 3 ó PDA (“Parallel Disk Array”):
u Bandas muy pequeñas (byte o palabra)
u Redundancial Un solo bit de paridad (para todos los bits en la misma posición de disco)l Un solo disco redundante
u Ventajas:l Velocidad de transferencia altal Recuperación de datos
u Desventajas:l Si se pierde el disco de paridad, se pierde toda la información redundantel Tiempo de escritura de datos alto
Sistemas Operativos II (II-UJI) Sistemas de E/S73
SS OOIIIIIIIIRAID
n RAID 4 ó IDA (“Independent Disk Array”):
u Bandas grandes
u Técnica de acceso independiente:l Se pueden satisfacer solicitudes de E/S individuales en paralelo
u Ventajas:l Alto rendimiento en aplicaciones de velocidad de demanda interactival Recuperación de datos
u Desventajas:l Si se pierde el disco de paridad, se pierde toda la información redundantel El disco de paridad puede ser un cuello de botellal Velocidad de transferencia menor que en RAID 0-3
Sistemas Operativos II (II-UJI) Sistemas de E/S74
SS OOIIIIIIIIRAID
n RAID 5 ó IDA (“Independent Disk Array”):
u RAID 4 con bandas de paridad distribuidas por todos los discosl Asignación por turno rotatorio
u Ventajas:l Alto rendimiento en aplicaciones de velocidad de demanda interactival Recuperación de datosl Evita el cuello de botella del disco de paridad exclusivo
u Desventajas:l Rendimiento bajo en escriturasl Velocidad de transferencia menor que en RAID 0-3
Sistemas Operativos II (II-UJI) Sistemas de E/S75
SS OOIIIIIIIIRAID
n RAID 6:
u RAID 5 con dos cálculos distintos de paridad
u Ventajas:l Alta fiabilidadl Alto rendimiento en aplicaciones de velocidad de demanda interactival Recuperación de datosl Evita el cuello de botella del disco de paridad exclusivo
u Desventajas:l Rendimiento bajo en escriturasl Velocidad de transferencia menor que en RAID 0-3
Sistemas Operativos II (II-UJI) Sistemas de E/S76
SS OOIIIIIIIITema 4. Sistemas de entrada/salida
Índice
n Introducción
n Estructura y componentes del sistema de entrada/salida
n Dispositivos de almacenamiento secundario
n Dispositivos de almacenamiento terciario
n El reloj
n El sistema de E/S en Linux
n El sistema de E/S en Windows NT/2K
n Servicios de E/S en POSIX
*
Sistemas Operativos II (II-UJI) Sistemas de E/S77
SS OOIIIIIIIIAlmacenamiento terciario
n Características:u Sistema de almacenamiento con:
l Alta capacidadl Bajo costel Más lentosl Dispositivos extraíbles donde
almacenar datos que no se necesitan inmediatamente en el sistema
Almacenamiento secundario
MemoriaRAM
Registros
Almacenamiento terciario
10-60 nsg.
20-70 msg.
150-500 msg.
Velocidad de acceso
Cos
te
Cap
acid
ad
Sistemas Operativos II (II-UJI) Sistemas de E/S78
SS OOIIIIIIIIAlmacenamiento terciario
n Disquetes, ZIP, JAZZ:
u Pueden ser casi tan rápidos como el disco duro, pero suelen fallar más debido a su constate manipulación
n Discos magneto-ópticos:
u Mayor densidad, capacidad y fiabilidad
n Memorias ópticas y discos digitales versátiles:
u CD, CD-ROM, CD-R, CD-RWDVD, DVD-R, DVD-RW
Sistemas Operativos II (II-UJI) Sistemas de E/S79
SS OOIIIIIIIIAlmacenamiento terciario
n Cintas magnéticas:
u Soporte de gran capacidad y economíau Ideal para operaciones que no requieren acceso rápido: respaldos,
almacenamiento masivo, etc.u Manipuladas manualmente o mediante robots que cambian cintas
automáticamenteu Los ficheros residentes en disco se pueden archivar en cintas (por
razones económicas) y volver a cargar en disco de forma dinámica
Sistemas Operativos II (II-UJI) Sistemas de E/S80
SS OOIIIIIIIIAlmacenamiento terciario
n El comando tar del intérprete de comandos de sistemas UNIX:
u tar –cvf /usr/castano /dev/rmt0 Copia los datos del usuario castano al dispositivo de cinta /dev/rmt0
u tar –uvf /usr/castano /dev/rmt0 Copia anterior incremental
u tar –tvf /dev/rmt0 Muestra la información almacenada en /dev/rmt0
u tar –xvf /dev/rmt0 Extrae la información almacenada en/dev/rmt0
Copia glogal vs. Copia incremental
Sistemas Operativos II (II-UJI) Sistemas de E/S81
SS OOIIIIIIIITema 4. Sistemas de entrada/salida
Índice
n Introducción
n Estructura y componentes del sistema de entrada/salida
n Dispositivos de almacenamiento secundario
n Dispositivos de almacenamiento terciario
n El reloj
n El sistema de E/S en Linux
n El sistema de E/S en Windows NT/2K
n Servicios de E/S en POSIX
*
Sistemas Operativos II (II-UJI) Sistemas de E/S82
SS OOIIIIIIIIEl reloj
n Varias acepciones:
u Reloj del procesadoru Reloj del sistema (mantiene fecha y hora)u Reloj temporizador (activa periódicamente al SO)
n ¿El reloj es un dispositivo de E/S?
u Características similares a dispositivos de E/S:l Su programación implica usar registros de E/Sl Usa interrupciones
Vinculación con SO
Sistemas Operativos II (II-UJI) Sistemas de E/S83
SS OOIIIIIIIIHW del reloj
n Circuito temporizador que genera señal periódica (tic)
u Conectado a línea de interrupción de alta prioridadu Frecuencia programable
n Reloj CMOS:
u Alimentado por batería que mantiene hora y fecha cuando la máquina está apagada
u Consultado por SO en su arranque
Sistemas Operativos II (II-UJI) Sistemas de E/S84
SS OOIIIIIIIISW del reloj
n Labor principal del SO con el reloj:
u Gestión de las interrupciones de reloj
n Frecuencia de interrupción:
u Demasiado alta: Excesiva sobrecarga por tratamiento de interrupcionesDemasiado baja: Limitada precisión en medida del tiempo
u Ejemplo típico: 100 Hz (1 interrupción cada 10 msg.)
n Rutina de interrupción de reloj:
u Se debe minimizar el trabajo realizado en ella (ya que mientras no se atienden interrupciones de menor prioridad)
u Solución típica: Dividir trabajo asociado a interrupción de reloj
l Operaciones más urgentes dentro de la rutina de interrupciónl Resto: tratamiento posterior fuera de la rutina
Sistemas Operativos II (II-UJI) Sistemas de E/S85
SS OOIIIIIIIIEl reloj en Linux
n Tipos de interrupciones en Linux:
u Interrupciones rápidas (“fast interrupts”):
l Interrupciones deshabilitadas durante la ejecución de la rutina de servicio
l Al finalizar la rutina de servicio retorno inmediato al código que se estaba ejecutando cuando llegó la interrupción
u Interrupciones lentas (“slow interrupts”):
l Interrupciones habilitadas durante la ejecución de la rutina de servicio
l Al finalizar la rutina de servicio ejecución de todas las rutinas “bottom halves” pendientes
Sistemas Operativos II (II-UJI) Sistemas de E/S86
SS OOIIIIIIIIEl reloj en Linux
n Rutinas “bottom halves (BH)”:
u Rutinas con operaciones que no han de ser ejecutadas necesariamente tras una interrupción y que son llevadas a cabo posteriormente desde fuera del manejador de interrupción (rutina de servicio) por razones de eficacia
u Objetivo: Agilizar el tratamiento de las interrupciones
u Mapa de bits (número entero) para marcar las BHs activas
u Ejemplos:l TIMER_BH: BH del relojl INMEDIATE_BH: BH genérica con tareas que han de ser ejecutadas
inmediatamente
Sistemas Operativos II (II-UJI) Sistemas de E/S87
SS OOIIIIIIIIEl reloj en Linux
n ¿Desde dónde se invocan las BHs?
u Se inicializan cuando arranca el sistema
u Se activan (marcan) desde el manejador de interrupción (rutina de servicio)
u Se invocan desde el planificador y también con las interrupciones lentasl Se testea cada una de las posibles BHsl Si están marcadas como activas (y están habilitadas) se ejecutan y se
marcan como inactivasl Son operaciones atómicas
Sistemas Operativos II (II-UJI) Sistemas de E/S88
SS OOIIIIIIIIEl reloj en Linux
El manejador de reloj realiza:
void do_timer(...){jiffies++;
lost_ticks++;
mark_bh(TIMER_BH);
if (¡user_mode(regs))
lost_ticks_system++;
...
}
La rutina BH del manejador de reloj realiza:
void timer_bh(void) {update_times();run_old_timers();run_timer_list();}
void update_times(){p->utime += user;p->stime += system; p->counter -= ticks;if (p->counter < 0){
p->counter = 0;need_resched =1;
}
jiffies Tiempo (tics) que lleva el sistema en marcha
lost_ticks Num. veces que se ha ejecutado el manejador de reloj desde la última ejecución de su rutina BH
lost_ticks_systemlost_ticks en modo supervisor
user lost_ticks en modo usuario
system lost_ticks en modo supervisor
ticks Relacionado con lost_ticks
Activa TIMER_BH en mapa de bits de BH
Invocación del planificador
Sistemas Operativos II (II-UJI) Sistemas de E/S89
SS OOIIIIIIIIFunciones del manejador de reloj
n Mantenimiento de fecha y hora
n Gestión de temporizadores
n Contabilidad y estadísticas
n Soporte para la planificación de procesos y recursos
Sistemas Operativos II (II-UJI) Sistemas de E/S90
SS OOIIIIIIIIMantenimiento de fecha y hora
n Cálculo de la fecha y hora:
u En el arranque del SO se lee del reloj CMOS (tras programar la frecuencia del reloj)
u A partir de entonces el SO actualiza la hora en cada interrupción
n Almacenamiento de fecha y hora:
u Unidades de tiempo desde fecha fija en el pasadol UNIX: sg. o µsg. desde 1-1-1970l Windows: centenas de nsg. desde 1-1-1601
u Diferencias entre horarios de países:l El SO almacena la hora en el sistema de tiempo estándar UTC
(Universal Coordinated Time)l Las bibliotecas se encargan de conversión a horario local
Sistemas Operativos II (II-UJI) Sistemas de E/S91
SS OOIIIIIIIIGestión de temporizadores
n ¿Quién requiere los temporizadores?
u Los procesos de usuariou El SO crea múltiples temporizadores a partir de temporizador HW
l Módulo de comunicacionesl Manejador de disquete, etc.
n Implementación de temporizadores:
u Lista de temporizadores activosl Elemento de lista: Plazo restante (en tics) + Función a ejecutar al
cumplir
n Gestión de temporizadores:
u Puede consumir bastante tiempol Típicamente realizada fuera de rutina de interrupción
Sistemas Operativos II (II-UJI) Sistemas de E/S92
SS OOIIIIIIIIContabilidad y estadísticas
n La ejecución periódica de la rutina de interrupción de reloj permite muestrear diversos aspectos del estado del sistema
u Contabilidad de uso de procesador de cada proceso
l Se le carga el uso de procesador al proceso en ejecuciónl Se distingue si estaba en modo usuario o sistema
Sistemas Operativos II (II-UJI) Sistemas de E/S93
SS OOIIIIIIIISoporte para la planificiación
n Algoritmos de planificación:
u En la mayoría influye el tiempo ⇒ La rutina de interrupción de reloj conlleva acciones de planificación
u Round-Robin:l En cada interrupción se descuenta tiempo a la rodajal Cuando llega a cero → Replanificación
u Algoritmos de prioridad:l Pueden requerir recalcular periódicamente prioridad
Sistemas Operativos II (II-UJI) Sistemas de E/S94
SS OOIIIIIIIITema 4. Sistemas de entrada/salida
Índice
n Introducción
n Estructura y componentes del sistema de entrada/salida
n Dispositivos de almacenamiento secundario
n Dispositivos de almacenamiento terciario
n El reloj
n El sistema de E/S en Linux
n El sistema de E/S en Windows NT/2K
n Servicios de E/S en POSIX
*
Sistemas Operativos II (II-UJI) Sistemas de E/S95
SS OOIIIIIIII
Recordando... Diagrama de bloques del núcleo de Linux
trap
fork, wait, exec, ...open, read, stat, ...
Modo usuariotrap
Gestor de procesos
Librerías
Comunicación entre procesos
Planificador
Gestor de memoria
Gestor de ficheros
Dispositivos por Disp. por carácteres bloques
Drivers de dispositivos
Caché de buffersde bloques
Control del HW
HW
Modo supervisorInterfaz con las llamadas al sistema
Sistema de E/S
Controladores de dispositivos
Manejadores de dispositivos
Sistemas Operativos II (II-UJI) Sistemas de E/S96
SS OOIIIIIIIITema 4. Sistemas de entrada/salida
Índice
n Introducción
n Estructura y componentes del sistema de entrada/salida
n Dispositivos de almacenamiento secundario
n Dispositivos de almacenamiento terciario
n El reloj
n El sistema de E/S en Linux
n El sistema de E/S en Windows NT/2K
n Servicios de E/S en POSIX
*
Sistemas Operativos II (II-UJI) Sistemas de E/S97
SS OOIIIIIIIIE/S en Windows NT/2K
n Módulos básicos de E/S:
Controladores del SF
Controladores del red
Gestor de caché
Controladores de dispositivos HW
Gestor de E/S
Sistemas Operativos II (II-UJI) Sistemas de E/S98
SS OOIIIIIIIIE/S en Windows NT/2K
n RAID:
u Windows NT/2K soporta dos clases de configuraciones RAID:l RAID de HW
La interfaz del controlador gestiona la creación y regeneración de la información redundante
l RAID de SW Disponible en Windows 2K Server Implementa la funcionalidad RAID como parte del SO Se puede usar con cualquier conjunto de varios discos
Sistemas Operativos II (II-UJI) Sistemas de E/S99
SS OOIIIIIIIITema 4. Sistemas de entrada/salida
Índice
n Introducción
n Estructura y componentes del sistema de entrada/salida
n Dispositivos de almacenamiento secundario
n Dispositivos de almacenamiento terciario
n El reloj
n El sistema de E/S en Linux
n El sistema de E/S en Windows NT/2K
n Servicios de E/S en POSIX
*
Sistemas Operativos II (II-UJI) Sistemas de E/S100
SS OOIIIIIIIIServicios de E/S en POSIX
n Servicios relacionados con el reloj:
u Servicios de hora y fechal Para leer y cambiar (sólo superusuario) fecha y hora
u Temporizaciones
u Servicios de contabilidadl Ejemplo: tiempo de procesador consumido por un proceso
n Servicios de entrada/salida:
u Acceso a dispositivos a través de interfaz de archivos
Sistemas Operativos II (II-UJI) Sistemas de E/S101
SS OOIIIIIIIIServicios de E/S en POSIX
n Lectura de fecha y hora:
u Sintaxis:time_t time (time_t *t);
u Descripción:l Devuelve número de segundos desde 1-1-1970
u Funciones de biblioteca para convertir a año, mes, ..., segundos:l localtime
Sistemas Operativos II (II-UJI) Sistemas de E/S102
SS OOIIIIIIIIServicios de E/S en POSIX
#include <stdio.h>#include <time.h>
int main(){time_t tiempo;struct tm *fecha;
tiempo=time(NULL);fecha=localtime(&tiempo);
printf(“%02d/%02d/%04d %02d:%02d:%02d\n”,fecha->tm_mday, fecha->tm_mon, fecha->tm_year+1900,fecha->tm_hour, fecha->tm_min, fecha->tm_sec);
exit(0);}
n Ejemplo:
Sistemas Operativos II (II-UJI) Sistemas de E/S103
SS OOIIIIIIIIServicios de E/S en POSIX
n Modificación de fecha y hora:
u Sintaxis:int stime (time_t *t);
u Descripción:l Fija hora según parámetro (segundos desde 1-1-1970)l Sólo para superusuario
Sistemas Operativos II (II-UJI) Sistemas de E/S104
SS OOIIIIIIIIServicios de E/S en POSIX
n Activación de una alarma:u Sintaxis:
unsigned int alarm (unsigned int seconds);
u Descripción:l Envía al proceso que la invoca la señal SIGALRM tras seconds
segundosl Ver en tema 3 “Servicios POSIX sobre alarmas”
Sistemas Operativos II (II-UJI) Sistemas de E/S105
SS OOIIIIIIIIServicios de E/S en POSIX
n Servicios de contabilidad:u Sintaxis:
clock_t times (struct tms *info);
u Descripción:
l Proporciona a partir de info información sobre tiempo de ejecución de proceso e hijos
l Devuelve valor relacionado con tiempo real en el sistema Típicamente ticks de reloj desde arranque del sistema
l Este valor no se usa de forma absolutaSe realizan dos llamadas y se calcula la diferencia
Sistemas Operativos II (II-UJI) Sistemas de E/S106
SS OOIIIIIIIIServicios de E/S en POSIX
#include <stdio.h>#include <unistd.h>#include <time.h>#include <sys/times.h>
int main(int argc, char *argv[]){struct tms InfoInicio, InfoFin;clock_t t_inicio, t_fin;long tickporseg;
tickporseg=sysconf(_SC_CLK_TCK); /* Num interrupciones reloj por seg */
t_inicio=times(&InfoInicio);
if (fork()==0) {execvp (argv[1], &argv[1]); perror(“Error hijo”); exit(-1);}wait(NULL);t_fin=times(&InfoFin);
printf(“Tiempo real: %7.2f\n”, (float)(t_fin – t_inicio)/tickporseg); printf(“Tiempo de usuario: %7.2f\n”,
(float)(InfoFin.tms_cutime-InfoInicio.tms_cutime)/tickporseg);printf(“Tiempo de sistema: %7.2f\n”,
(float)(InfoFin.tms_cstime-InfoInicio.tms_cstime)/tickporseg);
exit(0);}
n Ejemplo:
Sistemas Operativos II (II-UJI) Sistemas de E/S107
SS OOIIIIIIIIServicios de E/S en POSIX
n Servicios de E/S sobre dispositivos:u Sintaxis:
int ioctl (int fildes, int request, arg);
u Descripción:
l Realiza sobre el dispositivo asociado a fildes la operación especificada en request para la que se necesitarán los parámetros especificados a través de arg
l No definida en POSIXTomarán unos valores u otros según el tipo de fichero
Sistemas Operativos II (II-UJI) Sistemas de E/S108
SS OOIIIIIIIIEjercicios
n Ejercicio 1:
Se dispone de un disco con 200 pistas al que llegan las siguientes solicitudes de acceso a pistas (en dicho orden): 55, 58, 39, 18, 90, 160, 150, 38, 184. El cabezal se encuentra en la pista 100 moviéndose en dirección a número de pistas crecientes.
¿Cuál es el número de pistas recorrido durante la atención de dichas solicitudes si el algoritmo de planificación de acceso a disco es:
(a) FCFS
(b) SSF
(c) LOOK
(d) C-LOOK
Sistemas Operativos II (II-UJI) Sistemas de E/S109
SS OOIIIIIIIIEjercicios
n Ejercicio 1 (solución):
(a) FCFS (b) SSFSiguiente N°pistas Siguiente N°pistaspista recorridas pista recorridasaccedida accedida
55 45 90 1058 3 58 3239 19 55 318 21 39 1690 72 38 1
160 70 18 20150 10 150 13238 112 160 10
184 146 184 24
498 248
Sistemas Operativos II (II-UJI) Sistemas de E/S110
SS OOIIIIIIIIEjercicios
n Ejercicio 1 (solución):
(c) LOOK (d) C-LOOKSiguiente N°pistas Siguiente N°pistaspista recorridas pista recorridasaccedida accedida
150 50 150 50160 10 160 10184 24 184 2490 94 18 16658 32 38 2055 3 39 139 16 55 1638 1 58 318 20 90 32
251 322