Horas INTRODUCCIÓN 4 PROCESOS Y THREADS 12 GESTIÓN DE MEMORIA 9 ENTRADA/SALIDA 2
description
Transcript of Horas INTRODUCCIÓN 4 PROCESOS Y THREADS 12 GESTIÓN DE MEMORIA 9 ENTRADA/SALIDA 2
Entrada / Salida 1
Horas
1 INTRODUCCIÓN
6
2 PROCESOS Y THREADS
12
3 GESTIÓN DE MEMORIA
10
4 ENTRADA/SALIDA
1+
5 SISTEMA DE FICHEROS
5+
sisOpe TemarioCurso: 15/16
Entrada / Salida 2
Tema 4. Entrada / Salida• PRINCIPIOS HARDWARE
• Dispositivos y Controladores• E/S mapeada• DMA
• PRINCIPIOS SOFTWARE (Objetivos)
• NIVELES SOFTWARE• Manejadores de interrupción• Drivers de dispositivos• Independencia del dispositivo• Sw de E/S en el espacio de usuario
• DISCOS• Hardware (discos magnéticos)• Formateo• Planificación del brazo
Entrada / Salida 3
Principios Hardware (Dispositivos + Controladores )
Z80
D7-D0 INT
PBUSABUS
PMEMPESLECESCA15-A0
8237DMA
D7-D0
EOPDREQDACK
MRMW
IOR IOW CS
HRQHLDA
A15-A08272FDC
INT D7-D0
R W CS
TCDREQDACK
A0
MP64K
D7-D0
CS
LECESC
A15-A0
IORIOWMRMW ?
S.O => SimplicidadEficiencia
Entrada / Salida 4
Principios Hardware (Dispositivos)
• Orientados a bloques: Bloques [512B..32KB] y acceso aleatorio
• Orientados a caracteres: Flujo de bytes y acceso secuencial
• Tasas de transferencia muy variable: 10B/seg..528MB/seg
Dispositivo Tasa Trans.TecladoRatón
10 B/s100 B/s
Modem 56KScanner
7 KB/s400 KB/s
802.11g 6,75 MB/s52x CD-ROM 7,8 MB/sUSB 2.0 60 MB/sGiga Ethernet 125 MB/s
Cinta Ultrium 320 MB/sBus PCI 528 MB/s
Disco SATA 300 MB/s
PCI-e 3.0 1GB/s
PCI-e 4.0 2GB/s
32 38,4 ?
Entrada / Salida 5
Principios Hardware (Controladores)
Preámbulo Datos ECCSector
CPU MP ControladorDisco/s
ControladorImpresora
?
0100011101....
• Bloque de bytes• Buffer amortiguador de velocidad• Comprobar errores• Dejar en la memoria
Estándar
Entrada / Salida 6
Principios Sotware (Objetivos)
• Independencia del dispositivo: sort < entrada > salida
• Uniformidad de nombres: /dev/lp/usr/alumnos/zz9999/usr/profesores/pcarazo
¿mount?
• Gestión de errores: Cuanto más local mejor
• Tipo de transferencia: Síncrona vs asíncronaInterrupcionesBloqueo
• Almacenaje intermedio: Amortiguar velocidades, ...
• Compartido vs exclusivo: Ficheros en disco vslistados por impresora
Entrada / Salida 7
Niveles Software
HARDWARE
Gestores de Interrupciones
Drivers de dispositivos
Sw independiente del dispositivo
Sw de E/S a nivel de usuario
read (df, ….) => Petición de la E/S Respuesta de la E/S
Formateo, TRAP
Nombrado, protección, bloqueo, almacenamiento
Manejar controlador (reg), comprobar estado, erroresSalvar y recuperar estado, realizar tratamiento
Realización física de la E/S
Entrada / Salida 8
Niveles Software (Gestores de interrupciones)
HARDWARE
Gestores de Interrupciones
Drivers de dispositivos
Sw independiente del dispositivo
Sw de E/S a nivel de usuario
read (df, ….)
DriverComandos*
---------------out reg,valor
?Tratar la
interrupción
?wait (sDisco)más acciones
Rutina tratamiento interrupción
Salvar registros Ejecutar rutina específicaContexto rutina int Planificar procesoPila rutina int Recuperar estado procesoAck al controlador int rteRegistros salvados a descriptor
signal
Entrada / Salida 9
Niveles Software (Drivers de dispositivos)
HARDWARE
Gestores de Interrupciones
Drivers de dispositivos
Sw independiente del dispositivo
Sw de E/S a nivel de usuario
read (df, ….)
?DDisco DTeclado DImpLaser?
LeerBloque (12.300, &buffer)
cilindropista, sector
¿Motor encendido? ON
¿Mucho tiempo? OFF
LeerBloque (5,&b)
• ¿Llega una petición?
Atender
petición
DDisco
?• ¿Posición actual? ?
¿Extraigo dispositivo?
Entrada / Salida 10
Niveles Software (Sw independiente del dispositivo)
HARDWARE
Gestores de Interrupciones
Drivers de dispositivos
Sw independiente del dispositivo
Sw de E/S a nivel de usuario
read (df, ….)
• Interfaz uniforme para los drivers
• Almacenamiento (buffers)
• Gestión de errores
• Pedir | Liberar dispositivos dedicados
• Tamaño de bloque independiente del dispositivo
Sistema Operativo
?
df = open (“/dev/fd0”, …)
?
Nombrado de dispositivos de E/S
i-nodetipo
# principal# secundario
Entrada / Salida 11
Sw independiente: Almacenamiento (buffers)
PiUsuario
Kernel
Pi Pi Pi
Entrada / Salida 12
Sw independiente: Almacenamiento (buffers)
Entrada / Salida 13
Sw independiente (Gestión errores y dispositivos dedicados)
• Errores:
Parámetros => Operación inocua e informar del error
Físicos => Resolución local o pasar la pelota o crash
• Dispositivos dedicados:
Open => Como entrar en región crítica
Close => Como salir de región crítica
Entrada / Salida 14
Sw independiente (Tamaño de bloque independiente)
0..N
ramDisk
leerBloque (dispositivo, indBloque, dirBuffer)
escribirBloque
Operaciones:
Bloque 0 Bloque 1 Bloque 2 Bloque NDatos:
Sw independiente
dispositivo
Drivers
Por encima del Sw independiente, cada dispositivo de bloques:
Entrada / Salida 15
Niveles Software (Sw E/S en el espacio de usuario)
Llamadas al sistema rutinas de biblioteca count = write (fd, buffer, nbytes)
Rutinas tipo printf (formateo y pasar parámetros)
Sistema de spooling impresora: demonio y directorio de spooling red: demonio y directorio de spooling
Entrada / Salida 16
DISCOS (Hardware de los discos magnéticos ¿ SSD ?)
• Precio
• Capacidad
• Disponibilidad
• Velocidad
• Ruido
• Consumo
SSHD
120GB 64€250GB 90€500GB 162€ 1TB 337€ 2TB 726€
500GB 44€ 2TB 61€ 4TB 138€ 8TB 242€
4TB 175€[8GB Flash]
2015
Entrada / Salida 17
DISCOS (Hardware de los discos magnéticos - I)
Entrada / Salida 18
DISCOS (Hardware de los discos magnéticos - II)
•Posibilidad de posicionamiento simultáneo en varias unidades (búsquedas solapadas).
•Posibilidad de posicionamiento y r/w simultáneos en dos unidades.•NO transferencias simultáneas.
WD 18300 HD10.601
12281 (media)35.742.000
51218,3 GB0,8 mseg6,9 mseg
8,33 mseg20 seg
17 µseg
Parámetro
Pistas x cilindroSectores x pistaSectores x discoBytes x sectorCapacidad discoCil => CilAdyaPosiciona medioT. rotaciónT. on/off motorT. Transferir sector
Número cilindrosIBM PC Floppy
4029
720512
360 KB6 mseg
77 mseg200 mseg250 mseg22 mseg
1983 2000WD Blue HD
2010
1.953.525.169
1 TB
150MB x seg28,7MB x seg
8,33 mseg
512
Entrada / Salida 19
DISCOS (Hardware de los discos magnéticos - II)
www.taringa.net/posts/imagenes/13906349/Disco-duro-de-5-MB-lanzado-por-IBM-en-1956-pesaba-1-tonelada.html
Entrada / Salida 20
DISCOS (Hardware de los discos magnéticos - III)
Geometría física de un disco con dos zonas Geometría virtual para el
disco
192 192
Entrada / Salida 21
DISCOS (Formateo a bajo nivel: Sector de disco)
Preámbulo Datos ECC
Patrón de bitsCilindro, Sector
ParametrizableHabitual 512B
Error Correcting CodeHabitual 16 bits
¿ Capacidad efectiva ?
¿ Sectores defectuosos de fábrica ? Sectores extra alternativos
¿ Cómo ubicar los sectores en la superficie del disco ?
Entrada / Salida 22
DISCOS (Formateo a bajo nivel: cylinder skew)
Leer 5 sectores
Amortiguaposicionamiento
¿Viable?
Entrada / Salida 23
DISCOS (Formateo a bajo nivel: Entrelazado de sectores)
• Mientras se transfiere a memoria, el disco sigue girando y ….
¡ Controlador con un único buffer (sector) !
Interleaving = 0 Interleaving = 1 Interleaving = 2
¡ Habitual buffer en controlador para toda una pista !
Entrada / Salida 24
DISCOS (Establecer particiones)
Master boot record
Código de arranque
Tabla particiones# 1er sector tamañoCDEF
11001----------
10008000----------
¿Partición activa?
¿Formateo a alto nivel?
Entrada / Salida 25
DISCOS (Planificación del brazo: FCFS)
• Ejemplo: Posición actual: cilindro 11 Llegan peticiones: 1, 36, 16, 34, 9 ,12
0 1 9 11 12 16 34 36X X
10
35
X XX X
2018
25
3
¡ En total se atraviesan 111 cilindros !
¡ Colas de peticiones pendientes por
cilindro !
Entrada / Salida 26
DISCOS (Planificación del brazo: SSF “Shortest Seek First”)
¡ En total se atraviesan 61 cilindros !
INJUSTICIA + INANICIÓN
Entrada / Salida 27
DISCOS (Planificación del brazo: Ascensor )• Idea de sentido: (Sube – Baja) *
Entrada / Salida 28
DISCOS (Planificación del brazo: Ascensor mejorado CSCAN )
Entrada / Salida 29
DISCOS (Planificación del brazo: Otras optimizaciones )
OTRAS OPTIMIZACIONES:
• Peticiones sobre el mismo cilindro sector más cercano
• Caché en el controlador
• Si N unidades de disco:Ordenar posicionamiento en N-1Realizar transferencia actual
(Leer la sección 5.4.4. La sección 5.4.5 no entra para el examen.)