Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Traspas 4
Traspas 4
II
II
Introduccin
El reloj
Sistemas de E/S
SO
II
II
Sistemas de E/S
SO
II
II
Sistemas de E/S
SO
II
II
Introduccin
El reloj
Sistemas de E/S
SO
II
II
Introduccin
El SO necesita:
Sistemas de E/S
SO
II
II
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 de E/S
SO
II
II
Sistemas de E/S
SO
II
II
CPU
Memoria
Controlador
grfico
Bus de expansin
Sistemas de E/S
SO
II
II
Controladores de dispositivos:
Sistemas de E/S
SO
II
II
10
Sistemas de E/S
SO
II
II
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
11
Sistemas de E/S
SO
II
II
Introduccin
El reloj
12
Sistemas de E/S
SO
II
II
FAT
CD-ROM ...
Gestin
dede
Redes
Gestin
Redes
Gestor de Bloques
Gestor de Cach
Manejadores de Dispositivos
(CD-ROM, cinta, disco, puerto, ... )
Controladores de dispositivo
13
Sistemas de E/S
SO
II
II
Componentes:
14
Sistemas de E/S
SO
II
II
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
15
Sistemas de E/S
SO
II
II
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)
16
Sistemas de E/S
SO
II
II
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
17
Sistemas de E/S
SO
II
II
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
Interrupcin
18
Sistemas de E/S
SO
II
II
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
19
Sistemas de E/S
SO
II
II
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
20
Sistemas de E/S
SO
II
II
Introduccin
...
21
Sistemas de E/S
SO
II
II
Discos
Utilizacin:
Almacenamiento secundario
Almacenamiento terciario
22
Sistemas de E/S
SO
II
II
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
23
Sistemas de E/S
SO
II
II
Caras:
Simple cara
Doble cara
Platos:
Un solo plato
Mltiples platos
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
(Tiempo de espera
Tiempo de posicionamiento
Tiempo de latencia
Tiempo de transferencia
0 en cabezales fijos
25
Sistemas de E/S
SO
II
II
26
Sistemas de E/S
SO
II
II
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
Introduccin
...
28
Sistemas de E/S
SO
II
II
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
29
Sistemas de E/S
SO
II
II
Formateo de discos
Creacin de particiones:
30
Sistemas de E/S
SO
II
II
Formateo de discos
31
Sistemas de E/S
SO
II
II
mkfs
32
Sistemas de E/S
SO
II
II
33
Sistemas de E/S
SO
II
II
34
Sistemas de E/S
SO
II
II
Mapa de bits de
Bloque de carga bloques libres
Bloque con
informacin
sobre el sistema
de ficheros
(superbloque)
Bloques de
inodos
Mapa de bits de
inodos
35
Bloques de datos:
directorio
fichero
indireccin
libre
Sistemas de E/S
SO
II
II
36
Sistemas de E/S
SO
II
II
Cargador LILO
Ncleo
37
Sistemas de E/S
SO
II
II
Cargador de la BIOS:
Se ejecuta el LILO
Cargador LILO:
MBR
0x1BE
LILO
Ejecuta el setup.S:
0x000
0x1FE
Tabla de
0xAA55*
particiones
Ncleo ...
38
Sistemas de E/S
SO
II
II
Introduccin
...
39
Sistemas de E/S
SO
II
II
Planificacin de disco
bytes transferidos
tiempo de transferencia
40
Tiempo de posicionamiento
Tiempo de latencia
Tiempo de transferencia
Sistemas de E/S
SO
II
II
Planificacin de disco
FCFS
SSF
SCAN
C-SCAN
LOOK
C-LOOK
F-SCAN
41
Sistemas de E/S
SO
II
II
FCFS
Planificacin sencilla
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
Primero las peticiones que estn ms cerca de la posicin actual del cabezal
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
45
Sistemas de E/S
SO
II
II
SCAN
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
47
Sistemas de E/S
SO
II
II
C-SCAN
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
49
183 199
SO
II
II
LOOK
Igual que SCAN pero sin llegar a la ltima y primera pista para cambiar
direccin de cabezal
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
51
Sistemas de E/S
SO
II
II
C-LOOK
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
183 199
Nengaoso 153
53
Sistemas de E/S
SO
II
II
F-SCAN
54
Sistemas de E/S
SO
II
II
Introduccin
...
55
Sistemas de E/S
SO
II
II
Sistemas RAID
Objetivos:
56
Sistemas de E/S
SO
II
II
RAID
Almacenamiento de datos:
57
Sistemas de E/S
SO
II
II
RAID
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
58
Sistemas de E/S
SO
II
II
RAID
X1
X2
11100011
11101101
00001110
Discos de datos
Disco de paridad
59
Sistemas de E/S
SO
II
II
RAID
Implementacin SW costosa
60
Sistemas de E/S
SO
II
II
RAID
Niveles RAID:
61
Sistemas de E/S
SO
II
II
RAID
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
62
Sistemas de E/S
SO
II
II
RAID
b0
b1
b2
b3
f4 (b)
f1 (b)
f2 (b)
b0
b1
b2
b3
63
P (b)
Sistemas de E/S
SO
II
II
RAID
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)
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
64
Sistemas de E/S
SO
II
II
RAID
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
65
Sistemas de E/S
SO
II
II
RAID
66
Sistemas de E/S
SO
II
II
RAID
67
Sistemas de E/S
SO
II
II
RAID
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
68
Sistemas de E/S
SO
II
II
RAID
69
Sistemas de E/S
SO
II
II
RAID
Ejemplo:
Dato a transmitir:
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
70
Sistemas de E/S
SO
II
II
RAID
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
71
Sistemas de E/S
SO
II
II
RAID
72
Sistemas de E/S
SO
II
II
RAID
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
73
Sistemas de E/S
SO
II
II
RAID
74
Sistemas de E/S
SO
II
II
RAID
RAID 6:
75
Sistemas de E/S
SO
II
II
Introduccin
El reloj
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
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
Discos magneto-pticos:
Pueden ser casi tan rpidos como el disco duro, pero suelen fallar ms
debido a su constate manipulacin
78
Sistemas de E/S
SO
II
II
Almacenamiento terciario
Cintas magnticas:
79
Sistemas de E/S
SO
II
II
Almacenamiento terciario
tar cvf /usr/castano /dev/rmt0 Copia los datos del usuario castano
al dispositivo de cinta /dev/rmt0
80
Sistemas de E/S
SO
II
II
Introduccin
El reloj
81
Sistemas de E/S
SO
II
II
El reloj
Varias acepciones:
Vinculacin con SO
82
Sistemas de E/S
SO
II
II
HW del reloj
Reloj CMOS:
83
Sistemas de E/S
SO
II
II
SW del reloj
Frecuencia de interrupcin:
84
Sistemas de E/S
SO
II
II
El reloj en Linux
85
Sistemas de E/S
SO
II
II
El reloj en Linux
Ejemplos:
TIMER_BH:
INMEDIATE_BH:
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
87
Sistemas de E/S
SO
II
II
El reloj en Linux
El 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
Invocacin del
planificador
88
Sistemas de E/S
SO
II
II
Gestin de temporizadores
Contabilidad y estadsticas
89
Sistemas de E/S
SO
II
II
90
Sistemas de E/S
SO
II
II
Gestin de temporizadores
Implementacin de temporizadores:
Gestin de temporizadores:
91
Sistemas de E/S
SO
II
II
Contabilidad y estadsticas
92
Sistemas de E/S
SO
II
II
Algoritmos de planificacin:
93
Sistemas de E/S
SO
II
II
Introduccin
El reloj
94
Sistemas de E/S
SO
trap
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
95
Sistemas de E/S
SO
II
II
Introduccin
El reloj
96
Sistemas de E/S
SO
II
II
97
Sistemas de E/S
SO
II
II
RAID:
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
98
Sistemas de E/S
SO
II
II
Introduccin
El reloj
99
Sistemas de E/S
SO
II
II
Servicios de entrada/salida:
100
Sistemas de E/S
SO
II
II
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
101
Sistemas de E/S
SO
II
II
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);
}
102
Sistemas de E/S
SO
II
II
Sintaxis:
int stime (time_t *t);
Descripcin:
Fija hora segn parmetro (segundos desde 1-1-1970)
Slo para superusuario
103
Sistemas de E/S
SO
II
II
Sintaxis:
Descripcin:
Enva al proceso que la invoca la seal
SIGALRM tras seconds
segundos
Ver en tema 3 Servicios POSIX sobre alarmas
104
Sistemas de E/S
SO
II
II
Servicios de contabilidad:
Sintaxis:
Descripcin:
105
Sistemas de E/S
SO
II
II
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);
}
106
Sistemas de E/S
SO
II
II
Sintaxis:
int ioctl (int fildes, int request, arg);
Descripcin:
No definida en POSIX
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
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
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
50
10
24
166
20
1
16
3
32
322
110
Sistemas de E/S