Tema 8: Introducción a los Sistemas Operativos Escuela Politécnica Superior Ingeniería Informática Universidad Autónoma de Madrid 1 Introducción a los Sistemas Operativos O B J E T I V O S Identificar, Describir y Relacionar la estructura y tareas de los sistemas operativos. TEMA 8: INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS 8.1 Conceptos básicos 8.2 SO de mayor difusión 8.3 Gestión del procesador 8.4 Gestión de la memoria 8.5 Gestión de E/S 8.6 Gestión de los archivos Bibliografía Tema 8: - Introducción a la Informática. 4ª Ed. A. PRIETO, A. LLORIS, J. C. TORRES. (McGraw Hill, 2006). Cap. 13. - Sistemas Operativos Modernos. 2ª Ed. A. S. TANENBAUM. (Prentice Hall, Pearson Educación, 2003). Cap. 1. 2 DEFINICIÓN DE SISTEMA OPERATIVO o Un SO es un programa (o conjunto de programas) de control que tiene por objeto facilitar el uso del ordenador y conseguir que éste se utilice eficientemente. o Sus principales tareas son permitir: • Control de recursos • Facilidad de uso • Eficiencia de uso. 3 TAREAS DEL SISTEMA OPERATIVO o Control: Se encarga de gestionar y asignar los recursos hardware que requieren los programas: • • • • El procesador La memoria principal Los discos Otros periféricos. o Facilidad de uso: Hace transparente al usuario las características hardware concretas de los dispositivos. o Eficiencia: Por ejemplo, haciendo que los tiempos muertos del procesador sean utilizados por la ejecución de otros procesos. 4 EL SO COMO MÁQUINA OPERATIVA o El sistema operativo junto con el hardware del ordenador definen un nivel de máquina virtual que permite utilizar el ordenador sin tener que conocer muchos detalles del hardware. o El sistema operativo puede considerarse como un programa constituido por una serie de módulos. Estos módulos se lanzan a ejecución por medio de llamadas al sistema. Estas llamadas pueden ser realizadas por los usuarios o por los programas. o Para comunicarse con el ordenador, el SO va acompañado de módulos que definen la interfaz de usuario. o Cuando un usuario introduce una orden en un ordenador, ésta es captada por el intérprete de comandos (shell). El intérprete se encarga de traducir o descomponer la orden en llamadas al sistema. 5 ARRANQUE DE UN SO o Al encender un ordenador se lanza a ejecución un programa de autodiagnóstico de encendido (Power On Self Test, POST). o Este programa identifica la memoria disponible, los discos, el teclado, la tarjeta de vídeo, el ratón y los demás dispositivos que lo configuran. o Posteriormente se lanza a ejecución el cargador inicial (bootstrap loader), que busca el SO y carga una parte de él (denominada residente) en la memoria principal. o Tanto el programa de autodiagnóstico de encendido como el cargador inicial suelen estar grabados en la memoria ROM del ordenador. 6 ALGUNOS SO DE MAYOR DIFUSIÓN oSistemas operativos de Microsoft oUnix oLinux oMacOS 7 SISTEMAS OPERATIVOS MICROSOFT: EVOLUCIÓN PASOS RELEVANTES EN LA EVOLUCIÓN DE SISTEMAS OPERATIVOS MICROSOFT 8 SISTEMAS OPERATIVOS MICROSOFT: CARACTERÍSTICAS MS DOS Windows 3.1 (1992) •Pantalla en modo texto •Soporta solamente modo protegido •Interfaz de línea de comandos •Api Win16 (16 bits) Windows 1.0 (1985) y 2.0 (1987) •Basados en chip 8086/8088 •Gran éxito entre usuarios y programadores •Extensiones para conectividad, WorkGroups •Multitarea no real Windows 3.0 (1990) •Soporta modo protegido del 386 •Amplia difusión de software disponible 9 SISTEMAS OPERATIVOS MICROSOFT: CARACTERÍSTICAS Windows NT (1993) •Primer SO de 32 bits •Api Win 32 •Basado en kernel Match Windows 95 (1995) •Versión completa en 32 bits •Multitarea real •Nueva interfaz Windows ME (2000) •Nueva interfaz •Acceso más limitado al DOS Windows 2000 (2000) •Basado en kernel de NT •Orientado a redes y a servidores •Api Win32 (32 bits) Windows XP (2001) •Núcleo basado en DOS •Fusión entre Windows 98 y 2000 Windows 98 (1998) •Mejoras en interfaz •Nuevos dispositivos •Basado en kernel de 2000 •Compatibilidad con todas las versiones anteriores •Soporte para juegos y multimedia 10 UNIX: CARACTERÍSTICAS o Se puede considerar como un conjunto de familias de SO que comparten ciertos criterios de diseño e interoperabilidad. o Sistema operativo multiusuario. o Sistema operativo multiproceso. o “Case sensitive” (Mayúsculas y minúsculas). o Diferentes interfaces (bash). 11 UNIX: EVOLUCIÓN 1.984, 12 LINUX o Origen • El sistema operativo Linux es una variante de Unix, realizada a partir de 1991 por un estudiante de computación en la Universidad de Helsinki (Linus Torvalds) • Linux tiene algunas mejoras sobre el Unix original, aunque para los fines del curso los consideraremos similares • GNU/Linux es la denominación correcta del kernel (GNU’s Not Unix, es un proyecto para construir un SO libre) o Distribución (distro) • Conjunto de aplicaciones reunidas por un grupo, empresa o persona para permitir instalar fácilmente un sistema Linux o Entornos gráficos • Fundamentalmente dos, que rivalizan y cooperan entre sí: • GNOME (1997). Surge como entorno para SO libres. • KDE (1996). Surge como interfaz gráfica para Unix. Altamente personalizable. 13 Distribuciones LINUX o Ejemplos de distribuciones • • • • • • • Debian (18000 paquetes extras) Fedora Core (sucesor de Red Hat (comercial)) Mandriva Linux (sucesor de Mandrake (muy popular)) SUSE Linux (Comercial. Propiedad de Novell) Gnoppix y Knoppix (basadas en debian, CD-autónomo) Kubuntu (Ubuntu con KDE) Algunas españolas • LinEx (Junta de Extremadura) • gnUAMix (UAM, basada en Debian, CD-autónomo) • MAX (Comunidad de Madrid, CD-autónomo) 14 MacOS o Sistema operativo de Macintosh. o Desarrollado a mediados de los 80. o Es el precursor de los sistemas operativos con interfaz gráfica. 15 TAREAS DE GESTIÓN DE UN SO o De entre las tareas fundamentales de un SO, se encuentra la: • • • • Gestión del procesador Gestión de la memoria Gestión de las entradas y salidas Gestión de los archivos. 16 TAREAS DE GESTIÓN DE UN SO o Gestión del procesador o Gestión de la memoria o Gestión de las entradas y salidas o Gestión de los archivos 17 GESTIÓN DEL PROCESADOR o La gestión por parte del SO se centra en el concepto de proceso. o Un proceso es un programa en el que se ha iniciado su ejecución. o Por lo tanto un programa es un ente pasivo mientras que un proceso es un ente activo. o Se pueden dividir en: • Monoprogramación • Multiprogramación. 18 MONOPROGRAMACIÓN o Corresponde con los primeros SO. o En ellos se ubicaba un programa en memoria principal, además del sistema operativo, y hasta que no finaliza ese programa no empieza a ejecutarse otro. o Las funciones que realiza un SO monoprogramación son: • Siempre que un programa realiza una operación de E/S hace una llamada al sistema para que éste genere la instrucciones máquina concretas de la E/S. • Cuando finaliza una operación de E/S, el periférico correspondiente genera una interrupción que provoca la llamada al SO y continúa con la ejecución del programa. • Cuando acaba la ejecución del programa, el ordenador queda listo para aceptar uno nuevo. 19 MONOPROGRAMACIÓN 20 MONOPROGRAMACIÓN o Se desaprovecha la memoria principal: ésta sólo se ocupa parcialmente. o Se desaprovecha el procesador: siempre que hay una operación de E/S, éste no se utiliza. o Los periféricos están infrautilizados: el programa en ejecución en un instante dado sólo puede utilizar uno de los recursos hardware. 21 MULTIPROGRAMACIÓN o El SO multiprogramación carga en memoria principal varios programas y el distribuidor asigna el procesador a los procesos preparados. o Se aprovechan: o Los tiempos muertos del procesador o Los tiempos de acceso a periféricos o El espacio de memoria principal no ocupado por procesos o por el SO. o La ejecución se realiza de forma solapada en el tiempo (concurrentemente) de modo que parece que los procesos se ejecutan simultáneamente. o En un intervalo de tiempo determinado se ejecutan alternativamente a trozos varios procesos ubicados en la memoria principal. 22 MULTIPROGRAMACIÓN o En la multiprogramación un proceso se compone de: o Código máquina del programa del usuario a ser ejecutado. o Datos del programa: la parte modificable del espacio del usuario que contiene variables y parámetros del programa. o Pila: utilizada para almacenar direcciones de retorno de subrutinas u otros parámetros. o Bloque de control de proceso (PCB): Contiene datos que el SO necesita para controlar el proceso (identificador, estado, privilegios y prioridades, etc.). 23 MULTIPROGRAMACIÓN o Cuando se detiene la ejecución de un proceso Px para dar turno a otro Py, el SO realiza un cambio de contexto consistente en: • Actualizar el PCB del proceso Px, es decir, se cambia su estado de activo a bloqueado y se salvaguardan los contenidos de los registros del procesador, punteros de pilas, etc. • Restaura los contenidos de los registros del procesador, punteros de pilas, etc. con los valores del PCB del proceso Py y cambia su estado a activo. o De esta forma, cuando el distribuidor asigne nuevamente turno al proceso Px, éste podrá continuar su ejecución justo en el punto exacto donde se interrumpió. 24 MULTIPROGRAMACIÓN 25 MULTIPROGRAMACIÓN La multiprogramación se puede realizar de dos formas: • Multiprogramación no apropiativa: · Es la que se utilizó inicialmente. La emplean los SO MS-DOS y MacOS. • Multiprogramación apropiativa o preferente: · Utilizado por los SO Windows, Unix y Linux. 26 o MULTIPROGRAMACIÓN Multiprogramación no apropiativa: • Una vez que un proceso está activo continúa ejecutándose hasta que: · Termina. · Se bloquea por el inicio de una operación de E/S o por un servicio solicitado por el SO. · El propio proceso hace una llamada al SO para ceder el procesador a otro proceso. • Tiene el inconveniente de que un proceso con mucho tiempo de procesador y pocas E/S puede monopolizar el procesador hasta que acabe su ejecución. 27 MULTIPROGRAMACIÓN Multiprogramación apropiativa o preferente: • El SO puede interrumpir en cualquier momento el proceso activo con objeto de dar paso a otro proceso que esté preparado. • Las decisiones de cuándo se detiene la ejecución de un proceso y de cuál de los procesos preparados pasa a activo se efectúa de acuerdo a un determinado algoritmo de planificación. 28 MULTIPROGRAMACIÓN Algunos algoritmos de planificación que puede utilizar el distribuidor para elegir a qué proceso preparado dar el turno (pasar a activo) son: • Turno aleatorio (round robin): A cada uno de los procesos en memoria se le asigna un intervalo de tiempo fijo y se realiza un cambio de contexto de un proceso activo a otro preparado cuando al activo se le acabe el tiempo o se bloquee. • Planificación por prioridad: El distribuidor da el turno al proceso preparado que tenga mayor prioridad. • FCFS (First Come First Served): Primero en llegar, primero en procesar. • SPN (Shortest Process Next): Dar el turno al de menor tiempo de procesador (se debe conocer el tiempo de antemano). • SRT (Shortest Remaining Time): dar el turno al que le queda menos tiempo de procesador (se debe conocer el tiempo de antemano). 29 MULTIPROGRAMACIÓN o El número de procesos en memoria principal preparados para su ejecución está limitado por el tamaño de ésta. o Para evitar esta limitación se puede trasvasar a disco (memoria secundaria) un proceso de los que están en memoria principal para dar cabida a otro. o El proceso que permanece en memoria secundaria se carga nuevamente a memoria principal cuando llegue su turno. o Este mecanismo se denomina intercambio memoria principal/disco (swapping). o Si la relación capacidad de memoria principal respecto número de procesos es baja, aumenta el intervalo de tiempo entre dos turnos, ralentizando el funcionamiento del sistema: o Una posible solución es aumentar adecuadamente la memoria principal. 30 ESTADOS DE UN PROCESO o Nonato: Un programa que no ha iniciado su ejecución. Se encuentra en la memoria secundaria. o Preparado: Se encuentra en memoria principal, sin operaciones de E/S pendientes y apto para entrar o continuar su ejecución. o Activo: El proceso que se está ejecutando en el procesador en ese momento. o Bloqueado: Se encuentra interrumpido por el procesador por haber atendido a otro de mayor prioridad o que le correspondía el turno. o Bloqueado intercambiado: Un proceso bloqueado intercambiado a memoria secundaria. o Preparado intercambiado: Un proceso preparado intercambiado a disco. Ocurre cuando la carga de procesos es grande. o Concluido: Cuando finaliza la ejecución del proceso o se le detecta un error grave. o Residentes (o no intercambiables): Procesos importantes a los que se obliga a residir en memoria principal. 31 ESTADOS DE UN PROCESO 32 OTROS MODOS DE PROCESAMIENTO o Multiusuario: Sistema multiprogramación que prevé el uso concurrente de distintos usuarios, identificados y autenticados. o Tiempo compartido: Sistema multiprogramación y multiusiario que gestiona procesos interactivos de modo que el usuario actúa con el ordenador de forma casi inmediata, dándole la ilusión de que está trabajando él sólo con el ordenador. o Tiempo real: El sistema debe dar imprescindiblemente la respuesta dentro de un límite de tiempo preestablecido. o Procesamiento de transacciones: Sistema de tiempo compartido que realizan un conjunto de operaciones de forma atómica asegurando la recuperación en caso de fallos. 33 TAREAS DE GESTIÓN DE UN SO o Gestión del procesador o Gestión de la memoria o Gestión de las entradas y salidas o Gestión de los archivos 34 GESTIÓN DE LA MEMORIA o Un programa máquina es una secuencia de instrucciones en código máquina que ocupan n palabras de memoria. o En el momento de ejecutarse, las palabras de memoria pueden numerarse correlativamente de la 0 a la n-1. o Las direcciones de cada una de estas palabras se denominan direcciones virtuales (dv). 35 GESTIÓN DE LA MEMORIA o Suponiendo que las instrucciones del programa se almacenan consecutivamente, si se cargan a partir de una dirección base (dB), el programa quedará ubicado entre las direcciones dB y dB+n-1. o La dirección física (df) donde realmente se almacena cada instrucción corresponde con la dB más la dirección virtual de la palabra. o En un sistema de multiprogramación, el SO, de acuerdo con los espacios libres de memoria, asigna la dirección base a cada programa y lo carga. 36 GESTIÓN DE LA MEMORIA La asignación de memoria para distintos procesos que se ejecutan concurrentemente se realiza dependiendo del SO de la siguiente forma: o Particiones estáticas o Particiones dinámicas o Segmentación o Paginación o Memoria virtual. 37 PARTICIONES ESTÁTICAS o La memoria se divide en un cierto número de particiones o zonas, cada una de las cuales contendrá un proceso. o Un ejemplo es un sistema con una memoria principal de 2 MB y 8 particiones constantes de 256 KB. o El SO mantiene una tabla con las particiones, su posición base, su tamaño (no todas tienen por qué ser iguales) y su estado (ocupada o no). o Cuando una partición queda libre el planificador de trabajos hace que se introduzca el programa de máxima prioridad en espera y que quepa en esa partición. o Cada partición puede tener posiciones no utilizadas si el tamaño de la partición es mayor al del trabajo que la ocupa: se produce fragmentación de una partición. 38 PARTICIONES DINÁMICAS o Los programas se introducen inicialmente en memoria utilizando posiciones consecutivas. Por lo tanto, no existen particiones predefinidas. o Existe una tabla con los fragmentos o huecos libres. o El planificador de trabajos consulta esa tabla introduciendo en memoria los programas que quepan en los fragmentos. o Al ir acabando de ejecutarse los procesos el número de fragmentos crecerá y el espacio de cada uno de ellos disminuirá, haciendo que el espacio de memoria aprovechado sea muy reducido. o Este problema se soluciona realzando compactación, esto es, cambiando de sitio o reubicando los procesos en ejecución. 39 SEGMENTACIÓN o Los programas se consideran divididos en segmentos. o El SO mantiene una tabla de segmentos, indicando la ubicación en memoria de cada uno de ellos y su tamaño. o La segmentación permite que ciertos procesos puedan compartir código (rutinas, etc.) o datos comunes sin necesidad de estar duplicados en memoria principal. 40 PAGINACIÓN o La memoria principal se estructura en marcos de página de longitud fija. o Los procesos se dividen en zonas consecutivas denominadas páginas. o La capacidad de los marcos de página y las páginas son coincidentes, de modo que cada página se almacena en un marco. o Las páginas se almacenan en marcos libres, independientemente de que estén contiguos o no. o Una dirección dentro de un programa está formada por el número de página y un desplazamiento dentro de la página. Por ejemplo, la dirección 328 indicaría la página 3 y, dentro de ésta, la posición relativa (desplazamiento) de 28 posiciones. o Cada proceso tiene asociado una tabla de páginas que indica los marcos de página donde se encuentran almacenadas las páginas que lo componen. o El SO mantiene además una tabla de marcos de página donde se especifica el proceso y página contenido en cada uno de los marcos y su estado (libre o ocupado). 41 MEMORIA VIRTUAL o Permite a los usuarios hacer programas de una capacidad muy superior a la que físicamente tiene el ordenador. o Los sistemas con memoria virtual presentan al usuario una memoria principal aparentemente mayor que la memoria física real. o Para implementar la memoria virtual se puede utilizar gestión de memoria por páginas, segmentada o una combinación de ambas. o Este sistema se basa en dos principios: o Localidad temporal: las instrucciones de un programa que se ejecutan sucesivamente (en un corto espacio de tiempo) están en direcciones muy próximas. o Localidad espacial: los programas suelen estar redactados de forma bastante lineal, sin abundar los saltos entre posiciones de memoria. 42 MEMORIA VIRTUAL o En un sistema de memoria virtual se mantiene en disco un archivo con la imagen del proceso completo, que está troceado en páginas o segmentos. En memoria principal únicamente se carga la página o segmento que en su momento deba estar en ejecución, intercambiando páginas entre la memoria principal y secundaria cuando sea necesario. o La memoria virtual se gestiona normalmente: o Mediante paginación (en lugar de segmentación), ya que las páginas con tamaño constante son más fáciles de gestionar. o Con el método de intercambio perezoso (lazzy swapper): únicamente se lleva a memoria una página cuando sea necesaria para algún proceso. De esta forma en cada momento los procesos necesitan utilizar menos memoria aumentando el número de procesos en ejecución concurrente. 43 MEMORIA VIRTUAL o Cuando un proceso hace referencia a una instrucción o un dato que no está en memoria principal se produce un fallo de página. o El SO busca un marco libre para cargar la página correspondiente. o En el caso de que no haya ningún hueco libre el SO emplea un algoritmo de reemplazo de página para decidir qué página de memoria principal se ha de eliminar antes de introducir la solicitada. o Algunos algoritmos de reemplazo son: o LRU (Least Recently Used): se sustituye la página que lleve más tiempo sin usar. o FIFO (First In First Out): se sustituye la que lleve más tiempo en memoria. o NRU (Not Recently Used): se sustituye una página no utilizada recientemente. o RELOJ: Se sustituye la página más antigua no utilizada recientemente. 44 TAREAS DE GESTIÓN DE UN SO o Gestión del procesador o Gestión de la memoria o Gestión de las entradas y salidas o Gestión de los archivos 45 GESTIÓN DE E/S o Sus objetivos son: o Lograr que los periféricos se utilicen con eficiencia. Para ello el SO puede gestionar los dispositivos de E/S de una de estas tres formas: o Dispositivos de uso exclusivo: Los dispositivos (teclado, ratón, pantalla, etc.) se asignan a un proceso durante la duración del trabajo. o Dispositivos compartidos: Aquellos que se pueden compartir concurrentemente por varios procesos. Por ejemplo, una unidad de disco. El SO debe evitar los conflictos que puedan plantearse. o Dispositivos virtuales: Comparte dispositivos en principio asignables (como una impresora) para optimizar el rendimiento del sistema. o Programar las operaciones de E/S con independencia del dispositivo, haciendo que sean transparentes a las características particulares del hardware que se utiliza. 46 MODELO DE CAPAS Programa de usuario Llamadas al sistema Peticiones satisfechas Software de E/S independiente del dispositivo Peticiones satisfechas Peticiones de E/S Organización física Peticiones de E/S Peticiones satisfechas Controladores software de los dispositivos hardware Instrucciones al controlador Peticiones de interrupción Dispositivos hardware 47 MODELO DE CAPAS La gestión de E/S se puede considerar como un modelo formado por las siguientes capas: o Programa de usuario: Su objetivo es situar los parámetros de E/S en la zona de memoria adecuada y hacer llamadas al sistema. En el caso de impresoras compartidas y otros periféricos lentos actúa el sistema de operación simultánea de periféricos fuera de línea (Spool). Con este sistema cuando, por ejemplo, se desea imprimir un archivo se realiza una copia temporal del mismo en una zona de memoria denominada Spool y se ejecuta un proceso (demonio) que es el único que puede leer este directorio. o Software de E/S independiente del dispositivo: Este nivel incluye funciones de E/S comunes o genéricas a todos los dispositivos, tales como abrir, cerrar, leer y escribir. 48 MODELO DE CAPAS o Organización física: En este nivel ya se tienen en cuenta las cuestiones específicas de cada tipo de periférico: o Ubicación física de los bloques y espacios físicos libres en un disco. o Almacenamiento intermedio en la RAM (buffering) para aumentar el rendimiento. o Caché de archivos: Una vez localizado en el disco la información a la que se quiere acceder se lee más de la requerida y se almacena en memoria principal (basándose en la localidad espacial de datos). o Controladores software de los dispositivos hardware: La misión de este nivel es controlar el hardware y generar las instrucciones concretas para interactuar con él, atendiendo a las interrupciones que produzca. o Dispositivos hardware: Controladores físicos (por ejemplo controladores DMA o tarjetas controladoras) que implementan las operaciones E/S del hardware. 49 TAREAS DE GESTIÓN DE UN SO o Gestión del procesador o Gestión de la memoria o Gestión de las entradas y salidas o Gestión de los archivos 50 GESTIÓN DE LOS ARCHIVOS o Desde el punto de vista del hardware, para almacenar datos o programas sólo existen direcciones físicas. o El SO posibilita que el usuario no tenga que utilizar direcciones físicas: para acceder a un archivo sólo es necesario indicar su nombre y la operación que se desea realizar. o El sistema de archivos es el conjunto de módulos que se ocupa de la gestión de los archivos y directorios (o carpetas). o Los archivos se almacenan en los dispositivos de memoria masiva en forma de unidades denominadas registros físicos o bloques. o Un registro físico es la capacidad mínima de información que puede transferirse en una operación de E/S y su tamaño viene determinado por el dispositivo y el SO. 51 SISTEMAS DE ARCHIVOS Las formas más comunes para almacenar un archivo son: o Lista de enlaces: Cada disco dispone de una tabla con tantos elementos como bloques físicos. Cada elemento de la tabla corresponde con un bloque y éstos contienen un puntero al lugar donde se encuentra el siguiente bloque del archivo. Cuando se abre un archivo, el sistema de archivos carga en memoria principal la lista de enlaces, obteniendo información de los bloques que ocupa el archivo. Como inconveniente, si el disco es muy grande, la lista de enlaces ocupa una capacidad excesiva en memoria principal. Los SO MS-DOS y Windows utilizan las listas de enlaces denominadas FAT16 y FAT32. 52 SISTEMAS DE ARCHIVOS o Fichero de índices o i-nodos: Es la forma de gestionar los archivos por el sistema operativo UNIX. Cada archivo tiene asociado un nudo de información o inodo que es una pequeña tabla de tamaño fijo que contiene los atributos del archivo y, según la versión de UNIX, 13 direcciones de 3 bytes. Las 10 primeras indican directamente las posiciones de las 10 primeras unidades de asignación donde se encuentra el archivo. La posición 11 apunta a una tabla de direccionamiento indirecto de primer nivel, la posición 12 a una tabla de direccionamiento indirecto de segundo nivel y la 13 a una tabla de direccionamiento indirecto de tercer nivel. 53 SISTEMAS DE ARCHIVOS o Fichero de índices o i-nodos: 54 SISTEMAS DE ARCHIVOS o Sistema de archivos NTFS: Utilizado por Windows NT, XP o Vista. El elemento fundamental es la tabla maestra de archivos que tiene un elemento de longitud variable por archivo o carpeta. Esta tabla contiene: o o o o Información de los atributos del sistema. Nombre del fichero. Información sobre seguridad. Datos: Si el archivo es pequeño su contenido se encuentra en el propio registro de la tabla, si no, contiene punteros a las unidades de asignación donde realmente se encuentran los datos. 55