Arquitectura de Computadores. Práctica 3: Mecanismos de comunicación entre procesos

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Arquitectura de Computadores. Práctica 3: Mecanismos de comunicación entre procesos"

Transcripción

1 - 1 - Arquitectura de Computadores Práctica 3: Mecanismos de comunicación entre procesos Miguel Martínez de Falcón Pérez Mikel Anthony Rodríguez Manderson

2 - 2-1) TUBERÍAS SIN NOMBRE a) Para comprobar su funcionamiento, ejecutamos el programa y observamos como introduciendo la cadena por teclado, el padre la pasaba al pipe. Tras esto el hijo la cogía del pipe y mostraba la cadena de caracteres por pantalla. Es importante observar como el pipe, al ser común para ambos procesos (padre e hijo) se crea antes de crear el proceso hijo, de forma que sea una variable común a ambos. b) #define MAXLINE 4096 #define MSG0 "PADRE: Introduzca una cadena de caracteres\n" #define MSG1 "PADRE: Enviada cadena\n" #define MSG2 "\thijo: Informacion recibida\n" #define MSG3 "PADRE: Terminado...\n" int main() int tubo[2],n; pid_t mipid; char cadena[maxline]; char line[maxline]; // Creamos el pipe tubo para comunicar el padre y el hijo if(pipe(tubo)<0) perror("pipe()"); // Creamos el proceso HIJO mipid=fork(); if(mipid<0) perror("fork()"); exit(-2); // Proceso PADRE else if(mipid) printf("%s",msg0); // Lee la cadena de caracteres introducida por teclado y la almacena en cadena n=read(stdin_fileno,cadena,maxline); // Cierra el descriptor para la lectura de datos del pipe close(tubo[0]); // Escribe la cadena de caracteres en el pipe write(tubo[1],cadena,n); printf("%s",msg1); // Cierra el descriptor para la escritura de datos en el pipe close(tubo[1]); wait(null); printf("%s",msg3); // Proceso HIJO else

3 - 3 - // Cierra el descriptor para la escritura de datos en el pipe close(tubo[1]); // Lee la cadena de caracteres del pipe y la almacena en line read(tubo[0],line,maxline); printf("%s",msg2); sleep(1); // Muestra la cadena de caracteres por pantalla printf("%s",line); // Cierra el descriptor para la lectura de datos del pipe close(tubo[0]);

4 - 4 - c) #define MAXLINE 4096 #define MSG0 "PADRE: Introduzca una cadena de caracteres\n" #define MSG1 "PADRE: Enviada cadena\n" #define MSG2 "\thijo: Informacion recibida\n" #define MSG3 "PADRE: Terminado...\n" int main() // Definimos las variables de nuestro programa int tubo1[2],tubo2[2],n; pid_t mipid; char cadena[maxline]; char line[maxline]; // Creamos los pipes tubo1 y tubo2 para comunicar el padre y el hijo if(pipe(tubo1)<0) perror("pipe()"); if(pipe(tubo2)<0) perror("pipe()"); // Creamos el proceso hijo mipid=fork(); if(mipid<0) perror("fork()"); exit(-2); else if(mipid) // Proceso padre printf("%s",msg0); // Lee la cadena de caracteres introducida por teclado y la almacena en cadena n=read(stdin_fileno,cadena,maxline); // Cierra el descriptor para la lectura de datos del pipe tubo1 close(tubo1[0]); // Cierra el descriptor para la escritura de datos del pipe tubo2 close(tubo2[1]); // Escribe la cadena de caracteres en el pipe tubo1 write(tubo1[1],cadena,n); printf("%s",msg1); wait(null); // Lee la cadena de caracteres que le envia el hijo por tubo2 y la muestra por pantalla n=read(tubo2[0],cadena,(strlen(msg2)-1)*sizeof(char)); printf("%s\n",cadena); // Cierra el descriptor para la escritura de datos del pipe tubo1

5 close(tubo1[1]); // Cierra el descriptor para la lectura de datos del pipe tubo2 close(tubo2[0]); printf("%s",msg3); else // Proceso hijo // Cierra el descriptor para la escritura de datos del pipe tubo1 close(tubo1[1]); // Cierra el descriptor para la lectura de datos del pipe tubo2 close(tubo2[0]); // Lee la cadena de caracteres del pipe tubo1 y la almacena en line read(tubo1[0],line,maxline); // Escribe la cadena MSG2 en el pipe tubo2 write(tubo2[1],msg2,strlen(msg2)*sizeof(char)); sleep(1); // Muestra la cadena de caracteres por pantalla printf("%s",line); // Cierra el descriptor para la lectura de datos del pipe tubo1 close(tubo1[0]); // Cierra el descriptor para la escritura de datos del pipe tubo2 close(tubo2[1]);

6 - 6-2) TUBERÍAS CON NOMBRE a) int main(int argc,char *argv[]) int p; // Comprobamos que la sintaxis sea correcta if(argc!=2) printf("modo de empleo: fifos <nombre_tuberia>\n"); // Creamos la tubería con los permisos adecuados if((p=mkfifo(argv[1],0644))==-1) perror("mkfifo()"); exit; El programa genera un pipe cuyo nombre será el parámetro pasado al programa. Se puede ver como los permisos son de lectura y escritura para el creador mientras que el resto de usuarios solo tienen permisos de lectura. Ejecutando el programa, podemos ver el pipe generado con un ls l viendo como los permisos son los adecuados. b) Hemos comprobado que la tubería tiene los permisos adecuados, al volver a crear una tubería con el mismo nombre nos sale un error que dice: mkfifo(): File Exists

Ejercicios sobre tuberías

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

Más detalles

Sistemas Operativos: Programación de Sistemas. Curso Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J.

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

Más detalles

Práctica 1: Intérprete de mandatos. Sistemas Operativos Área de Arquitectura y Tecnología de Computadores

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

Más detalles

Examen Final de Teoría. Grupo de teoría:

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

Más detalles

Ficheros conceptos. Manejo de ficheros en C. Apertura del fichero Función fopen: nombre del fichero. Apertura del fichero Función fopen

Ficheros conceptos. Manejo de ficheros en C. Apertura del fichero Función fopen: nombre del fichero. Apertura del fichero Función fopen Fundamentos de Informática. Dpto. de ATC - Página 1 de 8 conceptos Manejo de ficheros en C Contienen los datos que se almacenan en dispositivos de almacenamiento masivo: disquetes, discos duros, DROM,

Más detalles

Escuela Politécnica Superior de Elche

Escuela Politécnica Superior de Elche EXAMEN DE SISTEMAS INFORMÁTICOS INDUSTRIALES ((SOLUCIÓN) (TEORÍA) La duración del examen es de 2 horas. JUNIO 2016 1. Indicar si las siguientes afirmaciones son verdaderas o falsas: (a) En C++ para cada

Más detalles

Sistemas Operativos Práctica 3

Sistemas Operativos Práctica 3 Sistemas Operativos Práctica 3 Ing. Andrés Bustamante afbustamanteg@unal.edu.co Ingeniería de Sistemas Facultad de Ingeniería Universidad de la Amazonia 2009 1. Objetivo El objetivo de la práctica es que

Más detalles

Funciones POSIX (I): Introducción

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

Más detalles

Sistemas Operativos. Grado Ingeniería Informática. TGR Procesos.

Sistemas Operativos. Grado Ingeniería Informática. TGR Procesos. Sistemas Operativos. Grado Ingeniería Informática. TGR Procesos. 1.-Considerar los siguientes procesos con los tiempos de llegadas, prioridades y ráfagas de cpu. Proceso Ráfaga de CPU Prioridad Tiempo

Más detalles

En este artículo vamos a conocer los tipos de datos que podemos manejar programando en C.

En este artículo vamos a conocer los tipos de datos que podemos manejar programando en C. El primer objetivo de un programa informático es el manejo de datos. Un dato es toda aquella información que se puede tratar en un programa informático. En este artículo vamos a conocer los tipos de datos

Más detalles

Lenguaje C Entrada y Salida de Datos. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia

Lenguaje C Entrada y Salida de Datos. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Lenguaje C Entrada y Salida de Datos Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia E/S por consola Se refiere a las operaciones que ocurren

Más detalles

sockets Flujo (SOCK_STREAM) Comunicación bidireccional Confiable (entrega garantizada) Información ordenada en el destino Datagrama (SOCK_DGRAM)

sockets Flujo (SOCK_STREAM) Comunicación bidireccional Confiable (entrega garantizada) Información ordenada en el destino Datagrama (SOCK_DGRAM) s s Comunicación punto-a-punto entre procesos Los s son los extremos de la comunicación Diferentes dominios UNIX: Entre procesos de un mismo equipo Internet: Entre procesos de diferentes equipos (TCP/IP)

Más detalles

Esquema de un programa en C: bloques básicos

Esquema de un programa en C: bloques básicos Esquema de un programa en C: bloques básicos // Incluimos los ficheros de cabecera que necesitemos. // Esto es un comentario #include #include // Si queremos definir alguna constante,

Más detalles

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 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

Más detalles

Introducción a Sistemas Operativos: Ficheros

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,

Más detalles

Archivos & Cadenas CURSO DE PROGRAMACIÓN EN C. Centro de Investigación y de Estudios Avanzados del IPN. CINVESTAV - Tamaulipas.

Archivos & Cadenas CURSO DE PROGRAMACIÓN EN C. Centro de Investigación y de Estudios Avanzados del IPN. CINVESTAV - Tamaulipas. Archivos & Cadenas CURSO DE PROGRAMACIÓN EN C Centro de Investigación y de Estudios Avanzados del IPN. CINVESTAV - Tamaulipas. Febrero 2016 [Curso de programación en C] - Archivos & Cadenas 1/17 Archivos

Más detalles

Informática PRÀCTICA 9 Curs Práctica Nº 9: Rango y precisión de representación de números en el ordenador.

Informática PRÀCTICA 9 Curs Práctica Nº 9: Rango y precisión de representación de números en el ordenador. Departamento de Práctica Nº 9: Rango y precisión de representación de números en el ordenador. Uso de punteros Objetivos de la práctica: - Entender la representación de números (enteros y reales) en el

Más detalles

Ingeniería Informática. Curso 3º. Sistemas Operativos Examen Final. TEORIA. 4 de Septiembre de 2009

Ingeniería Informática. Curso 3º. Sistemas Operativos Examen Final. TEORIA. 4 de Septiembre de 2009 Ingeniería Informática. Curso 3º. Sistemas Operativos Examen Final. TEORIA. 4 de Septiembre de 2009 1. [PROCESOS] a) Considerar el siguiente código: void main() { int j=10; pid_t pid; for (int i=0; i

Más detalles

Sistemas Operativos I Manual de prácticas

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...

Más detalles

Examen final de teoría QT

Examen final de teoría QT JUSTIFICA TODAS LAS RESPUESTAS. UNA RESPUESTA SIN JUSTIFICAR SE CONSIDERA INVALIDA Preguntas cortas (1,5 puntos) 1. Un hardware que ofrece cuatro modos de ejecución, uno de ellos de usuario y tres niveles

Más detalles

UNIVERSIDAD CENTRAL. Facultad de Ingeniería. Algoritmos y programación Grupo 1.4. Taller No.3

UNIVERSIDAD CENTRAL. Facultad de Ingeniería. Algoritmos y programación Grupo 1.4. Taller No.3 UNIVERSIDAD CENTRAL Facultad de Ingeniería Algoritmos y programación Grupo 1.4 Taller No.3 Ejecute los siguientes programas en el computador en lenguaje c. Haga que el programa termine sólo cuando el usuario

Más detalles

Si el fichero hashes existe, el script debe notificar el error y salir como corresponde. A continuación se muestra un ejemplo:

Si el fichero hashes existe, el script debe notificar el error y salir como corresponde. A continuación se muestra un ejemplo: Examen de Sistemas Operativos ITIS Fuenlabrada Junio 2009 Tiempo total: 3 horas. Problema: Llamadas al sistema (5 puntos) Escriba en C para Plan 9 un programa llamado catsha1 cuyo propósito es crear un

Más detalles

Introducción a GNU/Linux 20/08/2015

Introducción a GNU/Linux 20/08/2015 20/08/2015 Qué es un Sistema Operativo (SO)? SO: es el software que se ejecuta al iniciar la computadora y que posibilita el manejo de la misma. funciones básicas Provee interfaces al usuario. Gestiona

Más detalles

Prácticas de Sistemas Operativos

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

Más detalles

Programación 1 Tema 15. Trabajo con ficheros binarios

Programación 1 Tema 15. Trabajo con ficheros binarios Programación 1 Tema 15 Trabajo con ficheros binarios Índice Ficheros binarios Diferencia con ficheros de texto Herramientas de C++ para trabajar con ficheros binarios Problemas básicos con ficheros binarios

Más detalles

Programación. Ejercicios Tema 3. Elementos Básicos del Lenguaje C

Programación. Ejercicios Tema 3. Elementos Básicos del Lenguaje C Programación Ejercicios Tema 3 Autores: M. Paz Sesmero Lorente Paula de Toledo Heras Fco. Javier Ordoñez Morales Juan Gómez Romero Jose A. Iglesias Martínez Jose Luis Mira 1 SOLUCIONES Segunda sesión:

Más detalles

$0 Representa al parámetro cero o nombre del programa $1 Representa al parámetro uno $2 Representa al parámetro dos

$0 Representa al parámetro cero o nombre del programa $1 Representa al parámetro uno $2 Representa al parámetro dos PROGRAMACIÓN DE SHELL SCRIPTS EN LINUX El shell es un intérprete de órdenes, pero el shell no es solamente eso; los intérpretes de órdenes de Linux son auténticos lenguajes de programación. Como tales,

Más detalles

Procesos e Hilos en C

Procesos e Hilos en C Procesos e Hilos en C 6 de febrero de 2012 En esta sesión vamos a escribir programas en lenguaje C que utilicen hilos y procesos para comparar el rendimiento del sistema ante la gestión de unos y otros.

Más detalles

Sistemas Operativos: Programación de Sistemas. Curso 2006-07. Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J.

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

Más detalles

Arquitectura de Computadores: Exámenes y Controles

Arquitectura de Computadores: Exámenes y Controles 2º curso / 2º cuatr. Grado en Ing. Informática Doble Grado en Ing. Informática y Matemáticas Arquitectura de Computadores: Exámenes y Controles Examen de Prácticas AC 05/07/2013 resuelto Material elaborado

Más detalles

Figura 1. Entrada, salida y error estándar.

Figura 1. Entrada, salida y error estándar. Introducción 1 Como ya hemos visto, los comandos en GNU/Linux son programas ejecutables que actúan en forma separada uno de otro. El shell, además de ser el intérprete de comandos, nos permite expandir

Más detalles

#include <fstream.h> ifstream descriptor ( nombre.extensión ); ofstream descriptor ( nombre.extensión );

#include <fstream.h> ifstream descriptor ( nombre.extensión ); ofstream descriptor ( nombre.extensión ); ARCHIVOS EN C++ = FLUJOS DE ENTRADA/SALIDA. Ejemplo: cin y cout Tipos de ficheros: DE TEXTO y BINARIOS Biblioteca de gestión de ficheros (a incluir en los programas) #include Apertura de ficheros

Más detalles

Tema 4: Padre e hijo

Tema 4: Padre e hijo Tema 4: Padre e hijo Enrique Soriano Laboratorio de Sistemas, Grupo de Sistemas y Comunicaciones, URJC 11 de marzo de 2010 (cc) 2010 Grupo de Sistemas y Comunicaciones. Algunos derechos reservados. Este

Más detalles

Tema 4: Gestión de Procesos

Tema 4: Gestión de Procesos Tema 4: Gestión de Procesos SSOO - Curso 2005/06 E. Domínguez C. Villarrubia Departamento de Tecnologías y Sistemas de Información Escuela Superior de Informática Universidad de Castilla - La Mancha Marzo

Más detalles

Por ejemplo, para declarar un arreglo de enteros llamado a con diez elementos se hace de la siguiente forma:

Por ejemplo, para declarar un arreglo de enteros llamado a con diez elementos se hace de la siguiente forma: Arreglos unidimensionales y multidimensionales Los arreglos son una colección de variables del mismo tipo que se referencian utilizando un nombre común. Un arreglo consta de posiciones de memoria contigua.

Más detalles

Lenguaje C Funciones. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia

Lenguaje C Funciones. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Lenguaje C Funciones Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Qué es una función o rutina/subrutina? Se presenta como un subalgoritmo

Más detalles

Repaso sobre lectura de datos desde la línea de comandos, manejo de memoria dinámica e introducción a la librería GSL

Repaso sobre lectura de datos desde la línea de comandos, manejo de memoria dinámica e introducción a la librería GSL Clase No. 5: Repaso sobre lectura de datos desde la línea de comandos, manejo de memoria dinámica e introducción a la librería GSL MAT 251 Dr. Alonso Ramírez Manzanares CIMAT, A.C. e-mail: alram@ cimat.mx

Más detalles

Entrada/Salida de Archivos

Entrada/Salida de Archivos Entrada/Salida de Archivos Herman Schinca Clase 10 29 de Abril de 2011 Para qué? Guardar datos y no tener que volver a correr el programa (para esa entrada) Se necesita leer los datos con otro programa

Más detalles

Llamadas a Sistema para procesos

Llamadas a Sistema para procesos Llamadas a Sistema para procesos SistOp 2012 Nicolás Wolovick FaMAF, Universidad Nacional de Córdoba, Argentina 5 de Septiembre de 2012 El Cajón de Arena: los procesos Comandos simples con y sin background

Más detalles

Práctica 4 (2.5 ptos) PIPEs

Práctica 4 (2.5 ptos) PIPEs (2.5 ptos) 1. Objetivo En esta práctica se va a aprender el uso de técnicas de comunicación entre procesos basadas en pipes, así como métodos de atención a varios canales de comunicación distintos (select)

Más detalles

PRÁCTICAS DE LINUX. procesador. Objetivo Educacional. 2.1 Concepto de proceso. 2.2 Estados y transiciones de los procesos

PRÁCTICAS DE LINUX. procesador. Objetivo Educacional. 2.1 Concepto de proceso. 2.2 Estados y transiciones de los procesos PRÁCTICAS DE LINUX UNIDAD No. 2 Administración de procesos y del procesador Objetivo Educacional Comprender la administración de los procesos de los sistemas operativos. 2.1 Concepto de proceso 2.2 Estados

Más detalles

UNIDAD DIDACTICA 3 REDIRECCIONAMIENTO Y TUBERIAS

UNIDAD DIDACTICA 3 REDIRECCIONAMIENTO Y TUBERIAS UNIDAD DIDACTICA 3 REDIRECCIONAMIENTO Y TUBERIAS Eduard Lara 1 1. INTRODUCCIÓN En los sistemas GNU/LINUX y UNIX los dispositivos como los discos duros y sus particiones, el terminal de pantalla, el teclado,

Más detalles

SOLUCION EXAMEN junio 2006

SOLUCION EXAMEN junio 2006 SOLUCION EXAMEN junio 2006 1. Explique razonadamente si las siguientes afirmaciones son verdaderas o falsas: I) (1 p) En UNIX únicamente se distinguen dos tipos de procesos: los procesos de usuario y los

Más detalles

Ejercicios de la sesión 4 de C resueltos

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

Más detalles

GENERALIDADES DEL LENGUAJE C

GENERALIDADES DEL LENGUAJE C GENERALIDADES DEL LENGUAJE C La cadena con formato debe ir encerrada entre comillas dobles, no simples. El carácter de retorno de carro (\n) es obligatorio si se desea finalizar la impresión con un salto

Más detalles

1. Procesos vs Hilos 2. Cuando se ejecutan los procesos 3. Fork 4. Clone 5. Cómo se ejucuta el fork? 6. do_fork() 7. copy_process 8.

1. Procesos vs Hilos 2. Cuando se ejecutan los procesos 3. Fork 4. Clone 5. Cómo se ejucuta el fork? 6. do_fork() 7. copy_process 8. 1. Procesos vs Hilos 2. Cuando se ejecutan los procesos 3. Fork 4. Clone 5. Cómo se ejucuta el fork? 6. do_fork() 7. copy_process 8. Código Proceso Manejados por el sistema operativo Memoria independiente

Más detalles

Programación Estructurada

Programación Estructurada Programación Estructurada PROGRAMACIÓN ESTRUCTURADA 1 Sesión No. 11 Nombre: Manejo de archivos Contextualización En los lenguajes de programación estructurada como C, que carecían de una conexión a base

Más detalles

Fundamentos de Programción (I)

Fundamentos de Programción (I) Fundamentos de Programción (I) Algoritmos Entrada y Salida en C++ Fundamentos de programación Objetivo: Traducir nuestras ideas a un nuevo lenguaje de programación para resolver un problema. Problema Método

Más detalles

; hcomment.rc HTTP://AA.ES/INFO.HTML http://www.bb.com http://www.cc.org/a.html aa.es www.bb.com www.cc.org ;

; hcomment.rc HTTP://AA.ES/INFO.HTML http://www.bb.com http://www.cc.org/a.html aa.es www.bb.com www.cc.org ; Examen de Sistemas Operativos ITIS Fuenlabrada Mayo 2011 Problema: Llamadas al sistema (3 puntos) Implemente en C para Plan 9 un programa hlines que a partir de una URL que se le pasa como argumento, escriba

Más detalles

LENGUAJE. Tema 8 Ficheros

LENGUAJE. Tema 8 Ficheros LENGUAJE Tema 8 Ficheros FICHEROS EN C Los ficheros, en contraposición con las estructuras de datos vistas hasta ahora (variables simples, vectores, registros, etc.), son estructuras de datos almacenadas

Más detalles

Lenguaje C Estructuras y Variables definidas por el Usuario.

Lenguaje C Estructuras y Variables definidas por el Usuario. Lenguaje C Estructuras y Variables definidas por el Usuario. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Qué es una Estructura? En la

Más detalles

Programación 1 Tema 3. Información, datos, operaciones y expresiones

Programación 1 Tema 3. Información, datos, operaciones y expresiones Programación 1 Tema 3 Información, datos, operaciones y expresiones Índice Datos y tipos de datos Datos primitivos en C++ Expresiones e instrucción de asignación Datos y tipos de datos Problema información

Más detalles

Guía práctica de estudio 12: Lectura y escritura de datos

Guía práctica de estudio 12: Lectura y escritura de datos Guía práctica de estudio 12: Lectura y escritura de datos Elaborado por: M.C. Edgar E. García Cano Ing. Jorge A. Solano Gálvez Revisado por: Ing. Laura Sandoval Montaño Guía práctica de estudio 12: Lectura

Más detalles

INTRODUCCIÓN AL TIPO COMPUESTO CADENA CONTENIDOS

INTRODUCCIÓN AL TIPO COMPUESTO CADENA CONTENIDOS CONTENIDOS 1. Introducción a las cadenas 2. Definición 3. Declaración de cadenas 4. Inicialización de cadenas 5. Escritura y Lectura de datos tipo cadena 6. Funciones de manipulación de cadenas 7. Arrays

Más detalles

Operaciones de E/S en ANSI C

Operaciones de E/S en ANSI C Operaciones de E/S en ANSI C Las operaciones de entrada/salida estándar (realizadas habitualmente con printf y scanf) se realizan en realidad sobre ficheros que representan los dispositivos mediante los

Más detalles

Abelardo Pardo. Iria Estévez Ayres. Damaris Fuentes Lorenzo. Pablo Basanta Val. Pedro J. Muñoz Merino. Hugo A. Parada.

Abelardo Pardo. Iria Estévez Ayres. Damaris Fuentes Lorenzo. Pablo Basanta Val. Pedro J. Muñoz Merino. Hugo A. Parada. Arquitectura de sistemas Abelardo Pardo University of Sydney School of Electrical and Information Engineering NSW, 2006, Australia Autor principal del curso de 2009 a 2012 Iria Estévez Ayres Damaris Fuentes

Más detalles

Sistemas Operativos Primer Recuperatorio Parcial 1

Sistemas Operativos Primer Recuperatorio Parcial 1 1.- El siguiente código intenta representar la solución a la siguiente problemática: Un proceso crea un conjunto de procesos hijos al mismo nivel y le asigna a cada uno una tarea determinada, cada proceso

Más detalles

Documentación software de las utilidades DOMOUTILS

Documentación software de las utilidades DOMOUTILS Documentación software de las utilidades DOMOUTILS Félix Villanueva Francisco Moya Juan Carlos López 10 de mayo de 2001 Id: domobox-ref-utils.ltx,v

Más detalles

WHILE Y DO WHILE BREAK EN LENGUAJE C. BUCLES MIENTRAS. FORZAR SALIDA O TERMINACIÓN. EJEMPLO (CU00534F)

WHILE Y DO WHILE BREAK EN LENGUAJE C. BUCLES MIENTRAS. FORZAR SALIDA O TERMINACIÓN. EJEMPLO (CU00534F) Bucles en lenguaje C Bucle while y forzar detención con break APRENDERAPROGRAMARCOM WHILE Y DO WHILE BREAK EN LENGUAJE C BUCLES MIENTRAS FORZAR SALIDA O TERMINACIÓN EJEMPLO (CU00534F) Sección: Cursos Categoría:

Más detalles

Plataformas de Tiempo Real

Plataformas de Tiempo Real Master en Computación Plataformas de Tiempo Real POSIX Avanzado y Extensiones Tema 2. Gestión de Interrupciones en MaRTE OS Tema 3. Monitorización y control del tiempo de ejecución Tema 4. Planificación

Más detalles

FUNDAMENTOS DE INFORMÁTICA 1º Ingeniería Industrial

FUNDAMENTOS DE INFORMÁTICA 1º Ingeniería Industrial FUNDAMENTOS DE INFORMÁTICA 1º PRÁCTICA 1: Introducción al entorno de programación Dev-C++ CURSO 2005/2006 División de Ingeniería de Sistemas y Automática ISA-UMH R-00-FI001v1.0 1. Objetivos Los objetivos

Más detalles

Archivos en lenguaje C

Archivos en lenguaje C Archivos en lenguaje C Los archivos, a diferencia de las estructuras de datos conocidas hasta ahora (variables simples, arreglos) son estructuras de datos almacenadas de manera permanente (discos rígidos,

Más detalles

Nombre:... Fecha: / 12 /2010

Nombre:... Fecha: / 12 /2010 Sistemas Informáticos Grado en Matemáticas / Grado en Ingeniería Informática Curso 2010/2011 Nombre:... Fecha: / 12 /2010 Grupo: 1 2 3 4 PRÁCTICA 19 TRABAJANDO CON TUBERÍAS. REDIRECCIÓN DE LA ENTRADA,

Más detalles

Operadores aritméticos

Operadores aritméticos Bloque 3.2 Operadores aritméticos Suma : x + y Resta : x y Multiplicación : x * y División : x / y Módulo : x % y (resto de la división Si los operandos son enteros tipo del resultado

Más detalles

Estructuras de Datos Estáticas. Diseñar y programar en lenguaje C soluciones utilizando estructuras de datos estáticas

Estructuras de Datos Estáticas. Diseñar y programar en lenguaje C soluciones utilizando estructuras de datos estáticas Fundación Misión Sucre Colegio Universitario de Caracas Taller 2: Estructuras de Datos Estáticas Objetivo Diseñar y programar en lenguaje C soluciones utilizando estructuras de datos estáticas Contenido

Más detalles

Ejercicios Tema 6. Funciones

Ejercicios Tema 6. Funciones Ejercicios Tema 6. Funciones 1. Programa que calcule el cuadrado de todos los números comprendidos entre dos dados. Usar una función a la que se le pasa como parámetro un valor y retorna su cuadrado. 2.

Más detalles

LINUX - El intérprete de órdenes I

LINUX - El intérprete de órdenes I LINUX - El intérprete de órdenes I Objetivo: Se pretende introducir al alumno en el uso del intérprete de órdenes bash de LINUX. El intérprete de órdenes Como todos los sistemas operativos de tipo UNIX,

Más detalles

GENERALIDADES DEL LENGUAJE C. Nota: Los ejemplos y ejercicios especifican el tipo de archivo a enviar a

GENERALIDADES DEL LENGUAJE C. Nota: Los ejemplos y ejercicios especifican el tipo de archivo a enviar a GENERALIDADES DEL LENGUAJE C Nota: Los ejemplos y ejercicios especifican el tipo de archivo a enviar a algoritmosyprogramacin@gmail.com La cadena con formato debe ir encerrada entre comillas dobles, no

Más detalles

PROGRAMACION MODULAR FUNCIONES

PROGRAMACION MODULAR FUNCIONES PROGRAMACION MODULAR FUNCIONES Ventajas de la programación modular: Aumentar la legibilidad y comprensión del programa Reducir el tiempo de desarrollo, aprovechando módulos ya existentes Permitir la resolución

Más detalles

Objetivos. El alumno conocerá y aplicará el concepto de archivo para el almacenamiento y recuperación de datos persistentes.

Objetivos. El alumno conocerá y aplicará el concepto de archivo para el almacenamiento y recuperación de datos persistentes. Objetivos El alumno conocerá y aplicará el concepto de archivo para el almacenamiento y recuperación de datos persistentes. Al final de esta práctica el alumno podrá: 1. Utilizar las herramientas para

Más detalles

Laboratorio de Arquitectura de Redes. Entrada y salida estándar

Laboratorio de Arquitectura de Redes. Entrada y salida estándar Laboratorio de Arquitectura de Redes Entrada y salida estándar Entrada y salida estándar Entradas y salidas Salida con formato: printf() Entrada de datos con formato: scanf() El buffer de teclado Entrada

Más detalles

Prof. Dr. Paul Bustamante

Prof. Dr. Paul Bustamante Prácticas de C++ Practica Nº 10 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante INDICE 1.1 EJERCICIO 1: MI PRIMER FICHERO EN BINARIO... 1 1.2 EJERCICIO 2: LEYENDO MI PRIMER FICHERO

Más detalles

Escuela Politécnica Superior de Elche

Escuela Politécnica Superior de Elche EXAMEN DE SISTEMAS INFORMÁTICOS INDUSTRIALES ((SOLUCIÓN) (TEORÍA)jUJ jhshshs SEPTIEMBRE 2015 1. Indicar si las siguientes afirmaciones son verdaderas o falsas: (a) En C++, una clase derivada puede acceder

Más detalles

LA ESTRUCTURA DE DATOS PILA EN JAVA. CLASE STACK DEL API JAVA. EJEMPLO Y EJERCICIOS RESUELTOS. (CU00923C)

LA ESTRUCTURA DE DATOS PILA EN JAVA. CLASE STACK DEL API JAVA. EJEMPLO Y EJERCICIOS RESUELTOS. (CU00923C) APRENDERAPROGRAMAR.COM LA ESTRUCTURA DE DATOS PILA EN JAVA. CLASE STACK DEL API JAVA. EJEMPLO Y EJERCICIOS RESUELTOS. (CU00923C) Sección: Cursos Categoría: Lenguaje de programación Java nivel avanzado

Más detalles

Sistemas Operativos Practica 1: procesos y concurrencia.

Sistemas Operativos Practica 1: procesos y concurrencia. Sistemas Operativos Practica 1: procesos y concurrencia. Objetivos: Introducir al alumno a los conceptos de programa, concurrencia, paralelismo y proceso o tarea. Manejo del concepto de concurrencia haciendo

Más detalles

REPASO ARRAYS O ARREGLOS UNIDIMENSIONALES EN JAVA. EJEMPLOS DE CÓDIGO. (CU00903C)

REPASO ARRAYS O ARREGLOS UNIDIMENSIONALES EN JAVA. EJEMPLOS DE CÓDIGO. (CU00903C) APRENDERAPROGRAMAR.COM REPASO ARRAYS O ARREGLOS UNIDIMENSIONALES EN JAVA. EJEMPLOS DE CÓDIGO. (CU00903C) Sección: Cursos Categoría: Lenguaje de programación Java nivel avanzado I Fecha revisión: 2039 Resumen:

Más detalles

Fundamentos de la programación

Fundamentos de la programación Fundamentos de la programación 4A Grado en Ingeniería Informática Grado en Ingeniería del Software Grado en Ingeniería de Computadores Facultad de Informática Universidad Complutense Archivos como parámetros

Más detalles

Arquitecturas cliente/servidor

Arquitecturas cliente/servidor Arquitecturas cliente/servidor Creación de Sockets Cliente Servidor 1 Creación de Sockets Cliente/Servidor Sockets en TCP Concepto de Hilos Definición de DAEMON Sockets en UDP 2 THREADS 3 Qué es un thread?

Más detalles

Problemas de Redes de Computadores. Conjunto de problemas 1

Problemas de Redes de Computadores. Conjunto de problemas 1 Problemas de Redes de Computadores. Ingeniería Técnica en Informática de Gestión Conjunto de problemas 1 Pregunta 1.1: Si configuro mi servidor Web para que no acepte conexiones desde la dirección IP 130.206.1.1,

Más detalles

12 símbolos (13 si se incluye el espacio en blanco)

12 símbolos (13 si se incluye el espacio en blanco) Universidad Rafael Urdaneta Facultad de Ingeniería Escuela de Ingeniería de Computación Cátedra: Programación I Laboratorio - Semestre 2012-1 (Sección L y P ) Profesor: Jaime Soto Examen #1 - Fecha: 09-03-2012

Más detalles

Tipos de Diseño. Ing. Elizabeth Guerrero V.

Tipos de Diseño. Ing. Elizabeth Guerrero V. Tipos de Diseño Ing. Elizabeth Guerrero V. Tipos de Diseño Tipos de diseño de Procesos: Centralizado, Distribuido y Cooperativo Procesos Centralizados Un sistema centralizado está formado por un computador

Más detalles

ITACA La aplicación de Gestión de Identidad

ITACA La aplicación de Gestión de Identidad ITACA La aplicación de Gestión de Identidad Índice La aplicación de Gestión de Identidad 3 Cambiar mis datos personales 3 Cambiar Contraseña 6 Administración de Usuarios 7 Creación de Usuario 10 Añadir

Más detalles

ESCUELA POLITÉCNICA SUPERIOR PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF

ESCUELA POLITÉCNICA SUPERIOR PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF ESCUELA POLITÉCNICA SUPERIOR GRADO EN DISEÑO IND. INFORMÁTICA CURSO 2012-13 PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF HASTA AHORA... En prácticas anteriores se ha aprendido: La estructura principal de un

Más detalles

Práctica 2: Realización de una Alarma Temporizada Diseño de Sistemas Operativos U.L.P.G.C.

Práctica 2: Realización de una Alarma Temporizada Diseño de Sistemas Operativos U.L.P.G.C. Práctica 2: Realización de una Alarma Temporizada David Jesús Horat Flotats Índice I. Explicación del Programa desarrollado... 2 Programa Principal... 2 Variables Tarea que realiza Parámetros Movimiento

Más detalles

Tema 2. Administración de procesos

Tema 2. Administración de procesos Sistemas Operativos Tema 2. Administración de procesos Objetivo: El alumno identificará los tipos de procesos y sus estados. Describirá las diferentes técnicas de comunicación y sincronización de procesos

Más detalles

Cómo generar un blog

Cómo generar un blog Cómo generar un blog Patricia Martínez Falcón Erika Yazmin Avila Bonifacio Coordinación h@bitat puma Para crear un blog mediante Blogger es necesario contar con una contraseña en Google, además de la dirección

Más detalles

Examen Fundamentos de Programación 15 de enero de 2016 Curso 2015/16

Examen Fundamentos de Programación 15 de enero de 2016 Curso 2015/16 Problema 1: [1 punto] Examen Fundamentos de Programación 15 de enero de 2016 Curso 2015/16 Duración: 2,45 horas 10 PUNTOS Publicación de notas 26 de enero Revisión de examen 1 de febrero En el horario

Más detalles

Sistemas Operativos - IPC

Sistemas Operativos - IPC Sistemas Operativos - IPC Técnicas Digitales III Ing. Gustavo Nudelman 2012 Creación de procesos Un proceso puede crear a otro mediante la llamada al sistema fork() (no es la única manera de crear procesos)

Más detalles

EXAMEN DE METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN EUI-FI-UPV Septiembre DE 1999

EXAMEN DE METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN EUI-FI-UPV Septiembre DE 1999 EXAMEN DE METODOLOGÍA Y TECNOLOGÍA DE LA PROGRAMACIÓN EUI-FI-UPV Septiembre DE 1999 1. (1) Partiendo de la especificación interfaz-función de los siguientes módulos LeerDatosNIF = PROCEDIMIENTO() DEVUELVE

Más detalles

Entrada y salida de datos en C y C++

Entrada y salida de datos en C y C++ Universidad Nacional de Rosario Facultad de Ciencias Exactas, Ingeniería y Agrimensura Escuela de Ingeniería Electrónica Cátedra de Informática II Entrada y salida de datos en C y C++ Informática II Entrada/Salida

Más detalles

Primer control de teoría

Primer control de teoría JUSTIFICA TODAS LAS RESPUESTAS. UNA RESPUESTA SIN JUSTIFICAR SE CONSIDERA INVALIDA EJERCICIO 1: Preguntas cortas (2,5 puntos) 1. Un usuario busca en google el código de la librería de sistema de Linux

Más detalles

SISTEMAS PARALELOS Y DISTRIBUIDOS. 3º GIC. PRÁCTICA 9 Departamento de Arquitectura y Tecnología de Computadores Universidad de Sevilla

SISTEMAS PARALELOS Y DISTRIBUIDOS. 3º GIC. PRÁCTICA 9 Departamento de Arquitectura y Tecnología de Computadores Universidad de Sevilla SISTEMAS PARALELOS Y DISTRIBUIDOS. 3º GIC. PRÁCTICA 9 Departamento de Arquitectura y Tecnología de Computadores Universidad de Sevilla PROGRAMACIÓN DE COMPUTADORES DE MEMORIA DISTRIBUIDA USANDO MPI. PREPARACIÓN

Más detalles

Abelardo Pardo. Iria Estévez Ayres. Damaris Fuentes Lorenzo. Pablo Basanta Val. Pedro J. Muñoz Merino. Hugo A. Parada.

Abelardo Pardo. Iria Estévez Ayres. Damaris Fuentes Lorenzo. Pablo Basanta Val. Pedro J. Muñoz Merino. Hugo A. Parada. Arquitectura de sistemas Abelardo Pardo University of Sydney School of Electrical and Information Engineering NSW, 2006, Australia Autor principal del curso de 2009 a 2012 Iria Estévez Ayres Damaris Fuentes

Más detalles

Gestión de procesos en Linux

Gestión de procesos en Linux Gestión de procesos en Linux Un proceso en Linux es, en resumen, un programa en ejecución. Un proceso puede crear a su vez otros procesos. Al proceso que genera otro proceso se le llama proceso padre.

Más detalles

Programación Básica Apuntadores y Archivos en C

Programación Básica Apuntadores y Archivos en C Arturo Vega González a.vega@ugto.mx Division de Ciencias e Ingenierías Universidad de Guanajuato Campus León Sesión 10 Universidad de Guanajuato, DCI, Campus León 1 / 21 Universidad de Guanajuato, DCI,

Más detalles

Tema 3: Entrada/Salida de Ficheros

Tema 3: Entrada/Salida de Ficheros Tema 3: Objetivo: Almacenar datos en un dispositivo de almacenamiento secundario (p.e. disco duro). Pasos a seguir: 1 Abrir fichero 2 Escribir/leer del fichero 3 Cerrar fichero 1 Tema 3: Abrir el fichero:

Más detalles

Problema No.7. Elaborar un programa en C++ que lea una temperatura en grados Fahrenheit y muestre su equivalente en grados Celsius, Kelvin y Rankine.

Problema No.7. Elaborar un programa en C++ que lea una temperatura en grados Fahrenheit y muestre su equivalente en grados Celsius, Kelvin y Rankine. Problema No.7 Elaborar un programa en C++ que lea una temperatura en grados Fahrenheit y muestre su equivalente en grados Celsius, Kelvin y Rankine. real F, C, K, R!Programa que hace varios cálculos los

Más detalles

Práctica 3: Vectores y matrices en C.

Práctica 3: Vectores y matrices en C. Práctica 3: Vectores y matrices en C. Objetivos En esta práctica el objetivo principal es el de poner en práctica los principios básicos de algoritmia (bucles y bifurcaciones) empleando vectores y matrices.

Más detalles

Introducción a Sistemas Operativos: Ficheros

Introducción a Sistemas Operativos: Ficheros Introducción a Sistemas Operativos: Ficheros Clips xxx Fr ancisco J Ballesteros 1. Entrada/salida y buffering El interfaz proporcionado por open, close, read, write, etc. es suficiente la mayoría de las

Más detalles