Download gestión de sistemas de archivos
Document related concepts
Transcript
índice 1.Introducción a los Sistemas Operativos. 2.Componentes de un Sistema Operativo y principales funciones del sistema operativo. 3.Gestión de sistemas de archivos. 4.Conclusiones y expectativas futuras. Datos de 2014 La importancia de los sistemas operativos nace desde los 50's, cuando se hizo evidente que el operar una computadora por medio de tableros enchufables en la primera generación y luego por medio del trabajo en lote en la segunda generación se podía mejorar. Es decir, se comenzó a ver que las tareas mismas del operador podían plasmarse en un programa, el cual a través del tiempo y por su enorme complejidad se le llamó "Sistema Operativo". Así, tenemos entre los primeros sistemas operativos al FMS e IBSYS (1995). Posteriormente, en la tercera generación de computadoras nace uno de los primeros sistemas operativos con la filosofía de administrar una familia de computadoras: el OS/360 de IBM. Surgen también los conceptos: •Multiprogramación: La ejecución de múltiples tareas compartiendo los recursos de una computadora. Se trata de una evolución del procesamiento por lotes. Dentro de ella se encuentra el concepto de tiempo compartido. Aquí la CPU ejecuta varios programas a la vez, independientemente de si hay otros programas en ejecución, siendo capaz de almacenar un conjunto adecuado de tareas en cada momento, utilizando de manera óptima los recursos disponibles. •Tiempo compartido: Compartir de forma concurrente un recurso computacional (tiempo de ejecución en la CPU, uso de la memoria, etc.) entre muchos usuarios por medio de la multiprogramación y la inclusión de interrupciones de reloj por parte del sistema operativo. •Procesamiento por lotes: Es la ejecución de un programa sin el control o supervisión directa del usuario. •Multiusuario: Permite que varios usuarios entren al mismo ordenador con terminales distintos. Al mismo tiempo, se hacen populares el MS-DOS y UNIX. Para mediados de los 80's, comienza el auge de las redes de computadoras y la necesidad de sistemas operativos en red y sistemas operativos distribuidos. El sistema brindará un entorno de ejecución de programas donde se dispondrá de un conjunto de servicios. Los servicios principales serán: • Ejecución de programas. • Operaciones de E/S. • Manipulación del Sistema de archivos. • Comunicación entre procesos. • Manipulación de errores. •Administración de procesos • Administración de memoria • Subsistema de Entrada/Salida • Administración de Almacenamiento secundario • Subsistema de archivos • Sistema de protección Un sistema de archivos ( file system ) es una estructura de directorios con algún tipo de organización el cual nos permite almacenar, crear y borrar archivos en diferentes formatos. El subsistema de archivos debe proveer un conjunto de llamadas al sistema para operar con los datos y de proveer mecanismos de protección y seguridad. Las operaciones básicas que la mayoría de los sistemas de archivos soportan son: Crear ( create ) : Permite crear un archivo sin datos. Borrar ( delete ): Eliminar el archivo y liberar los bloques para su uso posterior. Abrir ( open ): Antes de usar un archivo se debe abrir para que el sistema conozca sus atributos, tales como el dueño, la fecha de modificación, etc. Cerrar ( close ): Después de realizar todas las operaciones deseadas, el archivo debe cerrarse para asegurar su integridad y para liberar recursos de su control en la memoria. Leer o Escribir ( read, write ): Añadir información al archivo o leerlo , una cadena de caracteres a partir de la posición actual. Localizar ( seek ): Para los archivos de acceso directo se permite posicionar el apuntador de lectura o escritura en un registro aleatorio. Leer atributos: Permite obtener una estructura con todos los atributos del archivo especificado, tales como permisos de escritura, de borrado, ejecución, etc. Poner atributos: Permite cambiar los atributos de un archivo, por ejemplo en UNIX, donde todos los dispositivos se manejan como si fueran archivos, es posible cambiar el comportamiento de una terminal con una de estas llamadas. Renombrar ( rename ): Permite cambiarle el nombre e incluso a veces la posición en la organización de directorios del archivo especificado. Usuario: Una cuenta de usuario es una colección de información que indica a Windows los archivos y carpetas a los que puede obtener acceso, los cambios que puede realizar en el equipo y las preferencias personales, como el fondo de escritorio o el protector de pantalla. Las cuentas de usuario permiten compartir un equipo con varias personas pero manteniendo sus propios archivos y configuraciones. Directorio: Un directorio es una agrupación de archivos de datos, atendiendo a su contenido, a su propósito o a cualquier criterio que decida el usuario. Técnicamente el directorio almacena información acerca de los archivos que contiene. Archivo: Agrupación de datos que el usuario ve como una entidad (por ejemplo: programa, conjunto de rutinas, resultados de un cálculo, ...). Es la unidad que almacena y manipula el sistema de archivos. Además es un conjunto de información binaria; es decir, un conjunto que va de 0 a 1. Unidad: La unidad de disco se trata de un término que, en la informática, señala a los dispositivos que permiten escribir o leer sobre distintos tipos de discos (como un CD, un DVD u otro formato). Sistemas de archivos de disco Un sistema de archivo de disco está diseñado para el almacenamiento de archivos en una unidad de disco, que puede estar conectada directa o indirectamente a la computadora. Sistemas de archivos de red Un sistema de archivos de red es el que accede a sus archivos a través de una red de computadoras. Dentro de esta clasificación encontramos dos tipos de sistemas de archivos: los sistemas de archivos distribuidos (no proporcionan E/S en paralelo); los sistemas de archivos paralelos (proporcionan una E/S de datos en paralelo). Sistemas de archivos de propósito especial Los sistemas de archivos de propósito especial son aquellos tipos de sistemas de archivos que no son ni sistemas de archivos de disco, ni sistemas de archivos de red. Ejemplos: acme (Plan 9), archfs, cdfs, cfs, devfs Una ruta es la forma de referenciar un archivo informático o directorio en un sistema de archivos de un sistema operativo determinado. Señala la localización exacta de un archivo o directorio mediante una cadena de caracteres concreta. Esta puede ser de diversas formas dependiendo del sistema operativo y del sistema de archivos en cuestión. Las rutas absolutas señalan la ubicación de un archivo o directorio desde el directorio raíz del sistema de archivos. Por ejemplo, es una ruta absoluta /home/dir1/arc1.fil, que señala la ubicación del archivo arc1.fil desde la raíz del sistema de archivos. Las rutas relativas señalan la ubicación de un archivo o directorio a partir de la posición actual del sistema operativo en el sistema de archivos. El formato de disco en informática es el proceso de preparación de un disco duro o de un medio externo para el vaciado del sistema de archivos. El formato lógico implanta un sistema de archivos que asigna sectores a archivos. En los discos duros, para que puedan convivir distintos sistemas de archivos, antes de realizar un formato lógico hay que dividir el disco en particiones; más tarde, cada partición se formatea por separado. Seguridad o permisos Listas de control de acceso UGO ("Usuario, Grupo, Otros", o por sus siglas en inglés: "User, Group, Others") Capacidades granuladas Atributos extendidos (ej.: sólo añadir al archivo pero no modificar, no modificar nunca, etcétera) Mecanismo para evitar la fragmentación Capacidad de enlaces simbólicos o duros Integridad del sistema de archivos (Journaling) Soporte para archivos dispersos Soporte para cuotas de discos Soporte de crecimiento del sistema de archivos nativo Cada sistema operativo tiene unos sistemas de archivos más habituales: Windows: FAT, FAT16, FAT32, NTFS, EFS, ExFAT. Linux: ext2, ext3, ext4, JFS, ReiserFS, Reiser4, XFS. Solaris: UFS, ZFS. Mac OS: HFS, HFS+. IBM: JFS, GPFS. Discos Opticos: UDF. Algunos sistemas de archivos proveen herramientas al administrador del sistema para facilitarle la vida. Las más notables es la facilidad de compartir archivos y los sistemas de `cotas'. La facilidad de compartir archivos se refiere a la posibilidad de que los permisos de los archivos o directorios dejen que un grupo de usuarios puedan acceder para diferentes operaciones: leer, escribir, borrar, crear, etc. El dueño verdadero es quien decide qué permisos se aplicarán al grupo e, incluso, a otros usuarios que no formen parte de su grupo. La facilidad de `cotas' se refiere a que el sistema de archivos es capaz de llevar un control para que cada usuario pueda usar un máximo de espacio en disco duro. Cuando el usuario excede ese límite, el sistema le envía un mensaje y le niega el permiso de seguir escribiendo, obligándolo a borrar algunos archivos si es que quiere almacenar otros o que crezcan. La ventaja más significativa de los subsistemas de archivos es que se centran en facilitar el trabajo al usuario. Así como los sistemas distribuidos exhiben grandes ventajas, también se pueden identificar algunas desventajas, algunas de ellas tan serias que han frenado la producción comercial de los sistemas operativos en la actualidad. El problema más importante en la creación de sistemas distribuidos es el software: los problemas de compartición de datos y recursos son tan complejos que los mecanismos de solución generan mucha sobrecarga al sistema haciéndolo ineficiente. La seguridad de un sistema incluye la protección ante posibles daños físicos de los datos hasta el acceso indebido a los mismos, ataques contra la confidencialidad, la integridad o la disponibilidad de recursos en un sistema deben prevenirse y solventarse mediante la política y los mecanismos de seguridad de un sistema. De nada sirve tener mecanismos de protección buenos, si el SO no es capaz de identificar a los usuarios que acceden al sistema o si no existe una política que salvaguarde datos ante la rotura de un disco. Es necesario comprobar que los recursos solo se usan por aquellos usuarios que tienen derechos de acceso a los mismos. Las políticas de protección y seguridad de hardware, software y datos deben incluirse dentro del SO pudiendo afectar a uno o varios componentes del mismo. En el futuro oLa generación siguiente de sistemas operativos utilizará las nuevas herramientas desarrolladas tales como programación orientada a objetos (OOP), y nueva tecnología de hardware (DRAM's y los microprocesadores densos y baratos), para crear un ambiente que beneficie a los programadores (con modularidad y la abstracción crecientes) así como a los usuarios (proporcionándoles una interna, constante y gráficamente orientada interfaz). Los sistemas operativos futuros también se adaptarán fácilmente a las preferencias cambiantes del usuario y a las tecnologías futuras (tales como sistemas de realidad virtual). oEl sistema de archivo del futuro permitirá aligerar enormemente la carga del sistema de almacenamiento principal, y logrará retrasar al máximo, o, incluso eliminar, la necesidad de adquirir actualizaciones. Por otra parte, acelerará los procesos de backup, al reducir la cantidad de datos estáticos de los que se realizan copias de forma continua.