Tema 3.1 Software
Componentes y Funciones Tipos de Software Sistemas Conjunto de Instrucciones Encargado de comunicar al usuario con la máquina Capa de Abstracción Usuario-Máquina Permite el control de los periféricos Programación Programas para realizar programas Sintaxis del lenguaje: Conjunto de instrucciones y normas Tipos Bajo Nivel: unos y ceros Medio Nivel: mnemónicos Ensamblar Alto Nivel: Similar al lenguaje humano: Edición Compilación Enlace Compilados vs interpretados 2
Componentes y Funciones Aplicación Utilización final por parte del usuario Verticales: A medida Estándar: Propósito general Proceso de Texto Hoja de Cálculo Paquetes Integrados Diseño Gráfico, Autoedición, CAD (profesionales) Gestión Comercial y Administrativa (Nóminas, Contabilidad, ) Utilidades Antivirus Grabación de CD/DVD Desfragmentadores Monitorización 3
Tipos de Distribución de Software Comerciales Pagados en el momento de la adquisición Shareware Probados y luego pagados o borrados Posible limitación de funciones o tiempo antes del pago Freeware Sin costo ni otras obligaciones para el usuario Adware Sin coste pero con anuncios insertados Componentes y Funciones 4
Otros elementos complementarios Manuales y Documentación Impresa, en línea o en soporte electrónico Debe ser clara y concisa Tutores y Ayudas Software de documentación Componentes y Funciones 5
Sistemas Operativos
Sistemas Operativos: Fundamentos Fundamentos Definición Original: Software que controla el Hardware Actual: Funciones mucho más complejas: sin definición exacta Objetivos Básicos Comodidad para los usuarios: Máquina Virtual Creación de Programas Ejecución de Programas Operaciones de E/S Manipulación y Control del Sistema de Ficheros Detección de errores Control de Acceso al Sistema Elaboración de informes Eficiencia Gestor de Recursos 7
Sistemas Operativos: Historia Historia Generación 0 Años 40 Sin Sistema Operativo Usuarios: Acceso directo al código máquina y ejecución de sus programas Primera Generación Años 50 Permitía la secuencia automática de los trabajos de los usuarios Organización por lotes 8
Sistemas Operativos: Historia Segunda Generación Años 60 Mejora del rendimiento aumentando el número de trabajos en ejecución Multiprogramación Multiproceso Sistemas de Tiempo Real Tercera Generación Sistemas Operativos grandes y costosos Asumen multitud de tareas El mismo sistema Operativo permitía Multiprogramación, Multiproceso y Tiempo real El usuario debe pagar por tareas que no necesita y aprender funciones no utilizadas 9
Sistemas Operativos: Historia Cuarta Generación Estado actual Funcionalidades disponibles: Multiprogramación Tiempo Compartido Tiempo Real Memoria Virtual Procesos Cooperantes Sistemas de Ficheros Jerárquicos Redes de Ordenadores Sistemas Distribuidos 10
Sistemas Operativos: Procesamiento de Trabajos Sistemas de Procesamiento de Trabajos Proceso por Lotes Un solo trabajo en ejecución Este tiene control total sobre la máquina y lo mantiene hasta su terminación Cuando acaba entra un nuevo trabajo que se ha situado en una cola (FIFO) Pueden establecerse prioridades en la cola Si el trabajo en ejecución comete algún error: Se da algún tipo de explicación rudimentaria Se saca de la máquina Se coge el siguiente trabajo de la cola Trabajo por lotes en sistemas multiprogramados Para procesos que no necesitan intervención del usuario (generalmente largos) Se cogen en grupos y se ejecutan en paralelo 11
Sistemas Operativos: Procesamiento de Trabajos Multiprogramación Posibilidad de procesar simultáneamente varios trabajos Surge para aprovechar los tiempos muertos del procesador en operaciones de E/S Varios programas residen simultáneamente en memoria El procesador elegirá uno de ellos que esté preparado Desde el punto de vista del proceso el procesador les atiende a tiempo completo Desde el punto de vista del usuario los procesos se ejecutan en paralelo Se necesitan: Políticas para acceder al procesador Resolución de problemas de concurrencia (acceso simultaneo a un recurso) Gestión de la memoria (compartida por todos los procesos) 12
Sistemas Operativos: Procesamiento de Trabajos Multiproceso Utilización de varios procesadores trabajando, cada uno, en una tarea diferente Posibilidades: Cada procesador trabaja con un proceso diferente Dividir un proceso en tareas (hilos) y ejecutar cada uno en un procesador (Multihilo, Multithreading) Mismas necesidades que con multiprogramación: acceso simultaneo a los recursos Los sistemas multiproceso también pueden ser multiprogramados 13
Sistemas Operativos: Procesamiento de Trabajos Multiprogramación vs Multiproceso Cuándo elegir un sistema u otro? Sistema Multiproceso: Trabajos limitados por proceso (la mayor parte del tiempo haciendo uso del procesador) Sistema Multiprogramado: Trabajos limitados por operaciones de E/S (la mayor parte del tiempo haciendo uso de los dispositivos de E/S 14
Sistemas Operativos: Procesamiento de Trabajos Time Sharing: Tiempo compartido Multiprogramación interactiva Terminales para la sesión de usuario: conversación constante mediante el intérprete de comandos (proceso) Durante la sesión el usuario cree tener a su disposición todos los recursos Se atiende a varios usuarios simultáneamente El tiempo de respuesta debe ser relativamente corto (segundos) Se utilizan técnicas de buffering y spooling Debe tener una gestión de ficheros robusta Gestor de Memoria Virtual 15
Sistemas Operativos: Procesamiento de Trabajos Tiempo real Utilizado en sistemas en que se necesite una respuesta inmediata ante un suceso (sensores) Tiempo de respuesta pequeño (milisegundos) El procesador permanece mucho tiempo inactivo Gestor de Memoria Real 16
Sistemas Operativos: Clasificación Clasificación de los S.O. Monousuario Un solo terminal Acceso a solo a un usuario en un momento dado Ese usuario solo competirá contra: Otros trabajos suyos Trabajos del Sistema Operativo Multiusuario Múltiples terminales Acceso simultáneo a múltiples usuarios Acceso todos los recursos del sistema desde cualquier terminal El Sistema decide cuando se atiende a cada usuarios El usuario debe competir contra Otros trabajos suyos Trabajos de otros usuarios Trabajos del Sistema Operativo 17
Procesos
Procesos: Introducción Introducción Definición Programa en Ejecución Relaciones entre procesos Ejecución Concurrente Servicios prestados por el Sistema Operativo Sincronización Comunicación Algoritmos de gestión y planificación Qué proceso toma el procesador Información sobre cada proceso (tiempo en ejecución, propietario, prioridad, ) Clasificación según relaciones Independientes Cooperativos Competitivos 19
Procesos: Creación Creación de los procesos Explícitamente Creados por el usuario Implícitamente Creados por el Sistema Operativo Otros procesos pueden utilizarlos mediante llamadas al sistema Padres e Hijos Ejecución Concurrente Muerto el padre, debe morir toda su descendencia 20
Procesos: Estados Estados de los procesos Activo En posesión del procesador Preparado En memoria principal Todas las condiciones necesarias para pasar a activo Bloqueado En memoria principal En espera de alguna condición Suspendido En memoria secundaria Puede estar preparado o bloqueado Muerto Terminada la ejecución Puede estar Zombi 21
Procesos: Estados Transiciones entre los estados 22
PCB: Bloque de Control del Proceso Vida Aparece en la creación del proceso Desaparece cuando muere el proceso Información Identificador de proceso: PID Otros identificadores: PPID, UID, Prioridad Estado del proceso Estado de Hardware (Registros de la CPU) Información para Gestión de Memoria Gestión de E/S Contabilidad y Planificación Procesos: PCB 23
Procesos: Planificadores Planificadores PLP: Planificador a Largo Plazo Decide, de entre los trabajos que aun no han entrado (p.e. en alguna cola) cual es el siguiente que pasa a la lista de preparados Se invoca cada vez que termina un trabajo (frecuencia baja) PMP: Planificador a Medio Plazo Decide, de entre los trabajos Bloqueados (en memoria secundaria) cuales pasan a la lista de preparados en Memoria Principal Se invoca cada vez que se libera memoria (más a menudo que el PLP) No existe en todos los sistemas 24
Procesos: Planificadores PCP: Planificador a Corto Plazo Decide, de entre los trabajos preparados en Memoria Principal, cual pasa a Activo. Se invoca cada vez que un evento puede producir un cambio del estado global del sistema (muy a menudo) Señales del reloj Interrupciones Finalización de Operaciones de E/S Llamadas a las Funciones del Sistema Activación de programas interactivos Es el más importante También se llama Distribuidor o Dispatcher 25
Procesos: Políticas Políticas de Planificación FCFS: First Come, First Served El primero que entra, el primero que sale (FIFO) El primer trabajo que entra en la cola es el primero en ser atendido por el procesador y mantiene el control del Procesador hasta su finalización No apropiativa (un proceso que está haciendo uso del procesador no puede ser sacado de él por ningún otro proceso) Ventajas: Sencilla de implementar Recarga mínima del Sistema Desventajas Bajo Rendimiento Tiempo de respuesta pobre Productividad del Sistema no predecible (depende del tamaño de los procesos) Los procesos cortos pueden verse muy perjudicados 26
Procesos: Políticas RR: Round Robin El tiempo de CPU se divide en fracciones fijas e iguales (Quantum) Ese es el tiempo que se asigna a los procesos preparados de forma cíclica La gestión de la cola de preparados puede hacerse mediante cola (FIFO) o establecer prioridades Características Apropiativo (cuando un proceso está en uso del procesador puede ser sacado de él por alguna circunstancia dando lugar a un cambio de contexto) Equitativo (trata por igual a los procesos cortos y a los largos) Se necesita un temporizador (Hardware que cuenta el tiempo y provoca una interrupción cuando el quantum ha finalizado) El resultado depende del tamaño del quantum Utilizado en sistemas de Tiempo Compartido 27
Procesos: Políticas SJN: Shortest Job Next (SJF: Shortest Job First) Se elige, de la cola de procesos preparados, aquel que va a tardar menos en finalizar su trabajo. No apropiativa Ventajas: Buen tiempo de servicio (tiempos de espera mínimos) Desventajas Es difícil conocer el tiempo que necesita cada proceso No sirve para sistemas de tiempo compartido 28
Procesos: Políticas SRTN: Shortest Remaining Time Next Cada vez que entra un proceso en la cola de procesos preparados se comprueba si va a tardar menos tiempo en terminar que el que actualmente esté en uso del procesador. Si es así, se apropia del procesador. Apropiativa (variante apropiativa del SJN) Ventajas e inconvenientes Los mismos que SJN Desventajas añadida Perjudica claramente a los procesos largos 29
Procesos: Políticas Prioridades A cada proceso se le asigna una prioridad Se elige, de la cola de procesos preparados, aquel que tiene la prioridad más alta. Existen versiones apropiativas y no apropiativas Pueden establecerse sistemas de envejecimiento (aumentar la prioridad conforme pasa el tiempo sin ser ejecutado) Deben establecerse sistemas de desempate para procesos de igual prioridad (pe RR o SRJN) 30
Procesos: Políticas Colas Multinivel Varios Planificadores Los procesos se dividen en categorías A cada categoría se le asigna una cola de procesos preparados Cada cola se gestiona con un sistema de planificación diferente Debe establecerse un sistema de planificación entre colas 31
Procesos: Políticas Colas Multinivel Realimentadas Variación del anterior Los procesos no se dividen en categorías, van pasando de una cola a otra en función de su comportamiento en tiempo de ejecución 32
Procesos: Concurrencia Concurrencia Definición Acceso Simultáneo a un recurso por parte de dos o más procesos. Problemas Sección Crítica: Zona de código que va a hacer uso del recurso. Exclusión mutua: Solo un proceso podrá acceder a su sección crítica. Problemas asociados: Interbloqueo: Dos o más procesos se bloquean mutuamente Inanición: Un proceso queda bloqueado al no acceder nunca al recurso Soluciones Software Programar adecuadamente el acceso a los recursos (Dekker, Peterson, Panadería de Lampbert, ) Hardware Deshabilitar / Habilitar interrupciones (Deshabilitar cuando se va a usar el recurso y habilitarlas al terminar) Instrucciones especiales del procesador (test-and-set, swap) 33
Procesos: Concurrencia Semáforos Utilizado para la sincronización de procesos y exclusión mutua Consta de: Una variable entera asociada al recurso Una cola en la que se guardará información sobre los procesos que quieren acceder al recurso Operaciones sobre la variable: wait(s) (donde s es la variable asociada al recurso): Disminuye el valor del semáforo. Si pasa a ser menor que cero el recurso queda bloqueado. Se utiliza para indicar que se quiere utilizar el recurso (entrada en la sección crítica) signal(s): Aumenta el valor del semáforo. Se utiliza para indicar que se ha terminado de utilizar el recurso (salida de la sección crítica) initial(s, valor): para inicializar el valor del semáforo. Se inicializa a un valor positivo e indica el número de procesos que pueden utilizar simultáneamente el recurso. 34
Procesos: Concurrencia Semáforos Utilización en sincronización Solo se ejecutará <código 2> haya terminado <código 1> Utilización en Exclusión Mutua Solo se entra en la <Sección Crítica> si el recurso está disponible Se inicializa el semáforo a 1 para que el primer proceso que quiera acceder a él lo pueda hacer. Si se inicializa a valores mayores se indicará que varios procesos pueden acceder simultáneamente al recurso 35
Procesos: Concurrencia Monitores Solución a los problemas de los semáforos (no estructurados, posibilidad de manejar indebidamente las variables, muy vulnerables a errores de programación, ) Un monitor es un módulo de programación con Procedimientos Secuencia de inicialización Variables locales Características Las variables locales solo son accesibles desde los procedimientos del monitor Un proceso entra en el monitor haciendo uso de sus procedimientos Solo un proceso puede estar haciendo uso de los procedimientos del monitor en un momento dado 36
Gestión de Memoria
Gestión de Memoria: Introducción Introducción Necesidad Los procesos, para estar activos o preparados, deben residir en memoria principal. Los procesos no pueden saber cuanta memoria tienen disponible ni en que lugar de ella van a ser ubicados El Sistema Operativo debe gestionar todas las necesidades de memoria de los procesos Requisitos de gestión Reubicación Protección y Compartición 38
Gestión de Memoria: Requisitos Requisitos Reubicación El proceso no sabe en que lugar de memoria va a ejecutarse Mientras se está ejecutando un proceso puede ser intercambiado a memoria secundaria y luego regresar a memoria principal en un lugar diferente (swapping) Las referencias lógicas de memoria deben traducirse a direcciones físicas Protección y Compartición Los procesos no pueden referenciar zonas de memoria de otro proceso sin permiso En ocasiones es necesario que dos o más procesos utilicen las mismas zonas de memoria (para datos) 39
Gestión de Memoria: Partes de un proceso Partes de un proceso Bloque de Control del Proceso Instrucciones Zona de almacenamiento de datos del Proceso Zona de Memoria Especial 40
Gestión de Memoria: Técnicas Simples Técnicas Simples Sin Gestor de Memoria Toda la memoria física es asignada al proceso No hay control sobre la utilización de esta Cuando el proceso termina, la libera Monitor residente La memoria se divide en dos partes En una de ella se sitúan, de forma permanente, las rutinas del Sistema Operativo necesarias para gestionar los recursos La otra queda disponible para que la utilicen los procesos 41
Gestión de Memoria: Memoria Real Gestión de Memoria Real Particionado Estático La memoria disponible para procesos se divide (toda) en particiones en el arranque del sistema Del mismo tamaño De distinto tamaño Los procesos se asignan a cualquier partición disponible de igual o mayor tamaño Si todas están ocupadas podrá sacarse algún proceso de memoria principal (swapping) El uso de la memoria es ineficiente Fragmentación Interna: Debe darse la partición completa por lo que parte de esta quedará desaprovechada 42
Gestión de Memoria: Memoria Real Particionado Dinámico La memoria disponible para procesos se divide en particiones Conforme la van solicitando los procesos Se da al proceso el tamaño exacto de memoria que necesita Cuando un proceso termina, libera su partición. Los espacios liberados podrán volver a particionarse Un proceso necesita ocupar un espacio contiguo en memoria Problema Fragmentación Externa: Quedan espacios pequeños que no pueden ser aprovechados por ningún proceso Solución Compactación Algoritmos de ubicación Best Fit: Donde quepa mejor First Fit: El primero en que quepa Next Fit: El siguiente en que quepa 43
Gestión de Memoria: Memoria Real Sistema de los Colegas Se parte de toda la memoria disponible para los procesos como una sola partición Cuando un proceso solicita memoria se empieza a dividir por mitades hasta darle lo más cercano posible a sus necesidades Conforme van llegando procesos se realiza la misma operación con las particiones libres Cuando un proceso termina libera su partición y esta puede juntarse con su colega si esta también está libre. Así las veces que se pueda El Sistema Operativo mantiene una lista de bloques libres 44
Gestión de Memoria: Memoria Real Paginación Se divide la memoria en bloques de igual tamaño (pequeño y potencia de 2: 2 KB, 4 KB, ) La memoria que necesita un proceso se divide en bloques de ese mismo tamaño y se denominan Páginas Cada uno de los bloques en que se divide la memoria recibe el nombre de Marco de Página El Sistema Operativo asignará al proceso el número adecuado de Marcos, que podrán estar consecutivos o no. Para cada proceso se guarda una tabla de traducción entre las páginas del proceso y sus Marcos correspondientes Elimina la Fragmentación Externa Produce Fragmentación Interna 45
Gestión de Memoria: Memoria Real Paginación 46
Gestión de Memoria: Memoria Real Segmentación El proceso se divide en partes independientes, p.e. Código Variables Globales Variables Locales y memoria dinámica (montículo) Pila Se asigna una zona de memoria a cada una de estas partes. Cada una de esas partes se denomina Segmento. El segmento tiene exactamente el tamaño necesario El Sistema Operativo Guarda una tabla para cada proceso con información de en que posición de memoria se encuentra y cual es su tamaño. Elimina la Fragmentación Interna Genera Fragmentación Externa por lo que necesita Compactación 47
Gestión de Memoria Virtual Gestión de Memoria: Memoria Virtual Funcionamiento Se utiliza almacenamiento en memoria secundaria. Los procesos se dividen en partes. Para esta división pueden utilizarse técnicas de paginación, de segmentación o combinadas. Se sitúan partes del proceso en memoria virtual y se moverán a memoria real según se vayan necesitando (se genera una interrupción (Fallo de página) y el proceso pasa a bloqueado hasta que tiene lo necesario en memoria real) El conjunto de partes que se encuentran en memoria real se denomina Conjunto Residente Si es necesario se intercambiaran partes del proceso entre memoria real y virtual o se ampliará el tamaño del conjunto residente Se utilizan técnicas de ubicación para decidir que partes se intercambiarán. Se utilizan políticas de vaciado para eliminar partes de la memoria real 48
Gestión de E/S
Gestión de E/S Técnicas de E/S Programada El proceso que realiza la operación espera de manera activa a que termine. Dirigida por Interrupciones El procesador emite una orden de E/S y continua con otros procesos (o el mismo si no necesita esperar la finalización de esa operación) Cuando finaliza la operación, el módulo de E/S emite una interrupción para comunicárselo al procesador Acceso Directo a Memoria (DMA) Existe un módulo de DMA que gestiona la transferencia de datos entre el módulo de E/S y la memoria El procesador envía una petición de transferencia de un bloque al módulo DMA y solo se ve interrumpido cuando ha terminado de transferirse el bloque completo 50
Gestión de E/S Tipos de Dispositivos de E/S Orientados a Bloque La información se almacena en Bloques de tamaño fijo La transmisión se realiza por bloques completos Habitual en los dispositivos de almacenamiento Orientados a Flujo (o a Carácter) Se transmiten flujos de caracteres de longitudes variables Habitual en terminales, ratones, impresoras y dispositivos de comunicaciones 51
Gestión de E/S Configuraciones DMA DMA Independiente de bus sencillo Todos los módulos compartes el mismo bus DMA Integrada de bus sencillo Camino separado entre el módulo DMA y el de E/S Bus DMA Bus específico para el módulo DMA y los E/S 52
Gestión de E/S Almacenamiento Intermedio (Buffer) Sin buffer Comunicación directa entre Proceso y Dispositivo de E/S Buffer sencillo Se asigna un espacio en memoria principal para almacenar temporalmente la información. En otro momento se moverá hacia el proceso o hacia el dispositivo de E/S En dispositivos orientados a flujo se almacenan líneas completas En dispositivos orientados a bloque se almacena el bloque completo 53
Gestión de E/S Buffer Doble Se asignan, alternativamente, dos espacios en la memoria principal El sistema puede vaciar uno de ellos mientras se va rellenando el otro Buffer Circular Ampliación del modelo anterior a n espacios de memoria que se utilizarán en turno rotatorio. 54
Sistema de Ficheros
Sistema de Ficheros Introducción Modos de acceso Secuencial Aleatorio (indexado) Ficheros y Directorios Fichero es una agrupación de información bajo un nombre Un fichero es el elemento mínimo de almacenamiento de la información manejado por los usuarios Directorio es una agrupación de ficheros Los usuarios agrupan los ficheros en directorios siguiendo sus propias normas Los directorios pueden contener, a su vez, directorios dando lugar a una estructura jerárquica 56
Sistema de Ficheros Bloques Otros Nombres Clusters (MS-DOS) Unidades de Asignación (Windows) Agrupación de sectores Un bloque está compuesto de un número de sectores consecutivos El número de sectores es siempre potencia de 2 El Bloque es la cantidad de información mínima que se transfiere entre el dispositivo y el Sistema Operativo Ficheros y Bloques Un fichero ocupa cualquier número de bloques dependiendo de su tamaño Los bloques no tienen por que se consecutivos Los bloques se asignan completos a un fichero, no se puede asignar parte a un fichero y parte a otro Se produce Fragmentación Interna. 57
Sistema de Ficheros Tamaño del Bloque Según los criterios de Rendimiento y Fragmentación Interna: (Pocos) Ficheros Muy grandes Bloques Grandes (Muchos) Ficheros Muy Pequeños Bloques Pequeños Los Sistemas operativos pueden (y suelen) utilizar otros criterios para definir el tamaño del Bloque según: Tamaño de la zona de índice Tamaño de la partición 58
Sistema de Ficheros Sistemas de Ficheros más importantes MS-DOS Windows FAT (12, 16, 32) NTFS (3, 3.1) Unix Linux UFS (Unix File System) ext2, ext3, ext4 reiserfs, reiser4 Otros HPFS (High Performance File System; OS/2) HFS (MacOS) NFS (Network File System; Acceso por red) ISO9660 (CD) UDF (Universal Disk Format; DVD, CD) 59
Sistema de Ficheros FAT (File Allocation Table) Tipos FAT12: Original (Actualmente para Diskettes) FAT16: Hasta Windows 95 FAT32: Desde Windows 95 OSR2 Estructura Directorio Raíz Lista de ficheros y directorios del directorio raíz Atributos de cada fichero incluyendo: Primera entrada en la fat Tamaño FAT Lista de bloques utilizado por cada fichero Incluye bloques marcados como defectuosos Dos copias por seguridad Datos 60
Sistema de Ficheros Características FAT12 FAT16 FAT32 Tamaño Fichero 32 MB 2 GB 4 GB Tamaño Partición 32 MB 2 GB 8 TB Numero de Ficheros 4.077 65.517 268.435.437 Longitud Nombre Atributos 8.3; 255 (LFN) Archivo, Solo Lectura, Sistema, Oculto 61
NTFS (New Tecnologies File System) Tipos NTFS 2: Windows NT NTFS 3: Windows 2000 NTFS 3.1: Windows Server 2003, 2008, XP, Vista, 7 Comando fsutil fsinfo ntfsinfo d: para averiguar versión Comand convert d: /fs:ntfs para convertir de fat a ntfs Estructura MFT (Master File Table) Base de Datos relacional que almacena toda la información sobre ficheros y directorios Datos Sistema de Ficheros 62
Sistema de Ficheros Características ACL (Access Control List) Journaling Compresión y Cifrado de Ficheros NTFS3 Tamaño Fichero Tamaño Partición 16 TB 256 TB Numero de Ficheros 2 32-1 (4.294.967.295) Longitud Nombre 255 Atributos Archivo, Solo Lectura, Sistema, Oculto, Comprimido, Lectura, Escritura, Ejecución, Borrado, 63
Sistemas de Ficheros de Unix/Linux Sistema de Ficheros Tipos ext2 (1993) ext3 (1999): evolución de ext2 incluyendo journaling reiserfs (2001): Incompatible con ext2 o ext3, soporta journaling Estructura Tabla de i-nodos Lista de ficheros del sistema operativo Cada i-nodo contiene información sobre el fichero incluyendo: Tipo Permisos Propietarios Fechas Punteros a los bloques que utiliza Datos 64
Sistema de Ficheros Características ext2 ext3 reiserfs Tamaño Fichero 2 TB 2 GB 2 TB (según el tamaño del bloque) 8 TB Tamaño Partición 16 TB 2 TB 32 TB (según el tamaño del bloque) 16 TB Numero de Ficheros 2 18 Variable 2 32 Longitud Nombre 255 Atributos Permisos unix 65