La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Sistemas Operativos Tema 3

Presentaciones similares


Presentación del tema: "Sistemas Operativos Tema 3"— Transcripción de la presentación:

1 Sistemas Operativos Tema 3
Gestión de ficheros

2 Resumen Concepto de fichero. Servicios de archivos y directorios.
Sistemas de archivos: estructura y prestaciones.

3 Concepto de fichero Colección de información relacionada que se graba en un almacenamiento secundario y a la cual se asigna un nombre. Es la porción más pequeña de almacenamiento secundario lógico: No es posible escribir datos en el almacenamiento secundario si no están dentro de un archivo. Secuencia de bits, bytes, líneas o registros cuyo significado ha sido definido por el creador del archivo. Generalmente no volátiles: su contenido persiste a pesar de interrupciones en la alimentación eléctrica.

4 Sistema de archivos DEFINICIÓN: Conjunto de programas del sistema operativo que, ordenadamente relacionados entre sí, permiten el almacenamiento de la información, agrupándola en archivos, situados en un soporte de un dispositivo periférico. Proporciona a los usuarios y aplicaciones servicios relativos al empleo de archivos. Existen varios sistemas de ficheros, por ejemplo: FAT (en todas sus versiones) de MS-DOS/Windows 9x/Me, HPFS de OS/2, NTFS de Windows NT/2000/XP, CDFS para CD’s Etc.

5 Sistema de archivos Objetivos:
Satisfacer las necesidades del usuario para la gestión de los datos Garantizar que los datos son válidos Optimizar el rendimiento Proporcionar soporte para distintos tipos de dispositivos Minimizar la pérdida de datos Proporcionar soporte para múltiples usuarios Ofrecer un conjunto estándar de funciones

6 Atributos de un archivo
Nombre Tipo Para aquellos sistemas que reconocen diferentes tipos de archivo Ubicación Puntero a un dispositivo y a la posición del archivo en el mismo. Tamaño Tamaño actual y tal vez máximo del archivo Protección / permisos Información sobre el control de acceso (quién puede leer, escribir, etc.) Hora / fecha Creación, acceso, última modificación, … Identificación del usuario Datos sobre quién accedió, modificó, etc. útiles para la seguridad y control

7 Elementos básicos Campo Registro Archivo Base de Datos
Elemento de datos básico que contiene un único valor Se caracteriza por su longitud y tipo Registro Colección de campos relacionados Físico (bloque) o lógico Archivo Colección de registros relacionados El SO lo gestiona como una unidad Base de Datos Colección de archivos relacionados No forma parte del SO

8 Organización de un disco
Los componentes de un sistema de disco son: soporte, unidad de disco y unidad de control.

9 Organización del disco
Organización física del soporte: Un disco consta de varios platos. Un plato esta formado por dos superficies. Una superficie tiene círculos concéntricos llamados pistas. Una pista se divide en fragmentos iguales llamados sectores o bloques. Las pistas a la misma distancia del centro forman un cilindro. Los programas del S.O. que gestionan información en este tipo de soportes consideran el disco una sucesión unidimensional de bloques.

10 Organización del disco
Organización física del soporte Pista Sector Platos Caras Cabezas L/E. Peine portacabezas Lectura / Escritura con movimiento de traslación hacia el centro o periferia del disco Las pistas del mismo color forman un solo Cilindro Entre las diferentes pistas hay un espacio.

11 Traducción de direcciones
La dirección física de un sector está constituida por una terna (cilindro, pista, sector). El SO trata el disco como una tabla de bloques de disco unidimensional, donde cada bloque es un sector. La traducción de un número de bloque en una dirección física depende de la numeración del disco Empezar desde el cilindro exterior, superficie superior y un sector al azar marcándolo como (0, 0, 0) Completar los sectores de la pista actual hasta (0, 0, s) Pasar a la siguiente superficie con (0, 1, 0) Repetir para todas las pistas del cilindro hasta (0, p, s) Pasar al siguiente cilindro, superficie superior (1, 0, 0) Completar con los cilindros interiores (c, p, s)

12 Traducción de direcciones
En un disco con P pistas/cilindro y S sectores/pista: Para calcular el número de bloque de una dirección física (i, j, k): b = i*P*S + j*S + k Para obtener la dirección física de un bloque b: i = int(b/PS) r = mod(b/PS) j = int(r/S) k = mod(r/S) Ejemplo. La dirección del bloque 339, en un disco con 4 pistas por cilindro y 10 sectores por pista es (8, 1, 9), que se calcula como sigue: i = int(339/40) = 8; r = mod(339/40) = 19 j = int(19/10) = 1; k = mod (19/10) = 9

13 Gestión de espacio y tiempo de acceso
La gestión de espacio en dispositivos de almacenamiento externo está condicionada por la accesibilidad del soporte: D.A. Acceso Secuencial: p.e. las unidades de cinta magnética. D.A. Acceso Directo: p.e. discos o tambores. Tiempo de acceso: tiempo transcurrido desde que la unidad de control proporciona a la unidad de disco una dirección de un sector, hasta que dicho sector es transferido a la memoria.

14 Agrupación de Registros
Los registros son la unidad lógica de acceso a los archivos, mientras que los bloques son la unidad de E/S para el almacenamiento secundario Los registros deben “encajarse” en bloques Los registros pueden tener tamaño fijo o variable Los bloques pueden ser de longitud fija o variable Longitud variable son demasiado difíciles de gestionar El tamaño del bloque influye en el rendimiento Bloques grandes es rápido y desperdicia espacio y bloques pequeños es lento y optimiza espacio

15 Agrupación de Registros
Bloques fijos Registros de longitud fija, fáciles de gestionar No existen tramos de un registro entre dos bloques Se desperdicia espacio al final del bloque (fragmentación interna) El factor de bloqueo se calcula dividiendo el tamaño del bloque entre el del registro y recortando el número de registros

16 Agrupación de Registros
Bloques de longitud variable con tramos Difíciles de gestionar para el S.O. Se llenan los bloques por completo, sin desperdiciar espacio Un registro puede tener un tramo en cada bloque No existe factor de bloqueo Se trata como una secuencia continua de bytes

17 Agrupación de Registros
Bloques de longitud variable sin tramos Difíciles de gestionar para el S.O. No existen tramos de un registro entre dos bloques Se desperdicia espacio al final del bloque Es una técnica poco utilizada El factor de bloqueo es distinto para cada bloque

18 Directorio Archivo que contiene información sobre los archivos que contiene Pertenece al sistema operativo Los usuarios y aplicaciones accedes a esa información mediante llamadas al sistema Operaciones habituales sobre directorios Buscar, Crear, Borrar, Listar El directorio contiene información de cada archivo

19 Directorios: Información de Archivos
Información básica Nombre del archivo, tipo de archivo y tipo de organización Información de direccionamiento Dispositivo, dirección de comienzo, tamaño actual y máximo Información de control de acceso Propietario, información de acceso y acciones permitidas Información de uso Fecha de creación, identidad del creador, fecha de último acceso, identidad del último lector, fecha de última modificación, identidad del último escritor, fecha de la última copia de seguridad, uso actual

20 Directorios: Estructura
Directorios a un nivel Una lista de entradas, con una para cada archivo No es válida para sistema multiusuario, porque no ofrece protección Directorio a dos niveles Un primer nivel que identifica el usuario y un segundo nivel con los archivos del mismo Un directorio de primer nivel contiene los archivos compartidos No permite estructurar la información de cada usuario

21 Directorios: Estructura
Directorios en árbol Múltiples niveles para cada usuario No permite la compartición de archivos Directorios en grafo acíclico Desde una rama del árbol se puede llegar a ficheros de otra Es complejo evitar los ciclos Directorios en grafo general Puede haber ciclos en la estructura Problema de bucles infinitos en el recorrido

22 Derechos de acceso El problema surge al compartir archivos en sistemas multiusuario Normalmente se se conceden ciertos derechos de acceso a usuarios, grupos de usuarios o a todos los usuarios del sistema Cuando varios pueden acceder a un fichero, se debe controlar los accesos simultáneos Bloqueo de fichero completo Bloqueo de registros individuales

23 Derechos de acceso Se suelen utilizar los siguientes tipos de derechos
Ninguno: no puede conocer ni siquiera la existencia del fichero Conocimiento: conoce la existencia y el propietario Ejecución: ejecutar el fichero, pero no copiarlo Lectura: leer el contenido del fichero, incluye copiarlo Adición: añadir datos al fichero, no modificar ni borrar Actualización: modificar, borrar y añadir datos Cambio de Protección: cambiar los derechos de acceso sobre el fichero Borrado: eliminar el fichero

24 Gestión del Almacenamiento Secundario
Asignación previa El tamaño del fichero debe declararse en la creación Los datos están contiguos en disco El fichero no puede exceder ese tamaño Tendencia a sobreestimarlo Asignación dinámica El fichero crece de tamaño cuando lo necesita Es necesario encontrar nuevas secciones Los datos quedan dispersos en el disco

25 Gestión del Almacenamiento Secundario
Secciones de tamaño bloque Sencillas de gestionar y reutilizar Pequeñas y flexibles No hay contigüidad Tablas de control grandes Secciones contiguas, variables y grandes Espacio difícil de reutilizar Mejor rendimiento Tablas de control pequeñas Es necesario un algoritmo de ubicación

26 Gestión del Almacenamiento Secundario
Algoritmos de ubicación: Primer hueco (first fit) El primer grupo de bloques contiguo de tamaño suficiente Crea muchos fragmentos pequeños al principio del disco Simple y rápido en las decisiones Siguiente hueco (next fit) El siguiente grupo de bloques contiguo desde la asignación anterior y con tamaño suficiente Distribuye los fragmentos pequeños a lo largo del disco Más complejo de implementar que el primer hueco

27 Gestión del Almacenamiento Secundario
Mejor hueco (best fit) El grupo de bloques contiguo menor de tamaño suficiente Lento, porque debe recorrer todos los huecos Deja huecos pequeños poco aprovechables Peor hueco (worst fit) El grupo de bloques contiguo mayor de tamaño suficiente Deja huecos grandes que pueden ser aprovechables En ejecuciones largas, todos tienen resultado similar

28 Métodos de asignación de espacio
Secciones grandes y de tamaño variable En directorio: primer bloque y longitud Alta fiabilidad Rápidas en acceso: suma desde el comienzo No permite crecer al archivo Fragmentación externa Necesita compactación

29 Métodos de asignación de espacio
Secciones de un bloque En directorio: primer bloque Baja fiabilidad Lentas en acceso Permite crecer al archivo Asignación dinámica Buena para archivos secuenciales Continuo movimiento de cabezas del disco

30 Métodos de asignación de espacio
Secciones de tamaño fijo o variable En directorio: dirección del bloque índice Fiabilidad media: depende del bloque índice Acceso rápido: máximo el tiempo de dos bloques

31 Métodos de asignación de espacio
Permite crecimiento limitado del archivo, hasta que se complete el bloque índice Las nuevas secciones pueden estar en cualquier parte del disco Continuo movimiento de las cabezas del disco Es un buen compromiso para archivos secuenciales y directos

32 Métodos de asignación de espacio
Lista de bloques índice, el último puntero de cada bloque índice señala a otro bloque índice Si la lista es doblemente enlazada, se usan dos punteros para crear la lista En directorio: dirección del primer bloque índice Fiabilidad media: depende de la lista de índices Acceso medio: se debe recorrer la lista de índices Permite crecer ilimitadamente al archivo, aumentando la longitud de la lista de bloques índice Es un compromiso adecuado para archivos secuenciales y directos

33 Métodos de asignación de espacio
Árbol de bloques índice, se debe indicar el número de niveles del árbol Los niveles interiores señalan bloques índice y el último nivel señala bloques de datos En directorio: dirección de la raíz del árbol Fiabilidad media/alta: depende del árbol de índices Acceso medio/rápido: el número de accesos es el número de niveles del árbol Permite crecimiento limitado del archivo, aunque puede aumentarse aumentando los niveles del árbol Algunos sistemas tienen varios árboles para el mismo archivo

34 Métodos de asignación de espacio

35 Gestión de Espacio Libre
Tablas de bits Un bit para cada bloque (0 es libre, 1 es ocupado) Mucho desperdicio en discos grandes Fácil encontrar un bloque o bloques libres Ejemplo:

36 Gestión de Espacio Libre
Secciones libres encadenadas Una lista enlazada de secciones de diferente tamaño Cada elemento de la lista almacena la longitud y la dirección del siguiente elemento Almacena la lista en el espacio libre, por lo que no ocupa espacio extra Ejemplo: 0,1 – 5,3 – 14,3 – 29,0 – 32,2

37 Gestión de Espacio Libre
Indexación Trata el espacio libre como un archivo que lo contiene El archivo es propiedad del sistema Se crea una entrada en la tabla de directorios para este archivo Utiliza la misma técnica de asignación que la gestión de archivos Liberar espacio hace incrementa el archivo y asignar espacio lo decrementa

38 Arquitectura: visión modular
Explicar esta figura: stallings

39 Arquitectura: visión funcional

40 Bibliografía Básica: Complementaria y de consulta:
Sistemas operativos. Conceptos fundamentales. James L. Peterson y Abraham Silberschatz. Ed. Reverte Sistemas operativos, 5ª edición. Willian Stallings. Ed. Pearson Complementaria y de consulta: Conceptos de Sistemas Operativos, 6ª edición. Silberschatz, Galvin y Gagne. Ed. Limusa-Wiley Sistemas operativos. Diseño e implementación, 2ª edición. Andrew Tanenbaum y Albert Woodhull. Ed. Pearson


Descargar ppt "Sistemas Operativos Tema 3"

Presentaciones similares


Anuncios Google