Prácticas de Sistemas operativos
|
|
|
- José Luis Nieto Farías
- hace 10 años
- Vistas:
Transcripción
1 Prácticas de Sistemas operativos David Arroyo Guardeño Escuela Politécnica Superior de la Universidad Autónoma de Madrid Octava semana: semáforos
2 1 Cronograma semanal 2 Introducción 3 Ejemplo 1 4 Ejemplo 2 5 Ejemplo 3 6 Referencias
3 Tercera práctica 1 Memoria compartida: ejercicio 2 2 Semáforos: ejercicios 4 y 5 3 Ejercicio final: ejercicios 6 y 7 (opcional) Jueves 3 abril
4 Semáforos Mecanismo para implementar sincronización Número entero: si se intenta hacer menor que cero, el proceso queda en espera Biblioteca sem.h man semget semop semctl
5 main ( ) { i n t sem id, i ; struct sembuf sem oper ; union semun{ i n t val ; struct semid ds semstat ; unsigned short array ; arg ; sem id = semget (SEMKEY,N SEMAFOROS, IPC CREAT IPC EXCL SHM R SHM W) ; i f ( sem id== 1){ p e r r o r ( semget. ) ; e x i t ( errno ) ; i f (N SEMAFOROS<2){ f p r i n t f ( s t d e r r, El numero de semaforos ha ser mayor que dos\n ) ; e x i t ( 0 ) ; arg. array = ( unsigned short ) malloc ( sizeof ( short ) N SEMAFOROS) ; for ( i =0; i<n SEMAFOROS; i ++) arg. array [ i ] = 1; semctl ( sem id,n SEMAFOROS,SETALL, arg ) ; sem oper. sem num = 0; sem oper. sem op = 1; sem oper. sem flg = SEM UNDO; semop ( sem id,& sem oper, 1 ) ; sem oper. sem num = 1; sem oper. sem op = 1; semop ( sem id,& sem oper, 1 ) ; semctl ( sem id,n SEMAFOROS,GETALL, arg ) ; p r i n t f ( Los valores de l o s semaforos son [%d, arg. array [ 0 ] ) ; for ( i =1; i<n SEMAFOROS; i ++) p r i n t f (,%d, arg. array [ i ] ) ; p r i n t f ( ]\n ) ; semctl ( sem id,n SEMAFOROS, IPC RMID, 0 ) ; f r e e ( arg. array ) ;
6 Ejemplo 2: productor #define SEMKEY union semun { i n t val ; struct semid ds buf ; ushort array ; struct seminfo buf ; ; main ( ) { k e y t key = SEMKEY; i n t sem id ; union semun arg ; enum {NS,EO; s t a t i c struct sembuf sig = {0,1,SEM UNDO, wait={0, 1,SEM UNDO; s t a t i c ushort s t a r t v a l u e [ 2 ] = {0,0; i n t clock =3; i f ( ( sem id = semget ( key, 2, IPC CREAT 0666) ) == 1){ p e r r o r ( c o n t r o l : semget. ) ; e x i t ( 1 ) ; arg. array = start value ; i f ( semctl ( sem id, 0,SETALL, arg ) == 1){ p e r r o r ( c o n t r o l : semctl i n i c i a l i z a c i o n. ) ; e x i t ( 2 ) ; p r i n t f ( c o n t r o l : Estoy l i s t o.\n ) ; while ( clock ){ s i g. sem num = NS; i f ( semop ( sem id,& sig, 1 ) == 1){ p e r r o r ( c o n t r o l : semop s i g n a l. ) ;
7 main ( ) {... Ejemplo 2: productor arg. array = start value ; i f ( semctl ( sem id, 0,SETALL, arg ) == 1){ p e r r o r ( c o n t r o l : semctl i n i c i a l i z a c i o n. ) ; e x i t ( 2 ) ; p r i n t f ( c o n t r o l : Estoy l i s t o.\n ) ; while ( clock ){ s i g. sem num = NS; i f ( semop ( sem id,& sig, 1 ) == 1){ p e r r o r ( c o n t r o l : semop s i g n a l. ) ; e x i t ( 3 ) ; wait. sem num = EO; i f ( semop ( sem id,& wait, 1 ) == 1){ p e r r o r ( c o n t r o l : semop wait. ) ; e x i t ( 4 ) ; p r i n t f ( c o n t r o l : La c a r r e t e r a este oeste esta a b i e r t a.\n ) ; sleep ( 1 ) ; clock ; i f ( semctl ( sem id, 0, IPC RMID, 0 ) == 1){ perror ( control : semctl remove. ) ; e x i t ( 5 ) ;
8 ... main ( ) { k e y t key = SEMKEY; i n t semid ; i n t car num =1; Ejemplo 2: consumidor s t a t i c struct sembuf sig ={0,1,SEM UNDO, wait={0, 1,SEM UNDO; enum {NS,EO; i f ( ( semid = semget ( key, 2, IPC CREAT 0666) ) == 1){ p e r r o r ( coche : semget. ) ; e x i t ( 1 ) ; while ( 1 ){ wait. sem num = NS; i f ( semop ( semid,& wait, 1 ) == 1){ p e r r o r ( coche : semop wait. ) ; e x i t ( 2 ) ; p r i n t f ( coche : La c a r r e t e r a norte sur esta a b i e r t a.\n ) ; sleep ( 1 ) ; p r i n t f ( coche : Coche %d paso.\n, car num ++) ; s i g. sem num = EO; i f ( semop ( semid,& sig, 1 ) == 1){ p e r r o r ( coche : semop s i g n a l. ) ; e x i t ( 3 ) ;
9 Ejemplo 3: productor #define SHMKEY 6723 #define SEMKEY 7543 #define NUMPEDIDOS 10 union semun { i n t val ; struct semid ds buf ; ushort array ; struct seminfo buf ; ; main ( ) { k e y t key= SHMKEY; k e y t key2 = SEMKEY; i n t shmid ; i n t sopa = 0; i n t orden = NUMPEDIDOS; i n t sem id ; union semun arg ; enum {COOK, PICK; s t a t i c struct sembuf cook = {0,1,SEM UNDO, pick = {0, 1,SEM UNDO; s t a t i c ushort s t a r t v a l u e [ 2 ] = {0,0; i f ( ( sem id = semget ( key2, 2, IPC CREAT 0666) ) == 1){ p e r r o r ( cocina : semget. ) ; e x i t ( 1 ) ; arg. array = start value ; i f ( semctl ( sem id, 0,SETALL, arg ) == 1){ p e r r o r ( cocina : semctl i n i c i a l i z a c i o n. ) ; e x i t ( 2 ) ;
10 Ejemplo 3: productor main ( ) {... i f ( ( shmid = shmget ( key,50,0600 IPC CREAT ) ) == 1) { p e r r o r ( cocina : shmget ) ; e x i t ( 1 ) ; sopa = ( i n t )shmat ( shmid, ( char ) 0,0) ; i f ( sopa == ( i n t ) 1) { p e r r o r ( cocina : shmat ) ; e x i t ( 2 ) ; p r i n t f ( Cocinero : He empezado a hacer l a sopa.\n ) ; while ( orden ) { sleep ( 1 ) ; ( sopa ) ++; cook. sem num = COOK; i f ( semop ( sem id,& cook, 1 ) == 1){ p e r r o r ( cocina : semop cook. ) ; e x i t ( 3 ) ; pick. sem num = PICK ; i f ( semop ( sem id,& pick, 1 ) == 1){ p e r r o r ( c o n t r o l : semop wait. ) ; e x i t ( 4 ) ; p r i n t f ( Oido cocina... \ n ) ; orden ; p r i n t f ( Cocinero : Se acabo el tiempo. He preparado %d platos de sopa. Quedan %d sin recoger.\n,numpedidos, sopa ) ; shmctl ( shmid, IPC RMID, ( struct shmid ds ) 0) ; i f ( semctl ( sem id, 0, IPC RMID, 0 ) == 1){ p e r r o r ( cocina : semctl remove. ) ; e x i t ( 5 ) ; e x i t ( 0 ) ;
11 void manejador ( ) { e x i t ( 0 ) ; main ( ) { void signal catcher ( ) ; k e y t key = SHMKEY; key t key sem = SEMKEY; i n t shmid ; i n t sopa ; Ejemplo 3: consumidor i n t sem id ; s t a t i c struct sembuf cook ={0,1,SEM UNDO, pick={0, 1,SEM UNDO; enum {COOK, PICK; i f ( ( sem id = semget ( key sem, 2, IPC CREAT 0666) ) == 1){ p e r r o r ( camarero : semget. ) ; e x i t ( 1 ) ; sigset (SIGALRM, manejador ) ; alarm ( 30) ; i f ( ( shmid = shmget ( key,50,ipc CREAT 0600) ) == 1) { p e r r o r ( shmget ) ; e x i t ( 1 ) ; i f ( ( sopa = ( i n t )shmat ( shmid, 0, 0 ) ) ==( i n t ) 1) { p e r r o r ( shmat ) ; e x i t ( 2 ) ; while ( 1 ){ pick. sem num = COOK; i f ( semop ( sem id,& pick, 1 ) == 1){ p e r r o r ( camarero : semop pick. ) ; e x i t ( 2 ) ; ( sopa ) ; p r i n t f ( Camarero : p l a t o recogido\n ) ; sleep ( rand ( ) %2+1) ; p r i n t f ( Camarero : un nuevo p l a t o de sopa, cocina!!! \ n ) ; cook. sem num = PICK ; i f ( semop ( sem id,& cook, 1 ) == 1){ p e r r o r ( camarero : semop cook. ) ; e x i t ( 3 ) ;
12 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 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
Memoria compartida y semáforos r/w. La página del manual que podría servir para describir estas funciones es la siguiente:
(3 ptos) Memoria Compartida y Semáforos R/W 1. Objetivo En esta práctica se pretende crear una librería que dé la funcionalidad de un semáforo para resolver problemas con múltiples lectores y escritores
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, Francisco Javier Cuberos y Sergio Segura Boletín 6: Semáforos
Los semáforos en Unix
Los semáforos en Unix Semáforos multi-valuados, no binarios Se puede crear un arreglo de semáforos con una simple llamada Posibilidad de especificar una sola operación en un solo semáforo Posibilidad de
Parte Práctica Adicional del Coloquio o Examen Final de Sistemas Operativos 2014.
Parte Práctica Adicional del Coloquio o Examen Final de Sistemas Operativos 2014. Probar los códigos presentados en el trabajo de Semáforos que se encuentra a continuación, probarlos, corregirlo y establecer
Prácticas de Sistemas Operativos
Prácticas de Sistemas Operativos Juan Antonio Álvarez, Toñi Reina, David Ruiz, Antonio Tallón, Pablo Neira, José Ángel Bernal y Sergio Segura Boletín 6: Semáforos Curso 2006/07 Índice 1. Introducción 2
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 Quinta semana: señales 1 Cronograma semanal 2 Entregas 3 Introducción 4 Envío de
Sistemas Operativos Ingeniería de telecomunicaciones Sesión 3: Concurrencia
Sistemas Operativos Ingeniería de telecomunicaciones Sesión 3: Concurrencia Calendario Comienzo: Lunes 2 de noviembre y miércoles 4 de noviembre. Entrega: 16 de noviembre y 18 de noviembre. 1. Requisitos
Sistemas Operativos I. Enxeñería Informática. Curso 2007/08. Práctica 2: Concurrencia de procesos: Productores/Consumidores.
Sistemas Operativos I. Enxeñería Informática. Curso 2007/08. Práctica 2: Concurrencia de procesos: Productores/Consumidores. En esta práctica se tratará de resolver el problema de los productores/consumidores
Sistemas Operativos Práctica 4
Sistemas Operativos Práctica 4 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
SISTEMAS OPERATIVOS I. CURSO 2010/11. PRÁCTICA 2: Problema de los Productores/Consumidores (concurrencia de procesos)
SISTEMAS OPERATIVOS I. CURSO 2010/11 PRÁCTICA 2: Problema de los Productores/Consumidores (concurrencia de procesos) INTRODUCCIÓN: En esta práctica se tratará de resolver el problema de los productores/consumidores
Mecanismos IPC System V
Mecanismos IPC System V Ampliación de Sistemas Operativos (prácticas) E.U. Informática en Segovia Universidad de Valladolid Mecanismos IPC System V: generalidades (1) Existen tres tipos de mecanismos IPC
Memoria Compartida. Llave de acceso. Segmento Compartido. estructura definida en A. estructura definida en B. Proceso B. Proceso A
Memoria Compartida Llave de acceso 1234 Segmento Compartido apuntador estructura definida en A apuntador estructura definida en B Proceso A Proceso B Dr. Roberto Gómez Diapo No. 1 Librerías y estructuras
Sistemas Operativos. Eloy Anguiano Rey [email protected]. Rosa M. Carro [email protected]. Ana González [email protected]
Sistemas Operativos Monitores Mensajes Eloy Anguiano Rey [email protected] Rosa M. Carro [email protected] Ana González [email protected] Escuela Politécnica Superior Universidad Autónoma de Madrid
Se guardan en archivos con extencion c y los cabezales con extension h
Se guardan en archivos con extencion c y los cabezales con extension h Tipos de Variables: Tipo Tamaño(bytes) Limite inferior Limite superior char 1 -- -- unsigned char 1 0 255 short int 2-32768 +32767
Mensajes. (versión preliminar)
Mensajes (versión preliminar) Ejemplo: productor/consumidor con buffer de tamaño 0 void produce(item *p_it); void consume(item *p_it); int nmain() { ntask cons= nemittask(consproc); ntask prod= nemittask(prodproc,
LENGUAJE. Tema 1 - Introducción
LENGUAJE Tema 1 - Introducción HISTORIA DEL LENGUAJE C El lenguaje de programación C fue creado por Dennis Ritchie cuando trabajaba en Bell Laboratories de AT&T junto con Ken Thompson en el diseño del
Práctica 2. Teoría. Memoria Compartida y Semáforos
Práctica 2 Grupos Realización Entrega/Evaluación Lunes 22 de Marzo, 12 y 19 de Abril 26 de Abril Martes 23 de Marzo, 13 y 20 de Abril 27 de Abril Miércoles 24 de Marzo, 14 y 21 de Abril 28 de Abril Viernes
Examen de Fundamentos de sistemas distribuidos
Examen de Fundamentos de sistemas distribuidos Tiempo total: 2 horas Problema: Programa: Rendezvous con semáforos(5 puntos) Utilizando como único mecanismo de sincronización los semáforos descritos en
Monitores Ing. Iván Medrano Valencia
Universidad Nacional de San Antonio Abad del Cusco Departamento Académico de Informática Programación Concurrente y Distribuida Práctica 5 1. OBJETIVO. Ing. Iván Medrano Valencia En esta práctica, comprobaremos
PRÁCTICAS DE APLICACIONES DISTRIBUIDAS EN EQUIPO. Introducción: Cada práctica con lleva una previa investigación, la cual debe realizar cada equipo.
FECHA DE ENTREGA: Pendiente PRÁCTICAS DE APLICACIONES DISTRIBUIDAS EN EQUIPO Los equipos deberán están formados de la siguiente manera: - Tres equipos de 4 integrantes cada uno. Introducción: Cada práctica
PROGRAMACIÓN CON LLAMADAS AL SISTEMA POSIX (INTRODUCCIÓN A LA PROGRAMACIÓN CON UNIX/LINUX)
PROGRAMACIÓN CON LLAMADAS AL SISTEMA POSIX (INTRODUCCIÓN A LA PROGRAMACIÓN CON UNIX/LINUX) 1- LLAMADAS AL SISTEMA: 1.1- Interfaz del programador: La interfaz del sistema operativo con el programador es
Programación Concurrente en Java
Hebras y monitores Departamento de Sistemas Informáticos y Programación Universidad Complutense de Madrid 21 de marzo de 2006 Threads Extendiendo la clase java.lang.thread. public class PrThread extends
PROGRAMACIÓN EN JAVA
SISTEMAS INFORMÁTICOS INDUSTRIALES curso 2007-2008 PROGRAMACIÓN EN JAVA PRÁCTICA 3: Comunicación entre tareas. Modelo productor / consumidor. Objetivos Implementar una aplicación en Java en la que existan
Comunicación entre Procesos
Sincronización y Comunicación de Procesos Sincronización y Comunicación de Procesos Sincronización Sincronización Comunicación Comunicación Condiciones de Condiciones de Carrera Carrera Memoria Memoria
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.
Sistemas Operativos Ingeniería de telecomunicaciones Sesión 2: Procesos e hilos (modificado 29/10)
Sistemas Operativos Ingeniería de telecomunicaciones Sesión 2: Procesos e hilos (modificado 29/10) Calendario Comienzo: Lunes 19 de octubre y miércoles 21 de octubre. Entrega: 2 de noviembre y 4 de noviembre,
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
Universidad de Pamplona Materia: Programación 1 Docente: Ing. Lusbin Raúl Vargas LENGUAJE C ESTRUCTURA DE UN PROGRAMA EN C
Universidad de Pamplona Materia: Programación 1 Docente: Ing. Lusbin Raúl Vargas LENGUAJE C ESTRUCTURA DE UN PROGRAMA EN C Directivas del procesador Main() { Declaraciones Definiciones proposiciones }
SISTEMAS OPERATIVOS AVANZADOS
SISTEMAS OPERATIVOS AVANZADOS TEMA 3 CLAVE: MIS 204 PROFESOR: M.C. ALEJA DRO GUTIÉRREZ DÍAZ 3. PROCESOS CONCURRENTES 3.1 Conceptos de programación concurrente 3.2 El problema de la sección crítica 3.3
Se ha desarrollado el siguiente programa principal. Se pide: arquitectura que permita una fácil extensión
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
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 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
Semáforos. Eloy García Martínez Lorena Ascensión Olivero
Semáforos Eloy García Martínez Lorena Ascensión Olivero 1 Introducción El concepto de semáforo nace de la necesidad de crear un sistema operativo en el que puedan trabajar procesos cooperantes -> Dijkstra(1965)
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...
Concurrencia. Primitivas IPC con bloqueo
Concurrencia Primitivas IPC con bloqueo Primitivas de IPC con bloqueo La solución de Peterson es correcta, pero tiene el defecto de requerir espera ocupada: Cuando un proceso quiere entrar en su región
1 (2 5 puntos) Responda con brevedad y precisión a las siguientes preguntas:
Universidad de Las Palmas de Gran Canaria Escuela Universitaria de Informática Facultad de Informática Sistemas Operativos Examen parcial, 11 de mayo de 2002 SOLUCIONES Calificación 1 2 3 4 5 1 (2 5 puntos)
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
Benemérita Universidad Autónoma del Estado de Puebla
Benemérita Universidad Autónoma del Estado de Puebla Facultad de Cs. De la Computación Programación Concurrente y Paralela Práctica de Laboratorio No. 4 Profr: María del Carmen Cerón Garnica Alumno: Roberto
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
UNIVERSIDAD AUTONOMA DE BAJA CALIFORNIA FACULTAD DE INGENIERIA MANUAL DE PRACTICAS DE APLICACIONES DISTRIBUIDAS
UNIVERSIDAD AUTONOMA DE BAJA CALIFORNIA FACULTAD DE INGENIERIA MANUAL DE PRACTICAS DE APLICACIONES DISTRIBUIDAS Introducción: Cada practica con lleva una previa investigación y un tema visto en clase.
Benemérita Universidad Autónoma del Estado de Puebla
Benemérita Universidad Autónoma del Estado de Puebla Facultad de Cs. De la Computación Programación Concurrente y Paralela Práctica de Laboratorio No. 5 Profr: María del Carmen Cerón Garnica Alumno: Roberto
Examen de Fundamentos de sistemas operativos
Examen de Fundamentos de sistemas operativos Tiempo total: 2 horas. Problema: Implementación de canales con Rendez (monitores) Implemente canales con buffering para enteros mediante variables condición
MONITORES EN JAVA. Antonio Tomeu Control de la Concurrencia en Java: API Estándar
MONITORES EN JAVA Un monitor es un objeto que implementa acceso bajo e.m. a todos sus métodos, y provee sincronización En Java, son objetos de una clase cuyos métodos públicos son todos synchronized Un
Tema 3. Monitores Programación Concurrente
Tema 3. Monitores Programación Concurrente Depto. de Lenguajes y Sistemas Informáticos Universidad de Granada Contenidos 1. Concepto de Monitor 1.1. Fundamento teórico de los monitores 1.2. Sintaxis de
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
Tema 5 Sentencias de control de flujo. Fundamentos de Informática
Tema 5 Fundamentos de Informática Sentencias de Control Tipos de sentencias de control: Comprobación lógica para bifurcar el flujo de un programa. Sentencias de control condicional o alternativo Comprobación
Mensajes. Interbloqueo
CONCURRENCIA DE PROCESOS Preparado por: Angel Chata Tintaya ([email protected]) Resumen Los procesos comparten variables globales, comparten y compiten por recursos, se ejecutan simultáneamente intercalándose
El lenguaje de Programación C. Fernando J. Pereda <[email protected]>
El lenguaje de Programación C Fernando J. Pereda Por qué aprender C? Portable y muy extendido Estándar (C89, C99) El lenguaje de los sistemas Un lenguaje fácil (no, no es broma) Por
Tema 2. Memoria Dinámica. 2.1 Datos estáticos y dinámicos
Tema 2 Memoria Dinámica 2.1 Datos estáticos y dinámicos Datos estáticos: su tamaño y forma es constante durante la ejecución de un programa y por tanto se determinan en tiempo de compilación. El ejemplo
SOLUCIONES A ALGUNOS DE LOS EJERCICIOS DE SINCRONIZACION Y COMUNICACION ENTRE PROCESOS
SOLUCIONES A ALGUNOS DE LOS EJERCICIOS DE SINCRONIZACION Y COMUNICACION ENTRE PROCESOS 1. Con las tres llamadas create, suspend, y resume, la estructura del programa sería la siguiente: process recoger;
SALIDAS ANALÓGICAS. Adquisición de datos y acondicionamiento de la señal Tema 6
SALIDAS ANALÓGICAS A. Arquitectura de la salida analógica B. Uso del DAQmx Write VI C. VI, AO Multipuntos (Buffered) D. Generación del Buffer Finito E. Generación del Buffer Continuo Página 1 de 8 A. ARQUITECTURA
Práctica 1 Programación de Aplicaciones Distribuidas: Sockets UDP. Laboratorio de Comunicación de Datos ITT Telemática Septiembre 2011
Práctica 1 Programación de Aplicaciones Distribuidas: Sockets UDP Laboratorio de Comunicación de Datos ITT Telemática Septiembre 2011 Introducción Aplicaciones Distribuidas Su funcionalidad se distribuye
Introduccion al Lenguaje C. Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia
Introduccion al Lenguaje C Omar Andrés Zapata Mesa Grupo de Fenomenología de Interacciones Fundamentales, (Gfif) Universidad de Antioquia Introducción C es un lenguaje de programación creado en 1972 por
En cualquier caso, tampoco es demasiado importante el significado de la "B", si es que lo tiene, lo interesante realmente es el algoritmo.
Arboles-B Características Los árboles-b son árboles de búsqueda. La "B" probablemente se debe a que el algoritmo fue desarrollado por "Rudolf Bayer" y "Eduard M. McCreight", que trabajan para la empresa
INSTITUTO POLITECNICO NACIONAL. ESCUELA SUPEIRIOR DE INGENIERIA MECANICA Y ELECTRICA. UNIDAD CULHUACAN. INTEGRANTES: FLORES ACOLTZI ONESIMO
INSTITUTO POLITECNICO NACIONAL. ESCUELA SUPEIRIOR DE INGENIERIA MECANICA Y ELECTRICA. UNIDAD CULHUACAN. INTEGRANTES: FLORES ACOLTZI ONESIMO MARCEL SANTOS ARIEL MARTINEZ AGUILAR GILBERTO. MATERIA: ESTRUCTURA
Examen escrito de Programación 1
Examen escrito de Programación 1 Escuela de Ingeniería y Arquitectura Departamento de Informática e Ingeniería de Sistemas 2 de septiembre de 2015 Se debe disponer sobre la mesa en lugar visible un documento
TRADUCTORES, COMPILADORES E INTÉRPRETES. EJERCICIOS TEMA 5, 6, 7 y 8.
TRADUCTORES, COMPILADORES E INTÉRPRETES. EJERCICIOS TEMA 5, 6, 7 y 8. 1.) (HOLUB). Escribir un traductor que reconozca definiciones de C siguiendo el estilo antiguo, tal como: prueba(uno, dos, tres, cuatro,
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
Curso LINUX. AREA 1: Intercomunicación
Curso LINUX AREA 1: Intercomunicación Intercomunicación de procesos Introducción Memoria compartida (IPC) Pipes RPC CORBA RMI DCOM SOAP / Web Services Introducción En entornos multiproceso se hace necesario
LECCIÓN 23: SEMÁFOROS
LECCIÓN 23: SEMÁFOROS LECCIÓN 23: SEMÁFOROS... 1 23.1 Conceptos... 1 23.2 Estructuras... 2 23.3 Llamadas al sistema... 5 23.4 Ejemplo de uso de semáforos... 11 23.5 Código fuente de semáforos... 13 sys_semget...
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
3.- Procesos. Concepto de Proceso. Despacho (calendarización) de Procesos. Operaciones en Procesos. Procesos en cooperación
3.- Procesos Despacho (calendarización) de Procesos Operaciones en Procesos Procesos en cooperación Compunicación Interprocesos Communicación en sistemas Cliente-Servidor Sistema de Batch jobs Sistema
Ejercicio 1 (2 puntos. Tiempo: 25 minutos)
Fecha de publicación de notas: jueves 18 de Julio. Fecha de revisión: viernes 19 de Julio a las 10:00h. Despacho C-209. Ejercicio 1 (2 puntos. Tiempo: 25 minutos) Se desea desarrollar un programa en C
Unidad III El lenguaje de programación C 1. 2. 3. 4. 5. 6. 7. 8.
Unidad III 1. Introducción. 2. Breve historia del C. 3. Lenguajes de programación de alto nivel, bajo nivel y nivel medio. 4. Compiladores e intérpretes. 5. Compilación, enlace y generación de un programa
1 HILOS (THREADS) EN JAVA
1 HILOS (THREADS) EN JAVA 1.1QUÉ ES UN THREAD La Máquina Virtual Java (JVM) es un sistema multihilo. Es decir, es capaz de ejecutar varios hilos de ejecución simultáneamente. La JVM gestiona todos los
Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java
Identificadores, palabras reservadas, tipos de datos, operadores aritméticos y el sistema estándar de salida en Java Identificadores Las variables se utilizan en programación para almacenar temporalmente
EXAMEN PARCIAL 23 de Octubre de 2015 Programación I. Grado en Matemáticas e Informática ETSIINF UPM
EXAMEN PARCIAL 23 de Octubre de 2015 Programación I. Grado en Matemáticas e Informática ETSIINF UPM 1. Cuánto valen las siguientes variables (3 Puntos): public class CSeleccion{ int i=13345,j=3, z=2; if
Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación
Pontificia Universidad Católica de Chile Escuela de Ingeniería Departamento de Ciencia de la Computación Competencias IIC1103 Introducción a la Programación (I/2010) Interrogación 1 13 de Abril de 2010
Examen Junio- Grupo A Lunes 17 de Junio - Programación en C++ Pág. 1
Examen Junio- Grupo A Lunes 17 de Junio - Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1.1 Ejercicio 1: Máquina Expendedora (3.5 ptos.)... 1 1.2 Ejercicio 2: Clase Circulo (1.0 pto.)... 3 1.3 Ejercicio
Programando con memoria unificada. Contenidos [15 diapositivas] Aportaciones de la memoria unificada. I. Descripción
Programando con memoria unificada IX Curso de Verano de la UMA Programación de GPUs con CUDA Contenidos [15 diapositivas] Málaga, del 15 al 24 de Julio, 2015 1. Descripción [5] 2. Ejemplos [8] 3. Observaciones
Punto muerto-interbloqueo
Punto muerto-interbloqueo Que es interbloqueo? Un grupo de procesos permanentemente parados esperando cada uno por el otro. Ejemplo de interbloqueo Process P Process Q (1) Obtener A (5) Obtener B (2) Obtener
Tema 2: La clase string
: string Programación 2 Curso 2013-2014 Índice 1 Cadenas de caracteres en C 2 Entrada / salida 3 entre vectores de caracteres y string 4 5 Cadenas de caracteres en C En C, las cadenas de caracteres tienen
Sistemas operativos. Hasta ahora hemos visto. Relación programa-sistema operativo Gestión de memoria
Sistemas operativos UPCO ICAI Departamento de Electrónica y Automática 1 Hasta ahora hemos visto Relación programa-sistema operativo Gestión de memoria Reserva para la ejecución Pilas, heap, memoria de
Tema 3: Concurrencia de procesos
Tema 3: Concurrencia de procesos Yolanda Blanco Fernández [email protected] Concurrencia, Tiempo Real y Paralelismo Concurrencia: Convivencia de un conjunto de procesos en un mismo ordenador. Sistemas
TIPOS DE DATOS DEFINIDOS POR EL PROGRAMADOR: Estructuras CONTENIDOS
ESTRUCTURAS CONTENIDOS 1. Concepto de estructura 2. Definición del tipo de dato estructura 3. Declaración de variables de tipo estructura 4. Inicialización de variables de tipo estructura 5. Acceso a los
Alicia Serrano Sánchez, Francisco Sánchez Molina, David Villa Alises, Felix Jesús Villanueva Molina y Juan Carlos López López
IceDDS: Servicio de propagación de eventos con aplicación en Smart Grids JCE 2013 Alicia Serrano Sánchez, Francisco Sánchez Molina, David Villa Alises, Felix Jesús Villanueva Molina y Juan Carlos López
Introducción a la programación orientada a objetos
Introducción a la programación orientada a objetos 1. Introducción a la programación orientada a objetos 2. Las clases 3. El tipo Struct 4. Diferencias entre Class y Struct 5. Pilares de la Programación
Instituto Politécnico Nacional
Instituto Politécnico Nacional Secretaria Académica Dirección de Estudios Profesionales Escuela Superior de Ingeniería Mecánica y Eléctrica Unidad Culhuacan Ingeniería en Comunicaciones y Electrónica Academia
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
! " # " # & ' '()*+ 0" #*
! " # " # $% & ' '()*+ #* *' ++,-"./" [Ben90] Ben-Ari, M. Concurrent and Distributed Programming Prentice Hall, 1990. [Capítulos 3, 4, 5, 6 7 y 8 ] [Ray83] Raynal, M. Algorithms for Mutual Exclusion. MIT
Contenidos. Gestión dinámica de memoria. Gestión dinámica de memoria. Introducción. 1. Introducción 2. El operador NEW 3. El operador DELETE
Contenidos 1. Introducción 2. El operador NEW 3. El operador DELETE 1 Introducción Hasta ahora hemos visto que cada vez que queremos usar una variable debemos reservarle un lugar de la memoria al comenzar
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
BENEMERITA UNIVERSIDAD AUTONOMA DE PUEBLA FACULTAD DE CIENCIAS DE LA COMPUTACIÓN LICENCIATURA EN CIENCIAS DE LA COMPUTACIÓN
BENEMERITA UNIVERSIDAD AUTONOMA DE PUEBLA FACULTAD DE CIENCIAS DE LA COMPUTACIÓN LICENCIATURA EN CIENCIAS DE LA COMPUTACIÓN PROGRAMACIÓN CONCURRENTE Y PARALELA PRACTICA 8 MONITORES BASADOS EN SEMÁFOROS
