gestión de procesos1 horas 1introducciÓn4 2procesos y threads11 3gestiÓn de memoria9...

32
Gestión de Procesos 1 Horas 1 INTRODUCCIÓN 4 2 PROCESOS Y THREADS 11 3 GESTIÓN DE MEMORIA 9 4 ENTRADA/SALIDA sisOpe Temario Curso: 14/15

Upload: novio-muno

Post on 22-Jan-2016

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Gestión de Procesos1 Horas 1INTRODUCCIÓN4 2PROCESOS Y THREADS11 3GESTIÓN DE MEMORIA9 4ENTRADA/SALIDA1 5SISTEMA DE FICHEROS4 sisOpeTemarioCurso: 14/15

Gestión de Procesos 1

Horas

1 INTRODUCCIÓN

4

2 PROCESOS Y THREADS

11

3 GESTIÓN DE MEMORIA

9

4 ENTRADA/SALIDA

1

5 SISTEMA DE FICHEROS

4

sisOpe TemarioCurso: 14/15

Page 2: Gestión de Procesos1 Horas 1INTRODUCCIÓN4 2PROCESOS Y THREADS11 3GESTIÓN DE MEMORIA9 4ENTRADA/SALIDA1 5SISTEMA DE FICHEROS4 sisOpeTemarioCurso: 14/15

Sistema de Ficheros 2

Tema 5. Sistema de Ficheros

• INTRODUCCIÓN• Aspectos básicos

• Ficheros

• Directorios

• IMPLEMENTACIÓN• Aspecto de un Sistema de Ficheros

• Almacenamiento de ficheros

• Estructura de los directorios

• Gestión del espacio en disco

• Fiabilidad del Sistema de Ficheros

• Rendimiento del Sistema de Ficheros

Page 3: Gestión de Procesos1 Horas 1INTRODUCCIÓN4 2PROCESOS Y THREADS11 3GESTIÓN DE MEMORIA9 4ENTRADA/SALIDA1 5SISTEMA DE FICHEROS4 sisOpeTemarioCurso: 14/15

Sistema de Ficheros 3

Introducción

Sistema de Ficheros: Organización de la información• Directorios

• Ficheros• Gran capacidad

• Permanente

• Acceso concurrente y seguro

10MB 2TB

Page 4: Gestión de Procesos1 Horas 1INTRODUCCIÓN4 2PROCESOS Y THREADS11 3GESTIÓN DE MEMORIA9 4ENTRADA/SALIDA1 5SISTEMA DE FICHEROS4 sisOpeTemarioCurso: 14/15

Sistema de Ficheros 4

Introducción

Sistema de Ficheros: Organización de la información• Directorios

• Ficheros• Gran capacidad

• Permanente

• Acceso concurrente y seguro

Ficheros

NombrePropietario, Protecciones, Tiempos,Ubicación, Tamaño, Tipo, etc.

Contenido

• Atributos:

• Operaciones:

vs

¿Visible al Usuario?

int open(nombre, modo) Descriptor de Fichero

read (df, ...), write (df, ...), lseek (df, ...)

stat (nombre, ...), fstat (df, …)

close (df)

Descripción

-rw-r---- 1 pcarazo 2062 14321 May 20 13:52 practica1.c

ls -l

Page 5: Gestión de Procesos1 Horas 1INTRODUCCIÓN4 2PROCESOS Y THREADS11 3GESTIÓN DE MEMORIA9 4ENTRADA/SALIDA1 5SISTEMA DE FICHEROS4 sisOpeTemarioCurso: 14/15

Sistema de Ficheros 5

Introducción

dforg = open (“/usr/pepe/uno.txt”, O_RDONLY, 0);

dfdst = open (“/tmp/copia.txt”,

O_WRONLY | O_CREAT | O_TRUNC, 0600);do {

leidos = read (dforg, &buf, 4096);

write (dfdst, &buf, leidos);

} while (leidos == 4096);

close (dforg); close (dfdst);

cp /usr/pepe/uno.txt /tmp/copia.txt

Otras cuestiones:

Organizaciones: Tipo: Normal, Directorio,

Octeto, registro, árbol, ... Especial, Pipe, ...

Extensiones Acceso: Secuencial/Directo

Page 6: Gestión de Procesos1 Horas 1INTRODUCCIÓN4 2PROCESOS Y THREADS11 3GESTIÓN DE MEMORIA9 4ENTRADA/SALIDA1 5SISTEMA DE FICHEROS4 sisOpeTemarioCurso: 14/15

Sistema de Ficheros 6

Introducción ( Directorios )

NombrePropietario, Protecciones, Tiempos,Ubicación, Tamaño, Tipo, etc.

• Atributos:

• Operaciones: open, read, write, lseek, stat, fstat, close

crear, borrar, renombrar, ... (Ficheros / Directorios)

Descripción

Contenido

Entradas de Ficheros (Nombre [Descripción])

• Estructura:

• 1 Nivel Un único directorio

• 2 Niveles Un directorio por usuario + Directorio Maestro

• M Niveles Árbol de directorios• Nombre de ruta: Absoluta vs Relativa

• Directorio de trabajo (Actual)

Page 7: Gestión de Procesos1 Horas 1INTRODUCCIÓN4 2PROCESOS Y THREADS11 3GESTIÓN DE MEMORIA9 4ENTRADA/SALIDA1 5SISTEMA DE FICHEROS4 sisOpeTemarioCurso: 14/15

Sistema de Ficheros 7

Introducción ( El descriptor de fichero )Una forma muy habitual de guardar un fichero en disco es la siguiente:

Hola.txtNombre

Descripción

Contenido Bloques de Datos

Inodo

Directorio

df := open (“Hola.txt”, “r”);

búsquedaM.P.

Por eficiencia, se

carga su descripción en memoriaS.O.

Tabla de Ficheros Abiertos

0 1 2 N33

posición

¿Acceso concurrente?

1..max80

ls –i Hola.txt80 Hola.txt

Page 8: Gestión de Procesos1 Horas 1INTRODUCCIÓN4 2PROCESOS Y THREADS11 3GESTIÓN DE MEMORIA9 4ENTRADA/SALIDA1 5SISTEMA DE FICHEROS4 sisOpeTemarioCurso: 14/15

Sistema de Ficheros 8

Introducción ( El df con acceso concurrente )

df := open (“Hola.txt”, “r”);Pi

Hola.txt

0 1 2 N33

posición

df := open (“Hola.txt”, “r”);Pj

¡Coherencia de la descripción del fichero!

¡Compartir el df es compartir la posición!

Page 9: Gestión de Procesos1 Horas 1INTRODUCCIÓN4 2PROCESOS Y THREADS11 3GESTIÓN DE MEMORIA9 4ENTRADA/SALIDA1 5SISTEMA DE FICHEROS4 sisOpeTemarioCurso: 14/15

Sistema de Ficheros 9

Hola.txt

df := open (“Hola.txt”, “r”);Pi

df := open (“Hola.txt”, “r”);Pj

0 1 2 N330 1 2 N33

Tabla Global del Sistema

Introducción ( El df con acceso concurrente )

0 1 2 M210 1 2 M21

+Tablas Locales de

Descriptores

?

012ContAperturas

sysconf(_SC_OPEN_MAX)

Page 10: Gestión de Procesos1 Horas 1INTRODUCCIÓN4 2PROCESOS Y THREADS11 3GESTIÓN DE MEMORIA9 4ENTRADA/SALIDA1 5SISTEMA DE FICHEROS4 sisOpeTemarioCurso: 14/15

Sistema de Ficheros 10

Implementación ( Aspecto de un Sistema de Ficheros )

BLibres Bloques con el contenido de los ficherosDirectorio

Bootstrap Disco de Arranque

Superbloque Tamaño del disco, # máximo de ficheros, ...

Nombre1, Descripción1Nombre2, Descripción2Nombre3, Descripción3......................................NombreN, DescripciónN

MBR Partición activa

¡Bloques lógicos: 0..N! vs Cilindro, Pista y Sector

Page 11: Gestión de Procesos1 Horas 1INTRODUCCIÓN4 2PROCESOS Y THREADS11 3GESTIÓN DE MEMORIA9 4ENTRADA/SALIDA1 5SISTEMA DE FICHEROS4 sisOpeTemarioCurso: 14/15

Sistema de Ficheros 11

Implementación ( Almacenamiento de Ficheros )

Asignación de bloques contiguos vs dispersos

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 31 2

F2: 4..8F3: 9..15

F1: 0..3 Pros: • Fácil registrar Ubicación (Inicio..Fin)

• Eficiencia en acceso secuencial y directo

Contras: • Dificultad para crecer:

• Crear con el máximo:

desperdicio, ¿se conoce?

• Buscar un hueco mayor y copiarlo allí

• Complejo elegir dónde ubicar el fichero:• Se borra F2

• Se crea F4 (3)

F4

4..6 6..8

?

Políticas similares a gestión de memoria

En general

Fragmentación ExternaFragmentaciónInterna

df = open (“F3”, ….)lseek (df, 2051, …)read(df, &buffer, 1)

Bloque 1024B

Page 12: Gestión de Procesos1 Horas 1INTRODUCCIÓN4 2PROCESOS Y THREADS11 3GESTIÓN DE MEMORIA9 4ENTRADA/SALIDA1 5SISTEMA DE FICHEROS4 sisOpeTemarioCurso: 14/15

Sistema de Ficheros 12

1024

Implementación ( Lista encadenada “distribuida” )

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 31 2

A

A: 6, 2

B: 5, 12

C: 10, 13

B C

Pegas: • Acceso directo ineficiente (muchos accesos):

readByte (A, último) Bloques 6, 8, 4 y 2

• Poca fiabilidad:

¡ Bloque 8 erróneo ! Inaccesibles 4, 2, ...

• Más complejo calcular el acceso directo

readByte (A, 3070) y bloques de 1024B

0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 0Bloque lógico Offset

A

8

1022

2B parapuntero

¿necesario?

Page 13: Gestión de Procesos1 Horas 1INTRODUCCIÓN4 2PROCESOS Y THREADS11 3GESTIÓN DE MEMORIA9 4ENTRADA/SALIDA1 5SISTEMA DE FICHEROS4 sisOpeTemarioCurso: 14/15

Sistema de Ficheros 13

XX

0123456789

101112131415

F.A.T.Tamaño

disco

AB

C

AB C

Implementación ( Lista encadenada “centralizada global” )

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 51

FAT

8, 4, 2

9, 12

3, 13

A: 6

B: 5

C: 10

En la descripción del fichero se indica cuál es el primer bloque

En la FAT se indica el resto

8

4

2

EOF

3

13

EOF

9

EOF

12

FREE

FREE

FREEBAD

Acceso directo muy eficiente si toda la FAT

está cargada en M.P.

¿Problemas?

Historia de MSDOS

?

Page 14: Gestión de Procesos1 Horas 1INTRODUCCIÓN4 2PROCESOS Y THREADS11 3GESTIÓN DE MEMORIA9 4ENTRADA/SALIDA1 5SISTEMA DE FICHEROS4 sisOpeTemarioCurso: 14/15

Sistema de Ficheros 14

Implementación ( Lista encadenada “centralizada local” )

0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 51

AB C

AB C

2 3 4 5 6 7 8 9 0 1 2 3 4 51

FAT

10 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5

C 103

13

¡ Sólo necesario tener en M.P. las FAT de los ficheros abiertos !

¿Tamaño FAT’s?

FAT de 512B, punteros de 2B son 256 punteros

¡Tamaño maximo fichero 256KB!

A

B

C

Cada fichero su FAT

Asignación Indexada

¿Dónde?

Page 15: Gestión de Procesos1 Horas 1INTRODUCCIÓN4 2PROCESOS Y THREADS11 3GESTIÓN DE MEMORIA9 4ENTRADA/SALIDA1 5SISTEMA DE FICHEROS4 sisOpeTemarioCurso: 14/15

Sistema de Ficheros 15

Implementación ( Bloques de índices encadenados “Unix” )

descripción i-nodo

propietario,

tamaño, etc.Ubicación

FAT local de 12 entradas

Ptr[0]

1024

Ptr[1]

Ptr[11]Ptr_I

Bloque dePunterosa datos

¿Cuántos?4Bytes256

Ptr_IIPtr_III

Ficherosde hasta

Leer un byte# accesos

12K 1268K 1,2 64M 1..3 16G 1..4¿Seguro?

hola.txtnombre

contenido

Page 16: Gestión de Procesos1 Horas 1INTRODUCCIÓN4 2PROCESOS Y THREADS11 3GESTIÓN DE MEMORIA9 4ENTRADA/SALIDA1 5SISTEMA DE FICHEROS4 sisOpeTemarioCurso: 14/15

Sistema de Ficheros 16

Implementación ( Estructura de los Directorios )

MSDOS: Ejemplo de disquetes de 360K

Lista de 112 entradas de 32B

Límite sólo para \

10

Nombre EXT LONG

8 3 1 422 2

AtributosOcultoSólo lecturaDirectorio

FechaHora Primer Bloque

FAT¿Inconveniente de nombre y descripción juntos?

FAT1 Bloques con el contenido de ficheros y dir.Directorio

Raíz \FAT2

Page 17: Gestión de Procesos1 Horas 1INTRODUCCIÓN4 2PROCESOS Y THREADS11 3GESTIÓN DE MEMORIA9 4ENTRADA/SALIDA1 5SISTEMA DE FICHEROS4 sisOpeTemarioCurso: 14/15

Sistema de Ficheros 17

7 ptr directos

Ptr_I

Ptr_II

Ptr_III

64B

descripciones 409590

Implementación ( Estructura de los Directorios “UNIX like” )

Bloques ficheros y directorios

/

inodos

0 1 2 3 N

51280

modo# enlaces

uidgid

tamaño

T. acceso

T. modificación

T. cambio inodo

Entradas de 16B

inodo nombre2 14

/1 .1 ..

Bootstrap

Superbloque

inodos libres

Bloques libres

2 hola.txt hola.txt

nombres

¿Gestiónde

entradas?

Page 18: Gestión de Procesos1 Horas 1INTRODUCCIÓN4 2PROCESOS Y THREADS11 3GESTIÓN DE MEMORIA9 4ENTRADA/SALIDA1 5SISTEMA DE FICHEROS4 sisOpeTemarioCurso: 14/15

Sistema de Ficheros 18

Implementación ( Directorios: Nombres de longitud variable )

inodo nombre2 14 a.out

practica.cenUnLugarDeLaMancha.txt

?

inodo nombre

4Longitud

TotalLongitudNombre

2 2 255 como máximo + \0…

Solaris

1055360 12 1 .000

819456 12 2 ..00

1055361 24 14 filesystem.txt00

1055362 20 9 inode.txt000

1055363 16 7 dir.txt0

1055364 20 9 fstat.txt000

1055365 20 11 opendir.txt0

¿ rm fstat.txt ?

36

¿ open (archivo, …) ?

Page 19: Gestión de Procesos1 Horas 1INTRODUCCIÓN4 2PROCESOS Y THREADS11 3GESTIÓN DE MEMORIA9 4ENTRADA/SALIDA1 5SISTEMA DE FICHEROS4 sisOpeTemarioCurso: 14/15

Sistema de Ficheros 19

Implementación ( Directorios: Nombres de longitud variable )

• open (“ranura”, ….)

enunciado

origen

zafio

baluarte

gazapo

tiempo

artificio

velo

figura

lineal

ranura

ilustre

enunciado

origen

zafio

baluarte

gazapo

tiempo

artificio

velo

figura

lineal

ranura

ilustre

enunciado lineal tiempo

artificio

baluarte

figura

gazapo

ilustre

origen

ranura

zafio

velo

Page 20: Gestión de Procesos1 Horas 1INTRODUCCIÓN4 2PROCESOS Y THREADS11 3GESTIÓN DE MEMORIA9 4ENTRADA/SALIDA1 5SISTEMA DE FICHEROS4 sisOpeTemarioCurso: 14/15

Sistema de Ficheros 20

Implementación ( Directorios: Ficheros compartidos )

link (“/usr/jim/memo”, “/usr/ast/note”)

/

usrtmp dev

ast jim

mail

gamestest

bin

memo

f.c

prog1memonote

16814070

mailgamestestnote

/usr/ast31705938

binmemof.cprog1

/usr/jim

inodo 702

A: compartir nodo + cuántos

#enlaces

• ¿ jim => rm /usr/jim/memo ?

• ¿ /ast y /jim en S.F. distintos ?

Page 21: Gestión de Procesos1 Horas 1INTRODUCCIÓN4 2PROCESOS Y THREADS11 3GESTIÓN DE MEMORIA9 4ENTRADA/SALIDA1 5SISTEMA DE FICHEROS4 sisOpeTemarioCurso: 14/15

Sistema de Ficheros 21

Implementación ( Directorios: Ficheros compartidos )

link (“/usr/jim/memo”, “/usr/ast/note”)

/

usrtmp dev

ast jim

mail

gamestest

bin

memo

f.c

prog1memonote

inodo 90simbólico

16814090

mailgamestestnote

/usr/ast31705938

binmemof.cprog1

/usr/jim

B: Enlaces simbólicos

modo

/usr/jim/memo

Ptr[0]

?

Page 22: Gestión de Procesos1 Horas 1INTRODUCCIÓN4 2PROCESOS Y THREADS11 3GESTIÓN DE MEMORIA9 4ENTRADA/SALIDA1 5SISTEMA DE FICHEROS4 sisOpeTemarioCurso: 14/15

Sistema de Ficheros 22

Implementación ( Gestión del espacio en disco )• Tamaño del bloque: Cilindro – Pista - Sector

grande

pequeño

• Fragmentación interna ¿1/2 bloque por fichero?

• Peor ajuste al tamaño medio ficheros1984 (1K) ..... 1997 (12K..15K)

• Baja la velocidad de transferencia

Sea:32.768 Bytes por pista16,67 mseg de Trotación30 mseg de Tposicionarse

Kbytes/s

128 256 512 1K 2K 4K 8KTamaño

del Bloque

200

150

100

50

0

Lo más habitual

40MB - 160KB - 0,5KB 40GB

3,36

% uso disco100

75

50

25

0Ficheros de 1K

Page 23: Gestión de Procesos1 Horas 1INTRODUCCIÓN4 2PROCESOS Y THREADS11 3GESTIÓN DE MEMORIA9 4ENTRADA/SALIDA1 5SISTEMA DE FICHEROS4 sisOpeTemarioCurso: 14/15

Sistema de Ficheros 23

BLibres BloquesDirectorio

Disco 20M y bloques de 1K

MP

MB

• Para que sea eficiente, debe estar entero en MP

Implementación ( Gestión del espacio en disco )• Gestión de bloques libres:

Implentar eficientemente: int pedirBloque() y liberarBloque(int)

Mantenerse en disco como información permanente

0 0 0

1 11 11111

000

11

bloques ocupados

bloques libres

0101101111100011------------

Mapa debitsmount

sync, umount, shutdown

MPSi sólo cabe un bloque en MP,

¿borrar un fichero de 4 bloques?

4..8 accesos a disco

Page 24: Gestión de Procesos1 Horas 1INTRODUCCIÓN4 2PROCESOS Y THREADS11 3GESTIÓN DE MEMORIA9 4ENTRADA/SALIDA1 5SISTEMA DE FICHEROS4 sisOpeTemarioCurso: 14/15

Sistema de Ficheros 24

MP

Implementación ( Gestión del espacio en disco )Disco de 40GB y bloques de 1K => Mapa de 5MB ¿Todo en M.P.?

• Lista encadenada distribuida

LBLibres Directorio

pu

F1

LBLibres Directorio

pu

• Borrar F1 1 acceso a disco (E)

Sin accederal disco

• Pedir bloque libre 1 acceso a disco (L)

Page 25: Gestión de Procesos1 Horas 1INTRODUCCIÓN4 2PROCESOS Y THREADS11 3GESTIÓN DE MEMORIA9 4ENTRADA/SALIDA1 5SISTEMA DE FICHEROS4 sisOpeTemarioCurso: 14/15

Sistema de Ficheros 25

Implementación ( Gestión del espacio en disco )

• Lista encadenada centralizada (Bloques de índices libres)

LBLibres Directorio

FAT

• Sea un disco de 20MB y bloques de 1K 20480 bloques

LBLibres Bloques (libres / ocupados)

40 41 42 204790 39

¡Formatear!41,42,43,44,45, ---------------------,20478,20479

Pedir 3 bloques

Liberar bloque 41

40,41,42,44,45, ---------------------,20478,2047941,42,43

40,41,41,44,45, ---------------------,20478,2047941,42

Page 26: Gestión de Procesos1 Horas 1INTRODUCCIÓN4 2PROCESOS Y THREADS11 3GESTIÓN DE MEMORIA9 4ENTRADA/SALIDA1 5SISTEMA DE FICHEROS4 sisOpeTemarioCurso: 14/15

Sistema de Ficheros 26

MP

4142

511

0

Implementación ( Tamaño de la lista de bloques libres )Con disco de 20MB y bloques de 1K 20480 bloques:

Si ptrBloque son 2B LBLibres = (20439*2)/1024 = 40 bloques

LBLibres Bloques (libres / ocupados)

40 41 42 204790 39

Con un solo

bloque en MP hay

eficiencia

Pidobloque

Liberobloque

80511

500

80511

512

1023

1

411023

4142

511

0512

1023

119968

20479

39

0

411023

119968

20479

39

shutdownPtr 1er bloque libre

1::1020Tamaño disco, ....82B

Con 2 ó 3 bloques en MP sí hay eficiencia

Page 27: Gestión de Procesos1 Horas 1INTRODUCCIÓN4 2PROCESOS Y THREADS11 3GESTIÓN DE MEMORIA9 4ENTRADA/SALIDA1 5SISTEMA DE FICHEROS4 sisOpeTemarioCurso: 14/15

Sistema de Ficheros 27

Implementación ( Fiabilidad )

Fiabilidad: Protección frente a imponderables (Hw / Sw)

Problema

• Bloque erróneo

Tratamiento

• Lista de bloques defectuosos

• Disco inservible • Copias preventivas

Hw

leve

serio

• S.F. IncoherenteSw ÙÐ

þØ dir¶ÐðòÎþõ暥Ħťů�

• Restaurar coherencia

scandisk

fsck

Page 28: Gestión de Procesos1 Horas 1INTRODUCCIÓN4 2PROCESOS Y THREADS11 3GESTIÓN DE MEMORIA9 4ENTRADA/SALIDA1 5SISTEMA DE FICHEROS4 sisOpeTemarioCurso: 14/15

Sistema de Ficheros 28

Implementación ( Fiabilidad “Copias preventivas” )

• Sistemas de volcadosCintas ¡ Lentos y Voluminosos !

• Volcados incrementales

Volcar cambios desde volcado anterior

• Un disco lógico y dos físicos

Datos0

Copia1

Disco 0

UCP

Datos1

Copia0

Disco 1

¿Mejor?

www.hp.com

Datos

Disco 0

UCP

Copia

Disco 1

1,5..3TB a 140MB/seg

2499$

¿ RAID ?

4+4 5749$

“The hot new storage technology for 2011 is… tape?”

Page 29: Gestión de Procesos1 Horas 1INTRODUCCIÓN4 2PROCESOS Y THREADS11 3GESTIÓN DE MEMORIA9 4ENTRADA/SALIDA1 5SISTEMA DE FICHEROS4 sisOpeTemarioCurso: 14/15

Sistema de Ficheros 29

Implementación ( Fiabilidad “Consistencia SF” )

Mapa |Lista

Nodos

Mapa |Lista

BloquesI-Nodos Bloques De bloques

Libres OcupadosPunteros a bloques

L O = E

L ∩ O = Ø

¿Algoritmo?

00

00

00

00

00

00

0 1 2 3 nBloqueLibreOcupado

• Casos:

01

10

coherente

00

perdido ?/lost+found

20

Repetido libre ? Dejar uno

02

Repetido ocupado

Replicarlo?

1

++

1

++

Page 30: Gestión de Procesos1 Horas 1INTRODUCCIÓN4 2PROCESOS Y THREADS11 3GESTIÓN DE MEMORIA9 4ENTRADA/SALIDA1 5SISTEMA DE FICHEROS4 sisOpeTemarioCurso: 14/15

Sistema de Ficheros 30

Implementación ( Fiabilidad “Consistencia SF” )

De ficheros

modo# enlaces

uidgid

tamaño

T. acceso

T. modificación

T. cambio inodo

# enlaces

16814070

mailgamestestnote

/usr/ast31705938

binmemof.cprog1

/usr/jim

inodo 702 #enlaces

¿Algoritmo?

OK

0 0 0 0 0 00 1 2 3 nNodo

# entradas70

0

• Recorrer SF

1

++

2

++

• Recorrer nodos:#entradas = #enlaces

Page 31: Gestión de Procesos1 Horas 1INTRODUCCIÓN4 2PROCESOS Y THREADS11 3GESTIÓN DE MEMORIA9 4ENTRADA/SALIDA1 5SISTEMA DE FICHEROS4 sisOpeTemarioCurso: 14/15

Sistema de Ficheros 31

Implementación ( Rendimiento: Caché de bloques )

L3 L2

L1I

L1D

UCP1,6 GHzMP

1615

Cachébloques

• Viable LRU

Reciente (MRU) Antiguo (LRU)

?

• Búsqueda rápida

Tabla hash

• Tipos de bloques: nodo-i, ptr, datos

sync + update

Cache transparente W

Page 32: Gestión de Procesos1 Horas 1INTRODUCCIÓN4 2PROCESOS Y THREADS11 3GESTIÓN DE MEMORIA9 4ENTRADA/SALIDA1 5SISTEMA DE FICHEROS4 sisOpeTemarioCurso: 14/15

Sistema de Ficheros 32

Implementación ( Rendimiento: otras mejoras )

• Leer (traer a cache) por adelantado “prefetch”

• Asignar bloques contiguos a ficheros: zona = n bloques

• Ubicación de inodos más distribuida