Sistemas Operativos INF - 151
|
|
- Agustín Gallego San Segundo
- hace 5 años
- Vistas:
Transcripción
1 Sistemas Operativos INF MODULO II. PROCESOS 2.3 Concurrencia y Exclusión Mutua 12/10/07 Resumen preparado por Miguel Cotaña
2 El diseño de SO están relacionados con la gestión de procesos e hilos: Multiprogramación. Gestión de múltiples procesos dentro de un sistema monoprocesador. Multiprocesamiento. Gestión de múltiples procesos dentro de un multiprocesador. Procesamiento distribuido. Gestión de múltiples procesos que ejecutan sobre múltiples sistemas de cómputo distribuidos. 2
3 Principios de concurrencia Según el diccionario, concurrencia es: El Acaecimiento o concurso de varios sucesos en un mismo tiempo Concurrencia es el conjunto de actividades que se desarrollan de forma simultánea En computación cada una de esas actividades se suele llamar proceso 3
4 Comunicación entre procesos. Compartición y competencia por los recursos. Sincronización de la ejecución de varios procesos. Asignación del tiempo de procesador a los procesos. 4
5 Programa y proceso Puede haber múltiples procesos en ejecución que correspondan al mismo programa Ejemplo: Un servidor de aplicaciones donde reside un navegador de Internet y existen varios usuarios ejecutando ese navegador 5
6 Dos procesos serán concurrentes cuando exista solapamiento (intercalado) en la ejecución de sus instrucciones Tres procesos (independientes) concurrentes ejecutándose al mismo tiempo sobre el sistema operativo (cada proceso corresponde a una instancia del programa del navegador) 6
7 Un Programa al ponerse en ejecución, puede dar lugar a más de un proceso, c/u de ellos ejecutando una parte del programa Por ejemplo: El programa del navegador de Internet formado por n procesos: uno que controla las acciones del usuario con la interfaz, otro que hace las peticiones al servidor, etc. 7
8 El Proceso p1.1 y el Proceso p1.2 pueden estar colaborando para hacerle la vida más fácil al usuario El proceso p1.2 y el proceso p2.2 pueden estar compitiendo para acceder a disco 8
9 En un sistema multiprogramado único, los procesos se entrelazan en el tiempo para ofrecer la apariencia de ejecución simultánea tiempo Proceso 1 bloqueando ejecutando Proceso 2 Proceso 3 Intercalado (multiprogramación, un procesador) 9
10 En un sistema de múltiples procesadores no sólo es posible entrelazar la ejecución de múltiples procesos sino también solaparlas tiempo Proceso 1 Proceso 2 Proceso 3 Intercalado y solapamiento (multiproceso; 2 procesadores) 10
11 El entrelazado y el solapamiento son técnicas que pueden verse como ejemplos de procesamiento concurrente. En el caso de un monoprocesador, los problemas surgen de una característica básica de los sistemas multiprogramados: no puede predecirse la velocidad relativa de ejecución de los procesos. Ésta depende de la actividad de los otros procesos, de la forma en que el SO maneja las interrupciones y de las políticas de planificación del SO. 11
12 Se plantean las siguientes dificultades: 1) La compartición de recursos globales está cargada de peligros. Por ejemplo, si 2 procesos utilizan ambos la misma variable global y ambos realizan lecturas y escritura sobre esa variable, entonces el orden en que se ejecuten las lecturas y escrituras es crítico 12
13 2) Para el SO es complicado gestionar la asignación de recursos óptimamente. Por ejemplo, un proceso puede solicitar el uso de un canal concreto de E/S, y serle concedido el control, y luego ser suspendido justo antes de utilizar ese canal. 3) Llega a ser muy complicado localizar errores de programación. 13
14 En un sistema multiprocesador, también se presentan todas las dificultades mencionadas void echo() ent = getchar(); sal = ent; putchar(sal); 14
15 Es necesario proteger las variables globales compartidas (así como otros recursos globales compartidos) y que la única manera de hacerlo es controlar el código que accede a la variable Hemos ido suponiendo de que se trata de un SO multiprogramado para un monoprocesador. En un sistema multiprocesador, aparecen los mismos problemas de recursos compartidos protegidos, y funcionan las mismas soluciones. 15
16 Supóngase que no hay mecanismo para controlar los accesos a la variable global compartida: Proceso P1 Proceso P2.. ent = getchar();... ent = getchar(); sal = ent; sal = ent; putchar(sal);.. putchar(sal);.. 16
17 En el caso de un sistema monoprocesador, el motivo por el que se tiene un problema es que una interrupción puede parar la ejecución de instrucciones en cualquier punto de un proceso. En un sistema multiprocesador, se tiene el mismo motivo y, además, puede suceder porque 2 procesos pueden estar ejecutando simultáneamente y ambos intentando acceder a la misma variable global. Sin embargo, la solución es la misma: controlar los accesos a los recursos compartidos. 17
18 Condición de carrera Una condición de carrera sucede cuando múltiples procesos o hilos leen y escriben datos de manera que el resultado final depende del orden de ejecución de las instrucciones en los múltiples procesos. Ejemplo1: Considere los procesos P1 y P2, que comparten las variables globales b y c, con valores iniciales b=1 y c=2. En algún punto de su ejecución, P1 ejecuta b=b+1 y en algún punto de su ejecución, P2 ejecuta c=b+c 18
19 Interacción de procesos Podemos clasificar las formas en que los procesos interaccionan en base al grado en que perciben la existencia de cada uno de los otros: Procesos que no se perciben entre sí. Son procesos independientes que no se pretende que trabajen juntos. Aunque los procesos no estén trabajando juntos, el SO necesita preocuparse de la competencia por recursos. 19
20 Procesos que se perciben indirectamente entre sí. Son procesos que no están necesariamente al tanto de la presencia de los demás mediante sus respectivos ID de procesos, pero que comparten accesos a algún objeto, como un buffer de E/S. Tales procesos exhiben cooperación en la compartición del objeto común Procesos que se perciben directamente entre sí. Capaces de comunicarse entre sí vía el ID del proceso. Tales procesos exhiben cooperación. 20
21 Competencia entre procesos por recursos Los procesos concurrentes entran en conflicto entre ellos cuando compiten por el uso del mismo recurso. No existe intercambio de información entre los procesos en competencia. Si 2 procesos desean ambos acceder al mismo recurso único, el SO reservará el recurso para uno de ellos y el otro tendrá que esperar. Por tanto, el proceso al que se le deniega el acceso será ralentizado 21
22 En el caso de procesos en competencia, deben afrontarse 3 problemas de control: Exclusión mutua Interbloqueo Inanición Recurso crítico Sección crítica 22
23 Suponiendo que 2 o más procesos requieren acceso a un recurso (impresora) único no compartible. Durante la ejecución, cada proceso estará enviando mandatos al dispositivo de E/S, recibiendo información de estado, enviando o recibiendo datos. Tal recurso es un recurso crítico, y a la porción del programa que lo utiliza como la sección crítica del programa 23
24 La aplicación de la exclusión mutua crea 2 problemas: interbloqueo e inanición. El interbloqueo se define como: El Bloqueo permanente de un conjunto de procesos que ya sea, compiten por los recursos del sistema o bien se comunican unos con otros. 24
25 Situación en la que se encuentran un conjunto de procesos, (al menos dos), tal que cada proceso del conjunto espera la ocurrencia de un evento que sólo puede ser provocado por otro proceso del mismo conjunto. Todos los interbloqueos suponen demandas contradictorias de recursos por parte de 2 o más procesos. 25
26 Un conjunto de procesos está en bloqueo mutuo/interbloqueo si cada proceso del conjunto está esperando un evento que sólo otro proceso del conjunto puede causar. Los bloqueos ocurren en entornos multiprogramación, cuando varios procesos compiten por un número limitado de recursos. El bloqueo ocurre cuando un proceso monopoliza el acceso a un recurso y requiere otro recurso que ha sido ya asignado a un segundo proceso, que a su vez necesita el recurso monopolizado por el primer proceso. 26
27 Ejemplos: Ley del estado de Kansas: Si dos trenes se aproximan uno al otro en un cruce, ambos harán alto total y ninguno arrancará de nuevo hasta que el otro se haya ido 2 personas llamándose por teléfono mutuamente 27
28 28
29 29
30 Recursos: Son los objetos otorgados/usados por los procesos en un instante dado. Secuencia de eventos necesarios para utilizar un recurso: 1. Solicitar el recurso 2. Utilizar el recurso 3. Liberar el recurso 30
31 De acuerdo a su estructura real hay 2 tipos: Físicos (dispositivos de HW): Memoria, dispositivos. etc. Lógicos (elemento de información): archivos, semáforos, cerrojos, mensajes, señales, etc. De acuerdo a su uso hay 2 tipos: Reutilizables Consumibles 31
32 Recursos Reutilizables: Es aquél que puede ser usado por un proceso y no se agota con el uso. Los procesos obtienen recursos que liberan posteriormente para que otros procesos las reutilicen. Ejemplo: Procesadores, canales E/S, memoria principal y secundaria, archivos, BD, etc, 32
33 Recursos Consumibles Es aquél que puede ser creado (producido) y destruido (consumido). Ej: Interrupciones, señales, mensajes, etc. 33
34 Un ejemplo de inanición: Suponiendo 3 procesos (P1,P2, P3) requieren todos accesos periódicos al recurso R. Si P1 está en posesión del recurso y P2 y P3 están ambos retenidos, esperando por ese recurso. Cuando P1 termine su sección crítica, debería permitírsele acceso a R a P2 o P3. Suponiendo que el SO le concede acceso a P3 y que P1 solicita acceso otra vez antes de completar su sección crítica. Si el SO le concede acceso a P1 después de que P3 haya terminado, y posteriormente concede alternativamente acceso a P1 y P3, entonces a P2 puede denegársele indefinidamente el acceso al recurso, aunque no suceda interbloqueo 34
35 En términos abstractos la exclusión mutua, se puede ilustrar: /*PROCESO 1 */ Void P1 while (true) /* código anterior */; entrarcritica (Ra); /* sección crítica */; salircritica (Ra); /* código posterior */; /*PROCESO 2 */ Void P1 while (true) /* código anterior */; entrarcritica (Ra); /* sección crítica */; salircritica (Ra); /* código posterior */; /*PROCESO n */ Void P1 while (true) /* código anterior */; entrarcritica (Ra); /* sección crítica */; salircritica (Ra); /* código posterior */; 35
36 Cooperación entre procesos vía compartición Cubre procesos que interaccionan con otros procesos sin tener conocimiento explícito de ellos. Por ejemplo, múltiples procesos pueden tener acceso a variables compartidas o a BD. Los procesos pueden usar y actualizar los datos compartidos sin referenciar otros procesos pero saben que otros procesos pueden tener acceso a los mismos. Así, los procesos deben cooperar para asegurar que los datos compartidos son manipulados adecuadamente. 36
37 Tomando en cuanta que los datos están contenidos en recursos (dispositivos, memoria), los problemas de exclusión mutua, interbloqueo e inanición están presentes de nuevo. La única diferencia es que los datos individuales pueden ser accedidos de dos maneras diferentes, lectura y escritura, y sólo las operaciones de escritura deben ser mutuamente exclusivas 37
38 Por encima de estos problemas, surge un nuevo requisito: el de la coherencia de datos Ejemplo: P1 y P2 que comparten datos a y b que deben cumplir a=b P1 P2 (I 11 ) a = a + 1; (I 21 ) b = b * 2; (I 12 ) b = b + 1; (I 22 ) a = a * 2; Supóngase ahora la secuencia de ejecución siguiente: (I 11, I 21 I 12 I 22 ) Sí el estado es inicialmente consistente, cada proceso tomado por separado dejará los datos compartidos en un estado consistente. 38
39 Cooperación entre procesos vía comunicación En los 2 casos tratados, cada proceso tiene su propio entorno aislado que no incluye a los otro procesos. Las interrelaciones entre los proceso son indirectas. En ambos casos hay cierta compartición. En el caso de la competencia hay recursos compartidos sin ser conscientes de los otros procesos. En el segundo caso, hay compartición de valores y aunque cada proceso no es explícitamente consciente de los demás procesos, es conciente de la necesidad de mantener la integridad de datos. 39
40 Cuando los procesos cooperan vía comunicación, en cambio, los diversos procesos involucrados participan en un esfuerzo común que los vincula a todos ellos. La comunicación proporciona una manera de sincronizar o coordinar actividades varias. Típicamente, la comunicación se fundamenta en mensajes de algún tipo. Las primitivas de envío y recepción de mensajes deben ser proporcionadas como parte del lenguaje de programación o por el núcleo del SO. 40
41 Requisitos para la exclusión mutua Cualquier mecanismo o técnica que vaya a proporcionar exclusión mutua debería contemplar los siguientes requisitos: 1. La exclusión mutua debe hacerse cumplir: sólo se permite un proceso al tiempo dentro de su sección crítica, de entre todos los procesos que tienen secciones críticas para el mismo recurso compartido. 2. Un proceso que se pare en su sección no crítica debe hacerlo sin interferir con otros procesos. 41
42 3. No debe ser posible que un proceso que solicite acceso a una sección crítica sea postergado indefinidamente: ni interbloqueo ni inanición. 4. Cuando ningún proceso esté en una sección crítica, a cualquier proceso que solicite entrar en su sección crítica debe permitírsele entrar sin demora. 5. No se hacen suposiciones sobre las velocidades relativas de los procesos ni sobre el número de procesadores. 6. Un proceso permanece dentro de su sección crítica sólo por un tiempo finito. 42
43 Exclusión mutua: soporte hardware Deshabilitar interrupciones En una máquina monoprocesador, los procesos concurrentes no pueden solaparse, sólo pueden entrelazarse. Es más, un proceso continuará ejecutando hasta que invoque un servicio del SO o hasta que sea interrumpido. Por tanto, para garantizar la exclusión mutua, basta con impedir que un proceso sea interrumpido 43
44 Un proceso puede cumplir la exclusión mutua, de la siguiente forma: While (true) /*deshabilitar interrupciones */; /*sección crítica */; /*habilitar interrupciones */; /*resto */; 44
45 Instrucciones máquina especiales A un nivel de hardware, el acceso a una posición de memoria excluye cualquier otro acceso a la misma posición. Con este fundamento, los diseñadores de procesadores han propuesto varias instrucciones máquina que llevan a cabo 2 acciones atómicamente, como leer y escribir o leer y comprobar, sobre una única posición de memoria con un único ciclo de búsqueda de instrucción. 45
46 Durante la ejecución de la instrucción, el acceso a la posición de memoria se le bloquea a toda otra instrucción que referencie esa posición. Típicamente, estas acciones se realizan en un único ciclo de instrucción. Se consideran: Instrucción Test and Set Instrucción Exchange 46
47 Instrucción Test and Set (comprueba y establece). Esta instrucción puede definirse como: boolean testset (int i) if (i==o) i=1; return true; else return false; 47
48 /* programa exclusión mutua */ const int n= /* número de procesos */; int cerrojo; void P(int i) while (true) while (!testset (cerrojo)) /* no hacer nada */; /* sección crítica */; cerrojo=0; /* resto */ void main() cerrojo=0; paralelos (P(1), P(2),..,P(n)); 48
49 Instrucción Exchange. La instrucción exchange como: (intercambio) puede definirse void exchange (int registro, int memoria) int temp; temp = memoria; memoria = registro; registro = temp; 49
50 /* programa exclusión mutua */ const int n= /* número de procesos */; int cerrojo; void P(int i) int llavei = 1; while (true) do exchange (llavei, cerrojo) while (llavei!=0); /* sección crítica */; exchange (llavei, cerrojo); /* resto */ void main() cerrojo=0; paralelos (P(1), P(2),..,P(n)); 50
51 Propiedades de la solución instrucción máquina. El uso de una instrucción máquina especial para conseguir exclusión mutua tiene ciertas ventajas: Es aplicable a cualquier número de procesos sobre un procesador único o multiprocesador de MP compartida. Es simple y, por tanto, fácil de verificar. Puede ser utilizado para dar soporte a múltiples secciones críticas: cada sección crítica puede ser definida por su propia variable. 51
52 Entre las desventajas serias: Se emplea espera activa. Mientras un proceso está esperando para acceder a una sección crítica, continúa consumiendo tiempo de procesador. Es posible la inanición. Cuando un proceso abandona su sección crítica y hay más de un proceso esperando, la selección del proceso en espera es arbitraria. Es posible el interbloqueo. 52
53 Semáforos Una de las soluciones más famosas y significantes del problema de cooperación entre procesos paralelos fue la propuesta de Dijkstra. Su solución introdujo un nuevo tipo de variables, llamadas semáforos, y 2 operaciones especiales. 53
54 La propuesta de Dijkstra es el resultado de su crítica a las soluciones con espera activa. Y dice, cuando un proceso está ejecutando las instrucciones de la sección crítica, ningún otro puede estar en la sección. Además, si alguno quiere entrar, tiene que esperar hasta que termine la ejecución del proceso en turno. 54
55 Durante este tiempo nada se puede cambiar, entonces no tiene caso que el proceso esté esperando, repitiendo inútilmente la revisión del valor de una variable (o más). Mejor que descanse abriendo la posibilidad de que el tiempo de procesador lo aproveche quien lo necesite verdaderamente. La idea básica es la suspensión de los procesos que no pueden entrar y su reactivación, cuando algún proceso sale de la sección. 55
56 Dos o más procesos pueden cooperar por medio de simples señales, tales que un proceso pueda ser obligado a parar en un lugar específico hasta que haya recibido una señal específica. Cualquier requisito complejo de coordinación puede ser satisfecho con la estructura de señales apropiada 56
57 Para la señalización, se utiliza la variable semáforo. Para transmitir una señal vía el semáforo s, el proceso ejecutará la primitiva semsignal(s). Para recibir una señal vía el semáforo s, el proceso ejecutará la primitiva semwait(s); si la correspondiente señal no se ha transmitido todavía, el proceso se suspenderá hasta que la transmisión tenga lugar. 57
58 Las 3 operaciones son: 1. Un semáforo puede ser inicializado a un valor no negativo 2. La operación semwait decrementa el valor del semáforo. Si el valor pasa a ser negativo, entonces el proceso que está ejecutando semwait se bloquea. En otro caso, el proceso continúa su ejecución. 3. La operación SemSignal incrementa el valor del semáforo. Si el valor es menor o igual que cero, entonces se desbloquea uno de los procesos bloqueados en la operación semwait. 58
59 Struct semaphore int cuenta; queuetype cola; void semwait(semaphore s) s.cuenta--; if (s.cuenta<0) poner este proceso en s.cola; bloquear este proceso; void semsignal(semaphore s) s.cuenta++; if (s.cuenta <= 0) extraer un proceso P de s.cola; poner el proceso P en la lista de listos; Definición de primitivas del semáforo 59
60 Un semáforo binario, define 3 operaciones 1. Un semáforo binario puede ser de inicio 0 o 1 2. La operación semwaitb comprueba el valor del semáforo. Si el valor es cero, entonces el proceso que está ejecutando samwaitb se bloquea. Si el valor es 1, entonces se cambia el valor a cero y el proceso continúa su ejecución. 3. La operación semsignalb comprueba si hay algún proceso bloqueado en el semáforo. Si lo hay, entonces se desbloquea uno de los procesos bloqueados en la operación semwaitb. Si hay bloqueados, entonces el valor del semáforo se pone a uno. 60
61 Struct binary_semaphore enum cero, uno valor; queuetype cola; void semwaitb(binary_semaphore s) if (s.valor == 1) s.valor = 0; else poner este proceso en s.cola; bloquear este proceso; void semsignalb(binary_semaphore s) if (esta_vacia(s.cola)) s.valor = 1; else extraer un proceso P de s.cola; poner el proceso P en la lista de listos; Def. de prim. del semáforo binario o mutex 61
62 El orden en que son extraídos de la cola es FIFO: el proceso que lleve más tiempo bloqueado es el primero en ser extraído de la cola; un semáforo cuya definición incluye esta política se denomina semáforo fuerte. Un semáforo que no especifica el orden en que los procesos son extraídos de la cola es un semáforo débil. 62
63 Ejemplo de mecanismo de semáforo fuerte: 1 procesador A s = 1 C D B Cola de bloqueados semáforo Cola de listos 2 B s = 0 A C D 3 Cola de bloqueados D Cola de listos s = -1 A C Cola de bloqueados Cola de listos 63
64 4 D s = 0 B A C Cola de bloqueados Cola de listos 5 C s = 0 D B A Cola de bloqueados Cola de listos 6 D 7 B A Cola de bloqueados C s = -3 D Cola de listos B A Cola de bloqueados s = -2 Cola de listos C 64
65 Exclusión mutua usando semáforos El problema de la exclusión mutua se puede resolver correctamente usando los semáforos con sus respectivas operaciones. Los semáforos fuertes garantizan estar libres de inanición, mientras que los semáforos débiles no. Se asumirán semáforos fuertes dado que son más convenientes y porque ésta es la forma típica del semáforo proporcionado por los SO. 65
66 /* programa exclusión mutua */ const int n= /* número de procesos */; semafore s = 1; void P(int i) while (true) semwait(s); /* sección crítica */; semsignal(s); /* resto */ void main() paralelos (P(1), P(2),..,P(n)); 66
67 El problema productor/consumidor En algún sistema están trabajando en paralelo N (N>=1) procesos de productores y K(K>=1) procesos consumidores. Cada proceso productor está preparando una porción de datos, mandándola después para que la pueda usar alguno de los consumidores. Cada proceso consumidor recibe una porción de datos y la consume 67
68 Productor: while (true) /*preparación de datos*/; /*envio de datos*/; Consumidor: while (true) /*recepción de datos*/; /*consumo de datos*/; 68
69 Es decir, hay uno o más procesos generando algún tipo de datos (registros, caracteres) y poniéndolos en un buffer. Hay un único consumidor que está extrayendo datos de dicho buffer de uno en uno. El sistema está obligado a impedir la superposición de las operaciones sobre los datos. Asumiremos que el buffer es infinito (buffer no restringido) y consiste en un vector de datos: 69
70 Productor: while (true) /*producir dato v */; b[entra] = v; entra++; Consumidor: while (true) while (entra <= sale) /*no hacer nada*/; w = b[sale]; sale++ /*consumir dato w */ 70
71 /* programa productor consumidor con */ /* buffer infinito usando semáforos binarios */ int n; binary_semaphore s = 1; binary_semaphore retardo = 0; void productor() while (true) producir(); semwaitb(s); anyadir(); n++; if (n==1) semsignalb(retardo); semsignalb(s) 71
72 void consumidor() int m; /* una variable local */ semwaitb(retardo); while (true) semwaitb(s); extraer(); n--; m = n; semsignalb(s); consumir(); if (m==0) semwaitb(retardo); void main() n = 0; paralelos (productor, consumidor); 72
73 Monitores Los semáforos proporcionan una herramienta potente y flexible para conseguir la exclusión mutua y para la coordinación de procesos. Sin embargo, puede ser difícil producir un programa correcto utilizando semáforos. La dificultad es que las operaciones semwait semsignal pueden estar dispersas a través de un programa y no resulta fácil ver el efecto global de estas operaciones sobre los semáforos a los que afectan. y 73
74 El monitor es una construcción del lenguaje de programación que proporciona una funcionalidad equivalente a la de los semáforos pero es más fácil de controlar. La construcción monitor ha sido implementada en cierto número de lenguajes de programación, incluyendo Pascal Concurrente, Pascal-Plus, Modula-2, Modula-3 y Java. También ha sido implementada como una biblioteca de programa. 74
75 Monitor con señal Un monitor es un módulo software consistente en uno o más procedimientos, una secuencia de inicialización y datos locales. Las características son: Las variables locales de datos son solo accesibles por los procedimientos del monitor y no por ningún procedimiento externo Un proceso entra en el monitor invocando uno de sus procedimientos 75
76 Sólo un proceso puede estar ejecutando dentro del monitor al tiempo; cualquier otro proceso que haya invocado al monitor se bloquea, en espera de que el monitor quede disponible Las 2 primeras características guardan semejanza con las de los objetos en software OO. 76
77 /* programa productor consumidor usando monitor */ monitor bufferacotado; char buffer[n]; int dentro, fuera; int cuenta; cond nolleno, novacio; void anyadir(char x) if (cuenta == N) cwait(nolleno); buffer[dentro] = x; dentro = (dentro +1) % N; cuenta++; csignal(novacio); Void extraer (char x) if (cuenta == 0) cwait(novacio); x = buffer[fuera]; fuera = (fuera + 1) % N; cuenta--; csignal(no lleno); dentro = 0; fuera = 0; cuenta = 0; 77
78 void productor() char x; while (true) producir(x); anyadir(x); void consumidor() char x; while (true) extraer(x); consumir(x); Void main() paralelos (productor, consumidor); 78
79 Paso de mensajes Cuando los procesos interaccionan entre sí, deben satisfacerse 2 requisitos fundamentales: sincronización y comunicación. Los proceso necesitan ser sincronizados para conseguir exclusión mutua. Los procesos cooperantes pueden necesitar intercambiar información. Un enfoque que proporciona ambas funciones es el paso de mensajes. 79
80 El paso de mensajes tiene la ventaja añadida de que se presta a ser implementado tanto en sistemas distribuidos como en multiprocesadores de memoria compartida y sistemas monoprocesador. La funcionalidad real del paso de mensajes se da en forma de un par de primitivas: send(destino, mensaje) receive(origen, mensaje) 80
81 Formato de mensaje S1 S1 PUERTO R1 PUERTO R1 a) uno a uno Sn b) Muchos a uno R1 S1 R1 S1 BUZON BUZON c) uno a muchos Sn Sn d) Muchos a muchos Rn 81
Concurrencia, exclusión mutua y sincronización. Capítulo 5 HungriaBerbesi
Concurrencia, exclusión mutua y sincronización Capítulo 5 HungriaBerbesi 1 Concurrencia Múltiples aplicaciones Aplicaciones estructuradas Estructura del sistema operativo 2 Concurrencia 3 Sección Crítica:
Más detallesSISTEMAS OPERATIVOS: COMUNICACIÓN Y SINCRONIZACIÓN ENTRE PROCESOS. Procesos concurrentes y problemas en la comunicación y la sincronización
SISTEMAS OPERATIVOS: COMUNICACIÓN Y SINCRONIZACIÓN ENTRE PROCESOS Procesos concurrentes y problemas en la comunicación y la sincronización Contenido 2 Concurrencia. Condiciones de carrera. Exclusión mutua
Más detallesSISTEMAS OPERATIVOS:
SISTEMAS OPERATIVOS: Lección 6: Procesos concurrentes y problemas en la comunicación y la sincronización Jesús Carretero Pérez Alejandro Calderón Mateos José Daniel García Sánchez Francisco Javier García
Más detallesConcurrencia de Procesos
Concurrencia de Procesos Dos o mas procesos, se dice que son concurrentes o paralelos, cuando se ejecutan al mismo tiempo. Esta concurrencia puede darse en un sistema con un solo procesador (pseudo paralelismo)
Más detallesAcceso coordinado a recursos compartidos
Programación Concurrente en Linux Acceso coordinado a recursos compartidos Alberto Lafuente, Dep. KAT/ATC de la UPV/EHU, bajo Licencia Creative Commons 1 Contenido 1. Recursos compartidos 2. Mecanismos
Más detallesUnidad 2: Gestión de Procesos
Unidad 2: Gestión de Procesos Tema 6, Concurrencia: Exclusión mutua y sincronización. 6.1 Principios generales de concurrencia. 6.2 EM: Soluciones software (Algoritmos de Dekker y Peterson). 6.3 EM: Soluciones
Más detallesISO Tema 8,
ISO Tema 8, 2017-2018 Pablo González Nalda Depto. de Lenguajes y Sistemas Informáticos 13 de abril de 2018 Modificado el 27 de abril de 2018 de la presentación 1 2 3 4 5 6 7 2 / 32 1 2 3 4 5 6 7 3 / 32
Más detallesProgramación Concurrente Recopilación de teoría referente a la materia
UNIVERSIDAD AMERICANA Programación Concurrente Recopilación de teoría referente a la materia Ing. Luis Müller Esta es una recopilación de la teoría referente a la asignatura Programación Concurrente, a
Más detallesMaterial Adicional (SOSD Mod 4) Concurrencia Exclusión mutua y sincronización. Slides de Samuel Oporto Díaz
Material Adicional (SOSD Mod 4) Concurrencia Exclusión mutua y sincronización Slides de Samuel Oporto Díaz CONCURRENCIA 2 Concurrencia La concurrencia es la simultaneidad de hechos. Un programa concurrente
Más detallesCONCURRENCIA. Sincronización. Sistemas Operativos y Distribuidos. Prof. Javier Echaiz 1. Material Adicional (SOSD Mod 4)
Material Adicional (SOSD Mod 4) Concurrencia Exclusión mutua y sincronización CONCURRENCIA Slides de Samuel Oporto Díaz 2 Concurrencia La concurrencia es la simultaneidad de hechos. Un programa concurrente
Más detallesUnidad 1: Gestión de Procesos
Unidad 1: Gestión de Procesos Tema 1, Concurrencia: Exclusión mutua y sincronización. 1.1 Problema de la sección crítica, alternativas al uso de semáforos: - Regiones críticas, Monitores, Variables de
Más detallesProgramación Concurrente y Paralela. Unidad 1 Introducción
Programación Concurrente y Paralela Unidad 1 Introducción Contenido 1.1 Concepto de Concurrencia 1.2 Exclusión Mutua y Sincronización 1.3 Corrección en Sistemas Concurrentes 1.4 Consideraciones sobre el
Más detallesSistemas Operativos. Concurrencia. Concurrencia de procesos. Concurrencia de procesos. Ejecución simultánea de procesos.
Sistemas Operativos Concurrencia Mario Medina (mariomedina@udec.cl) Everybody understands what concurrency means? Two lies at once. Todos entienden qué significa concurrencia? Dos mentiras a la vez. Luis
Más detallesSincronización de procesos
Sincronización de procesos Contenido Procesos concurrentes. El problema de la seccion critica Problemas clásicos de comunicación y sincronización. Mecanismos de comunicación y sincronización. DSO 2014
Más detallesUnidad 2: Gestión de Procesos
Unidad 2: Gestión de Procesos Tema 6, Principios de Programación Concurrente 6.1 Principios generales de concurrencia. 6.2 EM: Soluciones software (Algoritmos de Dekker y Peterson). 6.3 EM: Soluciones
Más detallesConcurrencia. 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
Más detallesHilos Secciones Stallings:
Capítulo 4 Hilos Secciones Stallings: 4.1 4.3 Contenido Procesos e hilos. Hilos a nivel de núcleo y a nivel de usuario. Multiprocesador simétrico (SMP). Micronúcleos. 1 Proceso Unidad de propiedad de los
Más detallesSistemas 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
Más detallesSistemas operativos. Comunicación y sincronización de procesos
Sistemas operativos Comunicación y sincronización de procesos Comunicación y sincronización de procesos Contenido 1. Introducción 2. Comunicación por memoria común 3. El problema de la sección crítica
Más detalles*** SOLUCIONES *** SISTEMAS OPERATIVOS Examen Parcial 24 de Abril de 2010
Calificación SISTEMAS OPERATIVOS Examen Parcial 24 de Abril de 2010 1 2 3 4 Nombre *** SOLUCIONES *** Titulación Dispone de tres horas para realizar el examen 1 (5 puntos) Test. En cada uno de los siguientes
Más detallesSistemas 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
Más detallesSincronización entre procesos (aka: semáforos)
Sincronización entre procesos (aka: semáforos) DC - FCEyN - UBA Sistemas Operativos, 1c-2016 Dónde estamos? De dónde venimos? Race condition Semáforos Race condition Semáforos Primero repasemos brevemente
Más detallesConcurrencia, exclusión mutua y sincronización.
Resumen de sistemas operativos. Segundo Corte. Secciones 703M- 704M y 705M Msc Hungria Berbesi Concurrencia, exclusión mutua y sincronización. Multiporgramación: consiste en la gestión de varios procesos
Más detallesSistemas Operativos Tema 6. Concurrencia
Contenidos Sistemas Operativos Tema 6. Concurrencia Sistemas concurrentes El problema de la sección crítica Semáforos Monitores 1998-2008 José Miguel Santos Alexis Quesada Francisco Santana 1 2 Bibliografía
Más detallesTarea 2. Descripción y Control de Procesos
1 Tarea 2. 1. En qué consiste una traza de instrucciones? Consiste en listar las secuencias de instrucciones que ejecuta cada proceso. El procesador puede caracterizarse mostrando la forma en que intercalan
Más detallesCapítulo 3. Procesos concurrentes 3.1. Conceptos de programación concurrente La computación concurrente es la simultaneidad en la ejecución de
Capítulo 3. Procesos concurrentes 3.1. Conceptos de programación concurrente La computación concurrente es la simultaneidad en la ejecución de múltiples tareas interactivas. Estas tareas pueden ser un
Más detallesUniversidad Autónoma del Estado de Hidalgo Instituto de Ciencias Básicas e Ingeniería Área Académica de Computación y Electrónica
Universidad Autónoma del Estado de Hidalgo Instituto de Ciencias Básicas e Ingeniería Área Académica de Computación y Electrónica Licenciatura en Sistemas Computacionales Sistemas Operativos Docente: M.G.A.
Más detallesConcurrencia: Exclusión mutua y Sincronización
Concurrencia: Exclusión mutua y Sincronización Prof. Carlos Figueira Basado en materiales de Yudith Cardinale (USB) Williams Stallings, Eugene Styer Concurrencia Múltiples aplicaciones Aplicaciones estructuradas
Más detallesCAPITULO 6. Control de Concurrencia y Recuperación
CAPITULO 6 Control de Concurrencia y Recuperación 6.1 Protocolos de Bloqueo Un protocolo de bloqueo nace de la necesidad creada cuando una transacción solicita un bloqueo de un modo particular sobre un
Más detallesSISTEMAS OPERATIVOS I (Sistemas) / SISTEMAS OPERATIVOS (Gestión) septiembre 2009
SISTEMAS OPERATIVOS I (Sistemas) / SISTEMAS OPERATIVOS (Gestión) septiembre 2009 4. (2 p) Dos procesos A y B se ejecutan concurrentemente en un determinado sistema. El proceso A ejecuta unas tareas ( Tareas
Más detallesUniversidad Autónoma de Baja California Facultad de Ciencias Administrativas Unidad Mexicali
SISTEMAS OPERATIVOS I Clave: 4595 HC: 3 HL: 2 HT: HPC: HCL: HE: CR: 8 Etapa de formación a la que pertenece: Básica Carácter de la Asignatura: Obligatoria PROPÓSITO GENERAL DEL CURSO Proporcionar al estudiante
Más detallesConcurrencia. Programación Concurrente. Espera ocupada. Primitivas IPC con bloqueo
Concurrencia Programación Concurrente Espera ocupada. Primitivas IPC con bloqueo Programación concurrente Los lenguajes concurrentes tienen elementos para: Crear procesos Sincronizar procesos Comunicar
Más detallesExamen de Programación Concurrente - Clave: a Junio 2008 Departamento de Lenguajes, Sistemas Informáticos e Ingeniería del Software.
Junio 2008 Programación Concurrente 1/6 Normas Examen de Programación Concurrente - Clave: a Junio 2008 Departamento de Lenguajes, Sistemas Informáticos e Ingeniería del Software Este examen es un cuestionario
Más detallesPROGRAMACIÓN CONCURRENTE
PROGRAMACIÓN CONCURRENTE Lenguajes de Programación - Progr. Concurrente 1 Introducción El concepto fundamental de la programación concurrente es la noción de Proceso. Proceso: Cálculo secuencial con su
Más detallesTema 12: El sistema operativo y los procesos
Tema 12: El sistema operativo y los procesos Solicitado: Tarea 06 Arquitecturas de una computadora y el funcionamiento del software M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx
Más detallesTipos 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 detallesConcurrencia: deberes. Concurrencia: Exclusión Mutua y Sincronización. Concurrencia. Dificultades con la Concurrencia
Concurrencia: deberes Concurrencia: Exclusión Mutua y Sincronización Capítulo 5 Comunicación entre procesos Compartir recursos Sincronización de múltiples procesos Asignación del tiempo de procesador Concurrencia
Más detallesEstructura de los sistemas de cómputo
Estructura de los sistemas de cómputo Introducción Elementos básicos de un computador Registro del procesador Ejecución de las instrucciones Interrupciones Hardware de protección Introducción Qué es un
Más detallesTeoría de Sistemas Operativos Sincronización Procesos
Teoría de Sistemas Operativos Sincronización Procesos Departamento de Electrónica º Semestre, 00 Gabriel Astudillo Muñoz http://www.elo.utfsm.cl/~elo1 Dos o más procesos leen o escriben ciertas zonas compartidas
Más detallesTarea #2 Interbloqueo e Inanición.
Tarea #2 Interbloqueo e Inanición. 1. Enumere Ejemplos de Recursos Consumibles y Reutilizables. Un recurso reutilizable es aquél que puede ser usado con seguridad por un proceso y no se agota con el uso.
Más detallesEstados de un proceso
Semáforos Estados de un proceso Inactivo Listo Ejecutando Completo Escribimos p.state := ready p. state := running Bloqueado Para indicar que un proceso cambia de estado Semáforo Es un tipo de dato abstracto
Más detallesIntroducción a los sistemas operativos. Ing Esp Pedro Alberto Arias Quintero
Introducción a los sistemas operativos Ing Esp Pedro Alberto Arias Quintero Unidad 1: Conceptos generales de Sistemas Operativos. Tema 1: Introducción: 1.1 Introducción: Qué es un sistema operativo?. 1.2
Más detallesFUNDAMENTOS BÁSICOS DE LOS SISTEMAS OPERATIVOS Fe de Erratas Actualizada a 12 de septiembre de 2018
FUNDAMENTOS BÁSICOS DE LOS SISTEMAS OPERATIVOS Fe de Erratas Actualizada a 12 de septiembre de 2018 Nota: Las erratas que comienzan con la viñeta+son erratas que han sido añadidas o modificadas con respecto
Más detallesConcurrencia Condiciones de Carrera. Guillermo Román Díez
Concurrencia Condiciones de Carrera Guillermo Román Díez groman@fi.upm.es Universidad Politécnica de Madrid Curso 2016-2017 Guillermo Román, UPM CC: Condiciones de Carrera 1/20 Condiciones de carrera Condición
Más detallesSistemas multiprogramados
dit UPM Sistemas multiprogramados Juan Antonio de la Puente DIT/UPM Objetivos Veremos cómo realizar sistemas de tiempo real con arquitectura asíncrona tareas como hebras de sistema operativo no todas las
Más detallesConcurrencia. Programación Concurrente Procesos Comunicación entre Procesos (IPC) con espera ocupada.
Concurrencia Programación Concurrente Procesos Comunicación entre Procesos (IPC) con espera ocupada. Introducción a Procesos Todas las computadoras moderas realizan varias cosas al mismo tiempo. En cada
Más detalles1 ( 3,5 puntos) Responda, justificando sus respuestas, a las siguientes cuestiones:
Universidad de Las Palmas de Gran Canaria Escuela Universitaria de Informática Facultad de Informática Sistemas Operativos Convocatoria de Junio, 26 de Junio de 2003 SOLUCIONES Calificación 1 2 3 4 Nombre
Más detallesPARADIGMA y LENGUAJES DE PROGRAMACIÓN
CATEDRA CARRERA: PARADIGMA y LENGUAJES DE PROGRAMACIÓN LICENCIATURA EN SISTEMAS DE INFORMACION FACULTAD DE CIENCIAS EXACTAS QUIMICAS Y NATURALES UNIVERSIDAD NACIONAL DE MISIONES Año 2017 2do Cuatrimestre
Más detallesSOLUCIONES. Universidad de Las Palmas de Gran Canaria Escuela Universitaria de Informática Facultad de Informática
Universidad de Las Palmas de Gran Canaria Escuela Universitaria de Informática Facultad de Informática Sistemas Operativos Examen Parcial, 7 de mayo de 2005 Nombre SOLUCIONES Dispone de tres horas para
Más detallesFacultad de Ingeniería Industrial y de Sistemas v2.0 MA781U INTERBLOQUEO DE PROCESOS
INTERBLOQUEO DE PROCESOS Preparado por: Angel Chata Tintaya (angelchata@hotmail.com) Resumen El interbloqueo consiste en que unos procesos retienen recursos que otros necesitan y viceversa, llegándose
Más detallesDE SISTEMAS CONCURRENTES
REDES DE PETRI: MODELADO DE SISTEMAS CONCURRENTES PROGRAMACIÓN CONCURRENTE MASTER EN COMPUTACIÓN DEPARTAMENTO DE ELECTRÓNICA Y COMPUTADORES UNIVERSIDAD DE CANTABRIA CURSO 2012/13 1 MODELADO DE SISTEMAS
Más detallesInterbloqueo. Concurrencia: Interbloqueo e Inanición
Interbloqueo Concurrencia: Interbloqueo e Inanición Capítulo 6 Bloqueo permanente de un conjunto de procesos que compiten por recursos del sistema o por comunicación con los otros No existe una solución
Más detallesConcurrencia Monitores. Guillermo Román Díez
Concurrencia Monitores Guillermo Román Díez groman@fi.upm.es Universidad Politécnica de Madrid Curso 2016-2017 Guillermo Román, UPM CC: Monitores 1/25 Recursos Compartidos Pregunta La especificación de
Más detallesModelo de Cómputo. Programación concurrente
Programa concurrente Programa concurrente: conjunto finito de procesos (secuenciales). Un proceso secuencial está escrito con un conjunto finito de acciones atómicas. Ejecución: una secuencia de acciones
Más detallesTema 7. Entrada / Salida
Tema 7 Entrada / Salida Problemática Entrada/Salida Elementos claves en un computador: Procesador, memoria y módulos de E/S Cada módulo de E/S se conecta al bus del sistema y controla a uno o a más periféricos
Más detallesMECANISMOS PARA SINCRONIZACIÓN. Semáforos
MECANISMOS PARA SINCRONIZACIÓN Semáforos Mecanismos para sincronización Una vez discutidos los principales problemas a enfrentar para coordinar procesos/hilos que comparten espacio de direccionamiento,
Más detallesUniversisdad de Los Andes Facultad de Ingeniería Escuela de Sistemas
Universisdad de Los Andes Facultad de Ingeniería Escuela de Sistemas Introducción y Conceptos Básicos Prof. Gilberto Díaz gilberto@ula.ve Departamento de Computación, Escuela de Sistemas, Facultad de Ingeniería
Más detallesAviso 2: Escriba con buena letra y evite los tachones. Aviso 3: Solución del examen y fecha de revisión en
SISTEMAS OPERATIVOS (Código: 71902048) Enero 2012 Material permitido: Solo calculadora no programable Tiempo: 2 horas N1 Aviso 1: Todas las respuestas deben estar debidamente razonadas. Aviso 2: Escriba
Más detallesParticipantes: Avila Aida Betancourt Sioly Briceño Susana Rojas Alejandro
Participantes: Avila Aida Betancourt Sioly Briceño Susana Rojas Alejandro Es una instancia de un programa en ejecución (corriendo). A los procesos frecuentemente se les refiere como tareas. El contexto
Más detalles6. Enumere tres ventajas de los ULT frente a los KLT.
1 Tarea 3 Hilos 1. Cuales bloques de control de proceso deberían pertenecer a un bloque de control de hilo y cuáles a un bloque de control de proceso en un sistema multihilo? Para modelos monohilo deben
Más detallesSincronización de Procesos
Sincronización de Procesos Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Sincronización de Procesos Fundamentos El Problema de la Sección Crítica Solución a la sección
Más detallesCuestionario 1-Parte 1
Cuestionario 1-Parte 1 Sistemas Operativos José Antonio Méndez Barrios 201118720 1. Qué es un Sistema Operativo? Programa que controla la ejecución de los programas de aplicación y que actúa como interfaz
Más detallesSistemas Operativos. Sistemas Operativos II ITS EMT CETP 2014 Prof. L. Carámbula
Sistemas Operativos Sistemas Operativos Es un programa que actúa como intermediario entre el usuario y el hardware de una computadora. Su propósito es: proporcionar un entorno en el cual el usuario pueda
Más detallesPorque desarrolló el concepto de lista de tareas (pool de Job) que podía ser gestionada de acuerdo a políticas distintas a la FIFO.
Universidad de Las Palmas de Gran Canaria Escuela Universitaria de Informática Facultad de Informática Sistemas Operativos Examen Parcial, 3 de mayo de 2003 SOLUCIONES Calificación 1 2 3 4 5 Nombre Titulación
Más detallesParadigma de paso de mensajes
Paradigma de paso de mensajes Curso 2011-2012 Índice Visión lógica del paradigma de paso de mensajes. Operaciones básicas en paso de mensajes. Operaciones bloqueantes. Operaciones no bloqueantes. MPI:
Más detallesConcurrencia y paralelismo
Introducción a los Sistemas Operativos Concurrencia y paralelismo 1. Ejecución de programas. Procesos. 2. Multiprogramación Bibliografía Silberschatz and Galvin Sistemas Operativos. Conceptos fundamentales.
Más detallesIntroducción a los Sistemas Operativos
Introducción a los Sistemas Operativos Pedro Corcuera Dpto. Matemática Aplicada y Ciencias de la Computación Universidad de Cantabria corcuerp@unican.es 1 Índice General Conceptos sobre ordenadores Concepto
Más detallesSistemas Operativos Tema 2: Estructura del computador José Miguel Santos Alexis Quesada Francisco Santana
Sistemas Operativos Tema 2: Estructura del computador 1998-2008 José Miguel Santos Alexis Quesada Francisco Santana 1 Contenidos Estructura de la E/S Sistema de Interrupciones DMA Jerarquía de memorias
Más detallesINDICE 1. Introducción 2. Entrada / Salida: Principios y Programación 3. Procesos
INDICE Prólogo XV 1. Introducción 1 1.1. Evolución de los sistemas operativos 2 Procesamiento en serie 3 Procesamiento por lotes 4 Multiprogramación 7 1.2. Tipos de Sistemas Operativos 9 Sistemas operativos
Más detallesIntroducción a los Sistemas Operativos S.O.
Introducción a los Sistemas Operativos S.O. Contenido 1. Conceptos 2. Evolución de los Sistemas Operativos 3. Administración del Entorno de Hardware 1. CONCEPTOS 1.1. Definición de Sistema Operativo Es
Más detallesUso de recursos compartidos
Uso de recursos compartidos Cada proceso o hebra se ejecuta de forma independiente. Sin embargo, cuando varias hebras (o procesos) han de acceder a un mismo recurso, se ha de coordinar el acceso a ese
Más detallesSistemas 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
Más detallesLección 6: Ejemplos de programación con semáforos
Lección 6: Ejemplos de programación con semáforos El problema de la cena de los filósofos El problema de los lectores y escritores Ejercicios Gestión de concurrencia mediante paso de testigo (implementación
Más detallesPROCESOS E HILOS - Hilo
1/6 PROCESOS E HILOS - Hilo! contexto de ejecución que se planifica de forma independiente pero que comparte un mismo espacio de direcciones con otros hilos - Proceso! conjunto de uno o más hilos y los
Más detallesIngeniería en Computación
Universidad Autónoma del Estado de México Centro Universitario UAEM Valle de México Ingeniería en Computación Unidad de Aprendizaje: Programación Paralela y Distribuida Tema: Introducción a los Sistemas
Más detallesCapítulo 16: Control de la concurrencia
Capítulo 16: Control de la concurrencia Protocolos basados en bloqueos Protocolos basados en las marcas temporales Esquemas multiversión Tratamiento de interbloqueos 16.1 Protocolos basados en bloqueos
Más detallesFuncionamiento de la computadora
Funcionamiento de la computadora La computadora es una maquina destinada a procesar datos. Este procesamiento involucra dos flujos de información: el de datos y el de instrucciones. Se parte del flujo
Más detallesde Gran Canaria Centro de Tecnología Médica Programación Concurrente
Universidad de Las Palmas de Gran Canaria Centro de Tecnología Médica http://www.ctm.ulpgc.es Tema 1: Introducción a la Escuela Técnica Superior de Ingenieros de Telecomunicación Conceptos Fundamentales
Más detallesSISTEMAS OPERATIVOS I (Sistemas) / SISTEMAS OPERATIVOS (Gestión) septiembre 2009
SISTEMAS OPERATIVOS I (Sistemas) / SISTEMAS OPERATIVOS (Gestión) septiembre 2009 4. (2 p) Dos procesos A y B se ejecutan concurrentemente en un determinado sistema. El proceso A ejecuta unas tareas ( Tareas
Más detallesManipulación de procesos
Manipulación de procesos Las primeras computadoras solo podían manipular un programa a la vez. El programa tenía control absoluto sobre todo el sistema. Con el desarrollo vertiginoso del hardware ese panorama
Más detallesSistemas Operativos. Daniel Rúa Madrid
Sistemas Operativos Daniel Rúa Madrid Qué es? Es un programa que administra el hardware de una computadora. También proporciona las bases para los programas de aplicación y actúa como intermediario entre
Más detallesUnidad 1: Gestión de Procesos
Unidad 1: Gestión de Procesos Tema 2, Concurrencia: Interbloqueo e inanición. 2.1 Caracterización del interbloqueo y grafo de asignación de recursos. 2.2 Estrategias de tratamiento del interbloqueo: -
Más detallesMensajes. Interbloqueo
CONCURRENCIA DE PROCESOS Preparado por: Angel Chata Tintaya (angelchata@hotmail.com) Resumen Los procesos comparten variables globales, comparten y compiten por recursos, se ejecutan simultáneamente intercalándose
Más detallesSistemas operativos, 2ª edición
Sistemas operativos 2ª edición Capítulo 7 Interbloqueos (extracto de las transparencias del libro Contenido Introducción Modelo general del sistema Definición y tratamiento del interbloqueo Detección y
Más detallesSISTEMAS OPERATIVOS - PRIMERA PARTE Examen Convocatoria Ordinaria, 18 de junio de 2009
Calificación 1 2 SISTEMAS OPERATIVOS - PRIMERA PARTE Examen Convocatoria Ordinaria, 18 de junio de 2009 Nombre Titulación Dispone de dos horas para realizar el examen SOLUCIONES 1 (7,5 puntos) Test. En
Más detallesTEMA 1: INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS
TEMA 1: INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS 1. Definición, funciones y objetivos de un SO. 1.1. Sistema Informático 1.2. Definiciones de Sistema Operativo 1.3. Objetivos y/o funciones de un SO 1.4.
Más detallesTema 4: Gestión de Procesos
Tema 4: 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 de 2006 Índice Concepto
Más detallesTaller de Programación Paralela
Taller de Programación Paralela Departamento de Ingeniería Informática Universidad de Santiago de Chile April 26, 2007 Concurrencia 2 Concurrencia y sincronización.............................................................
Más detallesSISTEMAS OPERATIVOS Manejo de procesos
SISTEMAS OPERATIVOS Manejo de procesos Amilcar Meneses Viveros ameneses@computacion.cs.cinvestav.mx Universidad de Occidente Presentación Concepto de proceso Despacho de procesos Operaciones sobre procesos
Más detallesPROCESAMIENTO DISTRIBUIDO
Pág. 1 INTRODUCCIÓN PROCESAMIENTO DISTRIBUIDO Arquitectura de comunicaciones: Software básico de una red de computadoras Brinda soporte para aplicaciones distribuidas Permite diferentes Sistemas Operativos
Más detallesIntroducción a los Sistemas Operativos
Introducción a los Sistemas Operativos Parte II AGOSTO 2011 1 Qué es un Sistema Operativo? Un Sistema Operativo es un programa que actúa de intermediario entre el usuario y el hardware del computador.
Más detallesENTRADA/SALIDA. Universidad San Pablo-CEU Escuela Politécnica Superior Rodrigo García Carmona
ENTRADA/SALIDA Universidad San Pablo-CEU Escuela Politécnica Superior Rodrigo García Carmona OBJETIVOS Entender qué son los dispositivos de Entrada/Salida y ser consciente de los problemas que implica
Más detallesTema 3. Paso de mensajes. mensajes. Bibliografía. Sistemas de paso de mensajes (2) Sistemas de paso de mensajes. Ventajas del paso de.
Tema 3. Paso de mensajes Bibliografía Programación Concurrente J. Palma, C. Garrido, F. Sánchez, A. Quesada, 2003 Capítulo 7 Principles of Concurrent and Distributed Programming M. Ben-Ari. Prentice Hall,
Más detallesTema 1: Programación Multiproceso. Curso
Tema 1: Programación Multiproceso. Curso 2012-2013 1 Patricia Hurtado Sayas Índice de contenidos: 1. Elementos funcionales de un SI. Repaso. 2. Concepto de Proceso o Tarea. 1. PCB, Bloque de Control de
Más detallesTEMA 10 INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS DISTRIBUIDOS. Introducción Hardware Software Aspectos de diseño
TEMA 10 INTRODUCCIÓN A LOS SISTEMAS OPERATIVOS DISTRIBUIDOS Introducción Hardware Software Aspectos de diseño 1 Introducción Aparecen en los 80 Desarrollo de Microprocesadores LAN Sistemas Distribuidos:
Más detallesTEMA 3. CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO. Definición y objetivos de un S.O
TEMA 3. CONCEPTOS FUNDAMENTALES DEL NIVEL DEL SISTEMA OPERATIVO Definición y objetivos de un S.O Definición y objetivos del sistema operativo Estructura, componentes y servicios de un S.O Llamadas al sistema
Más detalles