Horas INTRODUCCIÓN 4 PROCESOS Y THREADS 12 GESTIÓN DE MEMORIA 9 ENTRADA/SALIDA 2

29
Entrada / Salida 1 Horas 1 INTRODUCCIÓN 6 2 PROCESOS Y THREADS 12 3 GESTIÓN DE MEMORIA 10 4 ENTRADA/SALIDA sisOpe Temario Curso: 15/16

description

sisOpeTemarioCurso: 13/14. Horas INTRODUCCIÓN 4 PROCESOS Y THREADS 12 GESTIÓN DE MEMORIA 9 ENTRADA/SALIDA 2 SISTEMA DE FICHEROS5. Tema 4.Entrada / Salida. PRINCIPIOS HARDWARE Dispositivos y Controladores E/S mapeada DMA PRINCIPIOS SOFTWARE (Objetivos) NIVELES SOFTWARE - PowerPoint PPT Presentation

Transcript of Horas INTRODUCCIÓN 4 PROCESOS Y THREADS 12 GESTIÓN DE MEMORIA 9 ENTRADA/SALIDA 2

Page 1: 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

Page 2: Horas INTRODUCCIÓN 4 PROCESOS Y THREADS 12 GESTIÓN DE MEMORIA 9 ENTRADA/SALIDA 2

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

Page 3: Horas INTRODUCCIÓN 4 PROCESOS Y THREADS 12 GESTIÓN DE MEMORIA 9 ENTRADA/SALIDA 2

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

Page 4: Horas INTRODUCCIÓN 4 PROCESOS Y THREADS 12 GESTIÓN DE MEMORIA 9 ENTRADA/SALIDA 2

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 ?

Page 5: Horas INTRODUCCIÓN 4 PROCESOS Y THREADS 12 GESTIÓN DE MEMORIA 9 ENTRADA/SALIDA 2

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

Page 6: Horas INTRODUCCIÓN 4 PROCESOS Y THREADS 12 GESTIÓN DE MEMORIA 9 ENTRADA/SALIDA 2

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

Page 7: Horas INTRODUCCIÓN 4 PROCESOS Y THREADS 12 GESTIÓN DE MEMORIA 9 ENTRADA/SALIDA 2

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

Page 8: Horas INTRODUCCIÓN 4 PROCESOS Y THREADS 12 GESTIÓN DE MEMORIA 9 ENTRADA/SALIDA 2

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

Page 9: Horas INTRODUCCIÓN 4 PROCESOS Y THREADS 12 GESTIÓN DE MEMORIA 9 ENTRADA/SALIDA 2

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?

Page 10: Horas INTRODUCCIÓN 4 PROCESOS Y THREADS 12 GESTIÓN DE MEMORIA 9 ENTRADA/SALIDA 2

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

Page 11: Horas INTRODUCCIÓN 4 PROCESOS Y THREADS 12 GESTIÓN DE MEMORIA 9 ENTRADA/SALIDA 2

Entrada / Salida 11

Sw independiente: Almacenamiento (buffers)

PiUsuario

Kernel

Pi Pi Pi

Page 12: Horas INTRODUCCIÓN 4 PROCESOS Y THREADS 12 GESTIÓN DE MEMORIA 9 ENTRADA/SALIDA 2

Entrada / Salida 12

Sw independiente: Almacenamiento (buffers)

Page 13: Horas INTRODUCCIÓN 4 PROCESOS Y THREADS 12 GESTIÓN DE MEMORIA 9 ENTRADA/SALIDA 2

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

Page 14: Horas INTRODUCCIÓN 4 PROCESOS Y THREADS 12 GESTIÓN DE MEMORIA 9 ENTRADA/SALIDA 2

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:

Page 15: Horas INTRODUCCIÓN 4 PROCESOS Y THREADS 12 GESTIÓN DE MEMORIA 9 ENTRADA/SALIDA 2

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

Page 16: Horas INTRODUCCIÓN 4 PROCESOS Y THREADS 12 GESTIÓN DE MEMORIA 9 ENTRADA/SALIDA 2

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

Page 17: Horas INTRODUCCIÓN 4 PROCESOS Y THREADS 12 GESTIÓN DE MEMORIA 9 ENTRADA/SALIDA 2

Entrada / Salida 17

DISCOS (Hardware de los discos magnéticos - I)

Page 18: Horas INTRODUCCIÓN 4 PROCESOS Y THREADS 12 GESTIÓN DE MEMORIA 9 ENTRADA/SALIDA 2

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

Page 19: Horas INTRODUCCIÓN 4 PROCESOS Y THREADS 12 GESTIÓN DE MEMORIA 9 ENTRADA/SALIDA 2

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

Page 20: Horas INTRODUCCIÓN 4 PROCESOS Y THREADS 12 GESTIÓN DE MEMORIA 9 ENTRADA/SALIDA 2

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

Page 21: Horas INTRODUCCIÓN 4 PROCESOS Y THREADS 12 GESTIÓN DE MEMORIA 9 ENTRADA/SALIDA 2

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 ?

Page 22: Horas INTRODUCCIÓN 4 PROCESOS Y THREADS 12 GESTIÓN DE MEMORIA 9 ENTRADA/SALIDA 2

Entrada / Salida 22

DISCOS (Formateo a bajo nivel: cylinder skew)

Leer 5 sectores

Amortiguaposicionamiento

¿Viable?

Page 23: Horas INTRODUCCIÓN 4 PROCESOS Y THREADS 12 GESTIÓN DE MEMORIA 9 ENTRADA/SALIDA 2

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 !

Page 24: Horas INTRODUCCIÓN 4 PROCESOS Y THREADS 12 GESTIÓN DE MEMORIA 9 ENTRADA/SALIDA 2

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?

Page 25: Horas INTRODUCCIÓN 4 PROCESOS Y THREADS 12 GESTIÓN DE MEMORIA 9 ENTRADA/SALIDA 2

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 !

Page 26: Horas INTRODUCCIÓN 4 PROCESOS Y THREADS 12 GESTIÓN DE MEMORIA 9 ENTRADA/SALIDA 2

Entrada / Salida 26

DISCOS (Planificación del brazo: SSF “Shortest Seek First”)

¡ En total se atraviesan 61 cilindros !

INJUSTICIA + INANICIÓN

Page 27: Horas INTRODUCCIÓN 4 PROCESOS Y THREADS 12 GESTIÓN DE MEMORIA 9 ENTRADA/SALIDA 2

Entrada / Salida 27

DISCOS (Planificación del brazo: Ascensor )• Idea de sentido: (Sube – Baja) *

Page 28: Horas INTRODUCCIÓN 4 PROCESOS Y THREADS 12 GESTIÓN DE MEMORIA 9 ENTRADA/SALIDA 2

Entrada / Salida 28

DISCOS (Planificación del brazo: Ascensor mejorado CSCAN )

Page 29: Horas INTRODUCCIÓN 4 PROCESOS Y THREADS 12 GESTIÓN DE MEMORIA 9 ENTRADA/SALIDA 2

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.)