Está en la página 1de 110

SO

II
II

Tema 4. Sistemas de entrada/salida


ndice

Introduccin

Estructura y componentes del sistema de entrada/salida

Dispositivos de almacenamiento secundario

Dispositivos de almacenamiento terciario

El reloj

El sistema de E/S en Linux

El sistema de E/S en Windows NT/2K

Servicios de E/S en POSIX

Sistemas Operativos II (II-UJI)

Sistemas de E/S

SO

II
II

Tema 4. Sistemas de entrada/salida


ndice

Dispositivos de almacenamiento secundario


Discos
Estructura fsica de los discos
Formateo de discos
Formateo fsico
Creacin de particiones
Formateo lgico
Planificacin del acceso a disco
Fiabilidad y tolerancia a fallos
Sistemas RAID

Sistemas Operativos II (II-UJI)

Sistemas de E/S

SO

II
II

Tema 4. Sistemas de entrada/salida


Bibliografa

J. Carretero et al. Sistemas Operativos: Una Visin Aplicada. McGraw-Hill.


2001. Captulo 7.
W. Stallings. Sistemas Operativos. Prenctice-Hall. 2001. Captulo 11.
A. Silbertschatz, P. Galvin, G. Gagne. Sistemas operativos. AdisonWesley. 2002. Captulos 12 y 13.

Sistemas Operativos II (II-UJI)

Sistemas de E/S

SO

II
II

Tema 4. Sistemas de entrada/salida


ndice

Introduccin

Estructura y componentes del sistema de entrada/salida

Dispositivos de almacenamiento secundario

Dispositivos de almacenamiento terciario

El reloj

El sistema de E/S en Linux

El sistema de E/S en Windows NT/2K

Servicios de E/S en POSIX

Sistemas Operativos II (II-UJI)

Sistemas de E/S

SO

II
II

Introduccin

El SO necesita:

Dispositivos de almacenamiento de datos


Almacenamiento secundario (discos)
Almacenamiento terciario (cintas)
Dispositivos de interaccin con el usuario
Perifricos de interfaz de usuario (ratones, pantallas, impresoras,
escner, lpices pticos, etc.)
Dispositivos de comunicaciones
Conexin con otras mquinas (tarjetas de red, modems, etc.)

Sistemas Operativos II (II-UJI)

Sistemas de E/S

SO

II
II

Estructura de una computadora


Dispositivos de salida
(impresora, monitor, ...)

Unidad principal
(CPU, registros,
memoria RAM,
entrada/salida
-discos internos,
red, ...-)

Dispositivos de
entrada/salida
(discos, cintas,
modem, ...)

Dispositivos de entrada
(teclado, ratn,
lpiz ptico, ...)

Sistemas Operativos II (II-UJI)

Sistemas de E/S

SO

II
II

Estructura de una computadora

Dispositivos por bloques y por caracteres:

Dispositivos por bloques


Manejan la informacin en unidades de tamao fijo (bloques)
Ejemplos: discos y cintas
Dispositivos por caracteres
Gestionan flujos de caracteres de forma lineal sin estructura tipo
bloque ni tamao fijo
Ejemplos: pantallas, teclados, impresoras, modems, tarjetas de red,
etc.

Sistemas Operativos II (II-UJI)

Sistemas de E/S

SO

II
II

Conexin de dispositivos de E/S

CPU

Memoria
Controlador
grfico

Bus del sistema


Controlador
de disco

Bus de expansin

estado control datos

Sistemas Operativos II (II-UJI)

Sistemas de E/S

SO

II
II

Conexin de dispositivos de E/S

Controladores de dispositivos:

Un controlador puede controlar uno o ms dispositivos


Funciones:
Transferir informacin entre MC y perifricos
Sincronizar la velocidad del procesador con la del perifrico
Detectar posibles errores que se produzcan en el acceso al
perifrico

Sistemas Operativos II (II-UJI)

Sistemas de E/S

SO

II
II

Funciones del sistema de E/S

Qu es el sistema de entrada/salida (E/S)?

Parte del SO que ofrece:


Visin lgica simplificada de los dispositivos de E/S
Mecanismos de abstraccin de los detalles fsicos de stos

Objetivos del sistema de E/S:

Facilitar el manejo de los dispositivos de E/S


Optimizar la E/S del sistema
Proporcionar dispositivos virtuales para conexin de dispositivos sin
tener que remodelar el SO
Permitir la conexin de dispositivos nuevos de E/S

Sistemas Operativos II (II-UJI)

10

Sistemas de E/S

SO

II
II

Funciones del sistema de E/S

Mecanismos de incremento de prestaciones:

Cach de disco:
Memoria intermedia situada en MC para bloques de disco
Memoria de tamao variable dependiendo del espacio libre para
procesos de usuario
Contiene copia de algunos bloques del disco
Lecturas anticipadas de datos: Principio de localidad de referencias
Estrategia de reemplazo de bloques: Generalmente LRU

Sistemas Operativos II (II-UJI)

11

Sistemas de E/S

SO

II
II

Tema 4. Sistemas de entrada/salida


ndice

Introduccin

Estructura y componentes del sistema de entrada/salida

Dispositivos de almacenamiento secundario

Dispositivos de almacenamiento terciario

El reloj

El sistema de E/S en Linux

El sistema de E/S en Windows NT/2K

Servicios de E/S en POSIX

Sistemas Operativos II (II-UJI)

12

Sistemas de E/S

SO

II
II

Estructura del sistema de E/S


Interfaz del Sistema Operativo
Sistemas de Archivos
NFTS HPFS

FAT

CD-ROM ...

Gestin
dede
Redes
Gestin
Redes

(IPX/SPX, TCP/IP, ... )

Gestor de Bloques
Gestor de Cach
Manejadores de Dispositivos
(CD-ROM, cinta, disco, puerto, ... )

Controladores de dispositivo

Sistemas Operativos II (II-UJI)

13

Sistemas de E/S

SO

II
II

Estructura del sistema de E/S

Componentes:

Interfaz del SO:


Proporciona servicios de E/S a las aplicaciones y una interfaz
homognea para comunicarse con manejadores de dispositivos
Sistemas de ficheros (SF):
Proporciona una interfaz homognea para acceder a los diferentes
SF del SO (SV, NTFS, FAT, ...) SF virtuales
Traduce las operaciones del formato del usuario al de bloques
Gestor de redes:
Proporciona una interfaz homognea para acceder a los diferentes
sistemas de red del SO (TCP/IP, Novell, ...)

Sistemas Operativos II (II-UJI)

14

Sistemas de E/S

SO

II
II

Estructura del sistema de E/S

Componentes (cont.):

Gestor de bloques:
Atiende peticiones a nivel de bloque
Interacciona con la cach de bloques para optimizar la E/S
Gestor de cach:
Optimiza la E/S para dispositivos de tipo bloque mediante cach
Manejadores de dispositivos:
Traduce las operaciones sobre dispositivos a operaciones de control
de cada dispositivo particular

Sistemas Operativos II (II-UJI)

15

Sistemas de E/S

SO

II
II

Estructura del software de E/S


Proceso
de usuario

Aplicacin
Subsistema
o DLL

Copia en
memoria del
usuario

Modo usuario
Modo supervisor

Servicios
SW de E/S
independiente
de dispositivo

SW de E/S
independiente
de dispositivo
SW de E/S
dependiente
de dispositivo
Software

Gestor de
archivos
Gestor de
bloques
Gestor de
cach

Copia en el
sistema
operativo

Manejador de
dispositivo

Manejador de
interrupcin

Hardware

Copia en el
controlador

Controlador

Bloque del
dispositivo

Dispositivo
(disco)

Sistemas Operativos II (II-UJI)

16

Sistemas de E/S

SO

II
II

Estructura del software de E/S

Manejadores de interrupcin y de dispositivos:

Manejador de interrupcin:
Tratan las interrupciones de los controladores de dispositivos
Ejecucin del manejador de interrupcin
Comunican el evento al manejador de dispositivo
Manejador de dispositivo:
Acepta peticiones del SW de E/S independiente del dispositivo
Traduce las peticiones a formato del controlador
Planifica el acceso de peticiones al dispositivo
Enva las rdenes al controlador
Espera a que se cumplan
Comprueba el estado de la operacin cuando llega la interrupcin
Gestiona los errores, si existen, y los resuelve, si es posible

Sistemas Operativos II (II-UJI)

17

Sistemas de E/S

SO

II
II

Estructura del software de E/S

Operaciones de un manejador de dispositivo:


Peticiones de
E/S del dispositivo

Extraer peticin
E/S de la lista

Traducir a
formato del
controlador

Contestacin a
la peticin

Preparar
respuesta
de error

No

Enviar
mandatos al
controlador
Programacin del
controlador
Bloqueo

Operaciones
sobre datos

Error

Leer registros
estado del
controlador

No

S
Esperar
interrupcin

Sistemas Operativos II (II-UJI)

Interrupcin

18

Sistemas de E/S

SO

II
II

Estructura del software de E/S

SW independiente del dispositivo:

Funcin:
Ejecutar las funciones de E/S comunes a todos los dispositivos a
travs de una interfaz comn
Proporciona:
Acceso a nivel de bloques o caracteres
Tamaos de acceso genricos

Almacenamiento intermedio en memoria del SO


Optimizacin de la E/S evitando accesos a dispositivos
Oculta diferencias de velocidad
Facilita la implementacin de la comparticin

Sistemas Operativos II (II-UJI)

19

Sistemas de E/S

SO

II
II

Estructura del software de E/S

SW independiente del dispositivo (cont.):

Proporciona (cont.):
Gestin de dispositivos
Nombrado: Traduccin de nombres de usuario a identificativos
del sistema
Proteccin
Control de acceso

Planificacin de la E/S

Gestin de errores

Sistemas Operativos II (II-UJI)

20

Sistemas de E/S

SO

II
II

Tema 4. Sistemas de entrada/salida


ndice

Introduccin

Estructura y componentes del sistema de entrada/salida

Dispositivos de almacenamiento secundario


Discos
Estructura fsica de los discos
Formateo de discos
Formateo fsico
Creacin de particiones
Formateo lgico
Planificacin del acceso a disco
Fiabilidad y tolerancia a fallos
Sistemas RAID

Dispositivos de almacenamiento terciario

...

Sistemas Operativos II (II-UJI)

21

Sistemas de E/S

SO

II
II

Discos

Utilizacin:

Taxonoma segn la interfaz de su controlador:

Almacenamiento masivo y no voltil de datos


Plataforma para el sistema de intercambio del gestor de memoria virtual

Dispositivos SCSI (Small Computer System Interface)


Dispositivos IDE (Integrated Drive Electronics)

Taxonoma segn la tecnologa de fabricacin:

Discos duros (Winchester)


Discos pticos (CD-ROM, DVD)
Discos extrables (disquetes, ZIP, JAZZ)

Almacenamiento secundario
Almacenamiento terciario

Estructura fsica y lgica muy similar para todos

Sistemas Operativos II (II-UJI)

22

Sistemas de E/S

SO

II
II

Estructura fsica de los discos

Formato y organizacin de los datos:

Caras
Pistas
Sectores
Cilindros
Estructura de un sector:
(Contiene el nmero de sector)
Cabecera
(256, 512 1024 bytes)
rea de datos
(Contiene cdigo de correccin de errores
Apndice
Se calcula cada cada vez que se lee o escribe un sector)
Miles de pistas por superficie
Varios cientos de sectores por pista

Sistemas Operativos II (II-UJI)

23

Informacin usada por el controlador de disco,


no accesible por usuario

Sistemas de E/S

SO

II
II

Estructura fsica de los discos

Caractersticas fsicas de los sistemas de disco:

Caras:
Simple cara
Doble cara

Platos:
Un solo plato
Mltiples platos

Portabilidad del disco:


Disco no extrable
Disco extrable

Sistemas Operativos II (II-UJI)

Cabezal:
Uno por pista
Fijo:
Mvil: Uno por superficie
Mecanismo del cabezal:
Contacto (disquetes)
Hueco fijo
Hueco aerodinmico (discos Winchester)

24

Sistemas de E/S

SO

II
II

Estructura fsica de los discos

Capacidad del disco:

N caras x N pistas x N sectores x Tamao sector

Tiempo de acceso a disco:

(Tiempo de espera
Tiempo de posicionamiento
Tiempo de latencia
Tiempo de transferencia

0 en cabezales fijos

Para acceso al dispositivo)


Cabezal bajo la pista de los datos
Cabezal bajo el sector de los datos
Entre dispositivo y MC

Tiempos medios en discos magnticos actuales:


5-10 msg.
Tiempo de posicionamiento:
3-5 msg.
Tiempo de latencia:
El SO slo puede influir en el tiempo de posicionamiento

Sistemas Operativos II (II-UJI)

25

Sistemas de E/S

SO

II
II

Estructura fsica de los discos

Apreciaciones a tener en cuenta:

Densidad de cada pista: En los discos modernos el nmero de sectores


vara de unas pistas a otras
Intercalado de sectores: La numeracin de los sectores no es
consecutiva
Almacenamiento intermedio en el controlador: Almacenamiento de la
pista entera en memoria del controlador
Controladores inteligentes: Si controlan varios dispositivos, permiten
efectuar operaciones de bsqueda solapadas

Sistemas Operativos II (II-UJI)

26

Sistemas de E/S

SO

II
II

Ejemplo de disco duro

SEAGATE Barracuda ATA II ST330630A


Parmetro
Capacidad:

Sistemas Operativos II (II-UJI)

Valor
1 0.2 GB

Cilindros:

1023

Cabezas:

256

Sectores:

83

Velocidad:

7200 RPM

Tpo. posicionamiento:

8,5 msg.

Tpo. latencia:

4,16 msg.

27

Sistemas de E/S

SO

II
II

Tema 4. Sistemas de entrada/salida


ndice

Introduccin

Estructura y componentes del sistema de entrada/salida

Dispositivos de almacenamiento secundario


Discos
Estructura fsica de los discos
Formateo de discos
Formateo fsico
Creacin de particiones
Formateo lgico
Planificacin del acceso a disco
Fiabilidad y tolerancia a fallos
Sistemas RAID

Dispositivos de almacenamiento terciario

...

Sistemas Operativos II (II-UJI)

28

Sistemas de E/S

SO

II
II

Formateo fsico de discos

Formateo fsico o de bajo nivel:

Divisin del disco en sectores para que el controlador de disco pueda leer y
escribir
Creacin de la estructura de datos de cada sector
Realizado normalmente como parte del proceso de fabricacin

Sistemas Operativos II (II-UJI)

29

Sistemas de E/S

SO

II
II

Formateo de discos

Creacin de particiones:

Particin o volumen: Porcin contigua de sectores del disco

Particiones primarias y extendidas

Particin activa, de sistema o de arranque


Permite arrancar un SO
Tabla de particiones:
Informacin sobre la distribucin lgica del disco en particiones
Almacenada en el sector 0 (primer sector de la primera pista del
cilindro ms externo)

Sistemas Operativos II (II-UJI)

30

Sistemas de E/S

SO

II
II

Formateo de discos

Tabla de particiones de un disco:

Sistemas Operativos II (II-UJI)

31

Sistemas de E/S

SO

II
II

Formateo lgico de discos

Formateo lgico de una particin:

Estructura lgica de un disco: Estructura significativa para el SO


Formateo lgico de una particin Creacin de un SF

format para sistemas Windows


para sistemas Unix

mkfs

Sistemas Operativos II (II-UJI)

32

Sistemas de E/S

SO

II
II

Formateo lgico de discos

Tareas de un formateo lgico:

Construccin del bloque de carga o sector de arranque

Creacin de la estructura lgica del SF

Creacin de una lista de bloques defectuosos

Creacin de una lista de bloques de repuesto

Sistemas Operativos II (II-UJI)

33

Sistemas de E/S

SO

II
II

Formateo lgico de discos

Bloque de carga o sector de arranque:

Contiene informacin sobre la estructura de la particin y el programa


cargador
El programa cargador:

Incluye los aspectos ms bsicos de iniciacin del HW y un bucle de


lectura que carga el SO en una direccin de la memoria
Cuando termina salta a la direccin de memoria donde puso el ncleo y
se arranca el SO

Sistemas Operativos II (II-UJI)

34

Sistemas de E/S

SO

II
II

Formateo lgico de discos

Creacin de la estructura lgica del SF:

Estructura lgica de un SF con inodos:

Mapa de bits de
Bloque de carga bloques libres

Bloque con
informacin
sobre el sistema
de ficheros
(superbloque)

Sistemas Operativos II (II-UJI)

Bloques de
inodos

Mapa de bits de
inodos

35

Bloques de datos:
directorio
fichero
indireccin
libre

Sistemas de E/S

SO

II
II

Formateo lgico de discos

Lista de bloques defectuosos:

Los bloques en mal estado se marcan como ocupados y no se liberan nunca


Bloque defectuoso: Cuando alguno de los sectores que lo componen son
defectuosos
Deteccin por la paridad del sector introducida durante el formato fsico

Lista de bloques de repuesto:

Permite sustituir un bloque del dispositivo si falla durante el tiempo de vida


del mismo

Sistemas Operativos II (II-UJI)

36

Sistemas de E/S

SO

II
II

Recordando... Arranque de Linux

Partes del arranque de Linux desde el disco duro de un PC:

Cargador de la BIOS del PC

Cargador LILO

Ncleo

Primer programa de usuario /sbin/init

Sistemas Operativos II (II-UJI)

37

Sistemas de E/S

SO

II
II

Recordando... Arranque de Linux

Cargador de la BIOS:

El procesador arranca en modo real

La BIOS carga el Master Boot Record (MBR) del disco en RAM

Se ejecuta el LILO

Cargador LILO:

MBR

0x1BE

LILO

Pregunta por el SO a cargar

Si es Linux copia el setup.S y el ncleo en RAM

Ejecuta el setup.S:

0x000

0x1FE

Tabla de
0xAA55*
particiones

Consulta a la BIOS el HW instalado (memoria, teclado, etc.)


Salta al ncleo

Ncleo ...

Sistemas Operativos II (II-UJI)

38

Sistemas de E/S

SO

II
II

Tema 4. Sistemas de entrada/salida


ndice

Introduccin

Estructura y componentes del sistema de entrada/salida

Dispositivos de almacenamiento secundario


Discos
Estructura fsica de los discos
Formateo de discos
Formateo fsico
Creacin de particiones
Formateo lgico
Planificacin del acceso a disco
Fiabilidad y tolerancia a fallos
Sistemas RAID

Dispositivos de almacenamiento terciario

...

Sistemas Operativos II (II-UJI)

39

Sistemas de E/S

SO

II
II

Planificacin de disco

Uno de los objetivos del SO:

Usar el HW de forma eficiente


Para discos Accesos rpidos y mucho ancho de banda

Objetivo de la planificacin del acceso a disco:

bytes transferidos
tiempo de transferencia

Minimizar el tiempo de posicionamiento


Minimizar movimientos de cabezales
Directamente proporcional a la distancia entre bsquedas

Tiempo de acceso a disco =

Sistemas Operativos II (II-UJI)

40

Tiempo de posicionamiento
Tiempo de latencia
Tiempo de transferencia

Sistemas de E/S

SO

II
II

Planificacin de disco

Algoritmos de planificacin del acceso a disco:

FCFS
SSF
SCAN
C-SCAN
LOOK
C-LOOK
F-SCAN

Sistemas Operativos II (II-UJI)

Variantes del algoritmo SCAN

41

Sistemas de E/S

SO

II
II

FCFS

Peticiones atendidas por orden de llegada

Planificacin sencilla

Movimientos bruscos de cabezales

Tiempo de posicionamiento grande

Sistemas Operativos II (II-UJI)

42

Sistemas de E/S

SO

II
II

FCFS
Cola de peticiones = 98, 183, 37, 122, 14, 124, 65, 67
Cabezal en sector 53 (direccin npista creciente)
PISTAS

14

37

53 65 67

98

122 124

183 199

N pistas desplazadas=(98-53)+(183-98)+(183-37)+(122-37)+(122-14)+(124-14)+(124-65)+(67-65)=641
Sistemas Operativos II (II-UJI)

43

Sistemas de E/S

SO

II
II

SSF

Sortest Seek First (SSF)

Primero las peticiones que estn ms cerca de la posicin actual del cabezal

Similar a planificacin de CPU Sortest Jof First (SJF)

Puede causar inanicin de algunas peticiones

Sistemas Operativos II (II-UJI)

44

Sistemas de E/S

SO

II
II

SSF
Cola de peticiones = 98, 183, 37, 122, 14, 124, 65, 67
Cabezal en sector 53 (direccin npista creciente)
PISTAS

14

37

53 65 67

98

122 124

183 199

N pistas desplazadas = 226


Sistemas Operativos II (II-UJI)

45

Sistemas de E/S

SO

II
II

SCAN

El cabezal va de un extremo del disco al otro sirviendo las solicitudes que


encuentra a su paso
Al volver se sirven todas las del sentido contrario
Poltica seguida para controlar eficientemente los ascensores y asegurar que
todo el mundo suba Algoritmo de planificacin de disco del ascensor
ptimo cuando las solicitudes uniformemente por todo el disco (no habitual)
Favorece a las solicitudes sobre cilindros ms interiores y exteriores y a las
ltimas peticiones en llegar

Sistemas Operativos II (II-UJI)

46

Sistemas de E/S

SO

II
II

SCAN
Cola de peticiones = 98, 183, 37, 122, 14, 124, 65, 67
Cabezal en sector 53 (direccin npista creciente)
PISTAS

14

37

53 65 67

98

122 124

183 199

N pistas desplazadas = 331


Sistemas Operativos II (II-UJI)

47

Sistemas de E/S

SO

II
II

C-SCAN

Propiedad de ascensores (y discos):

Variante del algoritmo del ascensor que viaja en un solo sentido

Las cabezas se mueven de un extremo a otro del disco y luego vuelven al


principio
No se atienden peticiones mientras las cabezas vuelven a la posicin inicial
Trata los cilindros como una lista circular que enlaza el ltimo cilindro con el
primero Ascensor cclico

Tiempo de espera ms uniforme que el ascensor normal

Es ms costoso subir a un edificio parando que ir de un golpe de arriba


abajo y viceversa

En dispositivos con muchas peticiones de E/S tiene rendimiento superior a


otras

Se usa frecuentemente (UNIX, Linux, Windows)

Sistemas Operativos II (II-UJI)

48

Sistemas de E/S

SO

II
II

C-SCAN
Cola de peticiones = 98, 183, 37, 122, 14, 124, 65, 67
Cabezal en sector 53 (direccin npista creciente)
PISTAS

14

37

53 65 67

98

122 124

N pistas desplazadas = 382


Sistemas Operativos II (II-UJI)

49

183 199

Nengaoso: Ir del ltimo al primero se hace en


un nico movimiento y tarda muy poco 183
Sistemas de E/S

SO

II
II

LOOK

Igual que SCAN pero sin llegar a la ltima y primera pista para cambiar
direccin de cabezal

Slo llega hasta la peticin con menor y mayor nmero de pista

Sistemas Operativos II (II-UJI)

50

Sistemas de E/S

SO

II
II

LOOK
Cola de peticiones = 98, 183, 37, 122, 14, 124, 65, 67
Cabezal en sector 53 (direccin npista creciente)
PISTAS

14

37

53 65 67

98

122 124

183 199

N pistas desplazadas = 299


Sistemas Operativos II (II-UJI)

51

Sistemas de E/S

SO

II
II

C-LOOK

Igual que C-SCAN pero sin llegar a ltima y primera pista

Llega hasta la peticin con mayor nmero de pista y luego a la de


menor nmero de pista

Sistemas Operativos II (II-UJI)

52

Sistemas de E/S

SO

II
II

C-LOOK
Cola de peticiones = 98, 183, 37, 122, 14, 124, 65, 67
Cabezal en sector 53 (direccin npista creciente)
PISTAS

14

37

53 65 67

98

122 124

N pistas desplazadas = 222


Sistemas Operativos II (II-UJI)

183 199

Nengaoso 153
53

Sistemas de E/S

SO

II
II

F-SCAN

Con SSF, SCAN, C-SCAN, LOOK y C-LOOK puede que el brazo no se


mueva durante un periodo considerable de tiempo

Por ejemplo, si uno o varios procesos tienen porcentajes altos de acceso


a una pista

Solucin: Dividir las peticiones a disco en dos colas

Al inicio de un rastreo todas las solicitudes en una cola y la otra vaca


Las solicitudes que lleguen despus se colocan en la cola inicialmente
vaca
Se atendern cuando la otra cola est vaca

Sistemas Operativos II (II-UJI)

54

Sistemas de E/S

SO

II
II

Tema 4. Sistemas de entrada/salida


ndice

Introduccin

Estructura y componentes del sistema de entrada/salida

Dispositivos de almacenamiento secundario


Discos
Estructura fsica de los discos
Formateo de discos
Formateo fsico
Creacin de particiones
Formateo lgico
Planificacin del acceso a disco
Fiabilidad y tolerancia a fallos
Sistemas RAID

Dispositivos de almacenamiento terciario

...

Sistemas Operativos II (II-UJI)

55

Sistemas de E/S

SO

II
II

Sistemas RAID

RAID (Redundant Array of Independent Disks, Vector Redundante de


Discos Independientes)
Planteamiento:

Reemplazo de unidades de disco de gran capacidad por vectores de


discos de menor capacidad

Objetivos:

Aumentar la seguridad de datos


Mejorar el tiempo de acceso a datos

Sistemas Operativos II (II-UJI)

56

Sistemas de E/S

SO

II
II

RAID

Almacenamiento de datos:

Distribucin de datos consecutivos entre los discos


Acceso simultaneo a datos de varios discos
Mejor rendimiento de E/S
Cada disco se divide en bandas (strips)
Banda: bloque, sector o alguna unidad
Las bandas se asignan por turno rotatorio a discos consecutivos del
vector

Sistemas Operativos II (II-UJI)

57

Sistemas de E/S

SO

II
II

RAID

Almacenamiento de datos (cont.):


El SO ve el vector de discos fsicos como una sola unidad lgica
Correspondencia de datos para una serie RAID nivel 0
Disco
lgico

Disco
fsico 0

Disco
fsico 1

Disco
fsico 2

Disco
fsico 3

banda 0

banda 0

banda 1

banda 2

banda 3

banda 1

banda 4

banda 5

banda 6

banda 7

banda 2

banda 8

banda 9

banda 10

banda 11

banda 3

banda 12

banda 13

banda 14

banda 15

banda 4
banda 5
banda 6

SW de gestin
del vector

banda 7

Sistemas Operativos II (II-UJI)

58

Sistemas de E/S

SO

II
II

RAID

Fiabilidad y tolerancia de fallos:

Redundancia para almacenar informacin de paridad


Posibilidad de recuperacin de datos en caso de fallo de disco
Por ejemplo, utilizando la operacin XOR:
X0

X1

X2

11100011

11101101

00001110

Discos de datos

Disco de paridad

X2(i) = X0(i) + X1(i)


Si falla X1, por ejemplo, sumando X2(i) + X1(i) a ambos lados de la
ecuacin se obtiene:
X1(i) = X2(i) + X0(i)
Sistemas Operativos II (II-UJI)

59

Sistemas de E/S

SO

II
II

RAID

Fiabilidad y tolerancia de fallos (cont.):

Solicitud de lectura Lectura de datos y cdigo de correccin de error


Solicitud de escritura Escritura de datos y cdigo de correccin de error
Puede suponer acceder varias veces a los discos
Repercusin en el tiempo de acceso

Implementacin SW costosa

Sistemas Operativos II (II-UJI)

60

Sistemas de E/S

SO

II
II

RAID

Niveles RAID:

Siete niveles con diferentes arquitecturas de diseo


Existen combinaciones de niveles

Cada nivel cumple distintos propsitos

No hay un nivel RAID perfecto para todos los usuarios

Sistemas Operativos II (II-UJI)

61

Sistemas de E/S

SO

II
II

RAID

Niveles RAID (cont.):

RAID 0 (no redundante)


banda 0

banda 1

banda 2

banda 3

banda 4

banda 5

banda 6

banda 7

banda 8

banda 9

banda 10

banda 11

banda 12

banda 13

banda 14

banda 15

RAID 1 (espejo)
banda 0

banda 1

banda 2

banda 3

banda 0

banda 1

banda 2

banda 3

banda 4

banda 5

banda 6

banda 7

banda 4

banda 5

banda 6

banda 7

banda 8

banda 9

banda 10

banda 11

banda 8

banda 9

banda 10

banda 11

banda 12

banda 13

banda 14

banda 15

banda 12

banda 13

banda 14

banda 15

Sistemas Operativos II (II-UJI)

62

Sistemas de E/S

SO

II
II

RAID

Niveles RAID (cont.):

RAID 2 (redundancia mediante cdigo de Hamming)

b0

b1

b2

b3

f4 (b)

f1 (b)

f2 (b)

RAID 3 (redundancia mediante paridad)

b0

Sistemas Operativos II (II-UJI)

b1

b2

b3

63

P (b)

Sistemas de E/S

SO

II
II

RAID

Niveles RAID (cont.):

RAID 4 (redundancia mediante paridad)


banda 0

banda 1

banda 2

banda 3

P(0-3)

banda 4

banda 5

banda 6

banda 7

P(4-7)

banda 8

banda 9

banda 10

banda 11

P(8-11)

banda 12

banda 13

banda 14

banda 15

P(12-15)

RAID 5 (paridad por intercalacin distribuida de bloques)


banda 0

banda 1

banda 2

banda 3

P(0-3)

banda 4

banda 5

banda 6

P(4-6)

banda 7

banda 8

banda 9

P(7-9)

banda 10

banda 11

banda 12

P(10-12)

banda 13

banda 14

banda 15

Sistemas Operativos II (II-UJI)

64

Sistemas de E/S

SO

II
II

RAID

Niveles RAID (cont.):

RAID 6 (redundancia dual)


banda 0

banda 1

banda 2

banda 3

P(0-3)

Q(0-3)

banda 4

banda 5

banda 6

P(4-6)

Q(4-6)

banda 7

banda 8

banda 9

P(7-9)

Q(7-9)

banda 11

banda 11

banda 12

P(10-12)

Q(10-12)

banda 14

banda 15

banda 15

Sistemas Operativos II (II-UJI)

65

Sistemas de E/S

SO

II
II

RAID

RAID 0 DSA (Data Striping Array without parity):

No incluye redundancia No es miembro verdadero de la familia RAID


Ventajas:
Proporciona rendimiento ms alto que disco convencional
Se emplea toda la capacidad de los discos
No tiene coste adicional
Diseo sencillo
Fcil implementacin SW
Desventajas:
No tiene integridad de datos
Un error en uno de los discos implica la prdida total de los datos

Sistemas Operativos II (II-UJI)

66

Sistemas de E/S

SO

II
II

RAID

RAID 1 MDA (Mirrored Disk Array):

Redundancia va duplicacin de datos


Solicitud de lectura:
La del disco que suponga menos tiempo de acceso
Solicitud de escritura: Rendimiento dado por la escritura ms lenta de las dos
Ventajas:
Mayor rendimiento en las lecturas de datos respecto a un disco
convencional
Si alta tasa de solicitudes de lectura, doble rendimiento que RAID 0
Recuperacin de datos sencilla
Desventajas:
Bastante caro (doble espacio del necesario)
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)

67

Sistemas de E/S

SO

II
II

RAID

RAID 2 HCEC (Hamming Code for Error Correcting):

Bandas muy pequeas (byte o palabra)

Redundancia mediante cdigo de Hamming

Ventajas:
Velocidad de transferencia alta
Recuperacin de datos
Desventajas:
Solucin cara (pero menor que RAID1), mucho disco para cdigos de error
Tiempo de escritura alto
No existen implementaciones comerciales

Sistemas Operativos II (II-UJI)

68

Sistemas de E/S

SO

II
II

RAID

Deteccin y correccin de errores va Cdigo de Hamming:

Sea un dato a transmitir de i bits

Aadir p bits en posiciones potencias de 2

En caso de error de un bit en la transmisin los p bits permiten detectar


el error y corregirlo
Ha de cumplirse 2p i+p+1

Sistemas Operativos II (II-UJI)

69

Sistemas de E/S

SO

II
II

RAID

Deteccin y correccin de errores va Cdigo de Hamming (cont.):

Ejemplo:
Dato a transmitir:

Generacin de cdigos de paridad:

D3 D2 D1 D0
P0 = D0 + D1 + D3
P1 = D0 + D2 + D3
P2 = D1 + D2 + D3
B7 B6 B5 B4 B3 B2 B1

D3 D2 D1 P2 D0 P1 P0

Construccin dato nuevo:

Sistemas Operativos II (II-UJI)

70

Sistemas de E/S

SO

II
II

RAID

Deteccin y correccin de errores va Cdigo de Hamming (cont.):

Ejemplo (cont.):
Deteccin error: Bit codificado en C2 C1 C0

C0 = P0 + D0 + D1 + D3
C2 C1 C0
FALLO
C1 = P1 + D0 + D2 + D3
0
0
0
Ninguno
C2 = P0 + D1 + D2 + D3
0
0
1
B1
0
1
0
B2
0
1
1
B3
1
0
0
B4
1
0
1
B5
1
1
0
B6
1
1
1
B7

Correccin error: Complementar bit codificado en C2 C1 C0

Sistemas Operativos II (II-UJI)

71

Sistemas de E/S

SO

II
II

RAID

RAID 3 PDA (Parallel Disk Array):

Bandas muy pequeas (byte o palabra)


Redundancia
Un solo bit de paridad (para todos los bits en la misma posicin de disco)
Un solo disco redundante
Ventajas:
Velocidad de transferencia alta
Recuperacin de datos
Desventajas:
Si se pierde el disco de paridad, se pierde toda la informacin redundante
Tiempo de escritura de datos alto

Sistemas Operativos II (II-UJI)

72

Sistemas de E/S

SO

II
II

RAID

RAID 4 IDA (Independent Disk Array):

Bandas grandes
Tcnica de acceso independiente:
Se pueden satisfacer solicitudes de E/S individuales en paralelo
Ventajas:
Alto rendimiento en aplicaciones de velocidad de demanda interactiva
Recuperacin de datos
Desventajas:
Si se pierde el disco de paridad, se pierde toda la informacin redundante
El disco de paridad puede ser un cuello de botella
Velocidad de transferencia menor que en RAID 0-3

Sistemas Operativos II (II-UJI)

73

Sistemas de E/S

SO

II
II

RAID

RAID 5 IDA (Independent Disk Array):

RAID 4 con bandas de paridad distribuidas por todos los discos


Asignacin por turno rotatorio
Ventajas:
Alto rendimiento en aplicaciones de velocidad de demanda interactiva
Recuperacin de datos
Evita el cuello de botella del disco de paridad exclusivo
Desventajas:
Rendimiento bajo en escrituras
Velocidad de transferencia menor que en RAID 0-3

Sistemas Operativos II (II-UJI)

74

Sistemas de E/S

SO

II
II

RAID

RAID 6:

RAID 5 con dos clculos distintos de paridad


Ventajas:
Alta fiabilidad
Alto rendimiento en aplicaciones de velocidad de demanda interactiva
Recuperacin de datos
Evita el cuello de botella del disco de paridad exclusivo
Desventajas:
Rendimiento bajo en escrituras
Velocidad de transferencia menor que en RAID 0-3

Sistemas Operativos II (II-UJI)

75

Sistemas de E/S

SO

II
II

Tema 4. Sistemas de entrada/salida


ndice

Introduccin

Estructura y componentes del sistema de entrada/salida

Dispositivos de almacenamiento secundario

Dispositivos de almacenamiento terciario

El reloj

El sistema de E/S en Linux

El sistema de E/S en Windows NT/2K

Servicios de E/S en POSIX

Sistemas Operativos II (II-UJI)

76

Sistemas de E/S

SO

II
II

Almacenamiento terciario
Caractersticas:
Sistema de almacenamiento con:
Alta capacidad
Bajo coste
Ms lentos
Dispositivos extrables donde
almacenar datos que no se necesitan
inmediatamente en el sistema

Sistemas Operativos II (II-UJI)

Velocidad
de acceso
Registros

Capacidad

Coste

Memoria
RAM
Almacenamiento
secundario
Almacenamiento
terciario
77

10-60 nsg.

20-70 msg.
150-500 msg.

Sistemas de E/S

SO

II
II

Almacenamiento terciario

Disquetes, ZIP, JAZZ:

Discos magneto-pticos:

Pueden ser casi tan rpidos como el disco duro, pero suelen fallar ms
debido a su constate manipulacin

Mayor densidad, capacidad y fiabilidad

Memorias pticas y discos digitales verstiles:

CD, CD-ROM, CD-R, CD-RW


DVD, DVD-R, DVD-RW

Sistemas Operativos II (II-UJI)

78

Sistemas de E/S

SO

II
II

Almacenamiento terciario

Cintas magnticas:

Soporte de gran capacidad y economa


Ideal para operaciones que no requieren acceso rpido: respaldos,
almacenamiento masivo, etc.
Manipuladas manualmente o mediante robots que cambian cintas
automticamente
Los ficheros residentes en disco se pueden archivar en cintas (por
razones econmicas) y volver a cargar en disco de forma dinmica

Sistemas Operativos II (II-UJI)

79

Sistemas de E/S

SO

II
II

Almacenamiento terciario

El comando tar del intrprete de comandos de sistemas UNIX:

tar cvf /usr/castano /dev/rmt0 Copia los datos del usuario castano
al dispositivo de cinta /dev/rmt0

tar uvf /usr/castano /dev/rmt0 Copia anterior incremental

tar tvf /dev/rmt0

Muestra la informacin almacenada


en /dev/rmt0

tar xvf /dev/rmt0

Extrae la informacin almacenada en


/dev/rmt0

Copia glogal vs. Copia incremental

Sistemas Operativos II (II-UJI)

80

Sistemas de E/S

SO

II
II

Tema 4. Sistemas de entrada/salida


ndice

Introduccin

Estructura y componentes del sistema de entrada/salida

Dispositivos de almacenamiento secundario

Dispositivos de almacenamiento terciario

El reloj

El sistema de E/S en Linux

El sistema de E/S en Windows NT/2K

Servicios de E/S en POSIX

Sistemas Operativos II (II-UJI)

81

Sistemas de E/S

SO

II
II

El reloj

Varias acepciones:

Reloj del procesador


Reloj del sistema (mantiene fecha y hora)
Reloj temporizador (activa peridicamente al SO)

Vinculacin con SO

El reloj es un dispositivo de E/S?

Caractersticas similares a dispositivos de E/S:


Su programacin implica usar registros de E/S
Usa interrupciones

Sistemas Operativos II (II-UJI)

82

Sistemas de E/S

SO

II
II

HW del reloj

Circuito temporizador que genera seal peridica (tic)

Conectado a lnea de interrupcin de alta prioridad


Frecuencia programable

Reloj CMOS:

Alimentado por batera que mantiene hora y fecha cuando la mquina


est apagada
Consultado por SO en su arranque

Sistemas Operativos II (II-UJI)

83

Sistemas de E/S

SO

II
II

SW del reloj

Labor principal del SO con el reloj:

Frecuencia de interrupcin:

Gestin de las interrupciones de reloj

Demasiado alta: Excesiva sobrecarga por tratamiento de interrupciones


Demasiado baja: Limitada precisin en medida del tiempo
Ejemplo tpico: 100 Hz (1 interrupcin cada 10 msg.)

Rutina de interrupcin de reloj:

Se debe minimizar el trabajo realizado en ella (ya que mientras no se


atienden interrupciones de menor prioridad)
Solucin tpica: Dividir trabajo asociado a interrupcin de reloj

Operaciones ms urgentes dentro de la rutina de interrupcin


Resto: tratamiento posterior fuera de la rutina

Sistemas Operativos II (II-UJI)

84

Sistemas de E/S

SO

II
II

El reloj en Linux

Tipos de interrupciones en Linux:

Interrupciones rpidas (fast interrupts):

Interrupciones deshabilitadas durante la ejecucin de la rutina de


servicio
Al finalizar la rutina de servicio retorno inmediato al cdigo que se
estaba ejecutando cuando lleg la interrupcin

Interrupciones lentas (slow interrupts):

Interrupciones habilitadas durante la ejecucin de la rutina de


servicio
Al finalizar la rutina de servicio ejecucin de todas las rutinas bottom
halves pendientes

Sistemas Operativos II (II-UJI)

85

Sistemas de E/S

SO

II
II

El reloj en Linux

Rutinas bottom halves (BH):

Rutinas con operaciones que no han de ser ejecutadas necesariamente


tras una interrupcin y que son llevadas a cabo posteriormente desde fuera
del manejador de interrupcin (rutina de servicio) por razones de eficacia

Objetivo: Agilizar el tratamiento de las interrupciones

Mapa de bits (nmero entero) para marcar las BHs activas

Ejemplos:
TIMER_BH:
INMEDIATE_BH:

Sistemas Operativos II (II-UJI)

BH del reloj
BH genrica con tareas que han de ser ejecutadas
inmediatamente

86

Sistemas de E/S

SO

II
II

El reloj en Linux

Desde dnde se invocan las BHs?

Se inicializan cuando arranca el sistema

Se activan (marcan) desde el manejador de interrupcin (rutina de servicio)

Se invocan desde el planificador y tambin con las interrupciones lentas


Se testea cada una de las posibles BHs
Si estn marcadas como activas (y estn habilitadas) se ejecutan y se
marcan como inactivas
Son operaciones atmicas

Sistemas Operativos II (II-UJI)

87

Sistemas de E/S

SO

II
II

El reloj en Linux
El manejador de reloj realiza:

La rutina BH del manejador de reloj realiza:

void do_timer(...){
void timer_bh(void) {
update_times();
jiffies++;
run_old_timers();
lost_ticks++;
run_timer_list();
mark_bh(TIMER_BH);
}
if (user_mode(regs))
lost_ticks_system++;
Activa TIMER_BH en mapa
void update_times(){
...
de bits de BH
p->utime += user;
}
p->stime += system;
p->counter -= ticks;
Tiempo (tics) que lleva el sistema en marcha
jiffies
if (p->counter < 0){
Num. veces que se ha ejecutado el manejador de
lost_ticks
p->counter = 0;
reloj desde la ltima ejecucin de su rutina BH
need_resched =1;
lost_ticks_systemlost_ticks en modo supervisor
}
user
lost_ticks en modo usuario
system
ticks

lost_ticks en modo supervisor


Relacionado con lost_ticks

Sistemas Operativos II (II-UJI)

Invocacin del
planificador

88

Sistemas de E/S

SO

II
II

Funciones del manejador de reloj

Mantenimiento de fecha y hora

Gestin de temporizadores

Contabilidad y estadsticas

Soporte para la planificacin de procesos y recursos

Sistemas Operativos II (II-UJI)

89

Sistemas de E/S

SO

II
II

Mantenimiento de fecha y hora

Clculo de la fecha y hora:

En el arranque del SO se lee del reloj CMOS (tras programar la


frecuencia del reloj)
A partir de entonces el SO actualiza la hora en cada interrupcin

Almacenamiento de fecha y hora:

Unidades de tiempo desde fecha fija en el pasado


UNIX: sg. o sg. desde 1-1-1970
Windows: centenas de nsg. desde 1-1-1601
Diferencias entre horarios de pases:
El SO almacena la hora en el sistema de tiempo estndar UTC
(Universal Coordinated Time)
Las bibliotecas se encargan de conversin a horario local

Sistemas Operativos II (II-UJI)

90

Sistemas de E/S

SO

II
II

Gestin de temporizadores

Quin requiere los temporizadores?

Implementacin de temporizadores:

Los procesos de usuario


El SO crea mltiples temporizadores a partir de temporizador HW
Mdulo de comunicaciones
Manejador de disquete, etc.

Lista de temporizadores activos


Elemento de lista: Plazo restante (en tics) + Funcin a ejecutar al
cumplir

Gestin de temporizadores:

Puede consumir bastante tiempo


Tpicamente realizada fuera de rutina de interrupcin

Sistemas Operativos II (II-UJI)

91

Sistemas de E/S

SO

II
II

Contabilidad y estadsticas

La ejecucin peridica de la rutina de interrupcin de reloj permite muestrear


diversos aspectos del estado del sistema

Contabilidad de uso de procesador de cada proceso

Se le carga el uso de procesador al proceso en ejecucin


Se distingue si estaba en modo usuario o sistema

Sistemas Operativos II (II-UJI)

92

Sistemas de E/S

SO

II
II

Soporte para la planificiacin

Algoritmos de planificacin:

En la mayora influye el tiempo La rutina de interrupcin de reloj


conlleva acciones de planificacin
Round-Robin:
En cada interrupcin se descuenta tiempo a la rodaja
Cuando llega a cero Replanificacin
Algoritmos de prioridad:
Pueden requerir recalcular peridicamente prioridad

Sistemas Operativos II (II-UJI)

93

Sistemas de E/S

SO

II
II

Tema 4. Sistemas de entrada/salida


ndice

Introduccin

Estructura y componentes del sistema de entrada/salida

Dispositivos de almacenamiento secundario

Dispositivos de almacenamiento terciario

El reloj

El sistema de E/S en Linux

El sistema de E/S en Windows NT/2K

Servicios de E/S en POSIX

Sistemas Operativos II (II-UJI)

94

Sistemas de E/S

SO

Recordando... Diagrama de bloques del


ncleo de Linux
Libreras
trap

trap

Interfaz con las llamadas al sistema

open, read, stat, ...

Manejadores de
dispositivos

Comunicacin
entre procesos

Cach de buffers
de bloques

Dispositivos por
carcteres

Gestor de
procesos

Disp. por
bloques

Planificador
Gestor de
memoria

Drivers de dispositivos

Controladores
de dispositivos

Modo usuario
Modo supervisor
fork, wait, exec, ...

Gestor de ficheros

Sistema de E/S

II
II

Control del HW
HW

Sistemas Operativos II (II-UJI)

95

Sistemas de E/S

SO

II
II

Tema 4. Sistemas de entrada/salida


ndice

Introduccin

Estructura y componentes del sistema de entrada/salida

Dispositivos de almacenamiento secundario

Dispositivos de almacenamiento terciario

El reloj

El sistema de E/S en Linux

El sistema de E/S en Windows NT/2K

Servicios de E/S en POSIX

Sistemas Operativos II (II-UJI)

96

Sistemas de E/S

SO

II
II

E/S en Windows NT/2K

Mdulos bsicos de E/S:


Gestor de E/S
Gestor de
cach
Controladores
del SF
Controladores
del red
Controladores de
dispositivos HW

Sistemas Operativos II (II-UJI)

97

Sistemas de E/S

SO

II
II

E/S en Windows NT/2K

RAID:

Windows NT/2K soporta dos clases de configuraciones RAID:


RAID de HW
La interfaz del controlador gestiona la creacin y regeneracin
de la informacin redundante

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)

98

Sistemas de E/S

SO

II
II

Tema 4. Sistemas de entrada/salida


ndice

Introduccin

Estructura y componentes del sistema de entrada/salida

Dispositivos de almacenamiento secundario

Dispositivos de almacenamiento terciario

El reloj

El sistema de E/S en Linux

El sistema de E/S en Windows NT/2K

Servicios de E/S en POSIX

Sistemas Operativos II (II-UJI)

99

Sistemas de E/S

SO

II
II

Servicios de E/S en POSIX

Servicios relacionados con el reloj:

Servicios de hora y fecha


Para leer y cambiar (slo superusuario) fecha y hora
Temporizaciones
Servicios de contabilidad
Ejemplo: tiempo de procesador consumido por un proceso

Servicios de entrada/salida:

Acceso a dispositivos a travs de interfaz de archivos

Sistemas Operativos II (II-UJI)

100

Sistemas de E/S

SO

II
II

Servicios de E/S en POSIX

Lectura de fecha y hora:

Sintaxis:
time_t time (time_t *t);

Descripcin:
Devuelve nmero de segundos desde 1-1-1970
Funciones de biblioteca para convertir a ao, mes, ..., segundos:

localtime

Sistemas Operativos II (II-UJI)

101

Sistemas de E/S

SO

II
II

Servicios de E/S en POSIX

Ejemplo:
#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);
}

Sistemas Operativos II (II-UJI)

102

Sistemas de E/S

SO

II
II

Servicios de E/S en POSIX

Modificacin de fecha y hora:

Sintaxis:
int stime (time_t *t);

Descripcin:
Fija hora segn parmetro (segundos desde 1-1-1970)
Slo para superusuario

Sistemas Operativos II (II-UJI)

103

Sistemas de E/S

SO

II
II

Servicios de E/S en POSIX

Activacin de una alarma:

Sintaxis:

unsigned int alarm (unsigned int seconds);

Descripcin:
Enva al proceso que la invoca la seal
SIGALRM tras seconds
segundos
Ver en tema 3 Servicios POSIX sobre alarmas

Sistemas Operativos II (II-UJI)

104

Sistemas de E/S

SO

II
II

Servicios de E/S en POSIX

Servicios de contabilidad:

Sintaxis:

clock_t times (struct tms *info);

Descripcin:

Proporciona a partir de info informacin sobre tiempo de ejecucin de


proceso e hijos
Devuelve valor relacionado con tiempo real en el sistema
Tpicamente ticks de reloj desde arranque del sistema
Este valor no se usa de forma absoluta
Se realizan dos llamadas y se calcula la diferencia

Sistemas Operativos II (II-UJI)

105

Sistemas de E/S

SO

II
II

Servicios de E/S en POSIX

Ejemplo:
#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);
}

Sistemas Operativos II (II-UJI)

106

Sistemas de E/S

SO

II
II

Servicios de E/S en POSIX

Servicios de E/S sobre dispositivos:

Sintaxis:
int ioctl (int fildes, int request, arg);

Descripcin:

Realiza sobre el dispositivo asociado a fildes la operacin


especificada en request para la que se necesitarn los parmetros
especificados a travs de arg
Tomarn unos valores u otros
segn el tipo de fichero

No definida en POSIX

Sistemas Operativos II (II-UJI)

107

Sistemas de E/S

SO

II
II

Ejercicios

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 movindose en direccin a
nmero de pistas crecientes.
Cul es el nmero de pistas recorrido durante la atencin de dichas
solicitudes si el algoritmo de planificacin de acceso a disco es:
(a) FCFS
(b) SSF
(c) LOOK
(d) C-LOOK

Sistemas Operativos II (II-UJI)

108

Sistemas de E/S

SO

II
II

Ejercicios

Ejercicio 1 (solucin):
(a) FCFS
Siguiente Npistas
pista
recorridas
accedida
55
58
39
18
90
160
150
38
184

45
3
19
21
72
70
10
112
146

(b) SSF
Siguiente
Npistas
pista
recorridas
accedida
90
58
55
39
38
18
150
160
184

498

Sistemas Operativos II (II-UJI)

10
32
3
16
1
20
132
10
24
248

109

Sistemas de E/S

SO

II
II

Ejercicios

Ejercicio 1 (solucin):
(c) LOOK
Siguiente Npistas
pista
recorridas
accedida
150
160
184
90
58
55
39
38
18

50
10
24
94
32
3
16
1
20

(d) C-LOOK
Siguiente
Npistas
pista
recorridas
accedida
150
160
184
18
38
39
55
58
90

251

Sistemas Operativos II (II-UJI)

50
10
24
166
20
1
16
3
32
322

110

Sistemas de E/S

También podría gustarte