Sistema de Ficheros Estructura Física Realizado por Kepa Bengoetxea.

Slides:



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

Arreglos Unidimensionales y Bidimensionales ESTRUCTURAS DE DATOS I
Tema #10. FICHEROS.
Tabla de Contenido Concurrencia.
Arquitectura de Sistema de E/S
UNIX COMP 240.
FICHEROS.
EQUIPO ·# 3 SISTEMAS OPERATIVOS
Jaime Eduardo Rivas Padilla Reg Cuando se codifica un programa, se hace con la intención de que ese programa pueda interactuar con los usuarios.
INICIALIZACION Y APAGADO
Programación, Algoritmos y Estructuras de Datos
Introducción a los Sistemas Operativos Memoria Virtual
Informática II Prof. Dr. Gustavo Patiño MJ
Programación en Lenguaje Ensamblador.
UTFSM - Sistemas Operativos
Comunicación y sincronización de procesos Comunicación por tuberías.
Planificación de la Información.
Johanna Lizeth Rodríguez Lorena Fda. Chávarro Ramos
PROGRAMACIÓN ORIENTADA A OBJETOS
MINIX FILE SYSTEM Cátedra: Diseño e Implementación de Sistemas Operativos UTN-FRSF Tomado de: Sistemas Operativos Diseño e Implementación - A.S.Tanenbaum.
INTEGRANTES ALEXIS MENDOZA ALDAIR ARRIETA CARLOS PASTOR LORENA RODRIGUEZ ANTHONY JIMENEZ.
UNIDAD I Conceptos Básicos.
Archivos Programación.
Informática Ingeniería en Electrónica y Automática Industrial
Archivos. fopen(...) Para comenzar a utilizar un archivo primero se debe abrir, invocando a la función fopen(...) FILE * fopen(char* nombre_arch, char*
FHS: organización de directorios en Linux
Sistema Operativo. ¿Qué es el Sistema Operativo? Un sistema operativo (SO) es el conjunto de programas y utilidades software que permiten al usuario interactuar.
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.
Administración de Archivos
Sebastián Sánchez Prieto
Unidad III Administración de procesos
ESTRUCTURAS DE DATOS I Conocer, comprender y analizar algunos de los principales tipos de estructuras de datos.
Archivos.
Informática Ingeniería en Electrónica y Automática Industrial
File Ownerships and Permissions. Propiedades de Archivos regulares y Permisos.
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.
Sistema de archivos Sistemas operativos.
Streams. / En casi todo programa se necesita traer o enviar información a una fuente externa. / Dicha información puede estar en un archivo en el disco.
Estructura del sistema de Archivos de
Teoría de Sistemas Operativos
Sistema de Archivos Hernández Martinez Sonia Lizbeth
Aplicación de estructuras de datos
Arquitectura NFS El servidor NFS exporta uno o más directorios
Introducción a los Sistemas Operativos
Archivos Programación I MC Beatriz Beltrán Martínez.
2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 5: Comandos de manipulación de Directorios y.
Entrada y salida Gestión de ficheros.
1 Descripción y control de procesos Capítulo 3. 2 Requerimientos de un SO relacionados con procesos Ejecutar concurrentemente múltiples procesos para.
COMPONENTES DEL SISTEMA OPERATIVO.
VI. Administración de Dispositivos (2)
Teoría de Sistemas Operativos I/O
Teoría de Sistemas Operativos Administración de Archivos.
CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO
Teoría de Sistemas Operativos
Teoría de Sistemas Operativos Sistemas Archivos de Red
Estructura de los Sistemas Operativos
Redireccionamiento Realizado por Kepa Bengoetxea.
Teoría de Sistemas Operativos Sistema de I/O. 2 Introducción Una de las funciones principales del sistema operativo es el control de todos los dispositivos.
Sistemas de Archivos Sistemas Operativos.  Se debe proporcionar un almacenamiento secundario que respalda a la memoria principal  El Sistema de archivos.
Calculo de Estimacion de Rendimiento en Linux. Consigna Se quiere estimar el incremento de rendimiento que supone utilizar el disco duro frente al disco.
INSTRUCCIONES. El alumno, seguirá los pasos que se le va indicando a continuación. En el recuadro en blanco, debe ir añadiendo un pantallazo con la.
Computación I. CI-2125 Tema VIII
2008 Escuela de Informática y Telecomunicaciones, DuocUC Escuela de Informática y Telecomunicaciones Clase 2: El sistema de archivos de LINUX Nombre unidad.
Instituto Tecnológico Superior de Libres Ingeniería en Sistemas Computacionales Segundo semestre Materia: Programación Orientada a Objetos Asesora: Ing.
MEMORIA DINÁMICA.
 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.
Archivos. Introducción Los datos que hemos tratado hasta el momento han residido en la memoria principal. Sin embargo, las grandes cantidades de datos.
Métodos en Java. Estructura de un programa en Java ► La relación con la vida misma la podemos ver en el siguiente comentario: Imaginemos que dos clases.
Sistemas de archivos. Sistemas de archivos 2 Objetivo del SdA  Ocultar al usuario los detalles relativos al almacenamiento de información en dispositivos.
Transcripción de la presentación:

Sistema de Ficheros Estructura Física Realizado por Kepa Bengoetxea

Referencias UNIX.Programación Avanzada. Ed:Rama Autor:Fco. Manuel Márquez García

Sistema de Ficheros:Tipos de Ficheros en Unix Como es evidente todos los ficheros no son iguales y además no tienen el mismo peso específico. Por este motivo vamos a realizar una distinción. Los tipos de archivos que podemos tener en UNIX/Linux son: – Ficheros ordinarios – Directorios – Ficheros especiales – Fifo

Sistema de Ficheros:Tipos de Ficheros en Unix->Ordinarios Los ficheros ordinarios contienen bytes de datos organizados como un array lineal. Las operaciones que se pueden realizar son: – Leer o escribir cualquier byte del fichero – Añadir bytes al final del fichero – Truncar el tamaño de un fichero a 0 bytes Dos o más procesos pueden acceder concurrentemente a un mismo fichero.

Sistema de Ficheros:Tipos de Ficheros en Unix->Directorios Los directorios son los ficheros que nos permiten dar una estructura jerárquica a los sistemas de ficheros de UNIX. Su función fundamental consiste en establecer la relación que existe entre el nombre de un fichero y su i-nodo correspondiente. Por tanto un directorio será un fichero que está constituido por una secuencia de entradas donde en cada entrada está formada por el i-nodo y el nombre de fichero. Pueden existir varios nombres de ficheros que hacen referencia al mismo fichero.

Sistema de Ficheros:Tipos de Ficheros en Unix->Directorios La estructura típica de un directorio: i-nodonombre del fichero inittab 371mount. tiene asociado el inodo del directorio actual.. tiene asociado el inodo del directorio padre el kernel maneja los directorios como como si fuesen ficheros ordinarios, usando la estructura inode y los bloques de acceso directos e indirectos.

Sistema de Ficheros:Tipos de Ficheros en Unix->Directorios un proceso puede leer el contenido de un directorio, pero sólo el kernel es capaz de modificarlo. Puede haber multiples enlaces a un directorio Los permisos de acceso a un directorio tiene los siguientes significados: – permiso de lectura: permite que un proceso pueda leer el contenido de ese fichero.  Ejm: bash:ls -lias llamadas api de c(libc):open,read,lseek,close..(se accede igual que alos ficheros ordinarios), ó también se puede usar:opendir, readdir, closedir, seekdir

Sistema de Ficheros:Tipos de Ficheros->Directorios – Permiso de escritura: permite a un proceso crear una nueva entrada en el directorio o borrar una existente. A través de las llamadas a sistema. bash: mkdir, touch,... llamadas a sistema:creat(crea un fichero o dispositivo),mknod(crea ficheros especiales de bloques o caracteres)... – Permiso de ejecución: Autoriza a un proceso para buscar un fichero o acceder a directorio. bash: cd,find

Sistema de Ficheros:Tipos de Ficheros->Directorios La conversión de pathname a inodo la realiza el kernel llamando a “namei” y recorriendo los diferentes directorios. Se aplica por ejemplo cuando: int open(const char *camino, int flags);

Sistema de Ficheros:Tipos de Ficheros->Especiales Especiales. o ficheros de dispositivo van a permitir comunicarse a los procesos con los dispositivos periféricos(discos,cintas,impresoras,terminales...).Dos tipos de dispositivos: – Modo caracter:dispositivo contiene un array de caracteres.Ejm:Impresora,teclado... – Modo bloque: dispositivo contiene un array de bloques de tamaño fijo(multiplo de 512 bytes) y el kernel gestiona la transferencia con los dispositivos a través de un buffer caché que acelera la transferencia de datos. Ejm: disco duro, cintas, cdroms...

Sistema de Ficheros:Tipos de Ficheros->Especiales

Sistema de Ficheros:Tipos de Ficheros->Especiales(No)‏ Los módulos del kernel que gestionan la comunicación con los dispositivos se conocen como drivers de dispositivo. Lo normal es que cada dispositivo tenga su propio driver Existen dispositivos software, se utiliza para acceder como si fuera un fichero. Ejm: /dev/mem ficheros especiales (dispositivo) tienen asociado un inodo que contiene 2 números, en vez del bloque datos: – major number: indica el tipo de dispositivo (disco,cinta...)‏ – minor number: indica el número de unidad dentro del dispositivo.

Sistema de Ficheros:Tipos de Ficheros->Especiales(No)‏ Estos números los utiliza el kernel para buscar dentro de las tablas (block device switch table y character device switch table) la colección de rutinas que permiten manejar el dispositivo. Esta colección de rutinas constituyen realmente el driver del dispositivo. Cuando se invoca a una llamada al sistema para realizar una operación de E/S sobre un fichero especial, el kernel se encarga de llamar al driver del dispositivo adecuado. Lo que ocurra acontinuación solo ataña a los diseñadores de drivers.

Sistema de Ficheros:Tipos de Ficheros->FIFO o tuberias o pipe Los datos de una tubería son transitorios, cuando un dato es leido desaparece. Se utiliza para comunicar dos procesos. Un proceso abre el fifo para escribir y otro para leer. El sistema de almacenamiento es parecido al de ficheros ordinarios excepto en que sólo se utilizan las 10 entradas directas del inodo. Ejm: Si tamaño de bloque es 1kbyte solo se podrían almacenar 10 kbytes. Las funciones que usamos para trabajar con fifo son iguales que las de ficheros ordinarios. Ejm: open,close,read,write...

Sistema de Ficheros:Tipos de Ficheros->FIFO o tuberias o pipe Existen 2 tipos de tuberías: – Con nombre – Sin nombre Sin nombre: – Ejm de bash: $ls | sort -r – creadas a través de la llamada “pipe” desde un proceso Con nombre: – creadas a través de la llamada “mknod” desde bash o desde una aplicación.

Tablas de control de acceso a los ficheros Para manipular ficheros el kernel guarda en memoria las siguientes tablas:  Tabla de Inodos(TI)‏  Tabla de Ficheros(TF)‏  Tabla de Descriptores de Ficheros(TDF) ó Tabla de Canales

Tablas de control de acceso a los ficheros...stderrstdout stdin... minor major... TDF del proceso A TI TF TDF del proceso B Nivel de Usuario Nivel del kernel

Tablas de control de acceso a los ficheros:TF Es una estructura global del kernel Contiene una entrada por cada fichero distinto que tiene abierto cada uno de los procesos que se está ejecutando, es decir, distinto para cada proceso. Cada entrada contiene un bloque de datos y un array de punteros a funciones que traducen todas las operaciones genéricas (leer,escribir...) en acciones concretas asociadas a cada tipo de fichero. Bloque de datos contiene los siguientes campos:inodo asociado en la TI, permisos de acceso para el proceso que ha abierto el fichero,offset para saber sobre que byte se va a realizar la operación lectura o escritura,flags de modo de apertura (readonly, writeonly,...)para no permitir escrituras si se ha abierto con el flag readonly etc...

Tablas de control de acceso a los ficheros:TDF Es una estructura local a cada proceso Contiene una entrada por cada fichero abierto por un proceso Cada entrada del array(TDF) consta de = índice o descriptor de fichero + contenido un puntero a una entrada de la tabla de ficheros Este índice se lo da el kernel cuando el proceso usuario realiza una de las siguientes llamadas a sistema: open,creat,dup o link. TDF de un proceso tiene un límite de ficheros abiertos en un instante (ronda sobre 20,índice de 0 a 19)‏

Tablas de control de acceso a los ficheros:TDF Cuando se arranca un proceso en UNIX, el sistema abre para él, por defecto, tres ficheros que van a ocupar las tres primeras entradas de la tabla de descriptores que son:  fichero estándar de entrada (teclado) cuyo índice o descriptor asociado es 0  fichero estándar de salida (pantalla) cuyo índice o descriptor asociado es 1  fichero estándar de errores (pantalla) cuyo índice o descriptor asociado es 2 Puede cambiarse estos ficheros asociados por defecto usando mecanismos de redireccionamiento o tuberías: “ ” o “|”. Ejm: ls > nom_fich

Tablas de control de acceso a los ficheros:TDF Cuando el proceso A de usuario quiere realizar una operación de lectura de teclado:  invoca una llamada a sistema(trap) de E/S, y el kernel le devuelve un descriptor, para futuras op-s(write,read...). Ejm:fd=open(“”,r). Excepto en aquellas operaciones que trabajamos con ficheros estándar (teclado ó pantalla) que se asocian al crearse el proceso.  kernel usa el índice para ir a TDF del proceso A y coger el puntero que apunta a la TF.  kernel accede TF con el puntero y obtiene el inodo, permisos, offset...  kernel accede a TI y obtiene el minor y major number. Ejm:Para acceder al driver de /dev/input/keyboard

Tablas de control de acceso a los ficheros:TDF Cuando el proceso A de usuario quiere realizar una operación de lectura de teclado:  módulo del driver que se comunica con el hardware(teclado)‏

Herramientas Crear un sistema de ficheros: fdisk,parted,mkfs Arreglar el estado de un sistema de ficheros: fsck Montar un sistema de ficheros:mount Ver el estado de los Sistemas:  du(disk used by files and folder)‏  df(disk free of mounted file system)‏