You are on page 1of 10

UNIDAD 1:

INTRODUCCION A LOS SISTEMAS OPERATIVOS

Sistemas Operativos Concepto. Funciones de los Sistemas Operativos: adecuada interfaz usuario/mquina, administrador de recursos y facilidad de evolucin. Caractersticas de los Sistemas Operativos modernos: arquitectura micro-ncleo, multihilos, multiproceso simtrico, sistemas operativos distribuidos, diseo orientado a objetos. Ejemplo: Windows 2000 Ejemplo: Unix Ejemplo: Linux 1. Concepto de Sistema Operativo: Es un programa que controla la ejecucin de los programas de aplicacin y que acta como interfaz entre las aplicaciones del usuario y el hardware de una computadora. Tiene tres objetivos: Comodidad: el SO hace que una computadora sea ms fcil de usar. Eficiencia: permite que los recursos de un sistema informtico sean aprovechados de manera eficiente. Capacidad de evolucin: el SO debe construirse de modo que permita el desarrollo efectivo, verificacin e introduccin de nuevas funciones, sin interferir en los servicios brindados. 2. El SO como adecuada interfaz usuario/maquina El SO es el programa de sistemas ms importante, ya que oculta al programador los detalles del hardware y le proporciona una cmoda interfaz para utilizar el sistema. El SO es un mediador que facilita al programador y a los programas de aplicacin el uso de sus servicios y caractersticas. Un SO ofrece los siguientes servicios: Creacin de programas: Ofrece editores y depuradores para ayudar al programador en la creacin de programas. Ejecucin de programas: El SO administra todas las tareas (carga de datos a la memoria, iniciar archivos y dispositivos de E/S) para que el usuario ejecute un programa. Acceso a los dispositivos de E/S: Estos dispositivos requieren instrucciones (conjunto de instrucciones, seales de control) que el SO oculta para que el programador acceda a los dispositivos con lecturas y escrituras simples. Acceso controlado a los archivos: Proporciona mecanismos de proteccin para controlar el acceso a los archivos. Acceso al sistema: En un sistema compartido, el SO controla el acceso al sistema como un todo y a los recursos especficos del sistema. Deteccin y respuesta a errores: Da respuestas eliminando la condicin de error con el menor impacto posible sobre las aplicaciones que se estn ejecutando. Esta respuesta puede ser terminar el programa que produjo el error, reintentar la operacin o ignorar el error. Contabilidad: realiza estadstica de utilizacin de recursos y supervisa parmetros de rendimiento. Esta informacin es til para la evolucin del SO. 3. El SO como administrador de recursos Desde cierto punto de vista, el SO es el que controla y administra los recursos del computador. Con frecuencia, el SO abandona el control y debe depender del procesador para recuperarlo. El SO es, de hecho, un conjunto de programas, y como todo programa proporciona instrucciones al procesador. La diferencia esta en el propsito del programa. El SO dirige al procesador en el uso de recursos del sistema y en el control del tiempo de ejecucin de los programas. Para que el procesador pueda hacer estas cosas, debe cesar la ejecucin del SO y ejecutar otros programas. As, el SO da el control del procesador, para hacer algn trabajo til, y luego lo recupera para preparar la siguiente tarea. 4. Por qu evoluciona un SO? Actualizaciones de hardware y nuevos tipos de hardware. Nuevos servicios como respuesta a la demanda de los usuarios. Correcciones de los fallos encontrados en el SO (estas correcciones pueden introducir nuevos fallos, y as sucesivamente). -1-

5. Evolucin de los SO Proceso en serie: Aqu no haba SO, el programador interactuaba directamente con el hardware. Desventajas, la planificacin y el tiempo de preparacin. Se denomina en serie porque el usuario acceda a la computadora en serie. Proceso por lotes: Aparece el SO. Se utiliza un elemento de software fundamental, el monitor. La computadora agrupa nicamente los trabajos por lotes y ubicaba los lotes enteros en un dispositivo de entrada para su empleo por lote del monitor. Cada programa volva al monitor al terminar su ejecucin, y el monitor cargaba el siguiente programa. Sistema por lotes con multiprogramacin: Cuando un trabajo necesita esperar una E/S (esto es lento comparado con el procesador) el procesador puede cambiar a otro trabajo que no est ejecutando una E/S. Esto es la multiprogramacin o multitarea. Si hay varios trabajos listos para ejecutarse, el procesador decide cul de ellos ejecutar mediante un algoritmo de planificacin. Sistema de tiempo compartido: Mltiples usuarios acceden simultneamente al sistema por medio de terminales, donde el SO intercala la ejecucin de cada programa. Aqu tambin se utiliza la multiprogramacin. 6. Caractersticas de los SO modernos Arquitectura microncleo: Asigna unas pocas funciones esenciales al ncleo. Otros servicios del SO los proporcionan los procesos, que se ejecutan en modo usuario y que el microncleo trata como a cualquier otra aplicacin. El enfoque del microncleo simplifica la implementacin, proporciona flexibilidad, y se adapta bien para entornos distribuidos. Multihilo: Un proceso se divide en hilos que pueden ejecutarse concurrentemente; son interrumpibles, para que procesador ejecute otro hilo. Se hace la siguiente distincin: Hilo: unidad de trabajo que se puede expedir para su ejecucin. Conjunto de instrucciones que pertenecen a un proceso. Se les suele llamar procesos ligeros o contextos de ejecucin. Proceso: un conjunto de uno o mas hilos y los recursos del sistema asociados (cdigo y datos, archivos abiertos y dispositivos). Al dividir una aplicacin en mltiples hilos, el programador tiene un gran control sobre la modularidad de la aplicacin y la coordinacin de los sucesos relativos al sistema. Los multihilos son muy tiles para las aplicaciones que ejecutan un nmero de tareas esencialmente independientes que no necesitan ser consecutivas. Multiproceso simtrico: Es un trmino que se refiere a una arquitectura hardware y el comportamiento de la misma. Las caractersticas principales son que tiene mltiples procesadores que comparten la misma memoria principal y dispositivos de E/S, y que todos los procesadores pueden ejecutar las mismas funciones (por eso es simtrico). Planifica procesos e hilos por todos los procesadores. Ventajas: Rendimiento: con multiprocesamiento, puede ejecutarse ms de un proceso simultneamente, cada uno en un procesador distinto. Disponibilidad: en un multiprocesador simtrico, el fallo de un procesador no detiene la maquina, y esta sigue con un rendimiento reducido. Crecimiento incremental: un usuario puede aumentar el rendimiento agregando un procesador adicional. Escalabilidad: variedad de productos con diferentes precios y caractersticas de rendimiento basados en el nmero de procesadores del sistema. SO distribuido: Proporciona la idea de un nico espacio de memoria principal y secundaria, adems de otros mecanismos de acceso unificado. Diseo orientado a objetos:

-2-

Posibilita aadir extensiones modulares a un pequeo ncleo. Permite a los programadores personalizar el SO sin romper la integridad del mismo, y tambin facilita el desarrollo de herramientas distribuidas y sistemas operativos distribuidos abiertos. 7. Windows 2000 (Stallings) DOS 1.0 La historia de Windows 2000 comienza con SOP muy diferente, el MS DOS (Disk Operating System, desarrollado para el primer computador personal de IBM). La versin inicial, el DOS 1.0 se lanzo en agosto del 81, ejecutada en 8 Kb de memoria utilizando el microprocesador Intel 8086. DOS 2.0 Cuando IBM desarrollo un computador personal basado en disco duro (el PC XT), Microsoft desarrollo el DOS 2.0, lanzado en el 83. Tena soporte para disco duro y ofrecia directorios jerarquicos, esto es, directorios con subdirectorios y archivos. Tambin se aadieron algunas caractersticas de UNIX, como el redireccionamiento de E/S (capacidad de cambiar la identidad de la entrada o salida de una aplicacin) y la impresin subordinada (background). La memoria creci hasta 24 Kb. DOS 3.0 Cuando IBM anuncio el PC AT en 1984, Microsoft introdujo el DOS 3.0. El AT incorporo el procesador Intel 80286, previsto de direccionamiento extendido y recursos de proteccin de memoria. Pero DOS no los utilizo, sino que uso el 80286 como un 8086 rapido. El SOP ofrecia soporte para nuevos teclados y discos rigidos. Los requisitos de memoria crecieron hasta un minimo de 46 Kb. WINDOWS 3.0 El DOS estaba siendo utilizado en un entorno que iba ms alla de sus capacidades. Microsft comienza el desarrollo de una Interfaz Grafica de Usuario (GUI) que podra ejecutarse entre el usuario y el DOS. En 1990, Microsoft presenta una versin de la GUI, el Windows 3.0, la cual segua maniatada por la necesidad de ejecutarse sobre DOS. WINDOWS NT Luego de una tentativa fallida por Microsoft de desarrollar junto a IBM un SOP de nueva generacin que aprovechara las caractersticas de los actuales microprocesadores, IBM desarroolla OS/2 y Microsoft lanza Windows NT. Ambas son multitarea y multihilo. WINDOWS NT 4.0 Despus de varias versiones NT 3.X, Microsoft desarrolla la versin 4.0, que proporciona la misma interfaz Windows 98. El mayor cambio consiste en que varios de los componentes graficos que se ejecutaban tanto modo usuario como formando parte del subsistema Win 32 en 3.X, han sido trasladados al ejecutor Windows NT, que ejecuta en modo ncleo, lo que implica una aceleracin en tales ejecuciones. inconveniente es que servicios del subsistema tienen acceso a funciones graficas de bajo nivel.

de en de El

WINDOWS 2000 En el ao 2000, Microsoft introdujo la siguiente gran actualizacin: Windows 2000. Nuevamente el ejecutor y la arquitectura microncleo son fundamentalmente los mismos que en NT 4.0. Se han aadido nuevas caractersticas, como el soporte al procesamiento distribuido. El directorio activo es un servicio del directorio distribuido capaz de traducir los nombres de objetos arbitrarios a cualquier tipo de informacin acerca de los mismos. Una consideracin final sobre Windows 2000 es la distribucin entre Windows 2000 Server y Professional, en donde la versin Server incluye servicios para su uso como servidor de red. 8. Windows 2000 (Tanembaum ver libro) Es un SOP basado en una tecnologa confiable de 32 bits pero con la popular interfaz de usuario de Windows 98. Ya que Windows 2000 es en realidad NT 5.0, hereda muchas propiedades de NT 4.0. Es un sistema multiprogramado de 32 bits con procesos protegidos de manera individual. El SOP se ejecuta en modo de usuario (eliminando los defectos de proteccin de Windows 98). Los procesos pueden tener uno o ms subprocesos que el sistema puede ver. Tiene soporte completo para ejecutarse en multiprocesadores simtricos con hasta 32 procesadores. Tambin soporta dispositivos Plug & Play, bus USB, IrDA (enlace infrarrojo), administracin de energa, etc. Posee tambin otros aspectos que no posea ningn SOP de Microsoft, como un servicio de directorios de archivos, manejo de tarjetas inteligentes, herramientas para vigilar el desempeo, etc. El principal sistema de archivos, el NTFS, se extendi archivos cifrados, archivos enlazados, etc. -3-

Windows 2000 tiene un solo binario, que se ejecuta en cualquier lugar del mundo, donde el usuario elige el idioma que usara en el momento de ejecucin. Algo que no tiene Windows 2000 es MS DOS, pero tiene una interfaz de lnea de comandos como un programa de 32 bits que incluye la funcionalidad de DOS y un numero de funciones nuevas. Solo se ejecuta en dos plataformas, Pentium e Intel IA64. Se desarrollaron tambin unos kits de herramientas como el Kit de Desarrollo de Software (SDK), el Kit de Desarrollo de Controladores (DDK) y el Kit de Recursos. 9. Sistemas Unix Clsicos (completar tema ver libro) Unix se desarrollo en los laboratorios Dell y llego a su operativo en una PDP 7, en 1970. El primer avance notable fue llevar a Unix de la PDP 7 a una PDP 11, lo que dio la seal de que este podia ser un SO para todos los computadores. El siguiente avance fue la reescritura de Unix en el lenguaje de programacin C. Descripcin de un Sistema Unix El HW bsico esta rodeado por el software del SO. Este ltimo es llamado a menudo ncleo del sistema, o kernel. Unix esta equipado con servicios e interfaces de usuario considerados parte del sistema, los cuales pueden agruparse en un interprete de ordenes (shell).

-4-

UNIDAD 2:

ADMINISTRACION Y GESTION DE ARCHIVOS

Archivos Nombre, estructura, tipos. Mtodos de acceso. Atributos. Operaciones con archivos. Directorios. Jerarqua y rutas de acceso. Operaciones con directorios. Implementacin de Sistemas de Archivos Organizacin del Sistema de Archivos. Implantacin de archivos: Asignacin por lista enlazada y un ndice. Nodos-i. Implantacin de directorios. Implementacin del Sistema de Archivos en Windows 2000. NTFS. Estructura del sistema de archivos. Archivos compartidos: tipos de enlaces (duro y simblico). Administracin del espacio en disco: tamao del bloque, registro de bloques libres, administracin de cuotas de disco.

ARCHIVOS
1. Nombre de los archivos Los archivos son un mecanismo de abstraccin. Son una forma de almacenar informacin en un disco y volver a leerlas mas adelante. Cuando un proceso crea un archivo, le asigna nombre. Cuando el proceso termina, el archivo sigue existiendo y otros procesos pueden tener acceso a el mediante su nombre. Las reglas exactas para nombrar a los archivos varan un poco de sistema a sistema. Algunos sistemas distinguen letras maysculas de minsculas, mientras que otros no. Muchos SO utilizan nombres de archivos con dos partes, separadas por un punto. La parte posterior al punto es la extensin del archivo e indica por lo general algo relativo al archivo. Concluyendo, el nombre de un archivo tiene mas la intencin de servir de recordatorio al propietario que de dar informacin especifica a la computadora. 2. Estructura de archivos Se pueden estructurar de 3 maneras: Sucesin de bytes. Al SO no le interesa qu contiene el archivo, solo ve bytes, lo que ofrece el mximo de flexibilidad. Sucesin de registros de longitud fija. Cada registro tiene una estructura interna. Cuando se lee un archivo, se lee el registro correspondiente, y al escribir se anexa el registro. rbol de registros. Los registros pueden tener distinta longitud y cada uno contiene un campo clave en una porcin fija del registro. El rbol esta ordenado segn el campo clave, para hallar con rapidez una clave particular. 3. Tipos de archivo Archivos normales o regulares: Contienen informacin del usuario y son en general archivos ASCII o binarios. Los archivos ASCII constan de lneas de texto, por lo que se pueden exhibir e imprimir tal cual son. Los archivos binarios solo constan de unos y ceros. Directorios: Son archivos de sistema que sirven para mantener la estructura del sistema de archivos. Archivos especiales: Hay dos tipos: De caracteres: tiene que ver con E/S y sirven para modelar dispositivos de E/S en serie. De bloques: sirven para modelar discos. Ejecutables: Los genera el usuario para que se ejecuten cuando los invoca, contienen instrucciones o comandos en lugar de datos. Todo SO debe reconocer un tipo de archivo, su propio archivo ejecutable. 4. Acceso a archivos Secuencial: Un proceso lee todos los bytes o registros de un archivo en orden, comenzando por el principio, sin poder realizar saltos (FIFO). Aleatorio: Se puede leer los bytes o registros de un archivo sin un orden especfico. Se tiene acceso a los registros por clave o ndice, no por posicin. Aleatorio + secuencial: Combina los dos anteriores. Se establece la posicin actual (puede ser cualquiera) y a partir de all es secuencial el acceso. Los SO modernos no hacen esta distincin, todos sus archivos son de acceso aleatorio. 5. Atributos de archivos -5-

Cada archivo tiene su nombre y datos. Adems, todos los SO asocian informacin adicional a cada archivo; por ejemplo, fecha y hora de creacin, tamao. Estos elementos adicionales se llaman atributos y varan de sistema en sistema. Entre los atributos ms comunes se encuentran: Proteccin: quien debe tener acceso y de que forma Contrasea: contrasea necesaria para acceder al archivo Creador: identificador de la persona que creo el archivo Propietario: propietario actual

Otros atributos son las banderas, que son bits o campos pequeos que controlan cierta propiedad. Algunos ejemplos de estos atributos son: Bandera exclusiva para lectura: 0 lectura/escritura, 1 para lectura exclusivamente Bandera de ocultamiento: 0 normal, 1 para no exhibirse en listas Bandera de sistema: 0 normal, 1 archivo del sistema Bandera de biblioteca: 0 ya se ha respaldado, 1 necesita respaldo Bandera de ASCII/binario: 0 archivo en ASCII, 1 archivo en binario Bandera de acceso aleatorio: 0 solo acceso secuencial, 1 acceso aleatorio Bandera temporal: 0 normal, 1 eliminar al salir del proceso Banderas de cerradura: 0 no bloqueado, distinto de cero bloqueado

Existen otros atributos que estn presentes en los archivos en cuyos registros se puede hacer una bsqueda mediante una llave. Estos campos proporcionan la informacin necesaria para encontrar las llaves. Ejemplos: Longitud del registro (en bytes) Posicin de la llave: dentro de cada registro Longitud de la llave (en bytes)

Atributos relacionados con tiempos especficos del archivo: Tiempo de creacin: fecha y hora de creacin del archivo Tiempo de ultimo acceso: fecha y hora del ultimo acceso al archivo Tiempo de ultima modificacin: fecha y hora de la ultima modificacin del archivo

Otros atributos Tamao actual Tamao mximo: se utiliza generalmente para que el SO se reserve de antemano la cantidad mxima de espacio de almacenamiento

6. Operaciones con archivos Los SO proporcionan distintas operaciones para el almacenamiento y la recuperacin. Las bsicas son: CREATE (CREAR): el propsito es anunciar que el archivo esta por llegar y establecer algunos de sus atributos. DELETE (BORRAR): si el archivo ya no es necesario, se debe borrar para liberar espacio en el disco. OPEN (ABRIR): permite que el sistema traslade los atributos y la lista de direcciones en disco a la memoria principal para un rpido acceso en llamadas posteriores. CLOSE (CERRAR): cuando concluyen los accesos, los atributos y direcciones del disco ya no son necesarios, por lo que el archivo debe cerrarse para liberar la tabla de espacio interno. READ (LEER): los datos se leen del archivo. Por lo general, los bytes provienen de la posicin actual. Quien hace la llamada debe especificar la cantidad de datos necesarios y proporcionar un buffer para colocarlos. WRITE (ESCRIBIR): los datos se escriben a partir de la posicin actual. Si esta es al final del archivo, el tamao del mismo aumenta. Si la posicin es a mitad del archivo, se escriben encima de los datos existentes y estos se pierden para siempre. APPEND (AADIR): forma restringida de WRITE. Solo se puede aadir datos al final del archivo. SEEK (BUSCAR): para los archivos de acceso aleatorio, se necesita un mtodo para especificar el punto de donde tomar los datos. GET ATTRIBUTES (OBTENER ATRIBUTOS): los procesos deben leer los atributos para realizar su trabajo. SET ATTRIBUTES (ESTABLECER ATRIBUTOS): algunos de los atributos pueden ser determinados por el usuario y modificarse despus de la creacin del archivo. -6-

RENAME (CAMBIAR DE NOMBRE): permite hacer una modificacin al nombre de un archivo ya existente. 7. Directorios Son archivos que contienen otros archivos. 8. Jerarqua de directorios Al abrir un archivo, el SO busca en su directorio hasta encontrar el nombre del archivo por abrir. Extrae entonces los atributos y las direcciones en disco, ya sea en forma directa de los datos del directorio o de la estructura de datos a la que apunta y los coloca en una tabla dentro de la memoria principal. La jerarqua puede ser: De un solo nivel: un directorio, llamado directorio raz. Contiene todos los archivos. De dos niveles: un directorio raz, el siguiente nivel tiene un directorio por cada usuario y luego se encuentran los archivos. Este diseo elimina los conflictos de los nombres entre los usuarios, aunque no es muy satisfactorio para los usuarios que poseen muchos archivos. Jerrquicos: se forma un rbol de directorios con muchos niveles. 9. Rutas de acceso Dos mtodos: Absoluto: contiene el camino que debe seguirse para llegar del directorio raz hasta el archivo. Relativo: se sigue el camino desde el directorio de trabajo (directorio actual) hasta el archivo. Hay dos entradas especiales en cada directorio: . (punto) Se refiere al directorio actual .. (punto punto ) Se refiere a su padre 10. Operaciones con directorios CREATE (CREAR): se crea un directorio vaco, excepto por punto y punto-punto, los que se colocan en el en forma automtica. DELETE (ELIMINAR): se elimina un directorio. Solo se puede eliminar un directorio vaco. Un directorio que solo contenga punto y punto-punto se considera vaco. OPENDIR (ABRIR DIRECTORIO): se pueden leer los directorios para exhibir un listado de todos los archivos del mismo. Antes de leer un directorio, este debe ser abierto. CLOSEDIR (CERRAR DIRECTORIO): cuando se ha ledo un directorio, este debe cerrarse para liberar el espacio de la tabla interna. READDIR (LEER DIRECTORIO): esta llamada regresa la siguiente entrada en un directorio abierto. READDIR siempre regresa una llamada en formato normal, sin importar el tipo de estructura que se utilice. RENAME (RENOMBRAR): se les puede cambiar el nombre al igual que los archivos. LINK (LIGAR): es una tcnica que permite que un archivo aparezca en ms de un directorio. Esta llamada al sistema especifica un archivo existente y el nombre de una ruta de acceso, adems de crear un enlace del archivo ya existente con el nombre especificado en la ruta de acceso. De esta forma, el mismo archivo puede aparecer en varios directorios. UNLINK (DESLIGAR): se elimina una entrada del directorio. Si el archivo que se quiere eliminar aparece solo en un directorio (caso normal), se elimina del sistema de archivos. Si esta presente en varios directorios, solo se elimina la ruta de acceso especificada, los dems permanecen.

IMPLEMENTACIN DE SISTEMA DE ARCHIVOS


Los sistemas de archivos se almacenan en discos. Los discos pueden tener particiones, con sistemas de archivos independientes en cada particin. El sector 0 del disco se llama registro maestro de arranque y sirve para arrancar la computadora, es el MBR. Al final del MBR est la tabla de particiones, que contiene las direcciones inicial y final de cada particin. Una particin estar marcada como activa. El 1 bloque de la particin es el bloque de arranque, que carga el SO contenida en esa particin. Uno de los elementos del sistema de archivos es el superbloque, que contiene todos los parmetros clave acerca del sistema de archivo y se transfiere del disco a la memoria cuando se arranca la computadora. 1. Organizacin del Sistema de Archivos Los implantadores se interesan en la forma de almacenamiento de los archivos y directorios, la administracin del espacio en disco y la forma de que todo esto sea eficiente y confiable. -7-

2. Implantacin de archivos Asignacin contigua: Se almacena cada archivo en una serie contigua de bloques de disco. Cada archivo se inicia al principio de un bloque nuevo. Ventajas: Fcil implantacin: el registro de la localizacin de los bloques del archivo se reduce a recordar solo la direccin en disco del primer bloque. Buen rendimiento: todo el archivo se puede leer en una sola operacin. Desventajas: No realizable, a menos que se conozca el tamao mximo del archivo al momento de su creacin. Sin esa informacin, el SO no sabe cuanto espacio en disco debe reservar. Fragmentacin de disco: se desperdicia el espacio que se podra utilizar de otra manera. Asignacin por lista enlazada: Consiste en mantener cada archivo como una lista enlazada de bloques de disco. La primera palabra de cada bloque se usa para apuntar al siguiente, el resto es para datos. Ventaja: Con este mtodo se usa cada bloque de disco, por lo que no se pierde espacio por fragmentacin del disco. Desventajas: Acceso aleatorio lento. El tamao de bloque para los datos es relativo y no potencia de dos como debera ser, ya que el apuntador ocupa unos cuantos bytes. Asignacin por lista enlazada con una tabla en memoria : Se eliminan las desventajas de la asignacin por lista enlazada ya que se saca el apuntador de cada bloque de disco y se lo coloca en una tabla en la memoria denominada tabla de asignacin de archivo (FAT). De esta forma, todo el bloque esta disponible para los datos. El acceso aleatorio es mucho ms fcil. Al estar toda la cadena cargada en memoria, se sigue sin hacer referencia al disco. La desventaja es que la tabla debe estar en la memoria todo el tiempo. Nodos I: Asocia a cada archivo una estructura de datos llamada nodo-i (nodo ndice) que contiene los atributos y direcciones en disco de los bloques del archivo. El nodo-i solo debe estar en memoria cuando el archivo est abierto. Para archivos pequeos, las primeras direcciones en disco se almacenan en el propio nodo i, de forma que toda la informacin necesaria est contenida en el nodo i. Para archivos ms grandes, una de las direcciones en el nodo i es la direccin de un bloque en el disco llamado bloque simplemente indirecto, el cual contiene direcciones en disco adicionales. Si con esto no es suficiente, otra direccin del nodo i, el bloque doblemente indirecto contiene la direccin de un bloque que tiene una lista de bloques simplemente indirectos, donde cada uno de estos apunta a unos centenares de bloques de datos. Si aun esto no basta, se puede utilizar un bloque triplemente indirecto. 3. Implantacin de directorios La funcin principal del sistema de directorios es transformar el nombre ASCII del archivo en la informacin necesaria para localizar los datos. Directorios en CP/M (Directorio nico): Es uno de los ms antiguos. Se lo usa en el SO CPM. En este sistema, slo hay un directorio, por lo que lo nico que el sistema de archivos tiene que hacer para consultar un nombre de archivo es buscarlo en el directorio. Una vez que encuentra la entrada, tambin tiene los nmeros de bloque en el disco, ya que estn almacenados ah mismo, en la entrada, lo mismo que todos los atributos. Directorios en MS DOS (Directorio jerrquico): Una entrada de directorio de MS-DOS tiene 32 bytes de longitud y contiene el nombre de archivo, los atributos y el nmero del primer bloque de disco, que se usa como ndice de una tabla contenida en memoria (asignacin por lista enlazada con una tabla en memoria). Siguiendo la cadena, se pueden encontrar todos los bloques. Directorios en UNIX (Nodos-I): Cada entrada de directorio contiene slo un nombre de archivo y su nmero de nodo-i. Toda la informacin acerca del tipo, tamao, tiempos, propietario y bloques de disco est contenida en el nodo-i. Cuando se abre un archivo, el sistema de archivos debe tomar el nombre que se le proporciona y localizar sus bloques de disco. Lo primero que hace el sistema de archivos es localizar directorio raz. En UNIX su nodo-i est situado en un lugar fijo del disco. La localizacin de un nodo-i una vez que se tiene su nmero es directa, ya que cada uno tiene una posicin fija en el disco. Ejemplo: -8-

Bsqueda de /usr/ast/mbox en UNIX Para los nombres de ruta relativos el punto de partida es el directorio de trabajo en lugar del directorio raz. Cada directorio tiene entradas para . y .., que se colocan ah cuando se crea el directorio. La entrada . tiene el nmero de nodo-i del directorio actual, y la entrada .. tiene el nmero de nodo-i del directorio padre. 4. Archivos compartidos Un archivo puede aparecer al mismo tiempo en diferentes directorios de usuarios distintos. Si un archivo de un usuario A aparece en algn directorio de un usuario B, el archivo compartido se llama enlace (link). Hay dos formas de enlazar un archivo: Enlace duro: los directorios que comparten un archivo, no poseen los bloques de disco, sino que apuntan al mismo nodo-i que corresponde al archivo. Este es el esquema de UNIX. Desventajas: Si el propietario elimina el archivo y se limpia el nodo i, algn directorio con un enlace a ese archivo, apuntara a un nodo i no valido. Si el nodo i se reasigna a otro archivo, el enlace apuntara a un archivo incorrecto. Enlace simblico: cuando un directorio quiere compartir un archivo, se genera un archivo de tipo link que solo contiene el nombre de ruta del archivo. Cada archivo compartido va agregando un registro de tipo link. Desventajas: Tienen un costo excesivo, ya que leer el archivo, la ruta de acceso del mismo, analizarla y seguirla hasta el nodo i requiere varios accesos al disco. Se necesita un nodo i adicional para cada enlace Si el nombre de la ruta de acceso es largo, se necesita otro bloque adicional para almacenarla. 5. Administracin de espacio en disco Hay dos estrategias generales para almacenar un archivo: asignar n bytes consecutivos de espacio en disco, o dividir el archivo en varios bloques contiguos o no. El almacenamiento de un archivo como secuencia contigua de bytes tiene el problema de que, si el archivo crece, probablemente tendr que pasarse a otro lugar del disco. Por esta razn, casi todos los sistemas de archivos dividen los archivos en bloques de tamao fijo que no necesitan estar adyacentes. Tamao de bloque: Una vez que se ha decidido almacenar archivos en bloques de tamao fijo, se debe decidir qu tamao deben tener los bloques. Dada la forma como estn organizados los discos, el sector, la pista y el cilindro son candidatos para utilizarse como unidad de asignacin. Tener una unidad de asignacin grande, como un cilindro, implica que cada archivo, incluso un archivo de un byte, ocupar todo un cilindro. Por otro lado, el empleo de una unidad de asignacin pequea implica que cada archivo consistir en muchos bloques. La lectura de cada bloque normalmente requiere una bsqueda y un retardo rotacional, as que la -9-

lectura de un archivo que consta de muchos bloques pequeos ser lenta. El tiempo en milisegundos requerido para leer un bloque de k bytes es la suma de los tiempos de bsqueda, retardo rotacional y transferencia Una buena utilizacin del espacio (tamao de bloque < 2K) implica tasas de datos bajas y viceversa. La eficiencia de tiempo y la eficiencia de espacio estn inherentemente en conflicto. El trmino medio usual es escoger un tamao de bloque de 512, 1K o 2K bytes. Control de bloques libres: Una vez que se ha escogido el tamao de bloque, se debe decidir cmo administrar a los bloques libres. Se usan dos tcnicas para este control: Usar una lista enlazada de bloque de disco, en la que cada bloque guarda tantos nmeros de bloques de disco como quepan en l. Usar un mapa de bits. Un disco con n bloques requiere un mapa de bits con n bits. Los bloques libres se representan con uno en el mapa y los bloques asignados con ceros (o viceversa). El mapa de bits requiere menos espacio, ya que usa un bit por bloque y no 32 como en el modelo de lista enlazada. Slo si el disco est casi lleno el mtodo de la lista enlazada requerir menos bloques que el mapa de bits. Si hay suficiente memoria principal para contener el mapa de bits, este mtodo es preferible. En cambio, si slo se puede dedicar un bloque de memoria para seguir la pista a los bloques libres, y el disco est casi lleno, la lista enlazada puede ser mejor. Cuota de disco: El administrador del sistema asigna a cada usuario una porcin mxima (lmites) de archivos y bloques y el SO cuida que los usuarios no excedan su cuota. Cuando se abre un archivo, sus atributos y direcciones de disco se colocan en una tabla de archivos abiertos en la memoria principal. Cada archivo tiene una entrada que indica quien es el dueo del archivo, por lo que cualquier aumento en el tamao del archivo se carga automticamente a la cuota del dueo. Una segunda tabla contiene los registros de cuota de los usuarios que tiene algn archivo abierto en ese momento, para poder localizar los distintos lmites. Cada vez que se aade un bloque a un archivo, se incrementa el total de bloques cargados al usuario y se verifica este valor contra los lmites estricto y flexible. Se puede exceder el lmite flexible, pero no el estricto. Cuando un usuario desea iniciar su sesin, el SO verifica el archivo de cuotas para ver si este se ha excedido su limite flexible (ya sea en numero de archivos o bloques). Si se ha excedido, se le advierte (mediante un mensaje) y el contador de advertencias se reduce en uno. Si este llega a cero, no se le permite iniciar sesin nuevamente. 6. Implementacin del Sistema de Archivos Windows 2000 NTFS es un sistema de archivos grande y complejo. Se diseo desde cero, en vez de intentar mejorar el antiguo sistema de archivos e MS DOS. Estructura del sistema de archivos Cada volumen NTFS (por ej., particin de disco) contiene archivos, directorios, mapa de bits u otras estructuras de datos. Cada volumen esta organizado como una sucesin lineal de bloques (clsteres) de tamao fijo que pueden variar entre 512 bytes y 64 KB, dependiendo del tamao del volumen. El termino medio entre bloques grandes y pequeos es de 4 KB. Cada volumen contiene una estructura llamada tabla maestra de archivos (MFT: Master File Table) que es una sucesin lineal de registros de tamao fijo (1KB). Cada registro de MFT describe un archivo o directorio, o sea, contiene atributos y lista de direcciones de disco donde estn sus bloques. Si el archivo es muy grande se usan dos o mas registros MFT, donde el primero (registro base) apunta a los dems. Un mapa de bits controla las entradas libres de la MFT. La MFT es en si un archivo, por lo que puede colocarse en cualquier lugar del volumen. Adems el archivo 48 puede crecer hasta un mximo de 2 registros. Cada registro es una secuencia de pares (atributo, valor). Cada atributo se encabeza indicando de que atributo se trata y que longitud tiene, ya que algunos son variables, como el nombre del archivo y los datos. Si el nombre es corto se coloca en la MFT, sino se coloca en otro lugar del disco y un puntero al mismo en la MFT. Los primeros 16 registros de la MFT estn reservados para metadatos de NTFS. El nombre de cada uno de estos archivos comienza con un signo dlar, lo que indica que es un archivo de metadatos. Reg. 0 1 2 3 Descripcin Archivo MFT mismo Copia espejo Archivo de registro p/ recuperacin Informacin del volumen Reg. 8 9 10 11 Descripcin Lista bloques defectuosos Informacin de seguridad Tabla de conversin de maysculas a minsculas Extensiones - 10 -

You might also like