Documentos de Académico
Documentos de Profesional
Documentos de Cultura
TraspasTema4 PDF
TraspasTema4 PDF
II
Tema 4. Sistemas de entrada/salida II
Índice
■ Introducción
■ 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
Índice
■ Dispositivos de almacenamiento secundario
✓ 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
Bibliografía
■ J. Carretero et al. Sistemas Operativos: Una Visión Aplicada. McGraw-Hill.
2001. Capítulo 7.
■ W. Stallings. Sistemas Operativos. Prenctice-Hall. 2001. Capítulo 11.
■ A. Silbertschatz, P. Galvin, G. Gagne. Sistemas operativos. Adison-
Wesley. 2002. Capítulos 12 y 13.
Índice
☛ ■ Introducción
■ 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
■ El SO necesita:
◆ Dispositivos de almacenamiento de datos
● Almacenamiento secundario (discos)
◆ Dispositivos de comunicaciones
● Conexión con otras máquinas (tarjetas de red, modems, etc.)
Dispositivos de salida
(impresora, monitor, ...)
Unidad principal
(CPU, registros,
memoria RAM,
entrada/salida
-discos internos,
red, ...-)
Dispositivos de
entrada/salida
(discos, cintas,
Dispositivos de entrada modem, ...)
(teclado, ratón,
lápiz óptico, ...)
etc.
Memoria
CPU
Controlador
gráfico
■ Controladores de dispositivos:
◆ Un controlador puede controlar uno o más dispositivos
◆ Funciones:
● Transferir información entre MC y periféricos
periférico
procesos de usuario
● Contiene copia de algunos bloques del disco
Índice
■ Introducción
Sistemas de Archivos
NFTS HPFS FAT CD-ROM ...
Gestión
Gestióndede
Redes
Redes
(IPX/SPX, TCP/IP, ... )
Gestor de Bloques
Gestor de Caché
Manejadores de Dispositivos
(CD-ROM, cinta, disco, puerto, ... )
Controladores de dispositivo
■ Componentes:
◆ Interfaz del SO:
● Proporciona servicios de E/S a las aplicaciones y una interfaz
◆ Gestor de redes:
● Proporciona una interfaz homogénea para acceder a los diferentes
■ Componentes (cont.):
◆ Gestor de bloques:
● Atiende peticiones a nivel de bloque
◆ 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
Proceso Aplicación
Subsistema Copia en
de usuario memoria del
o DLL
usuario
Modo usuario
Modo supervisor
Servicios
SW de E/S Gestor de
independiente archivos
de dispositivo Gestor de
bloques Copia en el
Gestor de sistema
SW de E/S caché operativo
independiente
de dispositivo Manejador de
SW de E/S dispositivo
dependiente
de dispositivo
Manejador de
interrupción
Software
Hardware Copia en el
Controlador controlador
◆ Manejador de dispositivo:
● Acepta peticiones del SW de E/S independiente del dispositivo
Traducir a Preparar
formato del Operaciones
respuesta sobre datos
controlador de error
Sí No
Enviar
mandatos al Error
controlador
Programación del
controlador
No Leer registros
Bloqueo estado del
controlador
Sí
Esperar Interrupción
interrupción
● Planificación de la E/S
● Gestión de errores
Índice
■ Introducción
■ Estructura y componentes del sistema de entrada/salida
☛ ■ Dispositivos de almacenamiento secundario
✓ 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
■ Utilización:
◆ Almacenamiento masivo y no volátil de datos
◆ Plataforma para el sistema de intercambio del gestor de memoria virtual
◆ Estructura de un sector:
● Cabecera (Contiene el número de sector)
● Área de datos (256, 512 ó 1024 bytes)
● Apéndice (Contiene código de corrección de errores
Se calcula cada cada vez que se lee o escribe un sector)
Información usada por el controlador de disco,
◆ Miles de pistas por superficie no accesible por usuario
Varios cientos de sectores por pista
● Hueco fijo
● Múltiples platos
● Disco extraíble
Σ
(Tiempo de espera Para acceso al dispositivo)
Tiempo de posicionamiento Cabezal bajo la pista de los datos
Tiempo de latencia Cabezal bajo el sector de los datos
Tiempo de transferencia Entre dispositivo y MC
◆ Tiempos medios en discos magnéticos actuales:
● Tiempo de posicionamiento: 5-10 msg.
● Tiempo de latencia: 3-5 msg.
◆ El SO sólo puede influir en el tiempo de posicionamiento
Parámetro Valor
Capacidad: 1 0.2 GB
Cilindros: 1023
Cabezas: 256
Sectores: 83
Velocidad: 7200 RPM
Tpo. posicionamiento: 8,5 msg.
Tpo. latencia: 4,16 msg.
Índice
■ Introducción
■ Estructura y componentes del sistema de entrada/salida
■ Dispositivos de almacenamiento secundario
✓ 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
■ Creación de particiones:
◆ Partición o volumen: Porción contigua de sectores del disco
◆ Particiones primarias y extendidas
◆ Partición activa, de sistema o de arranque
● Permite arrancar un SO
◆ Tabla de particiones:
● Información sobre la distribución lógica del disco en particiones
■ 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 0x000 0x1BE 0x1FE
Índice
■ Introducción
■ Estructura y componentes del sistema de entrada/salida
■ Dispositivos de almacenamiento secundario
✓ 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
Σ
Tiempo de posicionamiento
Tiempo de acceso a disco = Tiempo de latencia
Tiempo de transferencia
■ Planificación sencilla
N° pistas desplazadas=(98-53)+(183-98)+(183-37)+(122-37)+(122-14)+(124-14)+(124-65)+(67-65)=641
■ Ó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
■ Igual que SCAN pero sin llegar a la última y primera pista para cambiar
dirección de cabezal
◆ Sólo llega hasta la petición con menor y mayor número de pista
Índice
■ Introducción
■ Estructura y componentes del sistema de entrada/salida
■ Dispositivos de almacenamiento secundario
✓ 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
■ 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
■ Almacenamiento de datos:
◆ Distribución 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
vector
banda 5
SW de gestión
banda 6
del vector
banda 7
■ Niveles RAID:
◆ Siete niveles con diferentes arquitecturas de diseño
● Existen combinaciones de niveles
◆ Cada nivel cumple distintos propósitos
◆ No hay un nivel RAID perfecto para todos los usuarios
◆ RAID 1 (espejo)
b0 b1 b2 b3 P (b)
● Diseño sencillo
● Fácil implementación SW
◆ Desventajas:
● No tiene integridad de datos
convencional
Si alta tasa de solicitudes de lectura, doble rendimiento que RAID 0
● Recuperación de datos sencilla
◆ Desventajas:
● Bastante caro (doble espacio del necesario)
● Recuperación de datos
◆ Desventajas:
● Solución cara (pero menor que RAID1), mucho disco para códigos de error
B7 B6 B5 B4 B3 B2 B1
● Construcción dato nuevo: D3 D2 D1 P2 D0 P1 P0
◆ Ventajas:
● Velocidad de transferencia alta
● Recuperación de datos
◆ Desventajas:
● Si se pierde el disco de paridad, se pierde toda la información redundante
◆ Ventajas:
● Alto rendimiento en aplicaciones de velocidad de demanda interactiva
● Recuperación de datos
◆ Desventajas:
● Si se pierde el disco de paridad, se pierde toda la información redundante
◆ Ventajas:
● Alto rendimiento en aplicaciones de velocidad de demanda interactiva
● Recuperación de datos
◆ Desventajas:
● Rendimiento bajo en escrituras
■ RAID 6:
◆ RAID 5 con dos cálculos distintos de paridad
◆ Ventajas:
● Alta fiabilidad
● Recuperación de datos
◆ Desventajas:
● Rendimiento bajo en escrituras
Índice
■ Introducción
■ 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
■ Características:
◆ Sistema de almacenamiento con:
● Alta capacidad
● Bajo coste
● Más lentos
Memoria
RAM
Almacenamiento 20-70 msg.
secundario
Almacenamiento 150-500 msg.
terciario
■ Discos magneto-ópticos:
◆ Mayor densidad, capacidad y fiabilidad
■ Cintas magnéticas:
◆ Soporte de gran capacidad y economía
◆ Ideal para operaciones que no requieren acceso rápido: respaldos,
almacenamiento masivo, etc.
◆ Manipuladas manualmente o mediante robots que cambian cintas
automáticamente
◆ Los ficheros residentes en disco se pueden archivar en cintas (por
razones económicas) y volver a cargar en disco de forma dinámica
◆ tar –cvf /usr/castano /dev/rmt0 Copia los datos del usuario castano
al dispositivo de cinta /dev/rmt0
Índice
■ Introducción
■ 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
■ Varias acepciones:
◆ Reloj del procesador
◆ Reloj del sistema (mantiene fecha y hora)
Vinculación con SO
◆ Reloj temporizador (activa periódicamente al SO)
● Usa interrupciones
■ Reloj CMOS:
◆ Alimentado por batería que mantiene hora y fecha cuando la máquina
está apagada
◆ Consultado por SO en su arranque
■ Frecuencia de interrupción:
◆ Demasiado alta: Excesiva sobrecarga por tratamiento de interrupciones
Demasiado baja: Limitada precisión en medida del tiempo
◆ Ejemplo típico: 100 Hz (1 interrupción cada 10 msg.)
■ Implementación de temporizadores:
◆ Lista de temporizadores activos
● Elemento de lista: Plazo restante (en tics) + Función a ejecutar al
cumplir
■ Gestión de temporizadores:
◆ Puede consumir bastante tiempo
● Típicamente realizada fuera de rutina de interrupción
■ Algoritmos de planificación:
◆ En la mayoría influye el tiempo ⇒ La rutina de interrupción de reloj
conlleva acciones de planificación
◆ Round-Robin:
● En cada interrupción se descuenta tiempo a la rodaja
◆ Algoritmos de prioridad:
● Pueden requerir recalcular periódicamente prioridad
Índice
■ Introducción
■ Estructura y componentes del sistema de entrada/salida
■ Dispositivos de almacenamiento secundario
■ Dispositivos de almacenamiento terciario
■ El reloj
Gestor de ficheros
Comunicación
entre procesos
Control del HW
Controladores
de dispositivos
HW
Índice
■ Introducción
■ 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
Gestor de E/S
Gestor de
caché
Controladores
del SF
Controladores
del red
Controladores de
dispositivos HW
■ RAID:
◆ Windows NT/2K soporta dos clases de configuraciones RAID:
● RAID de HW
Índice
■ Introducción
■ 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
◆ Temporizaciones
◆ Servicios de contabilidad
● Ejemplo: tiempo de procesador consumido por un proceso
■ Servicios de entrada/salida:
◆ Acceso a dispositivos a través de interfaz de archivos
◆ Descripción:
● Devuelve número de segundos desde 1-1-1970
■ 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);
}
◆ Descripción:
● Fija hora según parámetro (segundos desde 1-1-1970)
■ Servicios de contabilidad:
◆ Sintaxis:
clock_t times (struct tms *info);
◆ Descripción:
● Proporciona a partir de info información sobre tiempo de ejecución de
proceso e hijos
● Devuelve valor relacionado con tiempo real en el sistema
Típicamente ticks de reloj desde arranque del sistema
● Este valor no se usa de forma absoluta
Se realizan dos llamadas y se calcula la diferencia
■ 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);
}
■ 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
■ Ejercicio 1 (solución):
(a) FCFS (b) SSF
Siguiente N°pistas Siguiente N°pistas
pista recorridas pista recorridas
accedida accedida
55 45 90 10
58 3 58 32
39 19 55 3
18 21 39 16
90 72 38 1
160 70 18 20
150 10 150 132
38 112 160 10
184 146 184 24
498 248
■ Ejercicio 1 (solución):
(c) LOOK (d) C-LOOK
Siguiente N°pistas Siguiente N°pistas
pista recorridas pista recorridas
accedida accedida
150 50 150 50
160 10 160 10
184 24 184 24
90 94 18 166
58 32 38 20
55 3 39 1
39 16 55 16
38 1 58 3
18 20 90 32
251 322