Andrew Tanenbaum - Sistemas Operativos Modernos - Capitulo 1
Andrew Tanenbaum - Sistemas Operativos Modernos - Capitulo 2
Andrew Tanenbaum - Sistemas Operativos Modernos - Capitulo 3
All for this textbook (6)
Written for
National University Arturo Jauretche (UNAJ

)
I3003
All documents for this subject (7)
Seller
Follow
agusmitrobeda
Content preview
4
SISTEMAS DE ARCHIVOS
Todas las aplicaciones de computadora requieren almacenar y recuperar información. Mientras un
proceso está en ejecución, puede almacenar una cantidad limitada de información dentro de su pro-
pio espacio de direcciones. Sin embargo, la capacidad de almacenamiento está restringida por el ta-
maño del espacio de direcciones virtuales. Para algunas aplicaciones este tamaño es adecuado; para
otras, tales como las de reservaciones en aerolíneas, las bancarias o las de contabilidad corporativa,
puede ser demasiado pequeño.
Un segundo problema relacionado con el mantenimiento de la información dentro del espacio de
direcciones de un proceso es que cuando el proceso termina, la información se pierde. Para muchas
aplicaciones (por ejemplo, una base de datos) la información se debe retener durante semanas, meses
o incluso indefinidamente. Es inaceptable que esta información se desvanezca cuando el proceso que
la utiliza termine. Además, no debe desaparecer si una falla en la computadora acaba con el proceso.
Un tercer problema es que frecuentemente es necesario que varios procesos accedan a (partes de)
la información al mismo tiempo. Si tenemos un directorio telefónico en línea almacenado dentro del es-
pacio de direcciones de un solo proceso, sólo ese proceso puede tener acceso al directorio. La manera
de resolver este problema es hacer que la información en sí sea independiente de cualquier proceso.
En consecuencia, tenemos tres requerimientos esenciales para el almacenamiento de informa-
ción a largo plazo:
1. Debe ser posible almacenar una cantidad muy grande de información.
2. La información debe sobrevivir a la terminación del proceso que la utilice.
3. Múltiples procesos deben ser capaces de acceder a la información concurrentemente.
255
,256 SISTEMAS DE ARCHIVOS CAPÍTULO 4
Durante muchos años se han utilizado discos magnéticos para este almacenamiento de largo plazo,
así como cintas y discos ópticos, aunque con un rendimiento mucho menor. En el capítulo 5 estu-
diaremos más sobre los discos, pero por el momento basta con pensar en un disco como una secuen-
cia lineal de bloques de tamaño fijo que admite dos operaciones:
1. Leer el bloque k.
2. Escribir el bloque k.
En realidad hay más, pero con estas dos operaciones podríamos (en principio) resolver el problema
del almacenamiento a largo plazo.
Sin embargo, éstas son operaciones muy inconvenientes, en especial en sistemas extensos uti-
lizados por muchas aplicaciones y tal vez varios usuarios (por ejemplo, en un servidor). Unas cuan-
tas de las preguntas que surgen rápidamente son:
1. ¿Cómo encontramos la información?
2. ¿Cómo evitamos que un usuario lea los datos de otro usuario?
3. ¿Cómo sabemos cuáles bloques están libres?
y hay muchas más.
Así como vimos la manera en que el sistema operativo abstrajo el concepto del procesador pa-
ra crear la abstracción de un proceso y el concepto de la memoria física para ofrecer a los procesos
espacios de direcciones (virtuales), podemos resolver este problema con una nueva abstracción: el
archivo. En conjunto, las abstracciones de los procesos (e hilos), espacios de direcciones y archivos
son los conceptos más importantes en relación con los sistemas operativos. Si realmente compren-
de estos tres conceptos de principio a fin, estará preparado para convertirse en un experto en siste-
mas operativos.
Los archivos son unidades lógicas de información creada por los procesos. En general, un dis-
co contiene miles o incluso millones de archivos independientes. De hecho, si concibe a cada archi-
vo como un tipo de espacio de direcciones, no estará tan alejado de la verdad, excepto porque se
utilizan para modelar el disco en vez de modelar la RAM.
Los procesos pueden leer los archivos existentes y crear otros si es necesario. La información que
se almacena en los archivos debe ser persistente, es decir, no debe ser afectada por la creación y ter-
minación de los procesos. Un archivo debe desaparecer sólo cuando su propietario lo remueve de ma-
nera explícita. Aunque las operaciones para leer y escribir en archivos son las más comunes, existen
muchas otras, algunas de las cuales examinaremos a continuación.
Los archivos son administrados por el sistema operativo. La manera en que se estructuran, de-
nominan, abren, utilizan, protegen, implementan y administran son tópicos fundamentales en el di-
seño de sistemas operativos. La parte del sistema operativo que trata con los archivos se conoce
como sistema de archivos y es el tema de este capítulo.
Desde el punto de vista del usuario, el aspecto más importante de un sistema de archivos es su
apariencia; es decir, qué constituye un archivo, cómo se denominan y protegen los archivos qué
operaciones se permiten con ellos, etcétera. Los detalles acerca de si se utilizan listas enlazadas (li-
gadas) o mapas de bits para llevar la cuenta del almacenamiento libre y cuántos sectores hay en un
bloque de disco lógico no son de interés, aunque sí de gran importancia para los diseñadores del sis-
,SECCIÓN 4.1 ARCHIVOS 257
tema de archivos. Por esta razón hemos estructurado el capítulo en varias secciones: las primeras
dos están relacionadas con la interfaz del usuario para los archivos y directorios, respectivamente;
después incluimos un análisis detallado acerca de cómo se implementa y administra el sistema de
archivos; por último, daremos algunos ejemplos de sistemas de archivos reales.
4.1 ARCHIVOS
En las siguientes páginas analizaremos los archivos desde el punto de vista del usuario; es decir, có-
mo se utilizan y qué propiedades tienen.
4.1.1 Nomenclatura de archivos
Los archivos son un mecanismo de abstracción. Proporcionan una manera de almacenar informa-
ción en el disco y leerla después. Esto se debe hacer de tal forma que se proteja al usuario de los
detalles acerca de cómo y dónde se almacena la información y cómo funcionan los discos en rea-
lidad.
Probablemente, la característica más importante de cualquier mecanismo de abstracción sea la
manera en que los objetos administrados son denominados, por lo que empezaremos nuestro exa-
men de los sistemas de archivos con el tema de la nomenclatura de los archivos. Cuando un proce-
so crea un archivo le proporciona un nombre. Cuando el proceso termina, el archivo continúa
existiendo y puede ser utilizado por otros procesos mediante su nombre.
Las reglas exactas para denominar archivos varían un poco de un sistema a otro, pero todos los
sistemas operativos actuales permiten cadenas de una a ocho letras como nombres de archivos le-
gales. Por ende, andrea, bruce y cathy son posibles nombres de archivos. Con frecuencia también
se permiten dígitos y caracteres especiales, por lo que nombres como 2, urgente! y Fig.2-14 son a
menudo válidos también. Muchos sistemas de archivos admiten nombres de hasta 255 caracteres.
Algunos sistemas de archivos diferencian las letras mayúsculas de las minúsculas, mientras que
otros no. UNIX cae en la primera categoría; MS-DOS en la segunda. Así, un sistema UNIX puede
tener los siguientes nombres como tres archivos distintos: maria, Maria y MARIA. En MS-DOS, to-
dos estos nombres se refieren al mismo archivo.
Tal vez sea adecuado hacer en este momento un paréntesis sobre sistemas de archivos. Win-
dows 95 y Windows 98 utilizan el sistema de archivos de MS-DOS conocido como FAT-16 y por
ende heredan muchas de sus propiedades, como la forma en que se construyen sus nombres. Win-
dows 98 introdujo algunas extensiones a FAT-16, lo cual condujo a FAT-32, pero estos dos sistemas
son bastante similares. Además, Windows NT, Windows 2000, Windows XP y .WV admiten ambos
sistemas de archivos FAT, que en realidad ya son obsoletos. Estos cuatro sistemas operativos basa-
dos en NT tienen un sistema de archivos nativo (NTFS) con diferentes propiedades (como los nom-
bres de archivos en Unicode). En este capítulo, cuando hagamos referencia a los sistemas de
archivos MS-DOS o FAT, estaremos hablando de FAT-16 y FAT-32 como se utilizan en Windows,
a menos que se especifique lo contrario. Más adelante en este capítulo analizaremos los sistemas de
archivos FAT y en el capítulo 11 examinaremos el sistema de archivos NTFS, donde analizaremos
Windows Vista con detalle.
, 258 SISTEMAS DE ARCHIVOS CAPÍTULO 4
Muchos sistemas operativos aceptan nombres de archivos en dos partes, separadas por un pun-
to, como en prog.c. La parte que va después del punto se conoce como la extensión del archivo y
por lo general indica algo acerca de su naturaleza. Por ejemplo, en MS-DOS, los nombres de archi-
vos son de 1 a 8 caracteres, más una extensión opcional de 1 a 3 caracteres. En UNIX el tamaño de
la extensión (si la hay) es a elección del usuario y un archivo puede incluso tener dos o más exten-
siones, como en paginainicio.html.zip, donde .html indica una página Web en HTML y .zip indica
que el archivo se ha comprimido mediante el programa zip. Algunas de las extensiones de archivos
más comunes y sus significados se muestran en la figura 4-1.
Extensión Significado
archivo.bak Archivo de respaldo
archivo.c Programa fuente en C
archivo.gif Imagen en Formato de Intercambio de Gráficos de CompuServe
archivo.hlp Archivo de ayuda
archivo.html Documento en el Lenguaje de Marcación de Hipertexto de World Wide Web
archivo.jpg Imagen fija codificada con el estándar JPEG
archivo.mp3 Música codificada en formato de audio MPEG capa 3
archivo.mpg Película codificada con el estándar MPEG
archivo.o Archivo objeto (producido por el compilador, no se ha enlazado todavía)
archivo.pdf Archivo en Formato de Documento Portable
archivo.ps Archivo de PostScript
archivo.tex Entrada para el programa formateador TEX
archivo.txt Archivo de texto general
archivo.zip Archivo comprimido
Figura 4-1. Algunas extensiones de archivos comunes.
En algunos sistemas (como UNIX) las extensiones de archivo son sólo convenciones y no son
impuestas por los sistemas operativos. Un archivo llamado archivo.txt podría ser algún tipo de ar-
chivo de texto, pero ese nombre es más un recordatorio para el propietario que un medio para trans-
portar información a la computadora. Por otro lado, un compilador de C podría insistir que los
archivos que va a compilar terminen con .c y podría rehusarse a compilarlos si no tienen esa termi-
nación.
Las convenciones como ésta son especialmente útiles cuando el mismo programa puede mane-
jar diferentes tipos de archivos. Por ejemplo, el compilador C puede recibir una lista de varios ar-
chivos para compilarlos y enlazarlos, algunos de ellos archivos de C y otros archivos de lenguaje
ensamblador. Entonces, la extensión se vuelve esencial para que el compilador sepa cuáles son ar-
chivos de C, cuáles son archivos de lenguaje ensamblador y cuáles son archivos de otro tipo.
Por el contrario, Windows está consciente de las extensiones y les asigna significado. Los usua-
rios (o procesos) pueden registrar extensiones con el sistema operativo y especificar para cada una
cuál programa “posee” esa extensión. Cuando un usuario hace doble clic sobre un nombre de archi-
vo, el programa asignado a su extensión de archivo se inicia con el archivo como parámetro. Por
The benefits of buying summaries with Stuvia:
Guaranteed quality through customer reviews
Stuvia customers have reviewed more than 700,000 summaries. This how you know that you are buying the best documents.
Quick and easy check-out
You can quickly pay through credit card or Stuvia-credit for the summaries. There is no membership needed.
Focus on what matters
Your fellow students write the study notes themselves, which is why the documents are always reliable and up-to-date. This ensures you quickly get to the core!
Frequently asked questions
What do I get when I buy this document?
You get a PDF, available immediately after your purchase. The purchased document is accessible anytime, anywhere and indefinitely through your profile.
Satisfaction guarantee: how does it work?
Our satisfaction guarantee ensures that you always find a study document that suits you well. You fill out a form, and our customer service team takes care of the rest.
Who am I buying these notes from?
Stuvia is a marketplace, so you are not buying this document from us, but from seller agusmitrobeda. Stuvia facilitates payment to the seller.
Will I be stuck with a subscription?
No, you only buy these notes for $5.49. You're not tied to anything after your purchase.