File Systems - Universidad de Buenos Aires

Anuncio
Facultad de Ingeniería
Universidad de Buenos Aires
75-08 Sistemas Operativos
Lic. Ing. Osvaldo Clúa
2do Cuatrimestre 2006
File Systems
El File System
●
Provee acceso y almacenamiento a datos y programas.
●
Presenta dos aspectos:
●
–
Interfaz de usuario.
–
Implementación.
La interfaz exporta la noción de:
–
Directorios
–
Archivos
FIUBA 2006
75-08 Sistemas Operativos
Lic. Prof. Osvaldo Clúa
-2-
Files
●
Una colección de datos con nombre.
●
Una unidad lógica de almacenamiento.
–
●
Abstrae las propiedades físicas del dispositivo
de almacenamiento.
Provee persistencia a través de
FIUBA 2006
–
Reinicios.
–
Activaciones de programas.
–
Fallas de energía.
75-08 Sistemas Operativos
Lic. Prof. Osvaldo Clúa
-3-
Atributos de un archivo
●
Nombre.
●
Ubicación.
●
Tamaño.
●
Protección.
FIUBA 2006
●
Tipo (algunos
Sistemas
operativos los
distinguen).
–
Extensiones
–
Tablas de Bases de Datos
–
Usando archivos de asociación
(Registry)
–
Magic
75-08 Sistemas Operativos
Lic. Prof. Osvaldo Clúa
-4-
Atributos de un archivo (II)
●
Propietario
●
Time Stamp:
–
–
–
●
¿Donde se guarda el
atributo?
Creación.
–
Directorio.
Modificación.
–
Archivo.
Acceso.
–
Estructura
separada.
FIUBA 2006
75-08 Sistemas Operativos
Lic. Prof. Osvaldo Clúa
-5-
Operaciones sobre los archivos
Create
●
Delete
●
Open
●
Close
●
●
●
●
●
Read
●
Append
Seek
Get attributes
Set Attributes
Rename
●
Write
●
FIUBA 2006
75-08 Sistemas Operativos
Lic. Prof. Osvaldo Clúa
-6-
Operaciones sobre Directorios
●
Create
●
Readdir
●
Delete
●
Rename
●
Opendir
●
Link
●
Closedir
●
Unlink
FIUBA 2006
75-08 Sistemas Operativos
Lic. Prof. Osvaldo Clúa
-7-
Métodos de Acceso
●
Sequential Access
●
Direct Access
–
read next
–
read n
–
write next
–
write n
–
reset
–
position n
–
rewrite
–
FIUBA 2006
●
read next
●
write next
rewrite n
75-08 Sistemas Operativos
Lic. Prof. Osvaldo Clúa
-8-
Partición de Discos con MBR
FIUBA 2006
75-08 Sistemas Operativos
Lic. Prof. Osvaldo Clúa
-9-
Partición GUID-EFI
GUID -globally
unique identifier
EFI - Extensible
Firmware Interface
LBA - logical block
addressing
GPT - GUID Partition
Table
FIUBA 2006
75-08 Sistemas Operativos
Lic. Prof. Osvaldo Clúa
-10-
FAT File System
0
\
1
3
2
4
3
7
4
EOF
5
6
7
EOF
EOF
a.txt
b.txt
c.txt
1
5
2
a.txt
c.txt
1
2
a.txt
3
c.txt
4
b.txt
5
6
Directorio
(Block 0)
a.txt
8
7
Storage Blocks
File Allocation Table
(FAT)
FIUBA 2006
75-08 Sistemas Operativos
Lic. Prof. Osvaldo Clúa
-11-
System V File System
FIUBA 2006
75-08 Sistemas Operativos
Lic. Prof. Osvaldo Clúa
-12-
NTFS (I)
MFT Master File Table
FSInfo>ntfsinfo.exe c:
NTFS Information Dump V1.01
Copyright (C) 1997 Mark Russinovich
http://www.sysinternals.com
Volume Size
----------Volume size
Total sectors
Total clusters
Free clusters
Free space
Para ver la estructura se puede
usar NTFSInfo :
●
:
:
:
:
:
Allocation Size
---------------Bytes per sector
:
Bytes per cluster
:
Bytes per MFT record
:
Clusters per MFT record:
20465 MB
41913521
5239190
2462979
9621 MB (47% of drive)
512
4096
1024
0
MFT Information
--------------http://www.microsoft.com/technet/sysinternals/FileAndDisk/NtfsInfo.mspx
MFT size
: 54 MB (0% of drive)
●
MFT
start
cluster
: 786432
Mas información http://www.ntfs.com/
MFT zone clusters
: 800448 - 1120288
MFT zone size
MFT mirror start
: 1249 MB (6% of drive)
: 2619595
Meta-Data files
---------------
FIUBA 2006
75-08 Sistemas Operativos
Lic. Prof. Osvaldo Clúa
-13-
NTFS (II)
Metafiles
User Files
MFT Record for a Small File or Directory
FIUBA 2006
75-08 Sistemas Operativos
Lic. Prof. Osvaldo Clúa
-14-
Log File Systems
●
●
●
●
También conocidos como Journaling File
Systems
Las escrituras se hacen a un log como
transacciones.
El log está en memoria estable.
EL file system se actualiza en forma
asincrónica.
FIUBA 2006
75-08 Sistemas Operativos
Lic. Prof. Osvaldo Clúa
-15-
Estructuras usadas en el procesamiento de Archivos
Código del
Programa
Per Process
structure
Kernel structure
Disk structure
dup, dup2 y fork
duplican el fd
Buffers
U-File
Table
FILE *
FILE struct
(opaca)
i-node table
Count
FIUBA 2006
flags
Open File Table
i-node
f
d
Buffers
inode
Storage
Blocks
75-08 Sistemas Operativos
Lic. Prof. Osvaldo Clúa
offset
mount
f. system
routines
Storage
Blocks
-16-
Archivos mapeados a memoria
●
Se ven como parte de la memoria.
NAME
mmap, munmap - map or unmap files or devices into memory
SYNOPSIS
#include <sys/mman.h>
void * mmap(void *start, size_t length, int prot , int flags, int fd, off_t offset);
int munmap(void *start, size_t length);
●
Se manejan junto con la memoria virtual.
●
Permite compartir archivos.
FIUBA 2006
75-08 Sistemas Operativos
Lic. Prof. Osvaldo Clúa
-17-
El Buffer Cache
FIUBA 2006
75-08 Sistemas Operativos
Lic. Prof. Osvaldo Clúa
-18-
Virtual File System (I)
●
●
FIUBA 2006
Maneja el acceso a
directorios y
archivos.
Presenta una
interfaz unificada
independiente del
file System.
75-08 Sistemas Operativos
Lic. Prof. Osvaldo Clúa
-19-
Virtual File System (II)
●
Interactúa con los File Systems ...
–
●
●
que interactúan con el buffer
cache, el page-cache y los
dispositivos.
Interactúa con el usuario por
medio de las System Calls.
Provee las estructuras de datos
como dcache, inodes cache y user
files tables
Mas información en
http://www.haifux.org/lectures/119/linux-2.4-vfs/index.html
FIUBA 2006
75-08 Sistemas Operativos
Lic. Prof. Osvaldo Clúa
-20-
Objetos - Persistencia
●
Característica de perdurar entre ejecución y ejecución.
●
Object Data Base management Systems (ODBMS).
–
De empleo en aplicaciones industriales.
–
Usan un Object Query Language.
●
http://en.wikipedia.org/wiki/Object_database
http://www.service-architecture.com/object-oriented-databases/articles/index.html
●
Object Relational Mapping
–
FIUBA 2006
Los atributos de un objeto se cargan desde una RDBMS
●
De empleo en aplicaciones “Administrativas”.
●
http://en.wikipedia.org/wiki/Object-relational_database
75-08 Sistemas Operativos
Lic. Prof. Osvaldo Clúa
-21-
Descargar