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-