Clase 05

Anuncio
Sistemas Operativos
Administración de Periféricos
1
Temario
• Objetivos
• Repaso de Unidades involucradas: Canales, UC,
Dispositivos, instrucciones de E/S, tipos de canales
• Asignación de dispositivos
• Base de datos necesaria
• Rutinas: Planificador de E/S, Controlador de tráfico de
E/S, Manipulador de periféricos
• Bloqueo y Algoritmos de acceso
• Spooling
• Tecnología RAID
• Mecanismos de E/S
• Puertos y protocolos de E/S
• Ejemplo: UNIX
2
Objetivos
• Llevar el estado de control de los
dispositivos
• Políticas de uso (dedicados, compartidos,
virtuales)
• Asignación y desasignación de dispositivos
a procesos
3
Recordemos ...
4
Varios caminos, varios
dispositivos ...
5
PSW Procesador de E/S
6
Instrucción Procesador de E/S
• Codop: Transferencia – Acciones
Para DISCO
– Posicionamiento (cilindro, cabeza)
– Búsqueda del bloque (sector)
– Reintento
– Transferencia (Dir, Long)
7
Selector
8
Multiplexor
9
Unidad de Control (controladora)
•
•
•
•
Detecta errores de paridad
Controla movimientos del periférico
Buffers de sincronismo
Serializa y deserializa la información
10
Tipos de Periféricos
• Dedicados (cintas – impresoras)
• Compartidos (discos)
• Virtuales (SPOOL – RAM Disk – Discos
Virtuales)
11
Asignación
• Dedicados
– al comienzo del trabajo
– al comienzo de la etapa
– al realizarse la instrucción Open
• Asignación total o parcial
• Compartidos: asignación dinámica
• Virtuales: Asignación como archivos
12
Tablas de uso: Bloques de
Dispositivos y PES
• Bloque control de Dispositivo
– Identificador del dispositivo
– Estado del dispositivo
– Lista de unidades de control a las que está conectado el dispositivo
– Lista de procesos esperando este dispositivo
• En el Bloque de Control del Procesador de E/S tendremos la
siguiente información:
– Identificador del canal o procesador de E/S
– Estado del canal
– Lista de unidades de control a las que está conectado el canal
– Lista de procesos esperando el canal
13
Tablas de uso (Bloques de
Unidades de Control)
• En el Bloque de Control de la Unidad de Control tendremos la
siguiente información:
– Identificador de la unidad de control
– Estado de la unidad de control
– Lista de dispositivos conectados a esta unidad de control
– Lista de canales conectados a esta unidad de control
– Lista de procesos esperando a esta unidad de control
14
Rutinas
• Planificador de E/S: Decide qué proceso toma el recurso.
Determina el orden en que se asignarán a los procesos los dispositivos,
unidades de control y procesadores de E/S, ya sea por algoritmos o por
alguna prioridad
• Controlador de Tráfico de E/S: Lleva el estado de
los dispositivos, unidades de control y procesadores de E/S por medio
de bloques de control. Determina la posibilidad de una operación de
E/S y la posibilidad de caminos alternativos. Una vez que hay un orden,
es el controlador de tráfico de E/S el que determina que puede ser satisfecho el
pedido al colocarlo en un determinado Bloque de control estableciendo de esta
forma la ruta.
15
Rutinas
• Manipuladores
de E/S (Drivers)
: Arma el
programa del procesador de E/S. Emite la instrucción de arranque de E/S.
Procesa las interrupciones del dispositivo. Maneja errores del dispositivo.
Realiza una planificación de acuerdo al periférico (estrategia de acceso).
• Las
rutas siempre se adquieren desde el
periférico hacia el canal.
• Pueden ser reemplazados por un IOP
16
Algoritmos de Planificación
(bloqueo/agrupación y buffering)
17
Algoritmos de acceso a discos
• FCFS (accesos 53 – 37 – 122 – 14 – 124)
18
Algoritmos de acceso a discos
(alternativas)
• El más corto primero
• SCAN o barrido ascensor (se debe conocer
comienzo y sentido)
• C-SCAN o barrido circular (ordena los
pedidos en un solo sentido, luego vuelve al
comienzo)
• Posición angular (sector queueing)
19
Periféricos Virtuales (SPOOLING)
20
Tiempos tomando sólo la actividad de spooling
Estado del
Proceso
E B
CPU proc.
X
CPU Spool
B
E
E B B
E
E
E
X
X
X
X
X
X
X
Graba
Disco de
spool
T
T
X
T
Lee
Graba
T
Lee
X
1
2
3
4
5
6
7
8
9
10
11
T
X
Impresora
Tiempo
T
12
13
X
14
15
21
16
Beneficios del spooling
• Simular más periféricos dedicados de los que existen
en la instalación
• Simular periféricos que no existen en la instalación
• Menor tiempo en Listo-Ejecutando-Bloqueado
• Funcionamiento del periférico a su máxima
velocidad
• Permite planificación de los trabajos de impresión
22
Comparación
Si calculo el turnaround de un proceso solo en un ambiente de
monoprogramación y luego lo calculo colocando ese
proceso (también solo) en un ambiente de
multiprogramación y luego también en un ambiente de
multiprogramación con spool, concluimos que:
Monoprogramación < Multiprogramación
Por que se agrega el tiempo del Planificador de Procesos!!
Y ahora
Multiprogramación << Multiprogramación con spool
Por que se agregan los tiempos de:
- grabar y leer el disco de spool y
- el tiempo de la rutina de Spool!!
23
Tecnología RAID
•
•
•
•
•
•
•
•
•
•
•
0 Striping (sin redundancia)
1 Mirror
2 error recording code (Hamming)
3 bit-interleaved parity
4 Block-interleaved parity
5 Block interleaved and rotated parity
6 idem 5 dual redundancy
7 idem 5 pero con paridad en la cache
10 1 + 0 Idem 1, o sea mirror con striping
53 Igual 3 con striping
0 + 1 Igual 0 con mirror
24
Ejemplo Raid 5
• Puede tener disco “spare”
25
Ejemplos Raid 3 a 5
• Raid levels 3 through 5
• Backup and parity drives are shaded
26
RAID 0+1: Stripe & Mirror
Host
adapter
RAID 0+1
controller
1
5
9
13
17
2
6
10
14
18
3
7
11
15
19
Mirror Member 1
4
8
12
16
20
1
5
9
13
17
2
6
10
14
18
3
7
11
15
19
4
8
12
16
20
Mirror Member 2
27
RAID 1+0: Mirror & Stripe
Host
adapter
RAID 1+0
controller
1
5
9
13
17
Mirror Set 1
1
5
9
13
17
2
6
10
14
18
Mirror Set 2
2
6
10
14
18
3
7
11
15
19
Mirror Set 3
3
7
11
15
19
4
8
12
16
20
4
8
12
16
20
Mirror Set 4
28
RAID (3 a 6)
Actualización
• x4(i) = x3(i) xor x2(i) xor x1(i) xor x0(i) (1)
• x1(i) x’1(i)
• x’4(i) = x3(i) xor x2(i) xor x’1(i) xor x0(i)
Como sabemos x1(i) xor x1(i) = 0, entonces
sumamos en el 2do término recordando (1)
• x’4(i) = x4(i) xor x1(i) xor x’1(i)
Esto me ahorra tener que leer todos los discos para
obtener un valor.
29
RAID (3 a 6)
Reconstrucción
• Suponemos pérdida de x1(i)
• Al (1) anterior le sumamos x4(i)+ x1(i) en ambos
miembros y eliminamos los miembros nulos
Luego queda
• x1(i) = x3(i) xor x2(i) xor x0(i) xor x4(i)
Con lo que se puede reconstruir todo x1
30
Logical Volumen
• Es posible tener (directorios (FS)) sobre
distintos discos físicos
• Existen discos físicos (PD)
• Todo un PD o parte de él forma una
partición física PP
• Varias PP forman un disco Lógico LVG
• Sobre un LVG se pueden armar discos
lógicos (LD) o Particiones Lógicas (LP)
31
Estructura Bus
32
Mecanismos de I/O
• Testeo de puertos (polling)
• Interrupciones
33
Puerto de I/O
•
•
•
•
•
•
Básicamente consiste en 4 registros
status – control - data-in – data-out –
status: estado de la operación
control: se escribe el comando
data-in: lee información el host
data-out: escribe información el host
34
Puerto I/O (protocolo)
•
•
•
•
•
•
1 el host lee busy (status) hasta clear (pooling)
2 el host pone write (control) y escribe data-out
3 el host activa ready (control)
4 El controlador pone busy el status
5 El controlador lee ambos y hace I/O
6 El controlador deja estado de fin de I/O en status
y clear
35
Ciclo I/O de Interupción
36
DMA
37
(DMA)
Operación de transferencia de DMA
38
I/O kernel
39
En UNIX
• < major, minor> number
• major: Identifica el device driver
• minor: identifica device (tabla asociada
identificando puerto)
40
Ciclo de I/O
41
Descargar