unidad 2. administrador de sistemas de archivos

Upload: emmanuelchato

Post on 12-Jul-2015

1.855 views

Category:

Documents


0 download

TRANSCRIPT

Programacin de Sistemas operativosPrograma desarrollado

CARRERA: Ingeniera en Desarrollo de software CUATRIMESTRE 04

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

Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software

1

Programacin de Sistemas operativosPrograma desarrollado

ndice

Unidad 2. Administrador de Sistemas de Archivos.................................................. 3Presentacin de la unidad........................................................................................................... 3 Propsito ........................................................................................................................................ 3 Competencia especfica .............................................................................................................. 4 2.1. Sistemas de Archivos........................................................................................................... 4 2.1.1. Concepto............................................................................................................................. 6 2.1.2. Jerarqua 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 ms comunes en sistema operativo .................................. 14 2.3. Organizacin del sistema de archivos, lgica y fsica................................................... 15 2.3.1. Operaciones con archivos.............................................................................................. 17 2.3.2. Implementacin de archivos .......................................................................................... 18 Actividad 3. Mapa conceptual de la organizacin del sistema de archivos ...................... 21 Autoevaluacin ........................................................................................................................... 22 Evidencia de aprendizaje. Manejo de archivos en Linux (deban, fedora, Ubuntu) y Windows....................................................................................................................................... 22 Cierre de la unidad ..................................................................................................................... 23 Para saber ms........................................................................................................................... 23 Fuentes de consulta ................................................................................................................... 23

Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software

2

Programacin de Sistemas operativosPrograma desarrollado

Unidad 2. Administrador de Sistemas de Archivos Presentacin de la unidadA lo largo de esta unidad aprenders como el sistema operativo maneja el sistemas de archivos, los tipos de archivos, y cmo son organizados de manera lgica y fsica los mismos. El sistema de archivos, como se ver ms adelante, est encargado de la administracin de la informacin en: acceso, verificacin y manipulacin; logrando con ello ser un mtodo de almacenamiento y organizacin. Adems de permitir encontrar y acceder ms rpido la informacin. Un sistema de archivos es un conjunto de tipo de datos abstractos, que son implementados para el almacenamiento, la organizacin jerrquica, la manipulacin, el acceso, el direccionamiento y la recuperacin 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 estn ejecutando dichos procesos. Estos archivos se crean durante la ejecucin de un sistema y se utilizan para el almacenamiento de informacin, intercambio y organizacin 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 informacin del espacio que ocupa en un disco duro o sistema de almacenamiento, en otras palabras su tamao es en bytes. Para finalizar la unidad se abordarn las operaciones que son permitidas por parte de los archivos y cmo se implementan.

PropsitoEl propsito de los temas de esta unidad es que se conozca cmo el sistema operativo considera el Administrador de archivos; ya que la administracin del almacenamiento de la informacin, es necesaria para organizar y determinar lo que ve el usuario; as como la forma en que lo ve.

Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software

3

Programacin de Sistemas operativosPrograma 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 especficaIdentificar el proceso que siguen los archivos para la administracin y buen manejo de los mismos, con el anlisis lgico que sigue el sistema.

2.1. Sistemas de ArchivosPara los usuarios, el aspecto ms importante de un sistema de archivos es lo que de ste se ve; es decir, qu constituye un archivo, cmo 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 gestin de datos y con las necesidades de almacenamiento del usuario; se deben cumplir los siguientes objetivos: Acreditar que los datos de los archivos sean vlidos. Optimizar el rendimiento. Otorgar soporte E/S para la variedad de tipos de dispositivos de almacenamiento. Minimizar o eliminar la posibilidad de prdida de los datos. Implantar un conjunto estndar de rutinas de interfaz de E/S. Proporcionar un soporte de E/S para mltiples usuarios en los sistemas multiusuario. Dentro de un sistema de archivos estn los mtodos y estructuras, que son los datos que un sistema operativo utiliza para seguir la pista de los archivos de un disco o particin, y las formas en que se organizan los archivos en el disco. El concepto de sistema de archivos, tambin se puede utilizar para hacer referencia a una particin o disco que se utiliza para almacenamiento de la informacin o el tipo del sistema de archivos que utiliza. La diferencia entre un disco o particin y el sistema de archivos que contiene es importante. Algunos programas trabajan directamente en los sectores crudos del disco o particin; si hay un archivo de sistema existente ah ser destruido o corrompido severamente. La mayora de programas trabajan sobre un sistema

Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software

4

Programacin de Sistemas operativosPrograma desarrollado

de archivos, y por lo tanto no utilizarn una particin que no contenga uno (o que contenga uno del tipo equivocado). Antes de que una particin 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 estn administrados por el sistema operativo. La manera en que estn estructurados, nombrados, cmo se accede a ellos, cmo se utilizan, cmo se protegen e implementan, son caractersticas que se utilizan para el diseo de los sistemas operativos. A esta parte del sistema operativo que gestiona archivos, comnmente 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, cmo se nombran y se protegen los archivos, las operaciones que se permiten, etc. En los detalles para seguir la lnea de la memoria libre, se utilizan listas enlazadas o mapas de bits; el detalle de cuntos sectores hay en un bloque lgico, son cuestiones de menos inters aunque son de gran importancia para los desarrolladores de los sistemas de archivos. Concretamente los sistemas de archivos son un mecanismo que permite almacenar informacin en el disco y leerla despus. Por lo cual, el usuario no necesariamente se entera de detalles de dnde y cmo se almacenar la informacin, y el funcionamiento de los discos. La forma en la que se da nombre a los objetos que se manejan, podra ser la caracterstica ms importante de cualquier mecanismo de abstraccin, 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 extensin 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, ms una extensin opcional de uno a tres caracteres. En Unix, se deja la extensin opcional de contar con dos o ms extensiones y son especificaciones que se dejan a criterio del mismo usuario. En la siguiente imagen se presenta un listado de las extensiones ms comunes de los sistemas de archivos y su descripcin.

Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software

5

Programacin de Sistemas operativosPrograma desarrollado

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

2.1.1. ConceptoLos archivos proporcionan una forma de almacenar informacin en el disco y leerla despus. Esto debe hacerse de tal manera que el usuario no tenga que ocuparse de los detalles de cmo y dnde se almacena la informacin, ni de cmo funcionan realmente los discos. Las reglas para nombrar archivos varan un tanto de un sistema a otro, pero todos los sistemas operativos permiten cadenas de uno a ocho caracteres como nombres de archivos vlidos. Los archivos por su contenido pueden ser numricos, alfanumricos o binarios, pueden existir archivos de formato libre, tales como son los archivos de texto, o bien, los archivos pueden estar formateados de forma rgida. La informacin que contiene un archivo es definida por el usuario. Pueden almacenar muchos tipos de informacin, tales como: programas puente, programas objeto, programas ejecutables datos numricos, texto, registros varios, imgenes, archivos de audio, etc. Para esto cada tipo de archivo tiene su propia estructura definida. Al tratar el tema de archivos, bsicamente, se utilizan cuatro trminos comunes: Campo. Es el elemento de datos bsico, un campo individual contiene un valor nico, como el apellido de una persona, una fecha o el valor ledo por un sensor. Se caracteriza por su longitud y por el tipo de datos.

Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software

6

Programacin de Sistemas operativosPrograma desarrollado

Registro. Es una coleccin de campos relacionados que pueden tratarse como una unidad en algunos programas de aplicacin. Archivo. Es una coleccin de informacin 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 coleccin de archivos relacionados, el aspecto bsico de una base de datos se basa en las relaciones que existen entre los elementos de datos, son explcitas y la base de datos est diseada 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 cdigo que el cargador puede cargar en memoria y ejecutarse.

2.1.2. Jerarqua de datosEs bastante comn desear organizar los archivos de forma lgica, para ello se requiere agrupar los archivos de alguna forma dentro de esquemas flexibles determinados por cada usuario, para dar como resultado la organizacin de la informacin lgica. Bsicamente, lo que se requiere es contar con una jerarqua general de datos comnmente conocida como rbol de directorios; con este tipo de organizacin de informacin, el usuario puede tener la cantidad de directorios que requiera para agrupar y organizar sus archivos en diferentes categoras. La figura 2 especifica que existen directorios (A, B, C) pertenecientes en la raz (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, Ingenieras y Tecnologa | Desarrollo de Software

7

Programacin de Sistemas operativosPrograma desarrollado

Figura 2. Sistema jerrquico de datos (Tanenbaum, 2003) Para la gestin de archivos en su nivel ms bajo los administradores de dispositivos se comunican directamente con los dispositivos perifricos o sus controladores o canales. Cada manejador de dispositivos es quien comienza la operacin de E/S en un dispositivo y procesa la terminacin de una peticin de E/S. El nivel siguiente es como el sistema de archivos bsico o nivel de E/S fsica, 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 bsico 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 planificacin y el estado de los archivos. El supervisor bsico realiza la seleccin 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 bsico de E/S es parte del sistema operativo. Los usuarios y los programas de aplicacin interactan con el sistema de archivos por medio de rdenes de creacin y eliminacin de archivos realizando operaciones sobre los archivos.

Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software

8

Programacin de Sistemas operativosPrograma desarrollado

Figura 3. Estructura de ficheros de tres tipos de jerarqua. (a) Sucesin de bytes. (b) sucesin 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 sucesin no estructurada de bytes. Cualquier significado que se tenga sobre el fichero debern atriburselo 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 comn. El ejemplo (b) de la figura 3, muestra que un archivo es una secuencia de registros se apoya en el concepto de que la operacin de lectura devuelve un registro y que la operacin de escritura sobre escribe o anexa un registro. El ejemplo (c) de la figura 3, indica una estructura de archivos. En esta organizacin, 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 posicin fija dentro del registro. El rbol est ordenado segn el campo llave, a fin de poder buscar rpidamente una llave particular. La estructura lgica de los datos se organiza de acuerdo a la forma en cmo se accede a stos. La estructura ms simple de un directorio es una lista de entradas para cada archivo.

Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software

9

Programacin de Sistemas operativosPrograma desarrollado

Actividad 1. Sistema de archivoCon el fin de que reflexiones sobre lo estudiado hasta el momento, participars en un foro de discusin, en l compartirs un concepto propio acerca del sistema de archivos. Para ello, podrs revisar el material de la asignatura y apoyarte de los comentarios de tus compaeros(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 cmo lo maneja el sistema operativo en su jerarqua 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 ArchivosCada sistema operativo reconoce sus archivos especiales por caracteres y por bloques, adems de los tipos de archivos diferentes. Los archivos regulares son lo que contienen informacin 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 estn 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 lneas de texto, en algunos sistemas cada lnea termina con un carcter de retorno de carro; en otros se emplea el carcter de salto de lnea. En algunas ocasiones se requieren ambas, las lneas no deben necesariamente tener todas las mismas longitudes. Los archivos normales ASCII tienen la ventaja de que pueden exhibirse e imprimirse tal como estn, y se pueden editar con cualquier editor de textos. Adems, si una gran cantidad de programas usan archivos ASCII como entradas y salidas, es fcil conectar la

Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software

10

Programacin de Sistemas operativosPrograma 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 impresin, se obtendr un listado difcil de comprender lo que pareciera ser contenido basura; por lo general estos archivos estn formados por su estructura propiamente interna. En la figura 4 se puede apreciar la ejecucin 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. Ejecucin 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 reubicacin de bits para establecer su ubicacin dentro del sistema.

Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software

11

Programacin de Sistemas operativosPrograma desarrollado

Datos. Se carga en memoria y utiliza la reubicacin de bits para establecer su ubicacin dentro del sistema. Bits de reubicacin. Se utilizan para la reubicacin de los encabezados de texto y datos Tabla de smbolos. Es utilizada para la depuracin.

Tomando el segundo ejemplo (b), se tiene que el archivo binario se considera como un archivo, el cual consiste en la coleccin de procedimientos de las bibliotecas o mdulos que no estn enlazados. Cada mdulo se representa con un encabezado que es identificado como el nombre, fecha de creacin, propietario, cdigo de proteccin y tamao. De la misma forma que el archivo ejecutable, los encabezados de mdulo estn llenos de nmeros binarios. Como se mencionaba anteriormente todos los sistemas operativos reconocen el tipo de archivos ejecutable y algunos ms, que no son propiamente pertenecientes a este.

2.2.1. RealEl archivo real en Windows, es el que es considerado como un objeto; est formado por programas, datos o cualquier tipo de informacin 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. VirtualA 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 informacin, intercambio y organizacin mientras se ejecuta el sistema. Su tamao vara bastante y termina al detener la ejecucin del sistema, muchos de ellos son eliminados.

Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software

12

Programacin de Sistemas operativosPrograma desarrollado

2.2.3. ComponentesLos componentes principales para un archivo, se forma por un nombre y datos. Adems, la mayora, o todos los sistemas operativos, relacionan otra informacin a cada archivo contenido, tales como los componentes de fecha y hora de su creacin adems del tamao del archivo. Por lo general un componente es en realidad el atributo del archivo el cual vara bastante de un sistema operativo a otro, pues la gestin de la informacin la asocian a su sistema de archivos. La figura 5 muestra un esquema bsico y general sobre algunos atributos, sin dejar de pensar que pueden existir muchas ms. La mayora de los sistemas operativos puede que no integren la mayora de los atributos que se muestran, pero todos estn presentes en algn sistema.

Figura 5. Algunos de los componentes de archivos comnmente 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 proteccin del fichero, e indican quin puede tener acceso al mismo y quienes tienen el acceso restringido. En una gran mayora de sistemas, para permitir el acceso al sistema o algn archivo el usuario debe presentar una contrasea para poder

Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software

13

Programacin de Sistemas operativosPrograma desarrollado

validar que tiene el permiso de ingreso, en ese caso la contrasea que se valida por el sistema deber ser el atributo. Los indicadores son bits o campos cortos que controlan y habilitan alguna propiedad especfica, 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 automtica cuando termine el proceso que lo cre. Dentro de los campos de longitud de cada registro, la posicin 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 informacin necesaria para hallar las claves. El tamao de un archivo indica que tanto espacio llega a ocupar dentro del disco duro, una gran parte de los sistemas operativos antiguos exigan que fuera especificado el tamao del archivo al momento de ser creado con la intencin de poder administrar la cantidad mxima de espacio para su almacenamiento. Los sistemas operativos de estaciones de trabajo y ordenadores personales son o bastante inteligentes como para prescindir de esa informacin.

Actividad 2. Tipos de archivos ms comunes en sistema operativoCon el fin de obtener un concentrado acerca de los tipos de archivos ms comunes en Windows y, entre todos los miembros del grupo, llegar a la obtencin de un solo documento: 1. Investiga cules son los tipos de archivo ms comunes en el sistema operativo Windows. 2. Ingresa a la Wiki de esta actividad Tipos de archivos ms comunes en sistema operativo y realiza tu aportacin. 3. Revisa las aportaciones de tus compaeros(as) y enriqucelas. Adems, recuerda identificar tu participacin con tu nombre e incluir las fuentes de informacin que utilices.

Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software

14

Programacin de Sistemas operativosPrograma desarrollado

2.3. Organizacin del sistema de archivos, lgica y fsicaLa organizacin del sistema de archivos, se basa al arreglo de los registros dentro de un archivo. Ya que todos los archivos estn formados por registros. La organizacin del sistema de archivos lgica, refiere en la forma en que los registros se organizan y las caractersticas del medio utilizado para su almacenamiento, para los medios magnticos, los archivos se organizan de tres formas: Organizacin secuencial. Es considerada la ms 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. Organizacin directa. Son archivos de acceso directo cuyo almacenamiento solo se pueden implementar en dispositivos de almacenamiento de acceso directo, con la diferencia de la organizacin secuencial, la organizacin directa permite acceder a cualquier registro en cualquier orden, sin la necesidad de iniciar la bsqueda desde el principio del archivo. Organizacin secuencial indexada. Este tipo de organizacin de archivos es una combinacin de los dos tipos de organizacin anteriores, se crea y mantiene a travs de un paquete de software de mtodo. Para lograr la mejor seleccin de estas opciones por lo general se consideran estas caractersticas: Volatilidad de los datos. Frecuencia con la cual se efectan adiciones y eliminaciones. Actividad del archivo. Porcentaje de registros procesados durante una ejecucin. Tamao del archivo. Procin de espacio que ocupa el archivo. Tiempo de respuesta. Cantidad de tiempo que el usuario acepta esperar antes que la operacin solicitada se complete.

La organizacin fsica del sistema de archivos en memoria secundaria depende de la estrategia de los diferentes tipos de organizacin que se mencionaron antes, y se representan en la siguiente figura (6).

Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software

15

Programacin de Sistemas operativosPrograma desarrollado

Figura 6. Diferentes tcnicas de organizacin de archivos (Stallings, 2005). Otros de los criterios importantes a considerarse durante la eleccin de una organizacin de archivos es: Acceso directo para la recuperacin rpida de la informacin. Facilidad de actualizacin para colaborar a mantener la informacin. Economa para minimizar el costo de almacenaje. Facilidad de mantenimiento simple para minimizar la probabilidad de errores. Confianza de asegurar los datos. En la organizacin de archivos fsica, los datos son modificados en su acceso contiguo fsico, dependiendo del tipo de dispositivo de almacenamiento secundario, los registros pueden ser de tamao fijo o variable y se pueden organizar de distintas formas para construir archivos fsicos. Existen diferentes tipos de organizacin, los cuales son: Cinta magntica. Es uno de los dispositivos de almacenamiento; con ste el archivo fsico est formado de un conjunto de registros fsicos y cada registro est organizado de forma secuencial.

Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software

16

Programacin de Sistemas operativosPrograma desarrollado

Disco magntico. Es otro de los dispositivos secundarios de almacenamiento; dentro del disco, el archivo es considerado una coleccin de registros fsicos del mismo tamao, su caracterstica es que puede estar organizado de forma secuencial, ligada o por medio de una tabla de mapeo. Asignacin de espacio libre. Este mtodo permite decidir al sistema operativo qu partes del disco no estn siendo ocupados. Para el control de dicho espacio libre comnmente se utilizan algunos mtodos para este propsito, vectores de bits, lista ligada, por agrupacin y por contador.

2.3.1. Operaciones con archivosComnmente los archivos estn hechos para almacenar la informacin que se necesita recuperar luego de realizar algn proceso de datos. La mayora de los sistemas administradores de archivos brindan algunas operaciones de almacenamiento y recuperacin, en siguiente listado se muestran las llamadas ms comunes relacionadas con archivos: Create. Generalmente esta llamada genera el archivo sin dato alguno, su propsito 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 comn 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 estn 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 posicin actual. El invocador debe especificar cuntos datos se necesitan y tambin un buffer para colocarlos. Write. Se utiliza esta llamada para modificar los datos en los archivos, en su posicin actual. Si esta posicin est en el final del archivo el tamao aumenta. Se sobre escriben los cuando la posicin del archivo este a la mitad de su posicin y son reemplazados por los existentes. Append. Esta llamada realiza llamadas de write pero con la restriccin de agregar los datos al final del archivo. Los sistemas que ofrecen un juego mnimo de llamadas al sistema generalmente no cuentan con append.

Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software

17

Programacin de Sistemas operativosPrograma desarrollado

Seek. En la organizacin de acceso aleatorio de los archivos, necesita un mtodo para especificar el lugar del que deben tomarse los datos. Un enfoque comn es tener una llamada al sistema, Seek, que ajustar a la posicin actual del archivo una vez que localiza su ubicacin se podrn leer los datos de esa posicin y escribir en ella. Get Attributes. Comnmente 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 modificacin. Set Attributes. Algunos de los atributos de los archivos pueden ser establecidos por el usuario y modificarse despus 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. Implementacin de archivosPosiblemente para los usuarios el punto ms importante de la implementacin del almacenaje de los archivos se poder llevar un control de qu bloques de disco corresponden a qu fichero. Se contemplan varios mtodos en los distintos sistemas operativos, los cuales son: Asignacin contigua. Es considerado el esquema ms 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 asignarn 50 bloques consecutivos. Una de las principales ventajas, es la sencillez con que sabe dnde estn los bloques de un archivo, y el rendimiento es bastante bueno pues es posible leer todo el archivo del disco en una sola operacin. As como existen ventajas de este mtodo de implantacin tambin cuenta con algunas desventajas, como que no es muy factible si no se conoce el tamao mximo del archivo en el momento en que se crea ste, pues el sistema operativo no se dar cuenta: cunto espacio en disco debe reservar para este archivo. Y en la fragmentacin del disco se desperdicia espacio que de otra forma podra haberse aprovechado. Asignacin por lista enlazada. El segundo mtodo 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 lnea enlazada al siguiente bloque. Este mtodo tiene la posibilidad de utilizar todos los bloques y no pierde espacio por fragmentacin de disco.

Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software

18

Programacin de Sistemas operativosPrograma desarrollado

Figura 7. Asignacin por lista enlazada de bloques de disco (Tanenbaum, 2003: 416) Asignacin por lista enlazada utilizando ndices. Al utilizar esta implementacin todo el bloque estar disponible por completo para los datos, y el acceso directo es ms 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 vera afectado, pues entre mayor capacidad del disco, menor ser el rendimiento de bsqueda. La siguiente figura (8) muestra el bloque de asignacin 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, Ingenieras y Tecnologa | Desarrollo de Software

19

Programacin de Sistemas operativosPrograma desarrollado

Figura 8 Asignacin por lista enlazada utilizando ndices (Tanenbaum, 2003: 417) Nodos i (nodos ndice). Este mtodo de implementacin es til para saber cules bloques pertenecen a cul archivo; consiste en asociar cada archivo una pequea 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 mtodo es el rendimiento que ofrece es que solo es necesario reservar cantidad de espacio para los archivos abiertos.

Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software

20

Programacin de Sistemas operativosPrograma desarrollado

Figura 9 Tabla de mtodo de implementacin 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 direccin de disco no para un bloque de datos, sino para la direccin de un bloque que contiene ms direcciones de bloques de disco.

Actividad 3. Mapa conceptual de la organizacin del sistema de archivosDurante la elaboracin de esta actividad podrs distinguir y representar la jerarqua y las distintas operaciones entre archivos, para ello: 1. Elabora un mapa conceptual utilizando la informacin del tema Organizacin del sistema de archivos, lgica y fsica; as como de algunas fuentes de tu preferencia. 2. Guarda tu actividad usando la nomenclatura DOO_U2_A3_XXYZ. 3. Enva el archivo a tu Facilitador(a) para recibir retroalimentacin.

Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software

21

Programacin de Sistemas operativosPrograma desarrollado

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

Evidencia de aprendizaje. Manejo de archivos en Linux (deban, fedora, Ubuntu) y WindowsComo parte de la evaluacin de esta unidad, debes llevar a cabo la siguiente actividad: 1. En un archivo de texto describe cmo es manejado el sistema de archivos de Windows, as como sus tipos de archivos. 2. Dale formato en cuanto a su organizacin lgica y fsica. 3. Complementa con los mismos conceptos para un sistema Linux el que sea de tu agrado (Debian, Fedora, Ubuntu). 4. Consulta la Escala de evaluacin, para conocer los criterios que se evaluarn. 5. Guarda tu evidencia con el nombre DOO_U2_EA_XXYZ. 6. Enva el archivo a tu Facilitador(a) para recibir retroalimentacin. * Recuerda que de ser necesario y en base a los comentarios hechos por parte de tu Facilitador(a), podrs enviar una segunda versin de tu actividad.

AutorreflexionesAdems de enviar tu trabajo de la Evidencia de aprendizaje, es importante que ingreses al foro Preguntas de Autorreflexin y consultes las preguntas que tu Facilitador(a) presente, a partir de ellas, debes elaborar tu Autorreflexin en un archivo de texto llamado

Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software

22

Programacin de Sistemas operativosPrograma desarrollado

PSO_U1_ATR_XXYZ. Posteriormente enva tu archivo mediante la herramienta Autorreflexiones.

Cierre de la unidadHas concluido el estudio de la segunda unidad de la asignatura. A lo largo de sta se vieron conceptos bsicos sobre el administrador de sistemas de archivos sus conceptos y la jerarqua de datos, los tipos de archivos reales y virtuales; as como sus componentes, adems de la organizacin del sistema de archivos de manera lgica y fsica, las operaciones que se pueden realizar con los mismos y cmo 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 ests preparado(a) para seguir con la Unidad 3. Seguridad y Proteccin, en donde se abordar lo relacionado con la seguridad y proteccin del entorno, el concepto y objetivo de la proteccin. Todo ello, con el fin de obtener un prototipo final al concluir las cuatro unidades de Programacin de Sistemas Operativos.

Para saber msSi deseas saber ms acerca de los sistemas operativos, revisa la siguiente pgina web: Sistemas de archivos http://exa.unne.edu.ar/depar/areas/informatica/SistemasOperativos/SO4.htm

Fuentes de consulta Candela, S. y Garca, C. (2007). Fundamentos de Sistemas Operativos. Teora y ejercicios resueltos. Espaa: Paraninfo. Morera, J. y Prez, J. (2002). Conceptos de sistemas Operativos. Espaa: Comillas Ortiz, H. (2005) Sistemas Operativos Modernos. Colombia: Medellin. Silberschatz, A. (2006). Fundamentos de Sistemas Operativos. Espaa: Mc. Graw Hill. Stallings, W. (2005). Sistemas Operativos Modernos: Aspectos Internos y principios de diseo. Mxico: Pearson, Prentice Hall. Tanenbaum, A. (2003). Sistemas Operativos Modernos. Mxico: Pearson Educacin.

Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software

23

Programacin de Sistemas operativosPrograma desarrollado

Ciencias Exactas, Ingenieras y Tecnologa | Desarrollo de Software

24