Interfaz del Sistema de Archivos

Slides:



Advertisements
Presentaciones similares
FUNDAMENTALS OF THE JAVA PROGRAMMING LANGUAGE (SL-110) CAPÍTULO 13 Ing. Ronald Criollo.
Advertisements

Gestión de archivos y directorios
Organización Secuencial
Archivos de Texto. Introducción Los archivos son una secuencia de bits que se guarda en el disco duro. La ventaja de utilizar archivos es que los datos.
DESARROLLO DE SOLUCIONES EMPRESARIALES MOVILES USANDO TECNOLOGIA SUN APLICACIONES MOVILES CON J2ME RMS Ing. Ronald Criollo.
UNIX COMP 240.
III - Gestión de memoria
FICHEROS.
SISTEMAS DE ARCHIVOS DISTRIBUIDOS Sistemas Distribuidos Abr-Jun 2007 Yudith Cardinale.
EQUIPO ·# 3 SISTEMAS OPERATIVOS
Modelo de procesos de dos estados
Planificación de la Información.
TEMA: SISTEMA DE ARCHIVOS
Johanna Lizeth Rodríguez Lorena Fda. Chávarro Ramos
MOTORES DE BASE DE DATOS
PROGRAMACIÓN ORIENTADA A OBJETOS
INTEGRANTES ALEXIS MENDOZA ALDAIR ARRIETA CARLOS PASTOR LORENA RODRIGUEZ ANTHONY JIMENEZ.
HILOS Y COMUNICACIÓN ENTRE PROCESOS
PROGRAMACION II.  Es un conjunto de datos no necesariamente del mismo tipo, los cuales se podrán manipular o realizar cualquier operación sobre cada.
Eclipse es un entorno integrado de desarrollo, desarrollado principalmente para java pero cuyas funcionalidades pueden extenderse mediante la adición.
Administración de Archivos
Sebastián Sánchez Prieto
Archivos.
POP3 UCLV Mapas Conceptuales para la enseñanza de Redes de Computadoras.
Tema 10a Manejo de archivos. Introducción Un computador puede almacenar grandes cantidades de información. Puede acceder a ella de manera muy rápida.
Clase 10: Estructuras de datos y arreglos.
Administración de Memoria Memoria Virtual
Sistema de archivos Sistemas operativos.
Tema 10.3: Asignación de Espacio No Contiguo. Tema 10.3: 2 Silberschatz, Galvin and Gagne ©2005 Fundamentos de los Computadores (ITT, Sist. Electr.),
Asignación de Espacio No Contiguo
Estructura del sistema de Archivos de
Administración de Memoria
Teoría de Sistemas Operativos
Sistema de Archivos Hernández Martinez Sonia Lizbeth
Arquitectura NFS El servidor NFS exporta uno o más directorios
Sistema de Archivos Concepto de archivo Métodos de accesos Directorio Protección Consistencia Semántica Emely Arráiz Ene-Mar 08.
Interfaz Sistema de Archivos
5. Sistemas de archivos avanzados1 Tema 5: Sistemas de Archivos Avanzados Resumen: –Sistema de archivos distribuido –File Replication Service.
Introducción a los Sistemas Operativos
Capítulo 7 Gestión de memoria.
Creación de un dominio Windows  Descripción general Introducción a la creación de un dominio de Windows 2000 Instalación de Active Directory Proceso.
1 Descripción y control de procesos Capítulo 3. 2 Requerimientos de un SO relacionados con procesos Ejecutar concurrentemente múltiples procesos para.
Los Sistemas de Archivos
LIZETH LOPEZ DIANA SUAREZ JIMMY LEITON JONATHAN ROSALES EDWIN HARO.
Teoría de Sistemas Operativos Administración de Archivos.
CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO
W w w. i n a c a p. c l FUNDAMENTOS DE SISTEMAS OPERATIVOS LUIS ALEJANDRO PACHECO TORO.
Teoría de Sistemas Operativos
Cuentas de usuarios y grupos en windows 2008 server
Teoría de Sistemas Operativos Sistemas Archivos de Red
SISTEMAS DE ARCHIVOS.
Propiedades de Archivos regulares y Permisos  Linux es un entorno multiusuario  Varias personas pueden estar trabajando al mismo tiempo ◦ Ejemplo 
TEMA 2: SISTEMAS OPERATIVOS. ENTORNO MONOUSUARIO
Estructura de los Sistemas Operativos
Sistemas de Archivos Sistemas Operativos.  Se debe proporcionar un almacenamiento secundario que respalda a la memoria principal  El Sistema de archivos.
Teoría de Sistemas Operativos Sistemas distribuidos.
La administración de dominios
INGENIERIA EN SISTEMAS COMPUTACIONALES ASIGNATURA: PROGRAMACION ORIENTADA A OBJETOS ALUMNO: JAVIER MARTINEZ MARTINEZ.
MIA - Grupo 5 Unidad 2.
Instituto Tecnológico Superior de Libres Ingeniería en Sistemas Computacionales Segundo semestre Materia: Programación Orientada a Objetos Asesora: Ing.
Sistema de ficheros Horizontales 1. Esquema similar a la asignación enlazada. 3. Designación, nombres de archivos dados por el usuario. 5. Información.
Visual Basic Prof.: Carol Briones García. Uso de Archivos  Definición  Es un conjunto de información que se almacena en algún medio de escritura que.
 DIANA GARCIA VALERIO. CONCEPTO DE FLUJO DE JAVA:  La información que necesita un programa para su función se obtiene mediante una entrada de datos.
Implementación de Sistemas de Archivos Estructura del Sistema de Archivos Implementación de Sistemas de Archivos Implementación de Directorios Métodos.
Sistema de Gestión de Archivos FUNDAMENTOS TEORICOS Ing. Jorge Gutiérrez D Universidad Nacional de Colombia Catedrático - I Sem 2009
Gestión de Memoria – Parte 2
Módulo 4: Administrar el acceso a recursos
UNIVERSIDAD TECNOLÓGICA DE PANAMÁ Facultad de Ingeniería de Sistemas Computacionales Programa de Lic. en Informática Educativa Computación.
Sistemas de archivos. Sistemas de archivos 2 Objetivo del SdA  Ocultar al usuario los detalles relativos al almacenamiento de información en dispositivos.
1/50 Ing. Gerardo Chávez Malpartida Administración de Memoria SISTEMAS OPERATIVOS.
Transcripción de la presentación:

Interfaz del Sistema de Archivos Concepto de Archivo Métodos de Acceso Estructura de Directorio Mount de Sistemas de Archivos Archivos Compartidos Protección

Concepto de Archivo Espacio lógico de direcciones continuo Tipos: Datos numéricos caracter binario Programa

Estructura de un Archivo Ninguna – secuencia de palabras o bytes Estructura simple de registros Líneas Tamaño fijo Tamaño variable Estructuras complejas Documento formateado Archivo de carga reubicable Se pueden simular los 2 últimos con el primer método insertando caracteres de control. Quién decide: Sistema operativo Programa

Atributos de un Archivo Nombre – única informacióin mantenida en formato legible por el usuario Tipo – necesario para sistemas que soportan distintos tipos Ubicación – puntero a la posición del archivo en el dispositivo físico Tamaño – tamaño del archivo actual Protección – controla quien puede leer, excribir, ejecutar Fecha, hora, e identificación de usuario – infromación para protección, seguridad y control de uso Información accera de los archivos mantenidos en la estructura de directorios

Operaciones Sobre Archivos Crear – busca espacio en disco y crea entrada en directorio Escribir – búsqueda en directorio, puntero, buffer Leer – búsqueda en directorio, puntero, buffer Posicionamiento – posición relativa del archivo Borrar – libera espacio, elimina entrada en directorio Truncar – mantiene los atributos Abrir (Ai) – busca en la estructura de directorio en disco por la entrada Ai, actualiza tabla de archivos abiertos Cerrar (Ai) – mueve el contenido de la entrada Ai en memoria a la estructura de directorio en disco Problemas en entornos multiusuarios. Que sucede si un usuario lo abre y otro lo cierra?)‏

Abrir Archivos Muchas datos son necesarios para manejar archivos abiertos: Puntero de archivo: puntero a la última posición de lectura/escritura, por cada procesos que tiene el archivo abierto Contador de archivos abiertos: contador del número de veces que un archivo es abierto – permite remover la información de la tabla de archivos abiertos cuando un proceso lo cierra Posición en el disco: cache de información de acceso a datos Permiso de acceso: permisos de acceso por proceso

Loqueo de Archivos Abiertos Provisto por algunos sistemas operativos y sistemas de archivos Coordina el acceso a un archivo Obligatorio o informativo: Obligatorio – el acceso es denegado dependiendo del loqueo que se tiene y el pedido Informativo – los procesos pueden decidir que hacer en base al estado de loqueo

Ejemplo de Loqueo – API Java import java.io.*; import java.nio.channels.*; public class LockingExample { public static final boolean EXCLUSIVE = false; public static final boolean SHARED = true; public static void main(String arsg[]) throws IOException { FileLock sharedLock = null; FileLock exclusiveLock = null; try { RandomAccessFile raf = new RandomAccessFile("file.txt", "rw"); // obtener el canal del archivo FileChannel ch = raf.getChannel(); // loquea la primer mitad del archivo en forma exclusiva (tryLock)‏ exclusiveLock = ch.lock(0, raf.length()/2, EXCLUSIVE); /** modificar los datos . . . */ // libera el lock exclusiveLock.release();

Ejemplo de Loqueo – API Java (cont)‏ // loquea la segunda mitad en forma compartida sharedLock = ch.lock(raf.length()/2+1, raf.length(), SHARED); /** Lee los datos . . . */ // libera el lock exclusiveLock.release(); } catch (java.io.IOException ioe) { System.err.println(ioe); }finally { if (exclusiveLock != null)‏ if (sharedLock != null)‏ sharedLock.release(); }

Tipos de Archivo – Nombre, Extensión

Tipos de Archivo - Magic Number

Métodos de Acceso Acceso Secuencial Acceso Directo read next write next reset ‏ Acceso Directo read n write n seek n n = número de bloque relativo

Acceso Secuencial

Simulación de Acceso Secuencial con Acceso Directo

Ejemplo de Indices y Archivos Relativos

Estructura de Directorio Una colección de nodos que contiene información de todos los archivos Directory Files F 1 F 2 F 3 F 4 F n Tanto la estructura de directorios como los archivos residen en disco

Organización de Sistema de Archivos

Información de un Dispositivo de Directorio Nombre Tipo Dirección Longitud actual Longitud máxima Ultima fecha de acceso Ultima fecha de actualización Identificador del dueño Información de protección

Operaciones Sobre Directorios Buscar un archivo Crear un archivo Borrar un archivo Listar un directorio Renombrar un archivo Recorrer el sistema de archivos

Se Organiza un Directorio (Lógicamente) para Obtener Eficiencia – para buscar un archivo rápidamente Nombre – conveniencia para el usuario 2 usuarios podrían tener el mismo nombre para diferentes archivos El mismo archivo puede guardarse con diferentes nombres Agrupación – agrupación lógica de archivos por propiedades(p. ej., todos los programas C, todos los archivos de música, …)‏

Directorio de un Solo Nivel Un único directorio para todos los usuarios Probelmas de nombre Problemas de agrupamiento

Directorio de 2 Niveles Directorios separados para cada usuario Nombre de ruta Pueden tener el mismo nombre de archivo para distintos usuarios Búsqueda eficiente No tiene capacidad de agrupamiento

Directorios Estructurados en Arbol

Directorios Estructurados en Arbol (Cont)‏ Búsqueda eficiente Capacidad de agrupación Directorio actual (directorio de trabajo)‏ cd /spell/mail/prog

Directorios Estructurados en Arbol (Cont)‏ Nombre de ruta Absoluta o relativa La creación de un archivo se hace en el directorio actual Borrar un archivo rm <file-name> La creación de un nuevo subdirectorio se hace en el directorio actual mkdir <dir-name> Ejemplo: Si el directorio actual es /mail mkdir count mail prog copy prt exp count Borrar “mail”  borrar todo el subárbol con raíz “mail”

Grafo de Directorios Acíclico Tiene subdirectorios y archivos compartidos

Grafos de Directorios Acíclicos (Cont.)‏ 2 nombres diferentes (aliasing) Si se borra list  punteros inválidos Soluciones: Backpointers, de esta forma se pueden borrar todos los punteros Problema de tamaño variable Backpointers usando una organización daisy chain Solución con conteo de entradas

Grafo de Directorio General

Grafo de Directorio General (Cont.)‏ Como se asegura que no haya ciclos? Permite links sólo a archivos no subdirectorios Garbage collection Cada vez que se agrega un link nuevo se usa un algoritmo de detección de ciclos

Montado de Sistemas de Archivos Un sistema de archivos debe ser montado antes que pueda accederse Un sistema de archivos desmontado (por ejemplo Fig. 11-11(b)) se monta en un mount point

(a) Existente. (b) Partición desmontada

Punto de Montado

Archivos Compartidos Los archivos compartidos son deseables en un sistema multiusuario Los archivos compartidos deben implementar un esquema de protección En sistemas distribuídos, los archivos podrían estar compartidos en una red Network File System (NFS) es una método común archivos compartidos

Archivos Compartidos – Usuarios Múltiples User IDs identifican al usuario, permitiendo permisos y protecciones por usuario Group IDs permite a los usuarios pertenecer a grupos, permitiendo derechos de acceso por gurpo

Archivos Compartidos – Sistemas de Archivos Remotos Usa la red para permitir acceso a sistemas de archivos entre sistemas Manualmente vía programas como FTP Automáticamente, usando sistemas de archivos distrinuídos Semi automática via WWW El modelo Cliente-servidor permite a clientes montar sistemas de archivos remotos de servidores Un servidor puede atender múltiples clientes NFS es el protocolo de cliente-servidor estándar de UNIX CIFS es el protocolo estándar de Windows Las llamadas estándar al SO de archivos son traducidas en llamadas remotas Sistemas de información distribuídos (naming services) tales como LDAP, DNS, NIS implementan un forma unificada de acceso a información necesaria para computación distribuída.

Archivos Compartidos – Modos de Fallos Los sistemas de archivos remotos agregan nuevos modos de fallo, dado por fallos de red y de servidor La recuperación de una falla puede involucrar información del estado de cada llamada remota Protocolos stateless como NFS incluyen toda la información en cada llamada request, permitiendo una recuperación fácil pero menos seguridad

Archivos Compartidos – Semántica de Consistencia Semántica de consistencia especifica cómo van a acceder múltiples usuarios a la información compartida simultáneamente El sistema de archivos Unix (UFS) implementa: Las escrituras a un archivo abierto son visibles inmediatamente para otros usuarios del mismo archivo Permite compartir el puntero del archivo para que múltiples usuarios puedan leer y escribir en forma concurrente AFS tiene semántica de sesión Las escrituras sólo son visibles a otras sesiones después que el archivo es cerrado

Protección El dueño del archivo debe poder especificar: Qué puede hacerse Por quién Tipos de acceso Lectura Escritura Ejecución Agregado Borrado Listado

Listas de Acceso y Grupos Modo de acceso: read, write, execute Tres clases de usuarios RWX a) owner access 7  1 1 1 RWX b) group access 6  1 1 0 c) public access 1  0 0 1 Se pide al administrador que cree un grupo (con nombre único), por ejemplo G, y se agregan algunos usuarios al grupo. Para un archivo particular (por ejemplo game) o subdirectorio, se definen los accesos apropiados. owner group public chmod 761 game Se le assigna el grupo al archivo chgrp G game