You are on page 1of 35

SISTEMAS OPERATIVOS

COMPUESTOS II
Claudia Urea

CONTROL DE MEMORIA
Claudia Urea

TIPOS DE MEMORIA

Archivo ejecutable

Archivos permanentes
ISO 9660

CACHE (ESCONDIDO)

Un cach es una coleccin de bloques que lgicamente


deberan estar en el disco pero se estn manteniendo en la
memoria por razones de desempeo.

Tabla Hash

Estructura de datos del cach de bufe

QU PASA EN LA MEMORIA?

Archivo ejecutable

Archivos permanentes

Nmero mgico

Encabezado

Encabezado

Tamao del texto


Tamao de los datos
Tamao del BSS
Tamao de la tabla
de smbolos
Punto de entrada
Banderas

Mdulo
objeto

Encabezado

Texto

Archivo
ejecutable

Mdulo
objeto
Datos

Encabezado

Bits de reubicacin

Tabla de
smbolos

Mdulo
objeto

(a)

Figura 4-3. (a) Un archivo ejecutable. (b) Un archivo.

(b)

Nmero mgico

Nombre del
mdulo
Encabezado

Encabezado

Tamao del texto


Tamao de los datos

Datos

Tamao del BSS


Tamao de la tabla
de smbolos
Punto de entrada

Mdulo
objeto

Propietario
Proteccin
Tamao

Banderas

Archivos permanentes
Texto

Encabezado

Mdulo
objeto
Datos

Encabezado

Bits de reubicacin

Tabla de
smbolos

Mdulo
objeto

(a)

Figura 4-3. (a) Un archivo ejecutable. (b) Un archivo.

(b)

ATRIBUTOS BSICOS
Nombre: la nica informacin en formato legible por una persona.
Identificacin nica del archivo y del usuario: descriptor interno del
archivo, dueo y grupo del archivo
Tipo de archivo: necesario en sistemas que proporciona distintos formatos de
archivos.
Tamao del archivo: nmero de bytes en el archivo, mximo tamao posible,
etc.
Proteccin: control de accesos y de las operaciones sobre archivos
Informacin temporal: de creacin, de acceso, de modificacin, etc.
Informacin de control: archivo oculto, de sistema, normal o directorio, etc.

MTODOS DE ASIGNACIN DE ESPACIO EN DISCO

FAT

LFS

XFS

NTFS

SECCIN 4.3

IMPLEMENTACIN DE SISTEMAS DE ARCHIVOS

277

FAT (ASIGNACIN POR LISTAS ENLAZADAS EMPLEANDO UNA TABLA DE MEMORIA)

Asignacin de lista enlazada (ligada)

El segundo mtodo para almacenar archivos es mantener cada uno como una lista enlazada de bloques de disco, como se muestra en la figura 4-11. La primera palabra de cada bloque se utiliza como apuntador al siguiente. El resto del bloque es para los datos.
Archivo A
0

Bloque
fsico

Bloque
de
archivo
0

Bloque
de
archivo
1

Bloque
de
archivo
2

Bloque
de
archivo
3

Bloque
de
archivo
4

10

12

Archivo B
0

Bloque
fsico

Bloque
de
archivo
0

Bloque
de
archivo
1

Bloque
de
archivo
2

Bloque
de
archivo
3

11

14

Figura 4-11. Almacenamiento de un archivo como una lista enlazada de bloques de


disco.

278

SISTEMAS DE ARCHIVOS

CAPTULO 4

tra cul es la apariencia de la tabla para el ejemplo de la figura 4-11. En ambas figuras tenemos dos
archivos. El archivo A utiliza los bloques de disco 4, 7, 2, 10 y 12, en ese orden y el archivo B utiliza los bloques de disco 6, 3, 11 y 14, en ese orden. Utilizando la tabla de la figura 4-12, podemos
empezar con el bloque 4 y seguir toda la cadena hasta el final. Lo mismo se puede hacer empezando con el bloque 6. Ambas cadenas se terminan con un marcador especial (por ejemplo, !1) que
no sea un nmero de bloque vlido. Dicha tabla en memoria principal se conoce como FAT (File
Allocation Table, Tabla de asignacin de archivos).
Bloque
fsico
0
1
2

10

11

El archivo A empieza aqu

El archivo B empieza aqu

8
9

A diferencia de la asignacin contigua, en este mtodo se puede utilizar cada bloque del disco.
10
12
11
14
No se pierde espacio debido a la fragmentacin del disco (excepto por la fragmentacin interna en
12
1
el ltimo bloque). Adems, para la entrada del directorio slo le basta con almacenar la direccin
13
14
1
de disco del primer bloque. El resto se puede encontrar a partir de ella.
15
Bloque sin utilizar
Por otro lado, aunque la lectura secuencial un archivo es directa, el acceso aleatorio es en exFigura 4-12. Asignacin de lista enlazada que utiliza una tabla de asignacin de architremo lento. Para llegar al bloque n, el sistema operativo tiene que empezar desde el principio
vos en la memoria principal.
y leer los n 1 bloques anteriores, uno a la vez. Es clarto que tantas lecturas sern demasiado
Utilizando esta organizacin, el bloque completo est disponible para los datos. Adems, el aclentas.
ceso aleatorio es mucho ms sencillo. Aunque an se debe seguir la cadena para encontrar un desAdems, la cantidad de almacenamiento de datos en un bloque ya no es una potencia de dos,
plazamiento dado dentro del archivo, la cadena est completamente en memoria y se puede seguir
sin necesidad de hacer referencias al disco. Al igual que el mtodo anterior, la entrada de directorio
debido a que el apuntador ocupa unos cuantos bytes. Aunque no es fatal, tener un tamao peculiar
necesita mantener slo un entero (el nmero de bloque inicial) y an as puede localizar todos los
es menos eficiente debido a que muchos programas leen y escriben en bloques, cuyo tamao es una
bloques, sin importar qu tan grande sea el archivo.
potencia de dos. Con los primeros bytes de cada bloque ocupados por un apuntador al siguiente blo- La principal desventaja de este mtodo es que toda la tabla debe estar en memoria todo el tiempo para que funcione. Con un disco de 200 GB y un tamao de bloque de 1 KB, la tabla necesita
que, leer el tamao del bloque completo requiere adquirir y concatenar informacin de dos bloques
200 millones de entradas, una para cada uno de los 200 millones de bloques de disco. Cada entrada debe tener un mnimo de 3 bytes. Para que la bsqueda sea rpida, deben tener 4 bytes. As, la
de disco, lo cual genera un gasto adicional de procesamiento debido a la copia.

20Gb -> 1KB

Windows

20 millones de entradas

FAT ANTES DE XP

Buen trabajo y robustez

Portable

exFAT (FAT
FAT 16 (FAT)
FAT 32
Maximum file
2TB 64)
(limited
2GB
4GB
size type
by
card)
SDHC,
SDXC,
SD Card
SD
microSDHC
microSDXC
PC Compatible Windows ME/ Windows
ME/ Windows
XP/
OS
2000/XP/7/8.1
2000/XP/7/8.1
Vista/7/8.1
Windows
OS
Notes

Mac
Macrequire
OS X
Mac OS 8/9/X Mac OS 8/9/X may
Compatible OS
10.6.5 and

NTFS (2003) NEW TECHNOLOGY FILE SYSTEM

Seguridad

Confianza

Maneja tamaos de archivo grandes

Maximo almacenamiento del NTFS es 16EB


(Exabytes)
Volume Size
7megabytes (MB)512MB
513MB1,024MB

NTFS Cluster Size


512bytes
1KB

1,025MB2GB

2KB

2GB2 terabytes

4KB

LINUX ->EXT4

Maneja 16 TB de bloques

iNode es de 60 bytes -> para 12 bytes

EXT4

Si el archivo es ms grande de 512 Mbs, se construye un rbol


externo

NFS NETWORK FILE SYSTEM EN LINUX

Servidor de red

Acceso remoto (hilos)

Sincronizacin

XFS

64-bit file system

maneja archivos grandes

Lento cuando se virtualiza

if you have large or lots, use XFS (Val Aurora, LCA 2007)
https://lwn.net/Articles/476263/

INODE = INDEX NODE

ADMINISTRACIN DE DISCO

Confiabilidad del sistema de archivos

Copias de seguridad
Vaciado fsico Vs Vaciado lgico

VACIADO FSICO

De inicio a fin

VACIADO
LGICO
302

SISTEMAS DE ARCHIVOS
1

Directorio
que no ha
cambiado

Directorio raz

16

18

17

19

CAPTULO 4

10

11

12

13

27

20

22

14

21

23

15

Archivo que
ha cambiado

24

29

28

25

30

31

32

Archivo que no
26 ha cambiado

Figura 4-25. Un sistema de archivos que se va a vaciar. Los cuadros son directorios y
los crculos son archivos. Los elementos sombreados han sido modificados desde el ltimo vaciado. Cada directorio y archivo est etiquetado con base en su nmero de nodo-i.

la recuperacin por causa de estupidez). Suponga que se realiza un vaciado completo del sistema

(a)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

(b)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
SECCIN 4.4

ADMINISTRACIN Y OPTIMIZACIN DE SISTEMAS DE ARCHIVOS 305

(c)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32

(d)

Si el sistema de archivos es consistente, cada bloque tendr un 1 en la primera tabla o en la segunda, como se ilustra en la figura 4-27(a). Sin embargo, como resultado de una falla, las tablas podran verse como en la figura 4-27(b), donde el bloque 2 no ocurre en ninguna de las dos tablas. Se
1 2 3 4reportar
5 6 como
7 8un 9
10 11
12 13Aunque
14 15los16
17 18faltantes
19 20no21hacen
22 23
24 25
27 28 29 30 31 32
bloque
faltante.
bloques
un dao
real,26
desperdician espacio y por ende reducen la capacidad del disco. La solucin a los bloques faltantes es directa: el verificador del sistema de archivos slo los agrega a la lista de bloques libres.

Figura 4-26. Mapas de bits utilizados por el algoritmo de vaciado lgico.


Nmero de bloque

Nmero de bloque

0 1 2 3 4 5 6 7 8 9 101112131415

0 1 2 3 4 5 6 7 8 9 101112131415

1 1 0 1 0 1 1 1 1 0 0 1 1 1 0 0 Bloques en uso

1 1 0 1 0 1 1 1 1 0 0 1 1 1 0 0 Bloques en uso

En este punto se
sabe qu directorios y archivos
se deben vaciar. stos son los que estn m
0 0 1 0 1 0 0 0 0 1 1 0 0 0 1 1 Bloques libres
0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 1 Bloques libres
dos en la figura 4-26(b). La fase
3 consiste en explorar los nodos-i
en orden numrico y va
(a)
(b)
os los directorios marcados para vaciado. stos se muestran en la figura 4-26(c). Cada dire
0 1 2 3 4 5 6 7 8 9 101112131415
0 1 2 3 4 5 6 7 8 9 101112131415
tiene como prefijo
sus
atributos
(propietario,
horas,
se enpueda
restaurar.
1 1 0 1 0 1 1 1 1 0 0 1 1 1 0 0 Bloques en uso 1 1 0 1etc.)
0 2 1 de
1 1 manera
0 0 1 1 1 0 que
0 Bloques
uso
imo, en la fase 4 0tambin
se vacan los archivos marcados
en la figura 4.26(d), que de nuevo
0 1 0 2 0 0 0 0 1 1 0 0 0 1 1 Bloques libres
0 0 1 0 1 0 0 0 0 1 1 0 0 0 1 1 Bloques libres
n como prefijo sus atributos. Esto
completa el vaciado.
(c)
(d)
Restaurar un sistemaFigura
de archivos
dearchivos.
las cintas
de vaciado
es un proceso directo. P
4-27. Estadosadelpartir
sistema de
(a) Consistente.
(b) Bloque faltante.
(c) Bloque duplicado en la lista de bloques libres. (d) Bloque de datos duplicado.
pezar, se crea un sistema
de archivos vaco en el disco. Despus se restaura el vaciado com

JERRQUICO

OPERACIONES SOBRE ARCHIVOS

chmod

l-wrx-wrx-wrx

u = usuario
g = usuario

chmod u=r archivo.tx

otros = o
a= todos

chmod 444 archivo.txt

OPERACIONES SOBRE ARCHIVOS

chmod

l-wrx-wrx-wrx
-

- para archivos

s para sockets

d para directorios

p para tuberias

l para enlaces

b para bloqueos

OPERACIONES SOBRE ARCHIVOS

create

delete

open

close

read

write
append
seek
get attributes
set atributes
rename

ESTRUCTURA DE
DIRECTORIOS
Un solo nivel
Vs.
Dos niveles

UN SOLO NIVEL

IN 4.2

DIRECTORIOS
Directorio raz

Figura 4-6. Un sistema de directorio de un solo nivel que contiene cuatro archivos.

n consecuencia, se necesita una forma de agrupar los archivos relacionados. Por ejem
or podra tener una coleccin de archivos que en conjunto formen un libro que est es
a un curso, una segunda coleccin de archivos que contienen programas enviados po
tes para otro curso, un tercer grupo de archivos que contenga el cdigo de un sist

varios usuarios comparten un servidor de archivos comn, como se da el caso en m


empresas, cada usuario puede tener un directorio raz privado para su propia jerarq
DOS
NIVELES
ema se muestra en la figura 4-7. Aqu, cada uno de los directorios A, B y C conteni
torio raz pertenecen a un usuario distinto, dos de los cuales han creado subdire
oyectos en los que estn trabajando.
Directorio raz
Directorio
de usuario
A

Subdirectorios de usuario
C

Archivo de usuario

Figura 4-7. Un sistema de directorios jerrquico.

La capacidad de los usuarios para crear un nmero arbitrario de subdirectorios pro