Redirecciones y Tuberías
|
|
|
- María Carmen Ortiz de Zárate Alvarado
- hace 7 años
- Vistas:
Transcripción
1 Redirecciones y Tuberías Ampliación de Sistemas Operativos (prácticas) E.U. Informática en Segovia Universidad de Valladolid Redirecciones Redirección de la entrada y la salida estándar Unix/Linux definen tres descriptores con un significado especial, que suelen estar asociados al terminal STD_INPUT: entrada estándar de datos STD_OUTPUT: salida estándar de datos STD_ERROR: salida estándar de errores Redirección de la salida estándar $ ls la > listado.txt Redirección de la entrada estándar $ write fdiaz < mensaje.txt Redirección de la salida de error estándar $ cc hilos.c > errores.log listado.txt mensaje.txt errores.log STD_INPUT STD_OUTPUT STD_ERROR STD_INPUT STD_OUTPUT STD_ERROR STD_INPUT STD_OUTPUT STD_ERROR EUI-SG/INFOR.UVA.ES ASO_PR4_49
2 Tuberías Comunicación de procesos Unix/Linux La comunicación entre procesos en Unix/Linux puede realizarse mediante tuberías Las tuberías son un tipo especial de ficheros de capacidad limitada con acceso secuencial Las tuberías pueden compartirse (entre procesos relacionados mediante la relación padre-hijo) gracias al mecanismo de herencia $ ls grep txt sort tuberia tuberia grep txt grep txt grep txt STD_OUTPUT STD_INPUT STD_OUTPUT STD_INPUT STD_OUTPUT tuberia tuberia tuberia tuberia EUI-SG/INFOR.UVA.ES ASO_PR4_49 3 Redirecciones y tuberías: llamadas al sistema dup pipe mkfifo Redirecciones y tuberías Duplicar un descriptor de fichero Creación de una tubería Creación de una tubería con nombre (fifo) EUI-SG/INFOR.UVA.ES ASO_PR4_49 4
3 Redirecciones: dup y dup dup, dup: Duplicar un descriptor de fichero Descripción int dup (int fd) int dup (int fd, int copia_fd) dup: retorna un descriptor de fichero cuya entrada es una copia de la que se corresponde con el parámetro fd. El descriptor que retorna es el descriptor disponible más bajo dup: cierra el descriptor que corresponde a copia_fd y luego copia la entrada del correspondiente al primer parámetro fd sobre la del segundo parámetro copia_fd Valor de retorno Nuevo descriptor del fichero - en caso de error (descriptor no válido o se supera el máximo de ficheros abiertos, OPEN_MAX) EUI-SG/INFOR.UVA.ES ASO_PR4_49 5 Redirecciones: Ejemplo #include <sys/stat.h> #include <stdio.h> #include <fcntl.h> #define NEW (O_WRONLY O_CREAT O_EXCL) #define PERM (S_IRUSR S_IWUSR S_IRGRP S_IROTH) int redirigir_sal (const char *fich) { int fd; if ( (fd=open(fich, NEW, PERM)) == - ) return ; if ( dup(fd, STDOUT_FILENO) == -) return ; close(fd); return ; int main (int argc, char * argv[]) { int fd_origen, fd_destino; if (argc < 3) { fprintf(stderr, Uso: %s fich_salida orden args\n, argv[]); if (redirigir_sal(argv[]) == -) { fprintf(stderr, No se puede redirigir salida hacia %s\n, argv[]); if ( execvp(argv[], &argv[]) < ) { fprintf(stderr, no se puede ejecutar %s\n, argv[]); EUI-SG/INFOR.UVA.ES ASO_PR4_49 6 3
4 Tuberías: pipe pipe: Creación de una tubería (en memoria) Descripción int pipe (int desc[]) pipe: crea una estructura de datos en memoria, denominado tubería e inicialmente vacía, que se maneja como una cola FIFO de bytes Las tuberías son un mecanismos de comunicación entre proceso Unix/Linux Tras realizar la llamada, desc[] es un descriptor de fichero válido para leer de la tubería (salida), mientras que desc[] es un descriptor de fichero válido para escribir en la tubería (entrada) La capacidad máxima de una tubería está limitada por la implementación, Las tuberías junto con los descriptores de acceso son heredados por los procesos hijos y preservados tras la ejecución de exec Valor de retorno si no hay error - en caso de error (array de descriptores desc no válido o se supera el máximo de ficheros abiertos, OPEN_MAX) EUI-SG/INFOR.UVA.ES ASO_PR4_49 7 Tuberías Lectura de una tubería Una vez abierta una tubería, por ejemplo, mediante pipe, puede leerse de la tubería, utilizando la llamada al sistema read, con una serie de consideraciones especiales: Si existen bytes disponibles, se leen como mucho los solicitados en la llamada a read Si en la tubería no hay datos, read suspende al proceso que lo invoca hasta que existan datos en la tubería (se puede evitar esta situación utilizando el modo de lectura no bloqueante O_NONBLOCK mediante la llamada al sistema fnctl) Cuando no existe ningún descriptor de escritura asociada a la tubería (tanto del proceso lector como de cualquier otro proceso) read no suspende al proceso y retorna el valor, indicando así la condición de final de datos en la tubería (final de fichero) EUI-SG/INFOR.UVA.ES ASO_PR4_49 8 4
5 Tuberías Escritura en una tubería Una vez abierta una tubería, por ejemplo, mediante pipe, puede escribirse en la tubería, utilizando la llamada al sistema write, con una serie de consideraciones especiales: Si existe capacidad suficiente en la tubería para almacenar la cantidad de bytes solicitados en la llamada a write, éstos se almacenan en la tubería al final y, además, la operación puede considerarse atómica Si no se pueden almacenar los datos de la escritura porque no hay suficiente sitio, el proceso escritor se bloquea hasta que exista disponibilidad de espacio Si se intenta escribir en una tubería que no posee ningún descriptor de lectura asociado (tanto del proceso escritor como de cualquier otro proceso), el proceso que intenta escribir recibe la señal SIGPIPE. Este mecanismo facilita la eliminación automática de una cadena de procesos comunicados por tuberías cuando se aborta inesperadamente un componente de la cadena EUI-SG/INFOR.UVA.ES ASO_PR4_49 9 Tuberías: Ejemplo #include <stdio.h> #include <stdlib.h> #include <fcntl.h> #include <sys/wait.h> int main (int argc, char *argv[]) { int i, fd[], pid[]; /* Comprobación argumentos */ if (argc < ) { fprintf(stderr, Uso: %s filtro\n, argv[]); /* Creación recurso tubería, por el padre */ pipe(fd); /* er hijo, ejecuta ls */ if ( (pid[]= fork()) == ) { dup(fd[], STDOUT_FILENO); close(fd[]); close(fd[]); execlp( /bin/ls, ls, NULL); perror( Hijo: Fallo al hacer exec ); /* do hijo, ejecuta filtro */ if ( (pid[]=fork()) == ) { dup(fd[], STDIN_FILENO); close(fd[]); close(fd[]); execvp(argv[], &argv[]); perror( Hijo: Fallo al hacer exec ); /* El padre no interviene */ close(fd[]); close(fd[]); for (i=; i<; i++) wait(pid[i], NULL); exit(); Hijo ls fd[] -> STDOUT fd[] Padre fd[] fd[] -> STDIN Hijo filtro EUI-SG/INFOR.UVA.ES ASO_PR4_49 5
6 Tuberías: Ejemplo #include <stdio.h> #include <stdlib.h> #include <fcntl.h> #include <errno.h> #include <string.h> #include <sys/wait.h> #define TAM 56 int main (int argc, char *argv[]) { int fd[], status; char buffer[tam]; unsigned lon; if (argc!= ) { fprintf(stderr, Uso: %s\n,argv[]); /* Creación recurso tubería */ pipe(fd); switch (fork()) { case : fprintf(stderr, Error al hacer fork ); break; case : /* Código del hijo */ dup(fd[], STDOUT_FILENO); close(fd[]); close(fd[]); fprintf(stderr, Hijo[%ld] va a escribir en la tuberia\n,(long)getpid()); sprintf(buffer, MENSAJE ESCRITO POR EL HIJO [%ld], (long)getpid()); lon=strlen(buffer)+; if ( write(, buffer, lon)!= lon ) { fprintf(stderr, Fallo al escribir el hijo\n ); break; default:/* Código del padre */ dup(fd[], STDIN_FILENO); close(fd[]); close(fd[]); fprintf(stderr, Padre[%ld] va a leer de la tuberia\n,(long)getpid()); while ( (wait(&status)==-) && (errno==eintr) ); if ( read(, buffer, TAM) <= ) { fprintf(stderr, Fallo al leer el padre\n ); printf("proceso PADRE (mensaje leido): %s\n", buffer); exit(); EUI-SG/INFOR.UVA.ES ASO_PR4_49 Tuberías: mkfifo mkfifo: creación de una tubería con nombre o fifo #include <sys/stat.h> int mkfifo (char *ruta, mode_t modo) Descripción Crea un fichero especial de tipo fifo (o tubería con nombre) El nombre (por ejemplo, /tmp/fifo_ida) se especifica en el argumento ruta, mientras que el parámetro modo establece la forma de creación de la tubería Las fifos, a diferencia de las tuberías sin nombre, persisten aunque todos los procesos los hayan cerrado (se guardan en un volumen de disco) Para acceder a una fifo, todos los procesos deben tener los permisos adecuados Valores de retorno si funciona con éxito - en caso de error (no se tiene permiso de acceso, la fifo ya existe, etc.) EUI-SG/INFOR.UVA.ES ASO_PR4_49 6
7 Tuberías: Ejemplo #include <stdio.h> #include <stdlib.h> #include <fcntl.h> #include <errno.h> #include <string.h> #include <sys/wait.h> #include <sys/stat.h> #define TAM 56 int main(int argc, char *argv[]) { mode_t fifo_perm = S_IRUSR S_IWUSR; int fd, status; char buffer[tam]; unsigned lon; if (argc!= ) { fprintf(stderr, Uso: %s nombre_fifo\n, argv[]); if ( (mkfifo(argv[], fifo_perm) == -) && (errno!= EEXIST) ) { fprintf(stderr, No se puede crear la fifo: %s\n, argv[]); EUI-SG/INFOR.UVA.ES ASO_PR4_49 3 Tuberías: Ejemplo switch ( fork() ) { case : /* Error al hacer fork */ fprintf(stderr, Error al hacer fork\n ); break; case : /* Código del proceso hijo */ fprintf(stderr, Hijo [%ld] va a abrir la fifo %s\n, (long)getpid(), argv[]); if ( (fd=open(argv[], O_WRONLY)) == -) { fprintf(stderr, El hijo no puede abrir la fifo %s\n, argv[]); sprintf(buffer, MENSAJE ESCRITO POR EL HIJO [%ld]\n, (long) getpid()); lon= strlen(buffer)+; if ( write(fd, buffer, lon)!= lon ) { fprintf(stderr, Error al escribir en la fifo el hijo\n ); fprintf(stderr, El hijo [%ld] termina\n, (long) getpid()); break; EUI-SG/INFOR.UVA.ES ASO_PR4_49 4 7
8 Tuberías: Ejemplo default: /* Código del proceso padre */ fprintf(stderr, Padre [%d] va a abrir la fifo %s\n, (long)getpid(), argv[]); if ( (fd=open(argv[], O_RDONLY O_NONBLOCK)) == -) { fprintf(stderr, El padre no puede abrir la fifo %s\n, argv[]); fprintf(stderr, Padre esperando para leer de la fifo... %s\n, argv[]); while ( (wait(&status)==-) && (errno == EINTR) ); if ( read(fd, buffer, TAM) <= ) { fprintf(stderr, El padre no puede leer de la fifo\n ); fprintf(stderr, Mensaje leído por el padre: %s\n, buffer); exit(); EUI-SG/INFOR.UVA.ES ASO_PR4_49 5 8
Introducción y Gestión de Procesos
Introducción y Gestión de Procesos Sistemas Operativos (prácticas) E.U. Informática en Segovia Universidad de Valladolid Llamadas al sistema Concepto Constituye el juego de instrucciones del sistema operativo
Práctica 1: Intérprete de mandatos. Sistemas Operativos Área de Arquitectura y Tecnología de Computadores
Práctica 1: Intérprete de mandatos Introducción Desarrollo de un intérprete de mandatos (minishell) en UNIX/Linux en lenguaje C. Debe permitir: Ejecución de mandatos simples ls, cp, mv, rm, etc. Ejecución
Sistemas Operativos sesión 12: tuberías
Sistemas Operativos sesión : tuberías Grado en Ingeniería Informática Universidad Carlos III de Madrid Agenda Linux Comunicación con tuberías Ejercicios Agenda Linux Comunicación con tuberías Ejercicios
Sistemas Operativos: Programación de Sistemas. Curso Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J.
Tema 5 : Comunicación entre Procesos mediante Tuberías Sistemas Operativos: Programación de Sistemas Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J. Santana Pérez Curso 2006-07 Introducción Algunas
Biblioteca de sistema
* Para la realización del presente examen se aconseja un tiempo de 2 horas. Teoría 1. Explique en detalle cómo se pasa una llamada al sistema operativo. El sistema operativo se activa cuando debe responder
Funciones POSIX (I): Introducción
Funciones POSIX I Funciones POSIX I Llamadas al Llamadas al Sistema Sistema Gestión Básica Gestión Básica de Procesos de Procesos Procesos Procesos fork fork Señales Señales getpid getpid Memoria Memoria
Boletín 4- Procesos. Departamento de Lenguajes y Sistemas Informáticos
Boletín 4- Procesos Departamento de Lenguajes y Sistemas Indice 1. Introducción n (Procesos) 2. Identificadores de usuarios y procesos 3. La llamada fork() 4. Las llamadas wait() y exit() 5. La llamada
Introducción y Gestión de Procesos
Introducción y Gestión de Procesos Sistemas Operativos (prácticas) E.U. Informática en Segovia Universidad de Valladolid Llamadas al sistema Concepto Constituye el juego de instrucciones del sistema operativo
Prácticas de Sistemas operativos
Prácticas de Sistemas operativos David Arroyo Guardeño Escuela Politécnica Superior de la Universidad Autónoma de Madrid Tercera Semana: Comunicación entre procesos con Tuberías 1 Entregas 2 Introducción
Introducción a Sistemas Operativos: Comunicación entre Procesos
Introducción a Sistemas Operativos: Comunicación entre Procesos Clips xxx Fr ancisco J Ballesteros 1. Pipefroms Otra función de utilidad realiza el trabajo inverso, permite leer la salida de un comando
Examen Final de SO Grau
Preguntas cortas 1. (0,5 puntos) Asumiendo que ninguna llamada devuelve error, representa las entradas nuevas de la TFA que aparecerán tras la ejecución del siguiente código: fork(); mknod( pipe, S_IFIFO
Examen Final de Teoría. Grupo de teoría:
Preguntas Cortas (2 puntos) 1. Respecto a la optimización de gestión de memoria CoW, explica brevemente: a. Qué soporte hardware utiliza el sistema para poder implementarla? b. Qué permisos aplica el sistema
Introducción a Sistemas Operativos: Ficheros
Introducción a Sistemas Operativos: Ficheros Clips Fr ancisco J Ballesteros 1. Entrada/Salida Es importante saber cómo utilizar ficheros. En UNIX, es aún más importante dado que gran parte de los recursos,
Ejercicios sobre tuberías
Boletín 3. Ejercicios sobre tuberías July 14, 016 1. Indica de manera justificada si las siguientes afirmaciones sobre la utilización de tuberías como mecanismo de sincronización entre dos procesos son
MC Hilda Castillo Zacatelco PROCESOS
MC Hilda Castillo Zacatelco [email protected] PROCESOS Definición y atributos Un proceso es la instancia de un programa en ejecución. Desde el punto de vista del SO, un proceso es la entidad más pequeña
Sistemas operativos: una visión aplicada. Capítulo 5 Comunicación y sincronización de procesos
Sistemas operativos: una visión aplicada Capítulo 5 Comunicación y sincronización de procesos Sistema multiprogramado con un una CPU Proceso A Proceso B Proceso C Tiempo Sistemas operativos: una visión
Prácticas de Sistemas Operativos
Prácticas de Sistemas Operativos Toñi Reina, David Ruiz, Juan Antonio Álvarez, Antonio Tallón, Javier Gutiérrez, Pablo Neira, Paco Silveira, Sergio Segura y José Ángel Bernal Boletín 4: Procesos Curso
COMUNICACIÓN ENTRE PROCESOS
COMUNICACIÓN ENTRE PROCESOS () 1 Inter-Process Communication () Conjunto de técnicas para el intercambio de datos entre múltiples threads de diferentes procesos también permite la sincronización de procesos
El tiempo de búsqueda es de 3 + 0,04 x ms, siendo x el número de cilindros a recorrer.
1 SISTEMA DE FICHEROS Problema 1.1 La cola de acceso a un disco tiene las siguientes peticiones (solamente indicaremos el cilindro afectado). 10, 200, 75, 32, 450, 123. El tiempo de búsqueda es de 3 +
Taller de Sistemas Operativos Introducción
Taller de Sistemas Operativos Introducción Escuela de Ingeniería Civil en Informática Universidad de Valparaíso, Chile http:// Conceptos generales 2 Proceso stdin Descriptor Flujo (FILE*) 0 stdout 1 Proceso
Llamadas al Sistema para la Creación de Procesos
Llamadas al Sistema para la Creación de Procesos Transparencias realizadas por M. Curiel. Se utiliza material ya publicado en la WEB y elaborado por todos los prof. que hemos dado el curso. Llamada al
UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA FACULTAD DE CIENCIAS PRACTICA DE PROCESOS HERRAMIENTAS
UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA FACULTAD DE CIENCIAS PRACTICA DE PROCESOS HERRAMIENTAS Caso 1: 1.- Necesitamos un cd o Dvd para grabar alguna de las versiones de livecd de Linux. 2.- Liga de una
Procesos e hilos: el downloader
Departamento de Automática 1 / 8 Descarga de archivos con procesos en paralelo Objetivo principal: descarga de un archivo de gran tamaño de forma eficiente desde Internet Otros objetivos: Utilizar la biblioteca
Resuelva con una orden UNIX las siguientes tareas:
Examen de Laboratorio de Sistemas Operativos. Convocatoria Diciembre. Curso 2008/09. Tercero Ingeniería Informática Nombre: Apellidos: 25 de Noviembre de 2009 [Cuestión 1.] Resuelva con una orden UNIX
Concurrencia en UNIX / LINUX. Introducción: Procesos e Hilos POSIX
Concurrencia en UNIX / LINUX Introducción: Procesos e Hilos POSIX El estándar POSIX POSIX: Interfaz de sistemas operativos portables. Basado en UNIX A pesar de que UNIX es ya de por sí estándar, había
ASIGNATURA: SISTEMAS INFORMÁTICOS INDUSTRIALES. CURSO 4º GRUPO Octubre 2015
2. Problema de Análisis y Diseño Orientado a Objetos (10 puntos - 20 minutos) Para el código de test adjunto, se pide. 1. Diagrama de clases de diseño (2.5 puntos). 2. Implementación en C++ de la solución
Un ejemplo: UNIX PROCESOS UNIX
PROCESOS UNIX Un ejemplo: UNIX Cada proceso sólo puede tener un flujo: el concepto proceso engloba todo Dos llamadas implicadas en la creación de procesos crear proceso cargar programa La relación de procesos
Funciones POSIX III Funciones POSIX III. No Nombrados Nombrados. sem_open sem_open. sem_close sem_close. sem_unlink sem_unlink
Funciones POSIX III Funciones POSIX III Sincronización Sincronización Procesos Procesos Semáforos Semáforos (sem_t) (sem_t) Sincronización Sincronización Threads Threads Mutex Mutex (pthread_mutex_t) (pthread_mutex_t)
PRÁCTICA 1: PROCESOS Y COMUNICACIÓN ENTRE PROCESOS
PRÁCTICA 1: PROCESOS Y COMUNICACIÓN ENTRE PROCESOS v1.3.0 Rodrigo García Carmona Antes de empezar la práctica, copia los ficheros que se encuentran en la carpeta SOS-Practica_1-Materiales al directorio
Prueba de Laboratorio Modelo B01 Semáforos y Memoria Compartida
Prueba de Laboratorio APELLIDOS: NOMBRE: GRUPO DE LABORATORIO: Indicaciones: No se permiten libros, apuntes ni teléfonos móviles. Cuando tenga una solución al ejercicio muéstrela al profesor (compilación
Sistemas Operativos: Programación de Sistemas. Curso 2006-07. Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J.
Tema 2 : entorno programación linux Sistemas Operativos: Programación de Sistemas Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J. Santana Pérez Curso 2006-07 Francisco J. Santana 1 Programación
- Bajo que condiciones el algoritmo de planifiación de procesos FIFO (FCFS) resultaría en el tiempo de respuesta promedio más pequeño?
Sistemas Operativos. Grado Ingeniería Informática. TGR-2.1 Procesos. Noviembre 2014 Problemas para hacer en clase FIFO cpu C A 1. Dos procesos A y B tienen una ráfaga de CPU de 50 ms y un proceso C tiene
Segundo control de teoría
JUSTIFICA TODAS LAS RESPUESTAS. UNA RESPUESTA SIN JUSTIFICAR SE CONSIDERA INVALIDA EJERCICIO 1: PREGUNTAS CORTAS (2 PUNTOS,,5 cada pregunta) 1) Explica brevemente que efecto tiene, en las tablas de gestión
TP II Procesos Pesados
TP II Procesos Pesados Objetivo: Desarrollar una serie de funciones que encapsulen cierta funcionalidad vinculada con la gestión de procesos y consola para luego reutilizarlas en la construcción de un
PROBLEMAS DE SISTEMAS OPERATIVOS DE 2º
Sistemas Operativos D.A.T.S.I. Facultad de Informática Universidad Politécnica de Madrid PROBLEMAS DE SISTEMAS OPERATIVOS DE 2º 5ª ed. Madrid, noviembre de 24 Pedro de Miguel Anasagasti Victor Robles Forcada
Prácticas de Sistemas operativos
Prácticas de Sistemas operativos David Arroyo Guardeño Escuela Politécnica Superior de la Universidad Autónoma de Madrid Segunda Semana: Procesos, Procesos Padre y Procesos Hijo, familia exec() 1 Entregas
Sistemas Operativos Grado Ingeniera Informática UDC. Enero 2016 Sólo puede usar lápiz, bolígrafo y calculadora. Tiempo máximo para todo el examen: 3h
Sistemas Operativos Grado Ingeniera Informática UDC. Enero 2016 Sólo puede usar lápiz, bolígrafo y calculadora. Tiempo máximo para todo el examen: 3h Parte Sistema Ficheros (Sen deben contestar correctamente
TGR Entrada/salida (Sistemas Operativos) int main(){ int fd; fd= open("salida.txt",o_wronly O_CREAT, 0664);
1. Sea el siguiente código TGR Entrada/salida (Sistemas Operativos) #include "includes.h" int realiza_trabajo(int fd, char *msg){ write(fd,msg,strlen(msg)); int realiza_trabajo_1(int fd){ realiza_trabajo(fd,"realizando
Teoría. Procesos. Escuela Politécnica Superior Universidad Autónoma de Madrid 1
Grupos Realización Entrega/Evaluación Lunes 22 de Febrero, 1, 8, 15 de Marzo 22 de Marzo Martes 23 de Febrero, 2, 9 y 16 de Marzo 23 de Marzo Miércoles 24 de Febrero, 3, 10 y 17 de Marzo 24 de Marzo Viernes
Ejercicios de la sesión 4 de C resueltos
Ejercicios de la sesión 4 de C resueltos 1. Usando el procedimiento del ejercicio 2 del seminario anterior, escribe un programa que multiplique dos matrices A y B leídas de ficheros, la primera de tamaño
Tema 3. Estructuras de control
Tema 3. Estructuras de control 3.1. Secuencial 3.2. Selección 3.3. Repetición 2 Objetivos Objetivos del tema: Conocer y saber la utilidad de las tres estructuras de control (secuencial, alternativa y repetitiva)
Sistemas Operativos (prácticas) E.U. Informática en Segovia Universidad de Valladolid
Manejo de Señales Sistemas Operativos (prácticas) E.U. Informática en Segovia Universidad de Valladolid Señales Concepto Evento que interrumpe la ejecución normal de un proceso La acción por defecto suele
TEMA 7. Programación en UNIX. Contenido
TEMA 7 Contenido Programación en UNIX 7.1. Introducción 7.2. Gestión de Errores 7.3. Gestión de Ficheros Regulares 7.3.1. Apertura de un fichero: open() 7.3.2. Lectura de datos de un fichero: read() 7.3.3.
Práctica 4: Proyectar un fichero en memoria Diseño de Sistemas Operativos U.L.P.G.C.
Práctica 4: Proyectar un fichero en memoria I. Introducción...2 II. Explicación de las llamadas de mapeo en memoria...3 Mmap y munmap... 3 NOMBRE... 3 SINOPSIS... 3 DESCRIPCIÓN... 3 VALOR DEVUELTO... 4
Tema 6. Gestión de ficheros en C. Programación en Lenguajes Estructurados
Tema 6. Gestión de ficheros en C Programación en Lenguajes Estructurados Tema 6. Gestión de ficheros en C 6.1. Introducción a los ficheros En la mayor parte de los programas se quiere almacenar información
1. Presentación del lenguaje C Creado en 1972 por D. Ritchie Lenguaje de propósito general Portátil o transportable (generalmente) Inicialmente de niv
Introducción al lenguaje C Informática Belarmino Pulido Junquera Índice 1. Presentación del lenguaje C 2. Estructura de un programa en C 3. Instrucciones del pre-procesador procesador 4. Tipos de datos
Llamadas al sistema de ficheros
Universidad Carlos III de Madrid Departamento de Informática Área de Arquitectura y Tecnología de Computadores Grado en Ingeniera Informática SISTEMAS OPERATIVOS Práctica 3. Llamadas al sistema de ficheros
Autor: Ing. Nahuel González INTRODUCCIÓN A C. Clase 1
INTRODUCCIÓN A C Clase 1 Introducción al lenguaje C 1967 1970 1971 1972 1989 BCPL Lenguaje B Pascal 1era versión de C ANSI C Introducción al lenguaje C Librería estandar de C: contiene módulos o funciones
Clases 04 y 05: Repaso de programación de sistemas basados en UNIX
Clases 04 y 05: Repaso de programación de sistemas basados en UNIX Prof. Edgardo Adrián Franco Martínez http://computacion.cs.cinvestav.mx/~efranco [email protected] Estructuras de datos (Prof.
Sistemas Operativos Práctica 3
Sistemas Operativos Práctica 3 Ing. Andrés Bustamante [email protected] Ingeniería de Sistemas Facultad de Ingeniería Universidad de la Amazonia 2009 1. Objetivo El objetivo de la práctica es que
Ficheros. Archivo, o fichero: Características:
Ficheros Archivo, o fichero: Es una estructura de datos en memoria externa, cuyo tiempo de vida no está ligado a la ejecución del programa que lo crea o lo maneja. Un fichero existe desde que un programa
Sistemas Operativos I Manual de prácticas
Sistemas Operativos I Manual de prácticas Grupo de Sistemas Operativos (DSIC/DISCA) Práctica 3: Procesos POSIX ANTES DE EMPEZAR...... 2 PRÁCTICA 3: PROCESOS POSIX... 2 CREACIÓN DE PROCESOS MEDIANTE FORK...
Llamadas al Sistema en UNIX.
Gestión de ficheros: creat, open, read, write, close. Un fichero en UNIX: Es una secuencia de Byte sin formato, se accede a ellos de forma directa. La interpretación del contenido depende de las variables
