Llamadas al sistema del sistema de ficheros en POSIX Sistemas Operativos Ingeniería en Informática Área de Arquitectura de Computadores Universidad Carlos.

Slides:



Advertisements
Presentaciones similares
Introducción Principios del Software E/S Principios del Hardware E/S
Advertisements

Capítulo I Gestión de E/S 1.- Gestión de E/S 2.- Hardware de E/S 3.- Software de E/S.
Tema #10. FICHEROS.
Tabla de Contenido Concurrencia.
Memoria Compartida Llave de acceso Segmento Compartido 1234 estructura
FICHEROS.
TEMA 2 Técnicas básicas de construcción de aplicaciones distribuidas
EQUIPO ·# 3 SISTEMAS OPERATIVOS
Historia y Sistemas UNIX
Unidad 1. Manejo de ficheros
Universidad Domingo Savio Facultad de Ciencias y Tecnología de la Información Carrera Ingeniería en Redes y Telecomunicaciones Materia : Programación I.
Fundamentos de la Programación Estructurada
Programación, Algoritmos y Estructuras de Datos
Instalacion de paquetes
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
Comunicación entre procesos en Linux
E/S y sistema de ficheros
Programación en Lenguaje Ensamblador.
Comunicación y sincronización de procesos Comunicación por tuberías.
Planificación de la Información.
UPV - EHU Konputagailuen Arkitektura eta Teknologia Saila Departamento de Arquitectura y Tecnología de Computadores 1 Control de procesos y sincronización.
TEMA: SISTEMA DE ARCHIVOS
Servidor de Batalla Naval.
1 E/S Driver Impresora –Airam Godoy Hernández –Jose Yeray Suárez Perdomo.
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.
Almacenamiento y Recuperación de la Información 2do Semestre 2005 Wenceslao Palma M.
Archivos Programación.
Informática Ingeniería en Electrónica y Automática Industrial
Asignatura: Lenguaje de Programación de Sistemas PPT No.05 Programa vespertino de Ingeniería (E) en Sistemas Computacionales Profesor: José Estay Araya.
Archivos. fopen(...) Para comenzar a utilizar un archivo primero se debe abrir, invocando a la función fopen(...) FILE * fopen(char* nombre_arch, char*
Sistema de Ficheros1 Horas 1INTRODUCCIÓN5 2PROCESOS Y THREADS8 3GESTIÓN DE MEMORIA8 4ENTRADA/SALIDA4 5GESTIÓN DE FICHEROS4 S.O.ITemarioCurso: 04/05.
Archivos Binarios Lenguaje C Prof. Gonzalo Pastor.
1 Amelia Guillén Rodríguez Michael Kokaly Kokaly Linux : Pipe.
Inteligencia artificial
Docente: Juan Manuel Capuano
Archivos.
Estructuras-Archivos
Framework Class Library (FCL) Dr. Diego Lz. de Ipiña Gz. de Artaza
Informática Ingeniería en Electrónica y Automática Industrial
Entrada y Salida Java. Clase File La clase File proporciona mucha informacion relacionada con archivos y con la obtencion de informacion basica sobre.
Sistema de archivos Sistemas operativos.
Resolución de Problemas y Algoritmos Uso de iteración con secuencias
Introducción Entrada/Salida L.P.S.I.
Fis. Héctor E. Medellín Anaya
Estructura del sistema de Archivos de
Arquitectura NFS El servidor NFS exporta uno o más directorios
Archivos Programación I MC Beatriz Beltrán Martínez.
1 Unidad IV Archivos en Java y C++ M.C. Juan Carlos Olivares Rojas.
E/S Avanzada E/S Avanzada Programación de Sistemas.
Sistema de Ficheros Estructura Física Realizado por Kepa Bengoetxea.
Sistemas Operativos de Red (SOR) Unidad I Propiedades y Permisos (Repaso) Cambio de Permisos de Archivos Cambio de Propiedad de Archivos Propiedad de Directorios.
Sistemas de ficheros MS-DOS.
Teoría de Sistemas Operativos Administración de Archivos.
CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO
Teoría de Sistemas Operativos
El núcleo del sistema operativo
PROGRAMACIÓN MULTIMEDIA
Programación Procedural y Recursiva en C++
SISTEMAS DE ARCHIVOS.
Memorias de Acceso Secuencial
Sistemas de Archivos Sistemas Operativos.  Se debe proporcionar un almacenamiento secundario que respalda a la memoria principal  El Sistema de archivos.
INTEGRANTES: Giovanna Kristhel Mendoza Castillo Eduardo Solis Lara Gustavo Antonio González Morales.
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.
Archivos. Introducción Los datos que hemos tratado hasta el momento han residido en la memoria principal. Sin embargo, las grandes cantidades de datos.
Sistema de Ficheros Bloque: unidad básica de almacenamiento del sistema de ficheros Un fichero está compuesto por un número entero de bloques. Es importante.
Sistemas de archivos. Sistemas de archivos 2 Objetivo del SdA  Ocultar al usuario los detalles relativos al almacenamiento de información en dispositivos.
SISTEMAS OPERATIVOS OSCAR ARTURO JUÁREZ HUESCAS OTOÑO DE 2011.
Contenido Visión del usuario. Estructura del sistema de ficheros.
D.I.A.Sistemas Operativos (ITIS) 1 Introducción Capítulo ¿Qué es un sistema operativo? 1.2 Evolución de los sistemas operativos 1.3 Tipos de.
Transcripción de la presentación:

Llamadas al sistema del sistema de ficheros en POSIX Sistemas Operativos Ingeniería en Informática Área de Arquitectura de Computadores Universidad Carlos III de Madrid

Archivos Apertura de archivo  open Apertura de archivo  open Devuelve un descriptor o error (valor < 0) Devuelve un descriptor o error (valor < 0) Cerrar archivo  close Cerrar archivo  close Leer datos  read Leer datos  read read(descriptor, buffer, tamaño) read(descriptor, buffer, tamaño) Escribir datos  write Escribir datos  write write(descriptor, buffer, tamaño) write(descriptor, buffer, tamaño) Desplazar puntero acceso  lseek Desplazar puntero acceso  lseek lseek(descriptor, desplazamiento, desde) lseek(descriptor, desplazamiento, desde)

Directorios - #include Directorios - #include Abrir directorio  opendir(nombre_dir) Abrir directorio  opendir(nombre_dir) Devuelve un puntero a un struct DIR Devuelve un puntero a un struct DIR Cerrar directorio  closedir(struct DIR*) Cerrar directorio  closedir(struct DIR*) Recorrido de los elementos de un directorio: Recorrido de los elementos de un directorio: Elementos  struct dirent Elementos  struct dirent Leer siguiente entrada  readdir(struct DIR*) Leer siguiente entrada  readdir(struct DIR*) Si es la última devuelve NULL Si es la última devuelve NULL Volver a obtener primer elemento  rwinddir Volver a obtener primer elemento  rwinddir Obtener número de elemento actual  telldir Obtener número de elemento actual  telldir Desplazarse a un elemento  seekdir Desplazarse a un elemento  seekdir

struct dirent struct dirent { long d_ino; /* número i-nodo */ long d_ino; /* número i-nodo */ off_t d_off; /* despl. al siguiente dirent */ off_t d_off; /* despl. al siguiente dirent */ unsigned short d_reclen; /* long. de este registro */ unsigned short d_reclen; /* long. de este registro */ unsigned char d_type; /* tipo de fichero*/ unsigned char d_type; /* tipo de fichero*/ char d_name[256]; /* nombre del fichero */ char d_name[256]; /* nombre del fichero */};

Información de un archivo o directorio: stat - #include Información de un archivo o directorio: stat - #include La llamada al sistema stat permite obtener información de un archivo o directorio. La llamada al sistema stat permite obtener información de un archivo o directorio. stat(const char *path, struct stat *buf) stat(const char *path, struct stat *buf) Se debe pasar un puntero a una estructura stat existente, la función stat se encarga de rellenar los campos de la estructura para el archivo o directorio indicado. Se debe pasar un puntero a una estructura stat existente, la función stat se encarga de rellenar los campos de la estructura para el archivo o directorio indicado.

struct stat struct stat struct stat { dev_t st_dev; /* dispositivo */ dev_t st_dev; /* dispositivo */ ino_t st_ino; /* inodo */ ino_t st_ino; /* inodo */ mode_t st_mode; /* protección */ mode_t st_mode; /* protección */ nlink_t st_nlink; /* número de enlaces físicos */ nlink_t st_nlink; /* número de enlaces físicos */ uid_t st_uid; /* ID del usuario propietario */ uid_t st_uid; /* ID del usuario propietario */ gid_t st_gid; /* ID del grupo propietario */ gid_t st_gid; /* ID del grupo propietario */ dev_t st_rdev; /* tipo dispositivo (si es dev_t st_rdev; /* tipo dispositivo (si es dispositivo inodo) */ dispositivo inodo) */ off_t st_size; /* tamaño total, en bytes */ off_t st_size; /* tamaño total, en bytes */ unsigned long st_blksize; /* tamaño de bloque para el unsigned long st_blksize; /* tamaño de bloque para el sistema de ficheros de E/S */ sistema de ficheros de E/S */ unsigned long st_blocks; /* número de bloques asignados*/ unsigned long st_blocks; /* número de bloques asignados*/ time_t st_atime; /* hora último acceso */ time_t st_atime; /* hora último acceso */ time_t st_mtime; /* hora última modificación */ time_t st_mtime; /* hora última modificación */ time_t st_ctime; /* hora último cambio */ time_t st_ctime; /* hora último cambio */ }; };

stat.st_mode Sobre el campo st_mode se pueden utilizar varias macros: Sobre el campo st_mode se pueden utilizar varias macros: S_ISLNK(m) es un enlace simbólico? S_ISLNK(m) es un enlace simbólico? S_ISREG(m) un fichero regular? S_ISREG(m) un fichero regular? S_ISDIR(m) un directorio? S_ISDIR(m) un directorio? S_ISCHR(m) un dispositivo de caracteres? S_ISCHR(m) un dispositivo de caracteres? S_ISBLK(m) un dispositivo de bloques? S_ISBLK(m) un dispositivo de bloques? S_ISFIFO(m) una tubería nombrada (fifo)? S_ISFIFO(m) una tubería nombrada (fifo)? S_ISSOCK(m) un enchufe (socket)? S_ISSOCK(m) un enchufe (socket)?