Prácticas de Sistemas operativos
|
|
|
- Monica Silva Suárez
- hace 7 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 Tercera Semana: Comunicación entre procesos con Tuberías
2 1 Entregas 2 Introducción 3 Tuberías Ejemplo 1 Ejemplo 2 Ejemplo 3 Ejemplo 4
3 Entregas Ejercicio 9 Entrega antes de la sesión del próximo jueves 19 de febrero Examen de la primera práctica : jueves 19 de febrero
4 Comunicación entre procesos Formas elementales Envío de señales Uso de ficheros ordinarios padre ptrace hijo Tuberías Facilidades IPC del Unix System V 1 Semáforos 2 Memoria compartida 3 Colas de mensajes
5 Tuberías Canal de comunicación entre dos procesos: semi-dúplex 1 Tuberías con nombre: FIFOS 2 Tuberías sin nombre
6 Tuberías sin nombre I #include <unistd.h> int pipe(int fildes [2]); Proceso padre fd[1] fd 1 [1] Núcleo (kernel) fd[0] fd 1 [0] Proceso hijo
7 Sólo el proceso que hace la llamada y sus descendientes pueden utilizarla fildes: descriptores de fichero Leemos (read) de fildes[0] (fichero de sólo lectura) Escribimos (write) en fildes[1] (fichero de sólo escritura) Tras fork/exec los hijos heredan los descriptores de ficheros Abrimos la tubería en el padre Padre e hijo comparten la tubería La tubería es gestionada por el núcleo La dota de una disciplina de acceso en hilera
8 Llamadas a read sobre la tubería no devolverán el control hasta que no haya datos escritos por otro proceso mediante write
9 #include <s t d i o. h> #include <s t d l i b. h> # include <errno. h> #include <u n i s t d. h> # define MAX 256 main ( ) { i n t tube [ 2 ] ; char message [MAX] ; i f ( pipe ( tube ) == 1){ p e r r o r ( pipe ) ; e x i t ( 1 ) ; p r i n t f ( W r i t i n g TO the f i l e with d e s c r i p t o r #%d\n, tube [ 1 ] ) ; w r i t e ( tube [ 1 ], TEST, 5 ) ; p r i n t f ( Reading FROM the f i l e with d e s c r i p t o r #%d\n, tube [ 0 ] ) ; read ( tube [ 0 ], message, 5 ) ; p r i n t f ( READ DATA: \ %s \ \n, message ) ; close ( tube [ 0 ] ) ; close ( tube [ 1 ] ) ; e x i t ( 0 ) ;
10 Ejemplo 2 Proceso padre fd[1] Núcleo (kernel) fd[0] Proceso hijo
11 #include <s t d i o. h> #include <s t d l i b. h> #include <s t r i n g. h> # define MAX 256 main ( ) { i n t tube [ 2 ] ; i n t pid ; char message [MAX] ; i f ( pipe ( tube ) == 1){ p e r r o r ( pipe ) ; e x i t ( 1) ; i f ( ( pid = f o r k ( ) ) == 1) { p e r r o r ( f o r k ) ; e x i t ( 1) ; else i f ( pid == 0) { / C i e r r a l a t u b e r i a de e s c r i t u r a porque no l a va a usar / close ( tube [ 1 ] ) ; while ( read ( tube [ 0 ], message,max)> 0 && strcmp ( message, END\n )!= 0) p r i n t f ( \ n r e c e i v e r process. Message : %s\n, message ) ;
12 e x i t ( 0 ) ; else { / C i e r r a l a t u b e r i a de l e c t u r a porque no l a va a usar / close ( tube [ 0 ] ) ; while ( p r i n t f ( sender process. message : )!=0 && f g e t s ( message, sizeof ( message ), s t d i n )!= NULL && w r i t e ( tube [ 1 ], message, s t r l e n ( message ) + 1) > 0 && strcmp ( message, END\n )! = 0 ) ; e x i t ( 0 ) ;
13 Ejemplo 3 Proceso padre tube tx [1] tube rx [1] Núcleo (kernel) tube rx [0] tube tx [0] Proceso hijo
14 Comunicación bidireccional I main ( ) { i n t t u b e t x [ 2 ], t u b e r x [ 2 ] ; i n t pid ; char message [MAX] ; i f ( pipe ( t u b e t x ) == 1 pipe ( t u b e r x ) == 1){ p e r r o r ( pipe ) ; e x i t ( 1) ; i f ( ( pid = f o r k ( ) ) == 1) { p e r r o r ( f o r k ) ; e x i t ( 1) ; else i f ( pid == 0) { close ( t u b e t x [ 1 ] ) ; close ( t u b e r x [ 0 ] ) ; while ( read ( t u b e t x [ 0 ], message,max)> 0 && strcmp ( message, END\n )!= 0) { p r i n t f ( \ n r e c e i v e r process. Message : %s\n, message ) ; s t r c p y ( message, READY ) ; w r i t e ( t u b e r x [ 1 ], message, s t r l e n ( message ) + 1) ;
15 Comunicación bidireccional II e x i t ( 0 ) ; else { close ( t u b e r x [ 1 ] ) ; close ( t u b e t x [ 0 ] ) ; while ( p r i n t f ( sender process. message : )!=0 && f g e t s ( message, sizeof ( message ), s t d i n )!= NULL && w r i t e ( t u b e t x [ 1 ], message, s t r l e n ( message ) + 1) > 0 && strcmp ( message, END\n )! = 0 ) { do{ read ( t u b e r x [ 0 ], message, MAX) ; while ( strcmp ( message, READY )!= 0) ; e x i t ( 0 ) ;
16 Duplicación de descriptores de ficheros Si en la shell hacemos 2>&1 Por ejemplo, qué ocurre si hacemos lo siguiente? $ls -la. fichero_inventado > results.log 2>&1
17 Duplicación de descriptores de ficheros Si en la shell hacemos 2>&1 Por ejemplo, qué ocurre si hacemos lo siguiente? $ls -la. fichero_inventado > results.log 2>&1 La salida estándar de error (descriptor de fichero= 2) es redirigida al mismo sitio al que se envía la salida estándar (descriptor de fichero=1
18 Duplicación de descriptores de ficheros Si en la shell hacemos 2>&1 Por ejemplo, qué ocurre si hacemos lo siguiente? $ls -la. fichero_inventado > results.log 2>&1 La salida estándar de error (descriptor de fichero= 2) es redirigida al mismo sitio al que se envía la salida estándar (descriptor de fichero=1 La shell efectúa el redireccionamiento de la salida estándar de error 1 Duplica el descriptor de fichero 2 2 Dicho descriptor ahora se refiere al mismo
19 fcntl man fcntl dup man dup dup2 man dup2
20 Si la shell sólo ha abierto los ficheros con descriptores 0,1, y el descriptor 2 se refiere al programa en ejecución y no existen otros descriptores Qué hace la siguiente instrucción? newfd = dup(1); Cómo puedo asociar el descriptor 2 a nuestro duplicado?
21 Si la shell sólo ha abierto los ficheros con descriptores 0,1, y el descriptor 2 se refiere al programa en ejecución y no existen otros descriptores Qué hace la siguiente instrucción? newfd = dup(1); Crea el duplicado del descriptor 1 usando el fichero con descriptor 3 Cómo puedo asociar el descriptor 2 a nuestro duplicado?
22 Si la shell sólo ha abierto los ficheros con descriptores 0,1, y el descriptor 2 se refiere al programa en ejecución y no existen otros descriptores Cómo puedo asociar el descriptor 2 a nuestro duplicado? Primero cierro el fichero con descriptor 2 y luego llamo a dup
23 close(2); newfd = dup(1); En el ejemplo de antes bastaría hacer dup2(1,2);
24 #include <s t d l i b. h> #include <s t d i o. h> char cmd1 [ ] = { / bin / l s, a l, /, 0 ; char cmd2 [ ] = { / usr / bin / t r, a z, A Z, 0 ; void run1 ( i n t tube [ ] ) ; void run2 ( i n t tube [ ] ) ; i n t main ( i n t argc, char argv ) { i n t pid, s t a t u s ; i n t tube [ 2 ] ; i f ( pipe ( tube ) == 1){ f p r i n t f ( s t d e r r, E r r o r en l a l i n e a %d del f i c h e r o %s\n, LINE, F I L E ) ; e x i t ( EXIT FAILURE ) ; run1 ( tube ) ; run2 ( tube ) ; close ( tube [ 0 ] ) ; close ( tube [ 1 ] ) ; / Importante : hay que c e r r a r l o s dos d e s c r i p t o r e s de l a t u b e r i a / while ( ( pid = w ait (& s t a t u s ) )!= 1) / Esperar a que hayan terminado todos l o s h i j o s / f p r i n t f ( s t d e r r, El proceso %d ha terminado y su estado de f i n a l i z a c i o n es %d\n, pid, WEXITSTATUS( s t a t u s ) ) ; e x i t (EXIT SUCCESS) ;
25 void run1 ( i n t tube [ ] ) / E j e c u t a r l a primera parte de l a t u b e r i a / { i n t pid ; switch ( pid = f o r k ( ) ) { case 0: / h i j o / dup2 ( tube [ 1 ], 1) ; / Cerramos e l d e s c r i p t o r 1, l a s a l i d a estandar, que pasa a ser l a s a l i d a de l a t u b e r i a / close ( tube [ 0 ] ) ; / Este proceso no necesita e l o t r o extremo de l a t u b e r i a / execvp (cmd1 [ 0 ], cmd1 ) ; / E j e c u t a r e l primer comando, cmd1 / p e r r o r ( cmd1 [ 0 ] ) ; / Estamos aqui solo s i ha habido algun f a l l o / default : / El padre no hace nada / break ; case 1: p e r r o r ( f o r k ) ; e x i t ( EXIT FAILURE ) ;
26 void run2 ( i n t t u b e r i a [ ] ) / Se ejecuta l a segunda parte de l a t u b e r i a / { i n t pid ; switch ( pid = f o r k ( ) ) { case 0: / h i j o / dup2 ( t u b e r i a [ 0 ], 0) ; / Este extremo de l a t u b e r i a pasa a ser l a entrada estandar / close ( t u b e r i a [ 1 ] ) ; / Extremo de t u b e r i a que no necesita este proceso / execvp (cmd2 [ 0 ], cmd2 ) ; / Se ejecuta este comando / p e r r o r ( cmd2 [ 0 ] ) ; / Estoy aqui solo s i ha producido algun e r r o r / default : / El padre no hace nada / break ; case 1: p e r r o r ( f o r k ) ; e x i t ( 1 ) ;
27 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 Segunda Semana: Procesos, Procesos Padre y Procesos Hijo, familia exec() 1 Entregas
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
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: Programación de Sistemas. Curso Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J.
Tema 5 : Comunicación entre Procesos mediante Tuberías Sistemas Operativos: Programación de Sistemas Oscar Déniz Suárez Alexis Quesada Arencibia Francisco J. Santana Pérez Curso 2006-07 Introducción Algunas
Biblioteca de sistema
* Para la realización del presente examen se aconseja un tiempo de 2 horas. Teoría 1. Explique en detalle cómo se pasa una llamada al sistema operativo. El sistema operativo se activa cuando debe responder
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
Boletín 4- Procesos. Departamento de Lenguajes y Sistemas Informáticos
Boletín 4- Procesos Departamento de Lenguajes y Sistemas Indice 1. Introducción n (Procesos) 2. Identificadores de usuarios y procesos 3. La llamada fork() 4. Las llamadas wait() y exit() 5. La llamada
Introducción a Sistemas Operativos: Comunicación entre Procesos
Introducción a Sistemas Operativos: Comunicación entre Procesos Clips xxx Fr ancisco J Ballesteros 1. Pipefroms Otra función de utilidad realiza el trabajo inverso, permite leer la salida de un comando
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
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
Redirecciones y Tuberías
Redirecciones y Tuberías Ampliación de Sistemas Operativos (prácticas) E.U. Informática en Segovia Universidad de Valladolid Redirecciones Redirección de la entrada y la salida estándar Unix/Linux definen
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.
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
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,
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
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
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
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
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
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)
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
Sistemas Operativos. Procesos
Sistemas Operativos Procesos Agenda Proceso. Definición de proceso. Contador de programa. Memoria de los procesos. Estados de los procesos. Transiciones entre los estados. Bloque descriptor de proceso
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
Examen Final de SO Grau
Preguntas cortas 1. (0,5 puntos) Asumiendo que ninguna llamada devuelve error, representa las entradas nuevas de la TFA que aparecerán tras la ejecución del siguiente código: fork(); mknod( pipe, S_IFIFO
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
Práctica 2 Programación de Aplicaciones Distribuidas: Sockets TCP. Laboratorio de Comunicación de Datos ITT Telemática 26 de Septiembre 2011
Práctica 2 Programación de Aplicaciones Distribuidas: Sockets TCP Laboratorio de Comunicación de Datos ITT Telemática 26 de Septiembre 2011 Introducción Aplicaciones Orientadas a Conexión TCP:Servicio
Sistemas Operativos Grado Ingeniera Informática UDC. Enero 2016 Sólo puede usar lápiz, bolígrafo y calculadora. Tiempo máximo para todo el examen: 3h
Sistemas Operativos Grado Ingeniera Informática UDC. Enero 2016 Sólo puede usar lápiz, bolígrafo y calculadora. Tiempo máximo para todo el examen: 3h Parte Sistema Ficheros (Sen deben contestar correctamente
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...
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
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
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
Concurrencia en UNIX / LINUX. Introducción: Procesos e Hilos POSIX
Concurrencia en UNIX / LINUX Introducción: Procesos e Hilos POSIX El estándar POSIX POSIX: Interfaz de sistemas operativos portables. Basado en UNIX A pesar de que UNIX es ya de por sí estándar, había
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
Sistemas operativos: una visión aplicada. Capítulo 5 Comunicación y sincronización de procesos
Sistemas operativos: una visión aplicada Capítulo 5 Comunicación y sincronización de procesos Sistema multiprogramado con un una CPU Proceso A Proceso B Proceso C Tiempo Sistemas operativos: una visión
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
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
Examen de Fundamentos de la Programación (Modelo 1)
Examen de Fundamentos de la Programación (Modelo 1) 27 de noviembre de 2007 1. Qué escribe el siguiente programa si se teclea 5? int num, resultado; for (resultado=0; num; resultado++) num -= 2; printf
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
Segundo control de teoría
JUSTIFICA TODAS LAS RESPUESTAS. UNA RESPUESTA SIN JUSTIFICAR SE CONSIDERA INVALIDA EJERCICIO 1: Preguntas cortas (2 puntos) 1) Qué es el superbloque de un sistema de ficheros? qué tipo de información podemos
Fundamentos de los Sistemas Operativos. Tema 2. Procesos José Miguel Santos Alexis Quesada Francisco Santana
Fundamentos de los Sistemas Operativos Tema 2. Procesos 1998-2015 José Miguel Santos Alexis Quesada Francisco Santana Contenidos del Tema 2 Qué es un proceso Estructuras de datos para gestionar procesos
Diagrama de transiciones del autómata. Tabla de transiciones
Universidad Nacional Autónoma de México Facultad de Ingeniería Compiladores Grupo 4, Semestre 2016-1 Analizador Léxico en C Diagrama de transiciones del autómata letra letra 1 0 3 e 4 5 6 e 2 espacio Tabla
Introducción a Sistemas Operativos: Concurrencia
Introducción a Sistemas Operativos: Concurrencia Clips xxx Fr ancisco J Ballesteros 1. Semáforos Quizá la abstracción más conocida para sincronizar procesos en programación concurrente controlar el acceso
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 /
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
Segundo control de teoría
JUSTIFICA TODAS LAS RESPUESTAS. UNA RESPUESTA SIN JUSTIFICAR SE CONSIDERA INVALIDA EJERCICIO 1: PREGUNTAS CORTAS (2 PUNTOS,,5 cada pregunta) 1) Explica brevemente que efecto tiene, en las tablas de gestión
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
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
Uso avanzado de punteros
Uso avanzado de punteros Mario Medina C. [email protected] Punteros Contienen direcciones de memoria Punteros a tipos de datos simples int, char, float, double Punteros a estructuras Punteros a vectores
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
El tiempo de búsqueda es de 3 + 0,04 x ms, siendo x el número de cilindros a recorrer.
1 SISTEMA DE FICHEROS Problema 1.1 La cola de acceso a un disco tiene las siguientes peticiones (solamente indicaremos el cilindro afectado). 10, 200, 75, 32, 450, 123. El tiempo de búsqueda es de 3 +
Estructuras de Datos Declaraciones Tipos de Datos
Departamento de Informática Universidad Técnica Federico Santa María Estructuras de Datos Declaraciones Tipos de Datos Temas: 2-3-4 IWI-131, paralelo 01 Profesor: Teddy Alfaro O. Lenguaje de Programación
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
Capítulo 3: Procesos. n Concepto de Proceso. n Despacho (calendarización) de Procesos. n Operaciones en Procesos. n Procesos en cooperación
3.- Procesos Capítulo 3: Procesos Concepto de Proceso Despacho (calendarización) de Procesos Operaciones en Procesos Procesos en cooperación Compunicación Interprocesos Communicación en sistemas Cliente-Servidor
Programación de Computadores 4 Iteraciones y Decisiones. Prof. Javier Cañas. Universidad Técnica Federico Santa María Departamento de Informática
Programación de Computadores 4 Iteraciones y Decisiones Prof. Javier Cañas Universidad Técnica Federico Santa María Departamento de Informática Contenido 1 Introducción 2 Operadores Relacionales y Lógicos
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...
Introducción a Java LSUB. 30 de enero de 2013 GSYC
Introducción a Java LSUB GSYC 30 de enero de 2013 (cc) 2013 Laboratorio de Sistemas, Algunos derechos reservados. Este trabajo se entrega bajo la licencia Creative Commons Reconocimiento - NoComercial
8- LEX-Expresiones regulares
8- LEX-Expresiones regulares Objetivos: Utilizar la herramienta KEX para trabajar con expresiones regulares Recursos: Maquina virtual Linux distribución Bodhi LXterminal y FLEX Introducción Flex le permite
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
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
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
REPRESENTACIÓN INTERNA DE FICHEROS
REPRESENTACIÓN INTERNA DE FICHEROS Inodos Existe un inodo para cada fichero del disco. Los inodos se encuentran: o o En disco, en la lista de inodos. En memoria, en la tabla de inodos, de estructura semejante
PROCESOS. Sistemas Operativos
PROCESOS Un proceso es un programa que se encuentra en ejecución. Un proceso no sólo es una copia del programa, sino que el núcleo le añade: un segmento de texto, un segmento de datos y un segmento de
- Bajo que condiciones el algoritmo de planifiación de procesos FIFO (FCFS) resultaría en el tiempo de respuesta promedio más pequeño?
Sistemas Operativos. Grado Ingeniería Informática. TGR-2.1 Procesos. Noviembre 2014 Problemas para hacer en clase FIFO cpu C A 1. Dos procesos A y B tienen una ráfaga de CPU de 50 ms y un proceso C tiene
