Professional Documents
Culture Documents
Registros CPU Cach L1, L2 Memoria Primaria (RAM) Memoria Secundaria (Discos, flash cards, CDs, DVDs, Cintas)
No voltil (permanente sin energa elctrica) Guardar / Recuperar fcilmente Organizada Desde el punto de vista de procesos / SO: Almacenar gran cantidad de datos/informacin (data) Sobrevivr la terminacin del proceso que la usa Acceso concurrente de mltiples procesos
Sistemas Operativos 2009 F. Solari
Dipositivos rotacionales Lectura/escritura electro-magntica (RLL/MFM) Multiples superficies --> mltiples cabezales r/w Incremento de complejidad en la org. Interna, se trata de mantener transparente al software.
Sistemas Operativos 2009 F. Solari
Cmo encontrar la informacin requerida? Cmo alejar a un usuario de la data de otro? Cmo saber qu bloques estn disponibles? Se requiere de alguna abstraccin, as como el proceso para la CPU, el espacio de direcciones para la memoria....esta abstraccin es el ARCHIVO (FILE)(FICHERO en espaol...)
Sistemas Operativos 2009 F. Solari
Los archivos son unidades lgicas de informacin, que crean los procesos. Como abstraccin, podramos hacer una semejanza con los espacios de direcciones, usados para modelar la memoria, esta vez, para modelar el disco. Los archivos deben ser persistentes ms all de la terminacin de los procesos, y desaparecer cuando el propietario explcitamente lo remueve. Deben establecerse operaciones centralizadas para los archivos. Operativos 2009 F. Solari Sistemas
La parte del Sistema Operativo que tiene que ver con los archivos se conoce como Filesystem o Sistema de Archivos
Sistemas Operativos 2009 F. Solari
Cmo se visualiza, cmo se ven los archivos Qu constituye un archivo Cmo se nombran y protegen Qu operaciones se permiten
Cmo llevar la cuenta de bloques libres/ocupados Cmo obtener los bloques de un archivo ...
Sistemas Operativos 2009 F. Solari
Volumen
Memoria
Network
A nivel de Volumen :
Particionamiento del medio Agregacin de particiones/medios/dispositivos Archivos Directorios Manejo del espacio Implementacin: casos reales
A nivel de Filesystem:
La facilidad de su uso normalmente oculta al usuario final los detalles de cmo y donde se almacena y las operaciones sobre el medio. Una caracterstica muy importante de la abstraccin es la forma de identificar: nombre
Sistemas Operativos 2009 F. Solari
Caracteres ASCII o UNICODE Cadenas de caracteres, de 1 a 8 mnimo. Mx 255 Se permiten dgitos y algunos caracteres especiales: -,_,+,$,.,! No se permiten otros meta-caracteres:
.,..,/,\
MS-DOS (FAT): extensiones de hasta 3 char, como INDEX.HTM Unix: depende del usuario (el . parte del nombre); ms de una extensin, como index.html.zip Convencionalmente: el usuario y aplicaciones El sistema operativo: restringe el uso Recurso intermedio: asociacin de la extensin al shell Sistemas Operativos 2009 F. Solari
Ant
Fox
Pig
Archivos regulares Directorios Character special file Block special file Hard links Soft links
Sistemas Operativos 2009 F. Solari
Ascii o Unicode
Desplegables en pantalla directamente Editables fcilmente Imprimibles directamente en cualquier dispositivo Contenido conocido por la aplicacin que la produjo Problema de compatiblidad de aplicaciones
Binarios
Contenido de archivamiento
Histricamente: acceso secuencial, principalmente por las caractersticas del medio (cintas) Discos, en la actualidad: acceso aleatorio similarmente que la RAM, puede leerse o escribirse un byte en cualquier orden.
Mtodo directo, cada operacin requiere posicin Mtodo relativo, se d una operacin de ubicacin (seek), y a partir de esta posicin actual, secuencia. Este es el comnmente usado.
Sistemas Operativos 2009 F. Solari
Vara mucho de sistema a sistema, en cantidad, en terminologa, forma de almacenar, tipo de dato a almacenar. La tabla siguiente muestra posibles atributos que los sistemas pueden implementar para cada archivo. El contenido puede considerarse atributo (NT).
Sistemas Operativos 2009 F. Solari
Crear (create) Borrar (delete) Abrir (open) Cerrar (close) Leer (read) Escribir (write) Agregar (append)
Posicionar (seek) Pedir Atributos (get attributes) Cambiar Atributos (set attributes) Renombrar (rename)
/* Chapter 1. Basic cp file copy program. */ /* UNIX Implementation. */ /* cp file1 file2: Copy file1 to file2. */ #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <stdio.h> #include <errno.h> #define BUF_SIZE 256 int main (int argc, char *argv []){ int input_fd, output_fd; ssize_t bytes_in, bytes_out; char rec [BUF_SIZE]; if (argc != 3) { printf ("Usage: cp file1 file2\n"); return 1; }
input_fd = open (argv [1], O_RDONLY); if (input_fd == -1) { perror (argv [1]); return 2; } output_fd = open (argv [2], O_WRONLY | O_CREAT, 0666); if (output_fd == -1) { perror (argv [2]); return 3; } /* Process the input file a record at a time. */ while ((bytes_in = read (input_fd, &rec, BUF_SIZE)) > 0) { bytes_out = write (output_fd, &rec, (size_t)bytes_in); if (bytes_out != bytes_in) { perror ("Fatal write error."); return 4; } } close (input_fd); close (output_fd); return 0; }
/* Chapter 1. Basic cp file copy program.*/ /* C library Implementation. */ /* cp file1 file2: Copy file1 to file2. */ #include <windows.h> #include <stdio.h> #include <errno.h> #define BUF_SIZE 256 int main (int argc, char *argv []) { FILE *in_file, *out_file; char rec [BUF_SIZE]; size_t bytes_in, bytes_out; if (argc != 3) { printf ("Usage: cp file1 file2\n"); return 1; } in_file = fopen (argv [1], "rb"); if (in_file == NULL) { perror (argv [1]); return 2; }
Utilizados para organizar los archivos. Comnmente, tambin son archivos, pero tratados de manera especial por el Sist. Operativo. Sistemas antiguos y pequeas aplicaciones:
un nico directorio
/usr/lib/dict
Directorios y atributos
Crear (create) Borrar (delete) Abrir (opendir) Cerrar (closedir) Leer Directorio (readdir) Escribir Directorio (writedir) Renombrar (rename) Enlazar (link) sobre un archivo existente Desenlazar (unlink) dem
Sistemas Operativos 2009 F. Solari
Los sistemas de archivo, se almacenan en dispositivos como los discos Los discos, se suelen subdividir en particiones La organizacin bsica en una PC-IBM o compatible (Mac, Sun y otros difieren):
Sector 0, los primeros 512 bytes, es llamado MBR (Master Boot Record)
Cdigo estndar de bsqueda de particin activa Tabla de particin en los ltimos bytes Firma o signatura
En cada particin, el primer sector es el boot record o tambin conocido como boot block.
Sistemas Operativos 2009 F. Solari
Contiguo: una sola particin en un solo disco No contiguo: hasta varias particiones en varios discos (manejo por software, sw RAID y hw RAID) Contiguo: problemas de crecimiento y reubicacin
Archivos:
Lista los atributos y los bloques del archivo Solo se necesita en memoria los i-nodes de los archivos abiertos Desventaja, nmero fijo de bloques enum.
Minix 3 i-node,(OSDI 3/e Tanenbaum & Woodhull)
FAT
La tabla misma indica cuales bloques estn ocupados y cules libres Tamao de la lista
Bitmap
Un bit representa cada bloque: 0 libre, 1 uso Tamao del bitmap
(cont.) Marca entradas de nombre largo como no vlidas para MSDOS Agrega ms atributos como fecha de creacin; soporte a tamaos mayores de archivo.
Soporte para nombres largos en UNICODE, adems del nombre corto en 83 Relacionado a FAT32, pero tiene que ver con directorios y se usa en FAT12, FAT16
Figure 5-14. An entry for (part of) a long file name in Windows 98.
OSDI 3/e Tanenbaum & Woodhull
OSDI 3/e Tanenbaum & Woodhull 4 bytes I-node # 60 bytes Filename Minix 3 Directory entry
FAT32 Layout
boot reserved FAT(1) FAT(2) RootDir (first file) Data blocks (clusters)
links o enlaces
hard links soft links inodos,fcil, pero = filesystem archivo extra de tipo link En FAT, cross-link; error
Sistemas Operativos 2009 F. Solari
Implementacin:
En NTFS, es posible, pero recin en VISTA aparece utilitario para crear Links, a pesar de funcin WinAPI32 CreateLink desde W2000 Ms detalle, al ver estructuras...