Download Diapositivas
Document related concepts
Transcript
Sistemas Operativos Unidad VI Administración del sistema de Archivos Administración del sistema de archivos Almacenamiento físico de archivos Estructura y función del sistema de archivos Propiedades de los archivos Operaciones sobre los archivos Seguridad y protección de los archivos Almacenamiento físico de archivos Archivo Conjunto de registros, instrucciones de programa o datos agrupados bajo un nombre y almacenados en memoria no volátil. Tecnologías de almacenamiento físico Medios magnéticos Medios ópticos Discos Cintas CD R/W DVD R/W Memorias flash Memorias USB Almacenamiento físico de archivos … (2) Discos magnéticos Constituyen la mayor parte del almacenamiento secundario en el que se mantiene un sistema de archivos. Se trata de un plato circular de metal o plástico recubierto con un material magnético. La información es grabada y recuperada del disco mediante una bobina conductora llamada cabeza. Superficie magnética Antes del almacenamiento las partículas están dispersas aleatoriamente Cabeza de lectura y escritura El campo magnético generado por la cabeza produce patrones de partículas en la superficie Almacenamiento físico de archivos … (3) Formato físico del disco Consiste en un conjunto concéntrico de anillos llamados pistas. Las pistas se dividen en sectores. Unidad de transferencia de datos 512 bytes Un conjunto de pistas a las cuales se puede acceder sin mover las cabezas forman un cilindro. Cilindro Almacenamiento físico de archivos … (4) Por razones de rendimiento los sectores realmente no se numeran de forma contigua, existe un factor de intercalación. Cuando los datos se organizan físicamente en sectores un archivo es considerado como una serie de cúmulos o bloques de sectores. Donde un cúmulo (clúster) es un número fijo de sectores “contiguos” y es la unidad de disco mas pequeña que el sistema operativo puede administrar (un cúmulo puede ser un sector). El sistema de archivos se basa en la administración de bloques. Tamaño grande de bloque equivale a mayor desperdicio. Almacenamiento físico de archivos … (5) Asignar espacio en el disco para los archivos requiere que el sistema operativo asigne ciertos bloques para tal fin. En la asignación del espacio se debe procurar que el espacio se aproveche de forma eficaz y se pueda acceder de forma rápida a los archivos Se utilizan principalmente tres métodos de asignación: Contigua Encadenada Indexada Almacenamiento físico de archivos … (6) Asignación contigua Cada archivo ocupa un conjunto de bloques contiguos en el disco, dicho conjunto se asigna al crear el archivo. La tabla de asignación de archivos contiene el número de bloque inicial y la longitud en bloques del archivo. Tiene buenas prestaciones para archivos secuenciales. Genera fragmentación externa y se dificulta encontrar espacio para un nuevo archivo. De vez en cuando se debe compactar para liberar espacio. Asignación contigua antes de compactar Asignación contigua después de compactar Almacenamiento físico de archivos … (7) Asignación encadenada La asignación se realiza a nivel de bloques, Cualquier bloque libre se puede añadir a la cadena. Cada bloque contiene un apuntador al siguiente bloque de la cadena. La tabla de asignación de archivos contiene el número de bloque inicial y la longitud en bloques del archivo. Buenas prestaciones para archivos secuenciales. No existe la fragmentación externa. No existe el principio de proximidad lo que puede implicar múltiples accesos a disco. Asignación encadenada antes de compactar Asignación encadenada después de consolidar Almacenamiento físico de archivos … (8) Asignación indexada Asignación indexada con porciones de bloques Resuelve muchos de los inconvenientes de las asignaciones contigua y encadenada. La tabla de asignación de archivos contiene el número de bloque índice de un nivel por cada archivo. El bloque indexado contiene una entrada (registro) por cada porción asignada al archivo. Asignación indexada con porciones de tamaño variable La asignación puede realizarse mediante bloques de tamaño fijo o porciones de tamaño variable. La consolidación reduce el tamaño del índice. Esta es la forma más utilizada en la asignación de archivos. Estructura y función del sistema de archivos Para ofrecer un acceso eficiente y cómodo al disco, el sistema operativo impone en él un sistema de archivos. Generalmente el sistema de archivos esta compuesto de varios niveles. Cada nivel de diseño aprovecha las funciones de los niveles inferiores para crear nuevas funciones que se usarán en niveles superiores Sistema de archivos en niveles Programas de aplicación Sistema lógico de archivos Módulo de organización de archivos Sistema básico de archivos Control de E/S Dispositivos Estructura y función del sistema de archivos …(2) Control de E/S Sistema básico de archivos Envía comandos genéricos al controlador de dispositivo apropiado para leer y escribir bloques físicos en el disco. Módulo de organización de archivos Esta compuesto por los controladores del dispositivo y rutinas de tratamiento de interrupción para transferir información entre la memoria principal y el sistema de disco. Tiene conocimiento de los archivos y sus bloques físicos y lógicos. También incluye el gestor de espacio libre, el cual controla bloques no asignados y asigna bloques cuando se requiere. Sistema lógico de archivos Gestiona la información de metadatos, los cuales incluyen toda la estructura del sistema de archivos, excepto los propios datos. Gestiona la estructura de directorios, propietarios, permisos, ubicación protección y seguridad. Estructura y función del sistema de archivos …(3) Los objetivos que se sugieren para un sistema de gestión de archivos son: Satisfacer las necesidades de gestión de datos y requisitos del usuario. Garantizar, hasta donde sea posible, que los datos del archivo son válidos. Optimizar el rendimiento en términos de productividad (sistema) y en términos del tiempo de respuesta (usuario). Proporcionar soporte de E/S a una variedad de tipos de dispositivos de almacenamiento. Minimizar o eliminar la potencial pérdida de datos. Proporcionar un conjunto estándar de rutinas de interfaces de E/S a los procesos Proporcionar soporte de E/S a múltiples usuarios. Estructura y función del sistema de archivos …(4) Las funciones del sistema de archivos son: Identificar y localizar el archivo seleccionado. Utilizar un directorio para describir la localización de todos los archivos más sus atributos. En un sistema compartido debe describir el control de acceso para los usuarios. Bloquear el acceso a los archivos Asignar a los archivos bloques libres Manejar el espacio libre para la disponibilidad de bloques Estructura y función del sistema de archivos …(5) Funciones del sistema de archivos durante un ciclo de instrucción básico. Estructura del archivo Gestión de directorios Método de acceso Registros Bloques físicos en buffers de memoria principal Gestión de bloques Programas y comandos de usuario Operación, nombre de archivo Funciones de manipulación de archivos Bloques físicos en el almacenamiento secundario (disco) Planificación de disco E/S Asignación de archivos Control de acceso de usuario Gestión de almacenamiento libre Estructura y función del sistema de archivos …(6) La estructura y funciones particulares del sistema de archivos dependerá del sistema operativo que se este utilizando. Previo a la instalación del sistema de archivos es necesario dividir física o lógicamente los discos en particiones o volúmenes. Una partición es una porción del disco a la que se le dota de una identidad propia y que puede ser manipulada por el sistema operativo como una entidad lógica independiente. Una vez creadas las particiones el sistema operativo debe crear las estructuras de los sistemas de archivos dentro de esas particiones. Estructura y función del sistema de archivos …(7) Al crear un sistema de archivos en una partición de un disco, se crea una entidad lógica autocontenida con: Espacio para la información de carga del sistema operativo La descripción de su estructura Descriptores de archivos Información del estado de ocupación de los bloques del sistema de archivos Bloques de datos y directorios Partición Boot (Sector de arranque) FAT, nodos-i, descriptores físicos de archivos, etc Agrupaciones asignadas a los directorios Agrupaciones asignadas a los archivos Estructura y función del sistema de archivos …(8) Estructura del sistema de archivos en Unix Bloque de boot Superbloque Describe el estado del sistema de archivos. Contiene información acerca del tamaño actual, total de archivos a contener, que espacio queda libre, etc. Lista de nodos índice (inodes) Se localiza típicamente en el primer sector y contiene el código de arranque. Se trata de un pequeño programa que se encarga de buscar el sistema operativo para cargarlo en memoria principal. Esta lista tiene una entrada por cada archivo, donde se guarda una descripción del mismo; localización del archivo en disco, propietario, permisos de acceso, fecha de actualización etc. Bloque de datos Ocupa el resto del sistema de archivos. Esta zona es donde se encuentra situado el contenido de los archivos a que hacen referencia los inodes. Sistema de archivos Unix Boot Superbloque Lista de inodes Bloque de datos (Archivos y Directorios) Estructura y función del sistema de archivos …(9) Tarea: Investigar sobre la estructura y funcionamiento de los siguientes sistemas de archivos: FAT, FAT16, FAT32 Ext2, Ext3, Ext4 ReiserFS NTFS Incluir: Cómo se realiza la asignación de ficheros en Unix Estructuras de ficheros en NTFS Propiedades de los archivos Desde el punto de vista del usuario, una de las partes más importantes de un sistema operativo es el sistema de archivos. El sistema de archivos permite crear archivos con las siguientes propiedades deseables: Existencia a largo plazo Compartible entre procesos Almacenamiento en disco u otra tecnología de almacenamiento secundario permanente. Los archivos tienen nombres y permisos de acceso asociados para controlar la compartición. Estructura Dependiendo del sistema de archivos, los archivos pueden tener una estructura interna conveniente a las aplicaciones. Los archivos se pueden organizar en estructuras jerárquicas o más complejas. Propiedades de los archivos … (2) Términos relacionados con los archivos Campo Registro Es el elemento básico de los datos. Contiene un único valor (pj. Apellido, fecha, temperatura, etc.) Tiene un tipo y longitud asociados Dependiendo del diseño del archivo su longitud puede ser fija o variable. Es una colección de campos relacionados que pueden tratarse como una unidad. Dependiendo del diseño del archivo pueden ser de longitud fija o variable. Puede ser de longitud variable si uno de sus campos lo es o también si el número de sus campos varía. Archivo Es una colección de campos similares. Es tratado como una entidad única por parte de los usuarios o aplicaciones. Se referencian a través de un nombre. Propiedades de los archivos … (3) Estructura de archivos Organización lógica de los registros determinados por la forma en la que se acceden. La organización de archivos dependerá de: Tiempo de acceso corto En procesamiento por lotes no necesario a nivel de registro. Facilidad de actualización No necesaria en CD-ROM Economía de almacenamiento Mínima redundancia de datos Sin embargo la redundancia incrementa la velocidad de acceso. Mantenimiento sencillo Fiablididad Propiedades de los archivos … (4) Existen diversas formas de organizar los registros de un archivo, las cinco que se consideran fundamentales son: La pila El archivo El archivo El archivo El archivo secuencial secuencial indexado indexado de acceso directo o hash Propiedades de los archivos … (5) La pila La forma menos complicada de organización. Los datos se almacenan en el orden en que llegan. Los registros pueden tener diferentes campos o similares campos en diferentes órdenes. Cada campo debe ser autodescriptivo, incluyendo el nombre del campo y el valor La longitud se conoce por defecto, se indica mediante un delimitador o se incluye en un subcampo. El acceso a los registros se hace mediante búsqueda exhaustiva. Archivo tipo pila Registros de tamaño variable Orden cronológico Propiedades de los archivos … (6) El archivo secuencial La forma más común de estructurar archivos Utiliza un formato fijo para los registros Solo se almacenan los valores de los campos; el nombre y la longitud de cada campo son atributos de la estructura del archivo. Normalmente uno de los campos es el campo clave Todos de igual tamaño, compuestos por el mismo número de campos de longitud fija en un orden específico. Identifica de forma única al registro La secuencia de los registros es según la clave Típicamente la organización lógica encaja con la organización física. Archivo secuencial Propiedades de los archivos … (7) El archivo secuencial indexado Mantiene las características clave del archivo secuencial Añade dos características Registros en secuencia basándose en un campo clave. Un índice que da soporte al acceso aleatorio Un archivo de desbordamiento En un nivel de indexación El índice esta formado por un archivo secuencial simple. En cada registro dos campos: la clave y el apuntador al archivo principal. Para encontrar un campo específico se busca el índice que contenga la clave anterior más próxima a la del campo deseado, después la búsqueda continúa en el archivo principal. Archivo secuencial indexado Propiedades de los archivos … (8) Ejemplo de archivo secuencial indexado … (1) Propiedades de los archivos … (9) Ejemplo de archivo secuencial indexado … (2) Propiedades de los archivos … (10) Ejemplo de archivo secuencial indexado … (3) Propiedades de los archivos … (11) Ejemplo de archivo secuencial indexado … (4) Propiedades de los archivos … (12) El archivo indexado Se utilizan dos tipos de índice Un índice exhaustivo que contiene una entrada por cada registro del archivo principal. Un índice parcial que contiene entradas a registros donde el campo de interés existe. Se dispone de un índice por cada tipo de campo de búsqueda. Los registros pueden ser de longitud variable y se acceden solo a través de sus índices. Cuando se añade un registro al archivo principal, todos los archivos índice deben actualizarse. Archivo indexado Propiedades de los archivos … (13) El archivo de acceso directo o hash Explota la capacidad de los discos para acceder directamente a cualquier bloque de una dirección conocida. Se requiere de una clave para cada registro No existe el concepto de ordenación secuencial, se hace uso de una tabla hash sobre un valor clave. Hace uso de un archivo de desbordamiento. Posible Algoritmo de inserción Asociar al elemento una etiqueta n entre 0 y m – 1 Donde m es el número de entradas y n el número de elemento. Usar n como índice de la tabla hash Si la entrada n está vacía, almacenar el elemento Si esta ocupada, almacenar el elemento en un área de desbordamiento, creando una lista de elementos con la misma etiqueta. Propiedades de los archivos … (14) Ejemplo de archivo hash Propiedades de los archivos … (15) Ejemplo de archivo hash ... (2) Propiedades de los archivos … (16) De forma “externa” un archivo puede estar organizado en una estructura jerárquica llamada directorio. Directorio Es un archivo que pertenece al sistema operativo y que es accedido a través de diversas rutinas de gestión de archivos. Permite al usuario abstraerse de la ubicación física de los archivos visualizando solo la ubicación lógica. Las dos estructuras lógicas más utilizadas son: Árbol jerárquico Grafo acíclico Propiedades de los archivos … (17) Estructura de directorios de tipo árbol jerárquico Se parte de un directorio raíz Los nodos del árbol son subdirectorios que a su vez contienen otros subdirectorios o archivos. Las hojas del árbol son los archivos. Existe un camino (path) único para cada archivo. Permite a los usuarios definir su propia estructura de directorios. Se relaciona con los conceptos de: Ruta absoluta Ruta relativa Directorio actual Propiedades de los archivos … (18) Estructura de directorios de tipo grafo acíclico Permite que un archivo o subdirectorio puedan estar en directorios distintos. Para lograr compartir archivos o subdirectorios se utilizan dos tipos de enlaces Físico (duro) Apuntador a un archivo o directorio, cuya entrada de directorio tiene el mismo descriptor de archivo que el archivo enlazado. Simbólico (suave) Un nuevo archivo cuyo contenido es el nombre del archivo enlazado Propiedades de los archivos … (19) Un archivo también se caracteriza por tener distintos atributos, entre ellos están: Nombre Identificador único Información de control de acceso (contraseña, dueño, creador, etc.) Tamaño del archivo Apuntadores a los dispositivos y a los bloques dentro de estos Protección Útil en sistemas que soportan múltiples tipos de archivo (ejecutables y datos) Mapa del archivo Número que utiliza el sistema operativo para manejar el archivo. Tipo de archivo Identificador del archivo en formato comprensible para el usuario y es definido por su creador. Algunos SO imponen ciertas restricciones. Número de bytes en el archivo, máximo tamaño posible, etc. Información de control del archivo Indica si esta oculto, si es del sistema, normal, etc. Operaciones sobre los archivos Llamadas fundamentales sobre archivos al sistema Crear Borrar Abrir Cerrar Leer Escribir Posicionar Obtener atributos Renombrar Llamadas fundamentales sobre directorios al sistema Crear Borrar Cambiar Mostrar Enlazar Desenlazar Seguridad y protección de los archivos Protección Se trata de un problema estrictamente interno Gestiona la forma de controlar el acceso a los programas y datos almacenados en un sistema Seguridad Considera el entorno externo en el cual opera el sistema Abarca, entre otros: Causas externas Fallos en los equipos Errores de programación Errores humanos en su utilización Ataques intencionados Seguridad y protección de los archivos … (2) Un sistema es seguro si sus recursos son utilizados y accedidos como se espera en todas sus circunstancias. Existe un problema si se intenta saltar la protección de los recursos. Al diseñar un sistema se tienen que considerar varios aspectos: Suponer un diseño público Por defecto toda comprobación conlleva a una denegación Dar a los procesos privilegios mínimos Sistema de protección fácil de utilizar Requisitos de seguridad: Confidencialidad Integridad Disponibilidad de la información Seguridad y protección de los archivos … (3) Las violaciones de seguridad pueden ser: Accidentales Intencionadas Lectura no autorizada a datos (viola la confidencialidad) Modificación no autorizada (viola la integridad) Destrucción (viola la disponibilidad) Las medidas de seguridad se clasifican en tres niveles: Físico Humano El lugar donde se encuentra el sistema debe estar protegido físicamente. Autorización cuidadosa de los usuarios Sistema Operativo Identificación de programas, procesos y usuarios. Seguridad y protección de los archivos … (4) Contraseñas (passwords) Generadas por el sistema Seleccionadas por el usuario Fáciles de adivinar Se puede conocer Difíciles de recordar Teniendo información del usuario o conociéndolo Intentar todas las posibles combinaciones de letras y números. Los archivos de password pueden ser: Privados: acceso denegado a los usuarios Públicos: se permite acceso pero esta cifrado. Seguridad y protección de los archivos … (5) Clasificación de las amenazas por software: Seguridad y protección de los archivos … (6) Trampilla Bomba lógica Punto de entrada no documentado dentro de un programa. Utilizado para conceder accesos sin necesidad de identificación. Introducida en un programa que cuando se dan ciertas condiciones en el sistema, ejecuta alguna función no autorizada. Caballo de Troya Rutina secreta e indocumentada introducida en un programa aparentemente útil. Su ejecución se da sin conocimiento del usuario pero accionado por este o por algún tipo de automatización. Seguridad y protección de los archivos … (7) Virus Bacteria Código incrustado en un programa que hace que se inserte una copia de si mismo en uno o más programas. Puede hacer cualquier cosa permitida al código que infecta. Programa que consume recursos del sistema mediante su reproducción Gusanos Programa que se reproduce y envía copias de si mismo por la red. No suele causar más daños que consumo de recursos. Explotan fallos de seguridad de los sistemas operativos. Seguridad y protección de los archivos … (8) Técnicas para mejorar la seguridad Monitorización de amenazas Comprobar si se intenta violar la seguridad Buscar patrones de actividad sospechosa Auditorías en bitácoras Los registros de las bitácoras sirven para Determinar cuándo y cómo ocurrió el problema y el daño producido. Recuperarse del ataque Desarrollar nuevos mecanismos de seguridad Exploración periódica del sistema para detectar Claves cortas o fáciles Programas no autorizados en rutas del sistema Tiempos prolongados de ejecución de procesos Permisos de archivos y directorios del sistema Cambios de tamaño en los programas de sistema Proteger los datos mediante encriptación Sobre todo la información transmitida por red y Listas de passwords. Seguridad y protección de los archivos … (9) Protección: Un sistema puede verse como una colección de procesos y objetos ya sea de hardware o software Cada objeto tiene Nombre único para identificarlo Conjunto de operaciones a realizar con él Ejemplos: un archivo se puede leer, escribir, ejecutar, un semáforo tiene operaciones wait y signal La protección debe garantizar cada objeto es accedido correctamente y solo por aquellos procesos que lo tienen permitido Seguridad y protección de los archivos … (10) Dominio de protección Define un conjunto de objetos con sus derechos de accesos. Derechos de acceso = permiso para realizar una operación sobre un objeto Los dominios pueden solaparse Un proceso se ejecuta dentro de un dominio, la asociación proceso-dominio puede ser Estática si el conjunto de objetos disponible para un proceso es fijo durante la vida del proceso. Dinámica si se permite el cambio de dominio durante la ejecución de un proceso. Seguridad y protección de los archivos … (11) Matriz de acceso Modelo que provee del mecanismo apropiado para el control de acceso. Elementos Filas: dominios Columnas: objetos Celdas: derechos de acceso Ejemplos: Seguridad y protección de los archivos … (12) Matriz de acceso … Se pueden incluir los dominios como objetos para indicar el cambio entre dominios Implementación Tabla global Listas de accesos para objetos Listas de capacidades para dominios Cerrojo llave Seguridad y protección de los archivos … (13) Tabla global Conjunto ordenado de triples <dominio, objeto, conjunto_derechos> Ventaja: Desventajas: Método robusto y potente Poco práctico en sistemas reales, la matriz sería enorme Ineficiente ya que la mayoría de las entradas estarían vacías. Listas de acceso (ACL) Se trata de una descomposición en columnas de la matriz. Asocia a cada lista una lista ordenada de pares <dominio, conjunto de derechos> Ventaja: Desventaja Se puede abreviar con comodines lo que minimiza el espacio de almacenamiento Coste de exploración de lista por cada acceso Ejemplos: Archivo1: {(D1, [Leer, Escribir]), (D2, [Leer])}; Archivo2: {(D2, [Leer, Escribir]), (D3, [Escribir])} Archivo4: {([*,profesores], [leer, escribir]), ([*,alumnos], [leer])} Seguridad y protección de los archivos … (14) Listas de capacidades Se trata de una descomposición en filas de la matriz Asocia a cada dominio una lista ordenada de <objeto, conjunto_derechos> Cada elemento se denomina capacidad El sistema operativo debe gestionar la lista para evitar huecos de seguridad Cerrojo-llave Cada objeto tiene una lista de patrones de bits únicos (cerrojos), y cada dominio otra lista (llaves) Un proceso en un dominio puede acceder a un objeto si tiene la llave que corresponde con uno de los cerrojos del objeto