Unidad 2. Administrador de Sistemas de Archivos

Programación de Sistemas operativos Programa desarrollado CARRERA: Ingeniería en Desarrollo de software CUATRIMESTRE 04

Views 66 Downloads 0 File size 1MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

Programación de Sistemas operativos Programa desarrollado

CARRERA: Ingeniería en Desarrollo de software CUATRIMESTRE 04

Programa de la asignatura: Programación de sistemas operativos Unidad 2. Administrador de Sistemas de Archivos Clave: 160920415 / 150920415

Ciencias Exactas, Ingenierías y Tecnología | Desarrollo de Software

1

Programación de Sistemas operativos Programa desarrollado

Índice

Unidad 2. Administrador de Sistemas de Archivos.................................................. 3 Presentación de la unidad........................................................................................................... 3 Propósito ........................................................................................................................................ 3 Competencia específica .............................................................................................................. 4 2.1. Sistemas de Archivos........................................................................................................... 4 2.1.1. Concepto............................................................................................................................. 6 2.1.2. Jerarquía de datos ............................................................................................................ 7 Actividad 1. Sistema de archivo ............................................................................................... 10 2.2. Tipo de Archivos ................................................................................................................. 10 2.2.1. Real ................................................................................................................................... 12 2.2.2. Virtual ................................................................................................................................ 12 2.2.3. Componentes ................................................................................................................... 13 Actividad 2. Tipos de archivos más comunes en sistema operativo .................................. 14 2.3. Organización del sistema de archivos, lógica y física................................................... 15 2.3.1. Operaciones con archivos.............................................................................................. 17 2.3.2. Implementación de archivos .......................................................................................... 18 Actividad 3. Mapa conceptual de la organización del sistema de archivos ...................... 21 Autoevaluación ........................................................................................................................... 22 Evidencia de aprendizaje. Manejo de archivos en Linux (debían, fedora, Ubuntu) y Windows....................................................................................................................................... 22 Cierre de la unidad ..................................................................................................................... 23 Para saber más........................................................................................................................... 23 Fuentes de consulta ................................................................................................................... 23

Ciencias Exactas, Ingenierías y Tecnología | Desarrollo de Software

2

Programación de Sistemas operativos Programa desarrollado

Unidad 2. Administrador de Sistemas de Archivos Presentación de la unidad A lo largo de esta unidad aprenderás como el sistema operativo maneja el sistemas de archivos, los tipos de archivos, y cómo son organizados de manera lógica y física los mismos. El sistema de archivos, como se verá más adelante, está encargado de la administración de la información en: acceso, verificación y manipulación; logrando con ello ser un método de almacenamiento y organización. Además de permitir encontrar y acceder más rápido la información. Un sistema de archivos es un conjunto de tipo de datos abstractos, que son implementados para el almacenamiento, la organización jerárquica, la manipulación, el acceso, el direccionamiento y la recuperación de datos. Otra parte de suma importancia que se verá en esta unidad, es la diferencia entre archivo real y virtual. Un archivo virtual es un archivo de uso temporal que es utilizado por los procesos del sistema mientras se están ejecutando dichos procesos. Estos archivos se crean durante la ejecución de un sistema y se utilizan para el almacenamiento de información, intercambio y organización que ejecuta el sistema. Por otra parten, un archivo real es un objeto que contiene programas, datos o cualquier otro elemento; un archivo se muestra de manera real, en la información del espacio que ocupa en un disco duro o sistema de almacenamiento, en otras palabras su tamaño es en bytes. Para finalizar la unidad se abordarán las operaciones que son permitidas por parte de los archivos y cómo se implementan.

Propósito El propósito de los temas de esta unidad es que se conozca cómo el sistema operativo considera el Administrador de archivos; ya que la administración del almacenamiento de la información, es necesaria para organizar y determinar lo que ve el usuario; así como la forma en que lo ve.

Ciencias Exactas, Ingenierías y Tecnología | Desarrollo de Software

3

Programación de Sistemas operativos Programa desarrollado

De la misma manera es importante aprender a distinguir por qué y para qué el sistema maneja archivos reales y virtuales, y que operaciones se pueden realizar con los mismos.

Competencia específica Identificar el proceso que siguen los archivos para la administración y buen manejo de los mismos, con el análisis lógico que sigue el sistema.

2.1. Sistemas de Archivos Para los usuarios, el aspecto más importante de un sistema de archivos es lo que de éste se ve; es decir, qué constituye un archivo, cómo se nombran y protegen los archivos, qué operaciones pueden efectuarse con los archivos. El sistema de software que proporciona a los usuarios y a las aplicaciones servicios relativos al empleo de archivos debe cumplir con las necesidades de gestión de datos y con las necesidades de almacenamiento del usuario; se deben cumplir los siguientes objetivos:  Acreditar que los datos de los archivos sean válidos.  Optimizar el rendimiento.  Otorgar soporte E/S para la variedad de tipos de dispositivos de almacenamiento.  Minimizar o eliminar la posibilidad de pérdida de los datos.  Implantar un conjunto estándar de rutinas de interfaz de E/S.  Proporcionar un soporte de E/S para múltiples usuarios en los sistemas multiusuario. Dentro de un sistema de archivos están los métodos y estructuras, que son los datos que un sistema operativo utiliza para seguir la pista de los archivos de un disco o partición, y las formas en que se organizan los archivos en el disco. El concepto de sistema de archivos, también se puede utilizar para hacer referencia a una partición o disco que se utiliza para almacenamiento de la información o el tipo del sistema de archivos que utiliza. La diferencia entre un disco o partición y el sistema de archivos que contiene es importante. Algunos programas trabajan directamente en los sectores crudos del disco o partición; si hay un archivo de sistema existente ahí será destruido o corrompido severamente. La mayoría de programas trabajan sobre un sistema

Ciencias Exactas, Ingenierías y Tecnología | Desarrollo de Software

4

Programación de Sistemas operativos Programa desarrollado

de archivos, y por lo tanto no utilizarán una partición que no contenga uno (o que contenga uno del tipo equivocado). Antes de que una partición o disco sea utilizada como un sistema de archivos, necesita ser iniciada y las estructuras de datos necesitan escribirse al disco. Este proceso se denomina construir un sistema de archivos. Los archivos están administrados por el sistema operativo. La manera en que están estructurados, nombrados, cómo se accede a ellos, cómo se utilizan, cómo se protegen e implementan, son características que se utilizan para el diseño de los sistemas operativos. A esta parte del sistema operativo que gestiona archivos, comúnmente se le conoce como el sistema de archivos. Para un usuario, el aspecto de mayor importancia dentro de un sistema de archivos, es su aspecto; en otras palabras, es lo que conforma un archivo, cómo se nombran y se protegen los archivos, las operaciones que se permiten, etc. En los detalles para seguir la línea de la memoria libre, se utilizan listas enlazadas o mapas de bits; el detalle de cuántos sectores hay en un bloque lógico, son cuestiones de menos interés aunque son de gran importancia para los desarrolladores de los sistemas de archivos. Concretamente los sistemas de archivos son un mecanismo que permite almacenar información en el disco y leerla después. Por lo cual, el usuario no necesariamente se entera de detalles de dónde y cómo se almacenará la información, y el funcionamiento de los discos. La forma en la que se da nombre a los objetos que se manejan, podría ser la característica más importante de cualquier mecanismo de abstracción, una vez que el proceso crea el fichero, se le asigna el nombre. Cuando el proceso termina, el archivo sigue existiendo y otros programas pueden tener acceso a él, utilizando su nombre. Varios sistemas de archivos, administran los nombres de éstos en dos partes separadas por un punto; a la parte secuencial del punto se le nombra extensión del archivo y normalmente especifica el tipo del archivo ―por ejemplo en MS-DOS―, los nombres de los archivos cuentan con uno o hasta ocho caracteres, más una extensión opcional de uno a tres caracteres. En Unix, se deja la extensión opcional de contar con dos o más extensiones y son especificaciones que se dejan a criterio del mismo usuario. En la siguiente imagen se presenta un listado de las extensiones más comunes de los sistemas de archivos y su descripción.

Ciencias Exactas, Ingenierías y Tecnología | Desarrollo de Software

5

Programación de Sistemas operativos Programa desarrollado

Figura 1. Tabla de extensiones de algunos sistemas de archivos (Tanenbaum, 2003: 403)

2.1.1. Concepto Los archivos proporcionan una forma de almacenar información en el disco y leerla después. Esto debe hacerse de tal manera que el usuario no tenga que ocuparse de los detalles de cómo y dónde se almacena la información, ni de cómo funcionan realmente los discos. Las reglas para nombrar archivos varían un tanto de un sistema a otro, pero todos los sistemas operativos permiten cadenas de uno a ocho caracteres como nombres de archivos válidos. Los archivos por su contenido pueden ser numéricos, alfanuméricos o binarios, pueden existir archivos de formato libre, tales como son los archivos de texto, o bien, los archivos pueden estar formateados de forma rígida. La información que contiene un archivo es definida por el usuario. Pueden almacenar muchos tipos de información, tales como: programas puente, programas objeto, programas ejecutables datos numéricos, texto, registros varios, imágenes, archivos de audio, etc. Para esto cada tipo de archivo tiene su propia estructura definida. Al tratar el tema de archivos, básicamente, se utilizan cuatro términos comunes: Campo. Es el elemento de datos básico, un campo individual contiene un valor único, como el apellido de una persona, una fecha o el valor leído por un sensor. Se caracteriza por su longitud y por el tipo de datos.

Ciencias Exactas, Ingenierías y Tecnología | Desarrollo de Software

6

Programación de Sistemas operativos Programa desarrollado

Registro. Es una colección de campos relacionados que pueden tratarse como una unidad en algunos programas de aplicación. Archivo. Es una colección de información similar, con un nombre, la cual se guarda en un almacenamiento secundario. Los usuarios y las aplicaciones administran al archivo como una entidad única y se refieren a él por un nombre, los archivos tienen nombres únicos y pueden crearse y eliminarse. Base de datos. Es una colección de archivos relacionados, el aspecto básico de una base de datos se basa en las relaciones que existen entre los elementos de datos, son explícitas y la base de datos está diseñada para ser utilizada por varias aplicaciones diferentes. Un archivo fuente es una secuencia de subrutinas y funciones, cada una de las cuales está a su vez organizada como una serie de declaraciones, siguiendo de instrucciones ejecutables. Un archivo objeto es una secuencia de bytes organizado en bloques que el programa montador del sistema puede comprender. Un archivo ejecutable es una serie de secciones de código que el cargador puede cargar en memoria y ejecutarse.

2.1.2. Jerarquía de datos Es bastante común desear organizar los archivos de forma lógica, para ello se requiere agrupar los archivos de alguna forma dentro de esquemas flexibles determinados por cada usuario, para dar como resultado la organización de la información lógica. Básicamente, lo que se requiere es contar con una jerarquía general de datos comúnmente conocida como árbol de directorios; con este tipo de organización de información, el usuario puede tener la cantidad de directorios que requiera para agrupar y organizar sus archivos en diferentes categorías. La figura 2 especifica que existen directorios (A, B, C) pertenecientes en la raíz (root), los cuales son archivos de diferentes usuarios y éstos a su vez generan subdirectorios para los proyectos en los que se está trabajando.

Ciencias Exactas, Ingenierías y Tecnología | Desarrollo de Software

7

Programación de Sistemas operativos Programa desarrollado

Figura 2. Sistema jerárquico de datos (Tanenbaum, 2003) Para la gestión de archivos en su nivel más bajo los administradores de dispositivos se comunican directamente con los dispositivos periféricos o sus controladores o canales. Cada manejador de dispositivos es quien comienza la operación de E/S en un dispositivo y procesa la terminación de una petición de E/S. El nivel siguiente es como el sistema de archivos básico o nivel de E/S física, está formado por la interfaz primaria con el entorno exterior. Este nivel trata con bloques de datos que son intercambiados con sistemas de disco o cinta. El administrador básico de E/S, es quien inicia y termina toda la E/S con archivos. En este nivel se mantienen unas estructuras de control que se encargan de la E/S con los dispositivos, la planificación y el estado de los archivos. El supervisor básico realiza la selección del dispositivo donde se realiza la E/S con los archivos. Así mismo se ocupa de planificar los accesos a discos y cinta para optimizar el rendimiento. En este nivel se asignan los buffers de E/S y se reserva la memoria secundaria. El supervisor básico de E/S es parte del sistema operativo. Los usuarios y los programas de aplicación interactúan con el sistema de archivos por medio de órdenes de creación y eliminación de archivos realizando operaciones sobre los archivos.

Ciencias Exactas, Ingenierías y Tecnología | Desarrollo de Software

8

Programación de Sistemas operativos Programa desarrollado

Figura 3. Estructura de ficheros de tres tipos de jerarquía. (a) Sucesión de bytes. (b) sucesión de registros. (c) árbol (Tanenbaum, 2003: 382) Los archivos o datos pueden estar estructurados de formas diferentes en la figura 3 situada anteriormente se muestran tres posibilidades comunes. El ejemplo (a) es una sucesión no estructurada de bytes. Cualquier significado que se tenga sobre el fichero deberán atribuírselo los programadores en el nivel de usuario. La flexibilidad que se ofrece, mientras el sistema operativo ve solamente como secuencias de bytes, los programas de usuario pueden poner cualquier cosa que deseen los archivos y darles cualquier nombre que crean conveniente. En ese sentido, el sistema operativo se torna imparcial para que los usuarios puedan hacer cosas fuera de lo común. El ejemplo (b) de la figura 3, muestra que un archivo es una secuencia de registros se apoya en el concepto de que la operación de lectura devuelve un registro y que la operación de escritura sobre escribe o anexa un registro. El ejemplo (c) de la figura 3, indica una estructura de archivos. En esta organización, un archivo consiste en un árbol de registros, que no necesita todos de la misma longitud, cada uno de éstos contiene un campo de llave que representa una posición fija dentro del registro. El árbol está ordenado según el campo llave, a fin de poder buscar rápidamente una llave particular. La estructura lógica de los datos se organiza de acuerdo a la forma en cómo se accede a éstos. La estructura más simple de un directorio es una lista de entradas para cada archivo.

Ciencias Exactas, Ingenierías y Tecnología | Desarrollo de Software

9

Programación de Sistemas operativos Programa desarrollado

Actividad 1. Sistema de archivo Con el fin de que reflexiones sobre lo estudiado hasta el momento, participarás en un foro de discusión, en él compartirás un concepto propio acerca del sistema de archivos. Para ello, podrás revisar el material de la asignatura y apoyarte de los comentarios de tus compañeros(as). Previo a tu ingreso al foro: 1. Retoma las lecturas del tema 2.1.Sistemas de archivos. 2. Identifica qué es un sistema de archivos y cómo lo maneja el sistema operativo en su jerarquía de datos. 3. Ingresa al foro de la actividad para comenta tus aportaciones y sigue las indicaciones que en ese espacio se encuentran.

2.2. Tipo de Archivos Cada sistema operativo reconoce sus archivos especiales por caracteres y por bloques, además de los tipos de archivos diferentes. Los archivos regulares son lo que contienen información del usuario. Los archivos que se presentan en la figura anterior son archivos normales, los directorios son archivos de sistema que sirven para mantener la estructura del sistema de archivos. Los archivos especiales por caracteres están relacionados con E/S y sirven para modelar dispositivos de E/S en serie como las terminales, impresoras y redes. Los archivos especiales por bloques sirven para modelar discos. Los archivos normales generalmente son archivos ASCII o bien archivos binarios. Los archivos ASCII consisten en líneas de texto, en algunos sistemas cada línea termina con un carácter de retorno de carro; en otros se emplea el carácter de salto de línea. En algunas ocasiones se requieren ambas, las líneas no deben necesariamente tener todas las mismas longitudes. Los archivos normales ASCII tienen la ventaja de que pueden exhibirse e imprimirse tal como están, y se pueden editar con cualquier editor de textos. Además, si una gran cantidad de programas usan archivos ASCII como entradas y salidas, es fácil conectar la

Ciencias Exactas, Ingenierías y Tecnología | Desarrollo de Software

10

Programación de Sistemas operativos Programa desarrollado

salida de un programa a la entrada de otro, como sucede con los conductos de Shell. Los archivos que no son ASCII se interpretan como archivos binarios. Los archivos binarios son los que no se interpretan como archivo ASCII, si se obtiene una vista de los archivos binarios por medio de una impresión, se obtendrá un listado difícil de comprender lo que pareciera ser contenido basura; por lo general estos archivos están formados por su estructura propiamente interna. En la figura 4 se puede apreciar la ejecución de un archivo binario simple; el ejemplo fue tomado de las primeras versiones de UNIX. En la secuencia de bytes representado por el archivo, se observa que el sistema operativo únicamente ejecutará un archivo si tiene el formato que se reconoce por el sistema operativo.

Figura 4. Ejecución de un archivo binario simple (Tanenbaum, 2003: 406) En el primer ejemplo mostrado (a), se cuenta con cinco secciones:  

Encabezado. Es quien inicia e identifica el archivo como ejecutable valido para el sistema operativo. Texto. Se carga en memoria y utiliza la reubicación de bits para establecer su ubicación dentro del sistema.

Ciencias Exactas, Ingenierías y Tecnología | Desarrollo de Software

11

Programación de Sistemas operativos Programa desarrollado   

Datos. Se carga en memoria y utiliza la reubicación de bits para establecer su ubicación dentro del sistema. Bits de reubicación. Se utilizan para la reubicación de los encabezados de texto y datos Tabla de símbolos. Es utilizada para la depuración.

Tomando el segundo ejemplo (b), se tiene que el archivo binario se considera como un archivo, el cual consiste en la colección de procedimientos de las bibliotecas o módulos que no están enlazados. Cada módulo se representa con un encabezado que es identificado como el nombre, fecha de creación, propietario, código de protección y tamaño. De la misma forma que el archivo ejecutable, los encabezados de módulo están llenos de números binarios. Como se mencionaba anteriormente todos los sistemas operativos reconocen el tipo de archivos ejecutable y algunos más, que no son propiamente pertenecientes a este.

2.2.1. Real El archivo real en Windows, es el que es considerado como un objeto; está formado por programas, datos o cualquier tipo de información que contenga uno o varios elementos dentro del sistema operativo. Un archivo real se muestra por el espacio que ocupa dentro de un disco duro o el mismo sistema de almacenamiento de archivos administrado por el sistema operativo.

2.2.2. Virtual A diferencia un archivo real que ocupa un espacio en el disco duro, un archivo virtual es aquel cuyo uso es temporal, administrado por los procesos del sistema. En Windows estos archivos se denominan como archivos temporales, se generan mientras se está ejecutando un sistema y, éste, los utiliza para el almacenamiento de información, intercambio y organización mientras se ejecuta el sistema. Su tamaño varía bastante y termina al detener la ejecución del sistema, muchos de ellos son eliminados.

Ciencias Exactas, Ingenierías y Tecnología | Desarrollo de Software

12

Programación de Sistemas operativos Programa desarrollado

2.2.3. Componentes Los componentes principales para un archivo, se forma por un nombre y datos. Además, la mayoría, o todos los sistemas operativos, relacionan otra información a cada archivo contenido, tales como los componentes de fecha y hora de su creación además del tamaño del archivo. Por lo general un componente es en realidad el atributo del archivo el cual varía bastante de un sistema operativo a otro, pues la gestión de la información la asocian a su sistema de archivos. La figura 5 muestra un esquema básico y general sobre algunos atributos, sin dejar de pensar que pueden existir muchas más. La mayoría de los sistemas operativos puede que no integren la mayoría de los atributos que se muestran, pero todos están presentes en algún sistema.

Figura 5. Algunos de los componentes de archivos comúnmente utilizados (Tanenbaum, 2003: 386) En el listado que se muestra en la tabla, de esta figura 5, los primeros cuatro atributos se refieren a la protección del fichero, e indican quién puede tener acceso al mismo y quienes tienen el acceso restringido. En una gran mayoría de sistemas, para permitir el acceso al sistema o algún archivo el usuario debe presentar una contraseña para poder

Ciencias Exactas, Ingenierías y Tecnología | Desarrollo de Software

13

Programación de Sistemas operativos Programa desarrollado

validar que tiene el permiso de ingreso, en ese caso la contraseña que se valida por el sistema deberá ser el atributo. Los indicadores son bits o campos cortos que controlan y habilitan alguna propiedad específica, los archivos ocultos, por ejemplo, no aparecen en los listados de todos los ficheros. El indicador de archivado es un bit que especifica si el archivo ya se respaldó o no. El programa de respaldo sabe qué ficheros deben respaldarse. El indicador temporal permite marcar un fichero para que se elimine de forma automática cuando termine el proceso que lo creó. Dentro de los campos de longitud de cada registro, la posición de la clave y longitud de la clave se presentan en los ficheros cuando los registros puedan ocultarse empleando una clave. Dichos campos proporcionan la información necesaria para hallar las claves. El tamaño de un archivo indica que tanto espacio llega a ocupar dentro del disco duro, una gran parte de los sistemas operativos antiguos exigían que fuera especificado el tamaño del archivo al momento de ser creado con la intención de poder administrar la cantidad máxima de espacio para su almacenamiento. Los sistemas operativos de estaciones de trabajo y ordenadores personales son o bastante inteligentes como para prescindir de esa información.

Actividad 2. Tipos de archivos más comunes en sistema operativo Con el fin de obtener un concentrado acerca de los tipos de archivos más comunes en Windows y, entre todos los miembros del grupo, llegar a la obtención de un solo documento: 1. Investiga cuáles son los tipos de archivo más comunes en el sistema operativo Windows. 2. Ingresa a la Wiki de esta actividad Tipos de archivos más comunes en sistema operativo y realiza tu aportación. 3. Revisa las aportaciones de tus compañeros(as) y enriquécelas. Además, recuerda identificar tu participación con tu nombre e incluir las fuentes de información que utilices.

Ciencias Exactas, Ingenierías y Tecnología | Desarrollo de Software

14

Programación de Sistemas operativos Programa desarrollado

2.3. Organización del sistema de archivos, lógica y física La organización del sistema de archivos, se basa al arreglo de los registros dentro de un archivo. Ya que todos los archivos están formados por registros. La organización del sistema de archivos lógica, refiere en la forma en que los registros se organizan y las características del medio utilizado para su almacenamiento, para los medios magnéticos, los archivos se organizan de tres formas:  Organización secuencial. Es considerada la más sencilla de implementar, porque los registros se almacenan y se pueden recuperar en serie. Para localizar un registro especifico, se busca en el archivo desde el inicio hasta encontrar el registro solicitado.  Organización directa. Son archivos de acceso directo cuyo almacenamiento solo se pueden implementar en dispositivos de almacenamiento de acceso directo, con la diferencia de la organización secuencial, la organización directa permite acceder a cualquier registro en cualquier orden, sin la necesidad de iniciar la búsqueda desde el principio del archivo.  Organización secuencial indexada. Este tipo de organización de archivos es una combinación de los dos tipos de organización anteriores, se crea y mantiene a través de un paquete de software de método. Para lograr la mejor selección de estas opciones por lo general se consideran estas características:    

Volatilidad de los datos. Frecuencia con la cual se efectúan adiciones y eliminaciones. Actividad del archivo. Porcentaje de registros procesados durante una ejecución. Tamaño del archivo. Proción de espacio que ocupa el archivo. Tiempo de respuesta. Cantidad de tiempo que el usuario acepta esperar antes que la operación solicitada se complete.

La organización física del sistema de archivos en memoria secundaria depende de la estrategia de los diferentes tipos de organización que se mencionaron antes, y se representan en la siguiente figura (6).

Ciencias Exactas, Ingenierías y Tecnología | Desarrollo de Software

15

Programación de Sistemas operativos Programa desarrollado

Figura 6. Diferentes técnicas de organización de archivos (Stallings, 2005). Otros de los criterios importantes a considerarse durante la elección de una organización de archivos es:  Acceso directo para la recuperación rápida de la información.  Facilidad de actualización para colaborar a mantener la información.  Economía para minimizar el costo de almacenaje.  Facilidad de mantenimiento simple para minimizar la probabilidad de errores.  Confianza de asegurar los datos. En la organización de archivos física, los datos son modificados en su acceso contiguo físico, dependiendo del tipo de dispositivo de almacenamiento secundario, los registros pueden ser de tamaño fijo o variable y se pueden organizar de distintas formas para construir archivos físicos. Existen diferentes tipos de organización, los cuales son:  Cinta magnética. Es uno de los dispositivos de almacenamiento; con éste el archivo físico está formado de un conjunto de registros físicos y cada registro está organizado de forma secuencial.

Ciencias Exactas, Ingenierías y Tecnología | Desarrollo de Software

16

Programación de Sistemas operativos Programa desarrollado 



Disco magnético. Es otro de los dispositivos secundarios de almacenamiento; dentro del disco, el archivo es considerado una colección de registros físicos del mismo tamaño, su característica es que puede estar organizado de forma secuencial, ligada o por medio de una tabla de mapeo. Asignación de espacio libre. Este método permite decidir al sistema operativo qué partes del disco no están siendo ocupados. Para el control de dicho espacio libre comúnmente se utilizan algunos métodos para este propósito, vectores de bits, lista ligada, por agrupación y por contador.

2.3.1. Operaciones con archivos Comúnmente los archivos están hechos para almacenar la información que se necesita recuperar luego de realizar algún proceso de datos. La mayoría de los sistemas administradores de archivos brindan algunas operaciones de almacenamiento y recuperación, en siguiente listado se muestran las llamadas más comunes relacionadas con archivos: 

 









Create. Generalmente esta llamada genera el archivo sin dato alguno, su propósito es informar que va existir un archivo y solo establece algunos de su componentes o atributos (en tema anterior se mostró los diferente tipos de atributos). Delete. Esta llamada es muy común utilizarla cuando existe un archivo dentro del sistema y ya no es necesario su existencia para liberar espacio en disco. Open. La utilidad de esta llamada es habilitar al sistema que se le otorgue los atributos y la lista de direcciones de disco y los coloque en la memoria principal a fin de agilizar el acceso en llamadas posteriores. Close. Esta llama es útil para cuando todos los procesos de los archivos estén concluidos y sus atributos y las direcciones de disco no sean de utilidad, por lo general es necesario cerrar el archivo para liberar espacio correspondiente en las tablas internas. Read. Llamada útil para leer los datos del archivo, por lo general los bytes provienen de la posición actual. El invocador debe especificar cuántos datos se necesitan y también un buffer para colocarlos. Write. Se utiliza esta llamada para modificar los datos en los archivos, en su posición actual. Si esta posición está en el final del archivo el tamaño aumenta. Se sobre escriben los cuando la posición del archivo este a la mitad de su posición y son reemplazados por los existentes. Append. Esta llamada realiza llamadas de write pero con la restricción de agregar los datos al final del archivo. Los sistemas que ofrecen un juego mínimo de llamadas al sistema generalmente no cuentan con append.

Ciencias Exactas, Ingenierías y Tecnología | Desarrollo de Software

17

Programación de Sistemas operativos Programa desarrollado 



 

Seek. En la organización de acceso aleatorio de los archivos, necesita un método para especificar el lugar del que deben tomarse los datos. Un enfoque común es tener una llamada al sistema, Seek, que ajustará a la posición actual del archivo una vez que localiza su ubicación se podrán leer los datos de esa posición y escribir en ella. Get Attributes. Comúnmente los procesos requieren leer los atributos de los archivos para realizar alguna llamada o proceso, realiza un examen de algunos de sus atributos para saber los tiempos de modificación. Set Attributes. Algunos de los atributos de los archivos pueden ser establecidos por el usuario y modificarse después de que se creó el archivo. Rename. Frecuentemente los usuarios requieren de modificar el atributo del nombre al archivo que existe, esta llamada permite hacerlo.

2.3.2. Implementación de archivos Posiblemente para los usuarios el punto más importante de la implementación del almacenaje de los archivos se poder llevar un control de qué bloques de disco corresponden a qué fichero. Se contemplan varios métodos en los distintos sistemas operativos, los cuales son:  Asignación contigua. Es considerado el esquema más simple pues almacena cada archivo como un bloque secuencial de datos en el disco, por ejemplo en un disco con bloques de 1 byte a un archivo de 50 bytes se le asignarán 50 bloques consecutivos. Una de las principales ventajas, es la sencillez con que sabe dónde están los bloques de un archivo, y el rendimiento es bastante bueno pues es posible leer todo el archivo del disco en una sola operación. Así como existen ventajas de este método de implantación también cuenta con algunas desventajas, como que no es muy factible si no se conoce el tamaño máximo del archivo en el momento en que se crea éste, pues el sistema operativo no se dará cuenta: cuánto espacio en disco debe reservar para este archivo. Y en la fragmentación del disco se desperdicia espacio que de otra forma podría haberse aprovechado.  Asignación por lista enlazada. El segundo método para el almacenamiento de archivos es guardar cada uno como una lista enlazada de bloques de disco, en la siguiente figura (7) nos indica que la primer palabra de cada bloque se emplea como línea enlazada al siguiente bloque. Este método tiene la posibilidad de utilizar todos los bloques y no pierde espacio por fragmentación de disco.

Ciencias Exactas, Ingenierías y Tecnología | Desarrollo de Software

18

Programación de Sistemas operativos Programa desarrollado

Figura 7. Asignación por lista enlazada de bloques de disco (Tanenbaum, 2003: 416) 

Asignación por lista enlazada utilizando índices. Al utilizar esta implementación todo el bloque estará disponible por completo para los datos, y el acceso directo es más sencillo a pesar de que se tiene que seguir la cadena para encontrar una distancia dada dentro de un archivo, la cadena esta por completo en la memoria y puede seguirse sin tener que consultar el disco. Su principal desventaja es que toda la tabla debe estar en la memoria para que puede funcionar; en discos grandes se vería afectado, pues entre mayor capacidad del disco, menor será el rendimiento de búsqueda. La siguiente figura (8) muestra el bloque de asignación por lista, donde se puede iniciar en el bloque 4 y seguir la cadena hasta el final del bloque y lo mismo para el bloque 6, iniciar desde ahí hasta seguir la cadena final.

Ciencias Exactas, Ingenierías y Tecnología | Desarrollo de Software

19

Programación de Sistemas operativos Programa desarrollado

Figura 8 Asignación por lista enlazada utilizando índices (Tanenbaum, 2003: 417) 

Nodos i (nodos índice). Este método de implementación es útil para saber cuáles bloques pertenecen a cuál archivo; consiste en asociar cada archivo una pequeña tabla, la cual contiene los atributos y direcciones en disco de los bloques del archivo. En la siguiente figura (9) se muestra un ejemplo simple, donde la posibilidad de encontrar todos los bloques del archivo. Su principal ventaja, respecto al anterior, los nodos índice emplean una tabla en la memoria pues solo debe estar en memoria mientras el archivo correspondiente está abierto. Otra ventaja de este método es el rendimiento que ofrece es que solo es necesario reservar cantidad de espacio para los archivos abiertos.

Ciencias Exactas, Ingenierías y Tecnología | Desarrollo de Software

20

Programación de Sistemas operativos Programa desarrollado

Figura 9 Tabla de método de implementación de archivos por medio de nodos índice (Tanenbaum, 2003) Una de las desventajas de los nodos índices, es que fija el espacio de las direcciones en disco. Pero mientras el archivo crece puede reservar la última dirección de disco no para un bloque de datos, sino para la dirección de un bloque que contiene más direcciones de bloques de disco.

Actividad 3. Mapa conceptual de la organización del sistema de archivos Durante la elaboración de esta actividad podrás distinguir y representar la jerarquía y las distintas operaciones entre archivos, para ello: 1. Elabora un mapa conceptual utilizando la información del tema Organización del sistema de archivos, lógica y física; así como de algunas fuentes de tu preferencia. 2. Guarda tu actividad usando la nomenclatura DOO_U2_A3_XXYZ. 3. Envía el archivo a tu Facilitador(a) para recibir retroalimentación.

Ciencias Exactas, Ingenierías y Tecnología | Desarrollo de Software

21

Programación de Sistemas operativos Programa desarrollado

Autoevaluación Para reforzar los conocimientos relacionados con los temas que se abordaron en esta segunda unidad del curso, es necesario que resuelvas la autoevaluación de la unidad. Ten en cuenta que es muy importante leer cuidadosamente los planteamientos indicados y elegir la opción adecuada para cada uno. Para realizar esta actividad, ingresa al aula.

Evidencia de aprendizaje. Manejo de archivos en Linux (debían, fedora, Ubuntu) y Windows Como parte de la evaluación de esta unidad, debes llevar a cabo la siguiente actividad: 1. En un archivo de texto describe cómo es manejado el sistema de archivos de Windows, así como sus tipos de archivos. 2. Dale formato en cuanto a su organización lógica y física. 3. Complementa con los mismos conceptos para un sistema Linux el que sea de tu agrado (Debian, Fedora, Ubuntu). 4. Consulta la Escala de evaluación, para conocer los criterios que se evaluarán. 5. Guarda tu evidencia con el nombre DOO_U2_EA_XXYZ. 6. Envía el archivo a tu Facilitador(a) para recibir retroalimentación. * Recuerda que de ser necesario y en base a los comentarios hechos por parte de tu Facilitador(a), podrás enviar una segunda versión de tu actividad.

Autorreflexiones Además de enviar tu trabajo de la Evidencia de aprendizaje, es importante que ingreses al foro Preguntas de Autorreflexión y consultes las preguntas que tu Facilitador(a) presente, a partir de ellas, debes elaborar tu Autorreflexión en un archivo de texto llamado

Ciencias Exactas, Ingenierías y Tecnología | Desarrollo de Software

22

Programación de Sistemas operativos Programa desarrollado

PSO_U1_ATR_XXYZ. Posteriormente envía tu archivo mediante la herramienta Autorreflexiones.

Cierre de la unidad Has concluido el estudio de la segunda unidad de la asignatura. A lo largo de ésta se vieron conceptos básicos sobre el administrador de sistemas de archivos sus conceptos y la jerarquía de datos, los tipos de archivos reales y virtuales; así como sus componentes, además de la organización del sistema de archivos de manera lógica y física, las operaciones que se pueden realizar con los mismos y cómo se implementan. Es recomendable que revises nuevamente la unidad en caso de que los temas que se acaban de mencionar no te sean familiares o no los recuerdes, de lo contrario ya estás preparado(a) para seguir con la Unidad 3. Seguridad y Protección, en donde se abordará lo relacionado con la seguridad y protección del entorno, el concepto y objetivo de la protección. Todo ello, con el fin de obtener un prototipo final al concluir las cuatro unidades de Programación de Sistemas Operativos.

Para saber más Si deseas saber más acerca de los sistemas operativos, revisa la siguiente página web: 

Sistemas de archivos http://exa.unne.edu.ar/depar/areas/informatica/SistemasOperativos/SO4.htm

Fuentes de consulta      

Candela, S. y García, C. (2007). Fundamentos de Sistemas Operativos. Teoría y ejercicios resueltos. España: Paraninfo. Morera, J. y Pérez, J. (2002). Conceptos de sistemas Operativos. España: Comillas Ortiz, H. (2005) Sistemas Operativos Modernos. Colombia: Medellin. Silberschatz, A. (2006). Fundamentos de Sistemas Operativos. España: Mc. Graw Hill. Stallings, W. (2005). Sistemas Operativos Modernos: Aspectos Internos y principios de diseño. México: Pearson, Prentice Hall. Tanenbaum, A. (2003). Sistemas Operativos Modernos. México: Pearson Educación.

Ciencias Exactas, Ingenierías y Tecnología | Desarrollo de Software

23

Programación de Sistemas operativos Programa desarrollado

Ciencias Exactas, Ingenierías y Tecnología | Desarrollo de Software

24