Prácticas de Sistemas operativos

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

Download "Prácticas de Sistemas operativos"

Transcripción

1 Prácticas de Sistemas operativos David Arroyo Guardeño Escuela Politécnica Superior de la Universidad Autónoma de Madrid Quinta semana: señales

2 1 Cronograma semanal 2 Entregas 3 Introducción 4 Envío de señales 5 Tratamiento de señales Ejemplo 1 Ejemplo2 Ejemplo3 Ejemplo4 Ejemplo 5 Ejemplo 5 Ejemplo 6

3 Segunda práctica 1 Hilos: ejercicios 3 y 4 2 Señales: ejercicios 6, 8 y 10 Jueves 5 de marzo

4 Entregas Ejercicio3 Ejercicio 4

5 Qu e es una senal? que recibe un proceso sobre la ocurrencia de un evento: 3 Notificacion software Interrupcion Programa principal normal Ejecucion Kernel Manejador de senal inicio programa Llega senal Llamada al manejador del codigo Ejecucion del manejador de senal m instruccion m+1 return: vuelve a la instruccion normal Ejecucion exit()

6 Recepción de una señal: posibles efectos I La señal es ignorada: el kernel la descarta no efecto sobre el proceso El proceso es eliminado (killed) Abnormal process termination Terminación normal: exit() Se genera un fichero core dump y se termina el proceso Imagen de la memoria virtual del proceso Posterior depuración Se para el proceso (stopped): proceso en suspensión

7 Recepción de una señal: posibles efectos II Se restablece el proceso (resumed) al estado previo a su suspensión

8 Configurar la respuesta de un proceso a una señal: setting the disposition of a signal Se ejecuta la acción por defecto La señal es ignorada Se usa una rutina específica que hace las veces de manejador de señal

9 Qué es un manejador de una señal (signal handler)? Una función creada por el programador para generar una respuesta determinada cuando se produce un cierto evento Shell: Control C SIGINT para el proceso en ejecución y se vuelve al bucle de entrada principal (prompt de la shell) Instalar o establecer un manejador de señal Notificación al kernel del programa a ejecutar en caso de que se reciba la señal relativa Ejecución del manejador tras recibir la señal La señal está siendo tratada, manejada (handled) o capturada (caught)

10 Envío de señales #include <s i g n a l. h> i n t k i l l ( p i d t pid, i n t s i g ) ; pid > 0 proceso al que enviamos la señal pid = 0 la señal se envía a todos los procesos mismo grupo pid = 1 se envía a todos los procesos identificador real = identificador efectivo del proceso que la envía pid < 1 procesos identificador de grupo = valor absoluto de pid u i d t g e t u i d ( void ) ; u i d t geteuid ( void ) ; g i d t g e t g i d ( void ) ; g i d t getegid ( void ) ; i n t setpgid ( p i d t pid, p i d t pgid ) ; p i d t getpgid ( p i d t pid ) ; i n t setpgrp ( void ) ; p i d t getpgrp ( void ) ;

11 Tratamiento de señales #include <s i g n a l. h> void ( s i g n a l ( i n t sig, void ( handler ) ( i n t ) ) ) ( i n t ) ; #include <s i g n a l. h> typedef void ( s i g h a n d l e r t ) ( i n t ) ; s i g h a n d l e r t s i g n a l ( i n t signum, s i g h a n d l e r t handler ) ;

12 Ejemplo 1 #include <s t d i o. h> #include <s i g n a l. h> #include <s t d l i b. h> i n t main ( i n t argc, char argv [ ], char env [ ] ) { void manejador SIGINT ( ) ; i f ( s i g n a l ( SIGINT, manejador SIGINT ) ==SIG ERR ) { p e r r o r ( s i g n a l ) ; e x i t ( EXIT FAILURE ) ; while ( 1 ) { p r i n t f ( En espera de C t r l +C\n ) ; sleep (100) ; void manejador SIGINT ( i n t s i g ) { p r i n t f ( Señal número %d r e c i b i d a \n, s i g ) ;

13 stty -a man stty

14 #include <u n i s t d. h> #include <s i g n a l. h> #include <sys / w ait. h> #include <s t d i o. h> # define NUM HIJOS 3 / Handle SIGCHLD s i g n a l s. / void h a n d l e s i g c h l d ( i n t s i g ) { p i d t pid ; i n t s t a t u s ; pid = wait (& s t a t u s ) ; Ejemplo2 p r i n t f ( H i j o totalmente eliminado %d\n, pid ) ; sleep ( 1 ) ; i n t main ( ) { i n t i ; s i g n a l (SIGCHLD, h a n d l e s i g c h l d ) ; for ( i =0; i < NUM HIJOS ; i ++){ i f ( f o r k ( ) ==0){ p r i n t f ( Desde e l h i j o, hola %d\n, g e t p i d ( ) ) ; sleep ( 5 ) ; return 0;

15 Ejemplo3 I #include <u n i s t d. h> #include <s i g n a l. h> #include <sys / w ait. h> #include <s t d i o. h> #include <s t d l i b. h> # define NUM HIJOS 3 / Handle SIGCHLD s i g n a l s. / void h a n d l e s i g c h l d ( i n t s i g ) { p i d t pid ; i n t s t a t u s ; while ( 1 ) { pid = w a i t p i d ( 1,& status,wnohang) ; i f ( pid <=0) / Ya no hay zombies / break ; / En l a p r a c t i c a, se debe e v i t a r i m p r i m i r... / p r i n t f ( H i j o totalmente eliminado %d\n, pid ) ; sleep ( 1 ) ; i n t main ( ) {

16 Ejemplo3 II i n t i ; s i g n a l (SIGCHLD, h a n d l e s i g c h l d ) ; for ( i =0; i < NUM HIJOS ; i ++){ i f ( f o r k ( ) ==0){ p r i n t f ( Desde e l h i j o, hola %d\n, g e t p i d ( ) ) ; sleep ( 5 ) ; e x i t (EXIT SUCCESS) ; while ( 1 ) { pause ( ) ; return 0;

17 Ejemplo 4 #include <s t d i o. h> #include <s t d l i b. h> #include <u n i s t d. h> # include <math. h> #include <s i g n a l. h> i n t main ( i n t argc, char argv [ ] ) { s i g s e t t intmask ; sigemptyset (& intmask ) ; sigaddset (& intmask, SIGINT ) ; while ( 1 ) { sigprocmask ( SIG BLOCK, &intmask, NULL) ; p r i n t f ( señal SIGINT bloqueada\n ) ; sleep (10) ; p r i n t f ( 10 segundos con señal bloqueada\n ) ; sigprocmask ( SIG UNBLOCK, &intmask, NULL) ; p r i n t f ( señal SIGINT desbloqueada\n ) ; sleep (10) ; p r i n t f ( 5 segundos con señal desbloqueada\n ) ; return EXIT SUCESS ;

18 Ejemplo 5 i n t i n t e r r u m p i d o ; void interrumpe ( i n t d ) { i n t e r r u m p i d o = 1; void mata ( char s ) { p r i n t f ( %s\n, s ) ; e x i t (EXIT SUCCESS) ; i n t main ( ) { struct s i g a c t i o n sa ; i n t n ; char c ; sa. sa handler = interrumpe ; sigemptyset (&sa. sa mask ) ; sa. s a f l a g s = 0; i f ( s i g a c t i o n ( SIGINT, &sa, NULL) ) mata ( s i g a c t i o n SIGINT ) ; sa. s a f l a g s = SA RESTART ; i f ( s i g a c t i o n ( SIGQUIT, &sa, NULL) ) mata ( s i g a c t i o n SIGQUIT ) ; i n t e r r u m p i d o = 0; n = read ( 0, &c, 1) ; i f ( n == 1 && errno == EINTR ) p r i n t f ( read c a l l was i n t e r r u p t e d \n ) ; else i f ( i n t e r r u m p i d o ) p r i n t f ( read c a l l was r e s t a r t e d, c=%c\n, c ) ; return 0;

19 Ejemplo 6 I void imprime mascara ( ) { s i g s e t t s i g s e t ; i n t errno save ; errno save = errno ; i f ( sigprocmask ( 0, NULL, &s i g s e t ) < 0) p e r r o r ( Sigprocmask ) ; p r i n t f ( sigmask = ) ; i f ( sigismember (& sigset, SIGINT ) ) p r i n t f ( SIGINT ) ; i f ( sigismember (& sigset, SIGQUIT ) ) p r i n t f ( SIGQUIT ) ; i f ( sigismember (& sigset, SIGUSR1) ) p r i n t f ( SIGUSR1 ) ; i f ( sigismember (& sigset, SIGUSR2) ) p r i n t f ( SIGUSR2 ) ; i f ( sigismember (& sigset, SIGALRM) ) p r i n t f ( SIGALARM ) ; i f ( sigismember (& sigset, SIGABRT) ) p r i n t f ( SIGABRT ) ; i f ( sigismember (& sigset, SIGCHLD) ) p r i n t f ( SIGCHLD ) ; i f ( sigismember (& sigset, SIGHUP) ) p r i n t f ( SIGHUP ) ; i f ( sigismember (& sigset, SIGTERM) ) p r i n t f ( SIGTERM ) ; p r i n t f ( \n ) ; errno = errno save ; i n t main ( ) { s i g s e t t mascara ;

20 Ejemplo 6 II s i g s e t t mascara antigua ; sigemptyset (& mascara ) ; sigaddset (& mascara, SIGQUIT ) ; sigaddset (& mascara, SIGUSR2) ; sigprocmask ( SIG BLOCK, &mascara, &mascara antigua ) ; imprime mascara ( ) ; while ( 1 ) pause ( ) ;

21 Referencias Francisco M. Márquez. Unix, Programación Avanzada. Editorial: Ra-Ma. 3 a Edición. ISBN:

Prácticas de Sistemas operativos

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

Más detalles

Sistemas Operativos (prácticas) E.U. Informática en Segovia Universidad de Valladolid

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

Más detalles

Prácticas de Sistemas operativos

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

Más detalles

Boletín 5- Señales. Departamento de Lenguajes y Sistemas Informáticos

Boletín 5- Señales. Departamento de Lenguajes y Sistemas Informáticos Boletín 5- Señales Departamento de Lenguajes y Sistemas Informáticos Indice 1. Introducción 2. Envío de señales desde la shell: kill 3. Llamadas al Sistema kill: envío de señal a un proceso raise: autoenvío

Más detalles

Prácticas de Sistemas operativos

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 Séptima semana: semáforos 1 Cronograma semanal 2 Introducción 3 Ejemplo 1 4 Ejemplo

Más detalles

Programación Concurrente

Programación Concurrente Master en Computación Programación Concurrente Bloque II: Programación concurrente en POSIX Tema 1. Introducción al estándar POSIX Tema 2. Sistema Operativo MaRTE OS Tema 3. Gestión de Threads Tema 4.

Más detalles

Cominicación entre Procesos: SEÑALES

Cominicación entre Procesos: SEÑALES Cominicación entre Procesos: SEÑALES LABORATORIO DE SISTEMAS DE OPERACIÓN I (ci 3825) Prof. Yudith Cardinale Enero marzo 2012 Interrupciones Las interrupciones pueden ser: de hardware: señales electrónicas

Más detalles

Tema 4 : señales. Sistemas Operativos: Programación de Sistemas. Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J. Santana Pérez.

Tema 4 : señales. Sistemas Operativos: Programación de Sistemas. Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J. Santana Pérez. Tema 4 : señales Sistemas Operativos: Programación de Sistemas Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J. Santana Pérez Curso 2006-07 Señales Las señales son un mecanismo para comunicar eventos

Más detalles

Teoría. Procesos. Escuela Politécnica Superior Universidad Autónoma de Madrid 1

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

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

ASIGNATURA: SISTEMAS INFORMÁTICOS INDUSTRIALES. CURSO 4º GRUPO Octubre 2015

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

Más detalles

Un ejemplo: UNIX PROCESOS UNIX

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

Más detalles

Introducción y Gestión de Procesos

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

Más detalles

PRÁCTICAS DE SS.OO. Universidad de Murcia. I.I./I.T.I. Sistemas/I.T.I. Gestión

PRÁCTICAS DE SS.OO. Universidad de Murcia. I.I./I.T.I. Sistemas/I.T.I. Gestión Universidad de Murcia Facultad de Informática Departamento de Ingeniería y Tecnología de Computadores Área de Arquitectura y Tecnología de Computadores PRÁCTICAS DE SS.OO. I.I./I.T.I. Sistemas/I.T.I. Gestión

Más detalles

Sincronización de procesos en C

Sincronización de procesos en C Sincronización de procesos en C 2 En esta unidad aprenderás a: 1 2 3 4 5 Comprender los mecanismos de comunicación basados en señales. Conocer los tipos de señales. Definir gestores de señales en un programa

Más detalles

PRACTICA # 3 PROCESOS (CONTINUACION)

PRACTICA # 3 PROCESOS (CONTINUACION) PRACTICA # 3 PROCESOS (CONTINUACION) 1. OBJETIVO Aprender cómo manipular procesos por medio de las funciones wait() y kill(); además del uso de señales del sistema Linux. 2. INTRODUCCIÓN Estados de un

Más detalles

Procesos e hilos y señales en C de GNU/Linux

Procesos e hilos y señales en C de GNU/Linux Emilio José Calvo Carrasco Procesos e hilos y señales en C de GNU/Linux 1 de 12 Procesos e hilos y señales en C de GNU/Linux En este pequeño tutorial vamos a ver cómo se gestionan múltiples procesos y

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, Pablo Neira, José Ángel Bernal y Sergio Segura Boletín 5: Señales Curso 2006/07 Índice 1. Introducción 2 2.

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

Prácticas de Sistemas operativos

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 Octava semana: semáforos 1 Cronograma semanal 2 Introducción 3 Ejemplo 1 4 Ejemplo

Más detalles

Biblioteca de sistema

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

Más detalles

Introducción a Sistemas Operativos: Comunicación entre Procesos

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. Señales Otro mecamismo de ercomunicación de procesos es la posibilidad de enviar mensajes a un proceso

Más detalles

MC Hilda Castillo Zacatelco PROCESOS

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

Más detalles

SISTEMAS OPERATIVOS PROCESOS. Pedro de Miguel Anasagast

SISTEMAS OPERATIVOS PROCESOS. Pedro de Miguel Anasagast SISTEMAS OPERATIVOS PROCESOS Pedro de Miguel Anasagast ÍNDICE Conceptos generales de procesos Multitarea Servidores y demonios Servicios UNIX de gestión de procesos Señales y temporizadores Servicios UNIX

Más detalles

Llamadas al Sistema. Laboratorio de Arquitectura de Ordenadores

Llamadas al Sistema. Laboratorio de Arquitectura de Ordenadores Llamadas al Sistema Laboratorio de Arquitectura de Ordenadores Índice Introducción Procesos Señales Sistema de ficheros Bibliografía 2 Introducción Llamadas al Sistema: Un API compuesto por una serie de

Más detalles

Señales POSIX. Configuración de una Señal. Bloqueo de una señal. Asignar un manejador. Qué vamos a estudiar?

Señales POSIX. Configuración de una Señal. Bloqueo de una señal. Asignar un manejador. Qué vamos a estudiar? Señales POSIX Conceptos acerca de Señales Configuración de una Señal Espera de Señales Qué es una Señal? Bloqueo de una señal Cómo se Identifica una señal? Asignar un manejador Ejemplo Cómo se Genera una

Más detalles

EDITRAN/TR. Windows/Unix. Manual de referencia

EDITRAN/TR. Windows/Unix. Manual de referencia EDITRAN/TR Windows/Unix Manual de referencia INDRA 30 de octubre de 2014 ÍNDICE 1. INTRODUCCIÓN.... 1-1 2. INTERFAZ DE PROGRAMACIÓN.... 2-1 2.1. DESCRIPCION... 2-1 2.2. FUNCIONES DE ENVIO Y RECEPCION...

Más detalles

Sistemas Operativos Primer Examen Parcial 13/07/15

Sistemas Operativos Primer Examen Parcial 13/07/15 Dpto. 1.- El siguiente código intenta representar la solución a la siguiente problemática: Un proceso crea un conjunto de procesos descendientes y le asigna a cada uno una tarea determinada, cada proceso

Más detalles

SISTEMAS OPERATIVOS: PROCESOS. Señales

SISTEMAS OPERATIVOS: PROCESOS. Señales SISTEMAS OPERATIVOS: PROCESOS Señales ADVERTENCIA 2 Este material es un simple guión de la clase: no son los apuntes de la asignatura. El conocimiento exclusivo de este material no garantiza que el alumno

Más detalles

Boletín 4- Procesos. Departamento de Lenguajes y Sistemas Informáticos

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

Más detalles

Tareas Periódicas en POSIX

Tareas Periódicas en POSIX Temporizadores POSIX Uso de Señales, Temporizadores y Threads para ejecutar tareas periódicas en POSIX 1 Tareas Periódicas en POSIX POSIX no implementa un mecanismo directo para especificar tareas periódicas

Más detalles

ETSISI-UPM Sistemas Operativos [Linux] Curso 18/19 PRÁCTICA 2. Llamadas al sistema

ETSISI-UPM Sistemas Operativos [Linux] Curso 18/19 PRÁCTICA 2. Llamadas al sistema PRÁCTICA 2 Llamadas al sistema 13 de Septiembre de 2018 ÍNDICE 1 OBJETIVOS... 2 2 LLAMADAS RELACIONADAS CON PROCESOS... 2 3 LLAMADAS RELACIONADAS CON FICHEROS... 8 4 LLAMADAS PARA COMUNICAR PROCESOS...10

Más detalles

PRÁCTICA 1: PROCESOS Y COMUNICACIÓN ENTRE PROCESOS

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

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

Sistemas Operativos sesión 12: tuberías

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

Más detalles

Sistemas Operativos Práctica 3

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

Más detalles

SISTEMAS OPERATIVOS 1. Enxeñería Informática. Curso

SISTEMAS OPERATIVOS 1. Enxeñería Informática. Curso SISTEMAS OPERATIVOS 1. Enxeñería Informática. Curso 2007-2008 Práctica 1: Filedaemon. Implementar un demonio que periódicamente inspeccione los ficheros que han sido modificados recientemente a partir

Más detalles

SISTEMAS OPERATIVOS: COMUNICACIÓN Y SINCRONIZACIÓN ENTRE PROCESOS. Desarrollo de servidores concurrentes

SISTEMAS OPERATIVOS: COMUNICACIÓN Y SINCRONIZACIÓN ENTRE PROCESOS. Desarrollo de servidores concurrentes SISTEMAS OPERATIVOS: COMUNICACIÓN Y SINCRONIZACIÓN ENTRE PROCESOS Desarrollo de servidores concurrentes Contenido 2 Servidores de peticiones. Solución basada en procesos. Solución basada en hilos bajo

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

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

Más detalles

Gestión de procesos en UNIX

Gestión de procesos en UNIX PROCESOS UNIX Gestión de procesos en 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

Más detalles

Llamadas al Sistema para la Creación de Procesos

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

Más detalles

2. Problema de Análisis y Diseño Orientado a Objetos (4 puntos - 25 minutos)

2. Problema de Análisis y Diseño Orientado a Objetos (4 puntos - 25 minutos) APELLIDOS NOMBRE Nº Mat. UNIVERSIDAD POLITÉCNICA DE MADRID ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA Y DISEÑO INDSUTRIAL Departamento Electrónica, Automática e Informática Industrial ASIGNATURA: SISTEMAS

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

Programación de Sistemas. Programación de Sistemas con Ansi C sobre UNIX. Gestión de errores. Gestión de errores. Ficheros regulares

Programación de Sistemas. Programación de Sistemas con Ansi C sobre UNIX. Gestión de errores. Gestión de errores. Ficheros regulares Programación de Sistemas con Ansi C sobre UNIX Pedro Merino Gómez Jesus Martínez Cruz Dpto. Lenguajes y Ciencias de la Computación Universidad de Málaga Programación de Sistemas Llamadas al sistema Gestión

Más detalles

Introducción y Gestión de Procesos

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

Más detalles

Definición de Proceso

Definición de Proceso Definición de Proceso Proceso es un concepto fundamental para todo sistema operativo. Es una entidad dinámica que consiste en un programa en ejecución, sus valores actuales, su estado y los recursos utilizados

Más detalles

PARTE II PROGRAMACION CON THREADS EN C

PARTE II PROGRAMACION CON THREADS EN C PARTE II PROGRAMACION CON THREADS EN C II.1 INTRODUCCION Una librería o paquete de threads permite escribir programas con varios puntos simultáneos de ejecución, sincronizados a través de memoria compartida.

Más detalles

Función monitoreo descriptor archivo #include <sys/types.h> #include<unistd.h> #include<errno.h> extern void procesamiento_datos(char *, int); void pr

Función monitoreo descriptor archivo #include <sys/types.h> #include<unistd.h> #include<errno.h> extern void procesamiento_datos(char *, int); void pr Introducción al concepto de threads Dr.. Roberto Gómez Cárdenas DCC del ITESM-CEM [email protected] http://homepage.cem.itesm.mx/rogomez Función monitoreo descriptor archivo #include #include

Más detalles

TEMA 7. Programación en UNIX. Contenido

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.

Más detalles

SISTEMAS OPERATIVOS:

SISTEMAS OPERATIVOS: SISTEMAS OPERATIVOS: Lección 8: Desarrollo de servidores concurrentes Jesús Carretero Pérez Alejandro Calderón Mateos José Daniel García Sánchez Francisco Javier García Blas José Manuel Pérez Lobato Introducción

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

Programación I Funciones

Programación I Funciones 1 Funciones Iván Cantador 2 Funciones: definición, sintaxis, ejemplos (I) Una funciónes un bloque de sentencias identificado con un nombre que se ejecutan de manera secuencial ofreciendo una funcionalidad

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

Tema 3. Estructuras de control

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)

Más detalles

SISTEMAS OPERATIVOS 2 INGENIERIA TECNICA INFORMATICA SISTEMAS CORRECCION PRACTICA 3: SEÑALES Y CREDENCIALES CURSO

SISTEMAS OPERATIVOS 2 INGENIERIA TECNICA INFORMATICA SISTEMAS CORRECCION PRACTICA 3: SEÑALES Y CREDENCIALES CURSO SISTEMAS OPERATIVOS 2 INGENIERIA TECNICA INFORMATICA SISTEMAS CORRECCION PRACTICA 3: SEÑALES Y CREDENCIALES CURSO 2009-20010 *Rellenar los NOMBRES y los LOGINS de los DOS miembros del grupo Nombre1: Nombre2:

Más detalles

1 Primitivas básicas de OpenMP

1 Primitivas básicas de OpenMP 1 Primitivas básicas de OpenMP Consultar la página oficial de la plataforma OpenMP http://www.openmp.org/drupal/ Pragmas Es una directiva para el compilador que permite la definición de nuevas directivas

Más detalles

!! Identificar las señales que llegan a la consola.

!! Identificar las señales que llegan a la consola. Objetivos TEMA 9 Gestión de Errores y Excepciones!! Describir el mecanismo de gestión de señales en Windows API y la gestión de excepciones.!! Identificar las señales que llegan a la consola. Estudio de

Más detalles

Introducción general al Lenguaje C (2010/2011)

Introducción general al Lenguaje C (2010/2011) Luis Valencia Cabrera [email protected] (http://www.cs.us.es/~lvalencia) Ciencias de la Computacion e IA (http://www.cs.us.es/) Introducción general al Lenguaje C (2010/2011) Universidad de Sevilla Índice

Más detalles

Procesos y Threads Procesos y Threads. Concurrencia Concurrencia Ventajas Ventajas. Rendimiento Rendimiento (paralelismo) (paralelismo)

Procesos y Threads Procesos y Threads. Concurrencia Concurrencia Ventajas Ventajas. Rendimiento Rendimiento (paralelismo) (paralelismo) Procesos y Threads Procesos y Threads Procesos Procesos Threads Threads Concurrencia Concurrencia Ventajas Ventajas Modelos Modelos Información Información adicional () adicional () Preparado Preparado

Más detalles

Introducción a la librería de desarrollo librawnet

Introducción a la librería de desarrollo librawnet Introducción a la librería de desarrollo librawnet Redes y Servicios de Comunicaciones Avanzadas Departamento de Ingeniería Telemática Manuel Urueña Carlos J. Bernardos [email protected] [email protected]

Más detalles

Computación de Alta Performance Curso 2009 PROGRAMACIÓN PARALELA EN LENGUAJE C

Computación de Alta Performance Curso 2009 PROGRAMACIÓN PARALELA EN LENGUAJE C Computación de Alta Performance Curso 2009 MECANISMO DE PROGRAMACIÓN PARALELA EN LENGUAJE C AGENDA Mecanismos a estudiar. Fork. Pipes y FIFOs. System V IPC: Semáforos. Cola de mensajes. Memoria compartida.

Más detalles

Programación Concurrente

Programación Concurrente Master en Computación Programación Concurrente Bloque II: Programación concurrente en POSIX Tema 1. Introducción al estándar POSIX Tema 2. Sistema Operativo MaRTE OS Tema 3. Gestión de Threads Tema 5.

Más detalles

Linux 101 Gestión de Procesos

Linux 101 Gestión de Procesos Gestión de Procesos Entendiendo el Kernel El kernel de linux es el corazón de todo sistema linux, es el encargado de que el software y el hardware puedan trabajar juntos. Administración de memoria para

Más detalles

Sistemas Operativos. Pedro Cabalar TEMA III. PROCESOS. Depto. de Computación Universidade da Coruña

Sistemas Operativos. Pedro Cabalar TEMA III. PROCESOS. Depto. de Computación Universidade da Coruña Sistemas Operativos Pedro Cabalar Depto. de Computación Universidade da Coruña TEMA III. PROCESOS. P. Cabalar Sistemas( Operativos Depto. de Computación Universidade Tema da Coruña III. Procesos ) 1 /

Más detalles