Este documento presenta información sobre interbloqueo en sistemas concurrentes. Describe las cuatro condiciones para el interbloqueo y estrategias para prevenir cada una. También cubre la detección de interbloqueo, la estrategia integrada de Silberschatz y Galván, y el problema de la cena de los filósofos. Por último, resume los medios de comunicación entre procesos en UNIX como tubos, mensajes y memoria compartida, y cómo semáforos y señales provocan acciones en otros procesos.
Este documento presenta información sobre interbloqueo en sistemas operativos. Define interbloqueo y sus cuatro condiciones, y describe estrategias para prevenir, detectar e interbloqueo de Silberschatz y Galván. También cubre el problema de la cena de los filósofos y medios de comunicación entre procesos en UNIX como tubos, mensajes y memoria compartida.
Este documento describe el problema del interbloqueo entre procesos, incluyendo sus cuatro condiciones y estrategias para su prevención y detección. También describe soluciones al problema de la cena de los filósofos y los medios de comunicación entre procesos en UNIX como tubos, mensajes y memoria compartida. Finalmente, explica cómo semáforos y señales se usan para provocar acciones en otros procesos.
Este documento describe el problema del interbloqueo entre procesos, incluyendo sus cuatro condiciones y posibles estrategias para prevención y detección. También cubre el problema clásico de la cena de los filósofos y sus soluciones mediante semáforos. Por último, explica los mecanismos de comunicación entre procesos en Unix como tubos, mensajes y memoria compartida.
Este documento describe el concepto de interbloqueo y sus cuatro condiciones (exclusión mutua, retener y esperar, no apropiación y espera circular). También presenta estrategias para prevenir, detectar e interbloqueo de Silberschatz y Galván, y describe el problema de la cena de los filósofos y sus soluciones. Finalmente, explica los medios de comunicación entre procesos en UNIX (tubos, mensajes y memoria compartida) y cómo señales y semáforos permiten la comunicación entre procesos.
Este documento trata sobre concurrencia y exclusión mutua. Explica qué es la concurrencia y sus causas, como la multiprogramación. También describe elementos de gestión que surgen de la concurrencia, como el bloque de control de procesos. Luego define términos como interacción, competencia y cooperación. Por último, explica algoritmos para lograr exclusión mutua como los de Dekker y Peterson y el problema de productor-consumidor.
El documento describe el interbloqueo en sistemas operativos, que ocurre cuando un conjunto de procesos o hilos de ejecución compiten por recursos del sistema y quedan bloqueados permanentemente. Existen cuatro condiciones necesarias para que ocurra un interbloqueo: exclusión mutua, contención, inapropiatividad y espera circular. Los sistemas operativos pueden abordar los interbloqueos mediante indiferencia, prevención, evitación o detección y recuperación.
Este documento describe conceptos relacionados con la concurrencia y la exclusión mutua. Define la concurrencia como la ejecución simultánea de dos o más procesos. Explica las causas de la concurrencia y los elementos de gestión y diseño que surgen debido a ella, como el uso compartido de recursos como el tiempo y la memoria. Además, describe soluciones al problema de la concurrencia como los algoritmos de Dekker y Peterson, el uso de semáforos, y el problema del productor/consumidor.
La concurrencia permite la ejecución simultánea de procesos. Esto requiere elementos de gestión como el uso compartido de recursos como tiempo y memoria. La exclusión mutua garantiza que solo un proceso acceda a la vez a un recurso no compartido mediante algoritmos como Dekker y Peterson. Los semáforos controlan el acceso a los recursos para prevenir accesos simultáneos. El problema del productor/consumidor se resuelve con variables que indican cuando los datos están listos.
Este documento presenta información sobre interbloqueo en sistemas operativos. Define interbloqueo y sus cuatro condiciones, y describe estrategias para prevenir, detectar e interbloqueo de Silberschatz y Galván. También cubre el problema de la cena de los filósofos y medios de comunicación entre procesos en UNIX como tubos, mensajes y memoria compartida.
Este documento describe el problema del interbloqueo entre procesos, incluyendo sus cuatro condiciones y estrategias para su prevención y detección. También describe soluciones al problema de la cena de los filósofos y los medios de comunicación entre procesos en UNIX como tubos, mensajes y memoria compartida. Finalmente, explica cómo semáforos y señales se usan para provocar acciones en otros procesos.
Este documento describe el problema del interbloqueo entre procesos, incluyendo sus cuatro condiciones y posibles estrategias para prevención y detección. También cubre el problema clásico de la cena de los filósofos y sus soluciones mediante semáforos. Por último, explica los mecanismos de comunicación entre procesos en Unix como tubos, mensajes y memoria compartida.
Este documento describe el concepto de interbloqueo y sus cuatro condiciones (exclusión mutua, retener y esperar, no apropiación y espera circular). También presenta estrategias para prevenir, detectar e interbloqueo de Silberschatz y Galván, y describe el problema de la cena de los filósofos y sus soluciones. Finalmente, explica los medios de comunicación entre procesos en UNIX (tubos, mensajes y memoria compartida) y cómo señales y semáforos permiten la comunicación entre procesos.
Este documento trata sobre concurrencia y exclusión mutua. Explica qué es la concurrencia y sus causas, como la multiprogramación. También describe elementos de gestión que surgen de la concurrencia, como el bloque de control de procesos. Luego define términos como interacción, competencia y cooperación. Por último, explica algoritmos para lograr exclusión mutua como los de Dekker y Peterson y el problema de productor-consumidor.
El documento describe el interbloqueo en sistemas operativos, que ocurre cuando un conjunto de procesos o hilos de ejecución compiten por recursos del sistema y quedan bloqueados permanentemente. Existen cuatro condiciones necesarias para que ocurra un interbloqueo: exclusión mutua, contención, inapropiatividad y espera circular. Los sistemas operativos pueden abordar los interbloqueos mediante indiferencia, prevención, evitación o detección y recuperación.
Este documento describe conceptos relacionados con la concurrencia y la exclusión mutua. Define la concurrencia como la ejecución simultánea de dos o más procesos. Explica las causas de la concurrencia y los elementos de gestión y diseño que surgen debido a ella, como el uso compartido de recursos como el tiempo y la memoria. Además, describe soluciones al problema de la concurrencia como los algoritmos de Dekker y Peterson, el uso de semáforos, y el problema del productor/consumidor.
La concurrencia permite la ejecución simultánea de procesos. Esto requiere elementos de gestión como el uso compartido de recursos como tiempo y memoria. La exclusión mutua garantiza que solo un proceso acceda a la vez a un recurso no compartido mediante algoritmos como Dekker y Peterson. Los semáforos controlan el acceso a los recursos para prevenir accesos simultáneos. El problema del productor/consumidor se resuelve con variables que indican cuando los datos están listos.
En los sistemas multiprogramados se define el proceso como entidad representante de la ejecución de un programa en un determinado contexto; En general, un proceso es un flujo de ejecución, representado básicamente por un contador de programa, y su contexto de ejecución, que puede ser más o menos amplio.
La concurrencia se refiere a la ejecución simultánea de dos o más procesos. Esto puede causar problemas como la competencia por recursos compartidos. Algunas soluciones a estos problemas incluyen algoritmos como los de Dekker y Peterson, que garantizan la exclusión mutua para recursos compartidos a través de indicadores globales. Otras soluciones utilizan monitores u objetos que controlan el acceso a los recursos para que solo un proceso acceda a la vez. Los semáforos también se usan para controlar el acceso concurrente a los recurs
Este documento presenta información sobre los procesos de un sistema operativo. Explica que los procesos pueden estar en tres estados: listo, ejecución o bloqueado. También describe dos tipos de procesos: independientes, que no afectan ni son afectados por otros procesos, y cooperantes, que comparten datos e información. Además, discute los recursos que debe administrar un sistema operativo como el CPU, memoria y dispositivos de entrada/salida.
Comunicación y Sincronizacion de ProcesosLorena Ramos
Los procesos concurrentes pueden competir por recursos o cooperar compartiendo información. La sección crítica es la región del código donde un proceso accede a un recurso compartido. Se deben evitar las condiciones de competencia mediante la exclusión mutua en la sección crítica. Existen soluciones basadas en variables de cerradura, alternancia estricta, semáforos, monitores y paso de mensajes para garantizar la exclusión mutua.
Este resumen describe un ejercicio sobre los estados de procesos utilizando el método de planificación FCFS (First Come First Served - Primero en llegar, primero en ser atendido). Se presentan 4 procesos con sus tiempos de inicio y ejecución. Se calculan los tiempos de finalización, servicio y espera para cada proceso. El rendimiento promedio del procesador es de 12.5% y el tiempo medio de espera es de 6.5%. Finalmente, se explica que este método hace que los procesos en la cola esperen hasta
Este documento describe varios conceptos clave de la programación concurrente, incluyendo procesos, hilos, multitareas, multiprogramación y concurrencia. Explica soluciones para problemas de sincronización como la exclusión mutua, utilizando algoritmos como Dekker y Peterson, así como estructuras como semáforos, monitores y comunicación por mensajes.
Problemas básicos de comunicación basados mediante la solución del algoritmo del banquero propuesto por Edsger Dijkstra para resolver inconvenientes de gestión de recursos de los sistemas operativos.
Este documento describe los conceptos básicos de los sistemas operativos, incluyendo su definición, clasificación, componentes y características. Explica los pasos para instalar Windows 7 y formatear un PC.
Este documento discute problemas de concurrencia como el interbloqueo e inanición. Explica que el interbloqueo ocurre cuando procesos compiten por recursos de forma que se bloquean mutuamente, y presenta estrategias para prevenirlo como ordenar solicitudes de recursos o expulsar procesos. También cubre tipos de recursos y mecanismos de comunicación entre procesos en UNIX como tuberías, mensajes y memoria compartida.
El documento describe los pasos para instalar y configurar software de acuerdo a las especificaciones y requerimientos del usuario. Explica cómo instalar software siguiendo las instrucciones del usuario y asegurándose de que el software cumple con los requisitos del usuario. También menciona la importancia de portafolios de evidencias para documentar el proceso de instalación de software.
Este documento presenta información sobre sistemas operativos. Explica conceptos clave como proceso, programa, procesador, estados de un proceso, transición de estados, semaforos, exclusión mutua, sección crítica y métodos de planificación como FCFS y SJF. El objetivo principal es administrar los procesos y el procesador de manera efectiva.
Este documento trata sobre inteligencia artificial y sistemas expertos. Explica que Alan Turing fue un precursor de la inteligencia artificial al diseñar la primera computadora digital funcional y generar el concepto de máquina de Turing. También describe campos de la IA como sistemas expertos y aprendizaje de máquinas, y las leyes de la robótica de Isaac Asimov. Define qué es un sistema experto y sus beneficios, y explica su desarrollo, arquitectura y ejemplos en el mundo.
Este documento describe conceptos clave relacionados con procesos cooperativos y comunicación entre procesos en sistemas operativos. Explica que los procesos pueden ser independientes o cooperativos si comparten datos u objetivos. También describe varios métodos para la comunicación entre procesos, como la comunicación directa e indirecta a través de mensajes y buzones. Además, aborda conceptos como la sincronización, los hilos de usuario y kernel, y soluciones para garantizar la exclusión mutua en las secciones críticas.
Este documento presenta dos propuestas metodológicas para la implementación de sistemas empotrados en la automatización industrial. La primera propuesta describe un enfoque de desarrollo basado en middlewares como DOHA y JavaES que facilita la creación de aplicaciones industriales reutilizables e interoperables. La segunda propuesta consiste en un modelo de requisitos para el diseño optimo de sistemas empotrados que identifica características clave y define interacciones típicas. El documento concluye discutiendo las ventajas que aportan los sistem
Este documento describe los conceptos de hilos y su implementación en sistemas operativos. Explica que un hilo es una unidad básica de ejecución que comparte memoria y recursos con otros hilos dentro de un proceso. Describe tres modelos de hilos (jefe/trabajador, equipo de trabajo y línea de ensamblado) y cómo se implementan señales, temporizadores y excepciones para la comunicación entre hilos. Concluye explicando los beneficios del uso de hilos para lograr mayor paralelismo y rendimiento en aplicaciones
Este documento describe los conceptos de hilos y su implementación en sistemas operativos. Explica que un hilo es una unidad básica de ejecución que comparte memoria y recursos con otros hilos dentro de un proceso. Describe tres modelos de hilos (jefe/trabajador, equipo de trabajo y línea de ensamblado) y los principales aspectos de diseño como hilos. También explica cómo los hilos se insertan en un proceso y cómo se implementan señales, temporizadores y excepciones.
Este documento resume conceptos clave sobre la administración de procesadores. Explica que un proceso es un programa en ejecución que incluye el estado actual del programa y la memoria asignada. También describe los diferentes estados de un proceso y cómo los hilos permiten dividir un proceso en múltiples flujos de ejecución. Finalmente, analiza los conceptos de concurrencia y exclusión mutua para evitar conflictos cuando varios procesos acceden a recursos compartidos.
Este documento describe los conceptos de procesos, hilos, concurrencia, exclusión mutua, sincronización y planificación en sistemas operativos. Explica que los procesos son unidades de ejecución y los hilos son unidades más pequeñas que pueden ser planificadas. También describe técnicas como semáforos, monitores y problemas como el interbloqueo. Finalmente, cubre objetivos de planificación como ser justa, maximizar la capacidad de ejecución y evitar la postergación indefinida.
Este documento presenta el plan de estudios para la asignatura Sistemas Operativos 1 en la Facultad de Ingeniería. La asignatura se centra en los conceptos fundamentales de los sistemas operativos, incluidos procesos, archivos, E/S y administración de recursos. Los estudiantes aprenderán sobre la historia y tipos de sistemas operativos, y realizarán proyectos prácticos de laboratorio para profundizar en los conceptos. El objetivo es que los estudiantes comprendan cómo los sistemas operativos controlan
El documento describe tres métodos de carga de programas en memoria principal: carga absoluta, carga reubicable y carga dinámica en tiempo de ejecución. La carga absoluta requiere que los módulos siempre ocupen la misma posición de memoria, mientras que la carga reubicable permite que los módulos se carguen en cualquier posición a través de direcciones relativas. La carga dinámica proporciona la máxima flexibilidad al permitir que los programas se carguen y descarguen en cualquier región de memoria durante
En los sistemas multiprogramados se define el proceso como entidad representante de la ejecución de un programa en un determinado contexto; En general, un proceso es un flujo de ejecución, representado básicamente por un contador de programa, y su contexto de ejecución, que puede ser más o menos amplio.
La concurrencia se refiere a la ejecución simultánea de dos o más procesos. Esto puede causar problemas como la competencia por recursos compartidos. Algunas soluciones a estos problemas incluyen algoritmos como los de Dekker y Peterson, que garantizan la exclusión mutua para recursos compartidos a través de indicadores globales. Otras soluciones utilizan monitores u objetos que controlan el acceso a los recursos para que solo un proceso acceda a la vez. Los semáforos también se usan para controlar el acceso concurrente a los recurs
Este documento presenta información sobre los procesos de un sistema operativo. Explica que los procesos pueden estar en tres estados: listo, ejecución o bloqueado. También describe dos tipos de procesos: independientes, que no afectan ni son afectados por otros procesos, y cooperantes, que comparten datos e información. Además, discute los recursos que debe administrar un sistema operativo como el CPU, memoria y dispositivos de entrada/salida.
Comunicación y Sincronizacion de ProcesosLorena Ramos
Los procesos concurrentes pueden competir por recursos o cooperar compartiendo información. La sección crítica es la región del código donde un proceso accede a un recurso compartido. Se deben evitar las condiciones de competencia mediante la exclusión mutua en la sección crítica. Existen soluciones basadas en variables de cerradura, alternancia estricta, semáforos, monitores y paso de mensajes para garantizar la exclusión mutua.
Este resumen describe un ejercicio sobre los estados de procesos utilizando el método de planificación FCFS (First Come First Served - Primero en llegar, primero en ser atendido). Se presentan 4 procesos con sus tiempos de inicio y ejecución. Se calculan los tiempos de finalización, servicio y espera para cada proceso. El rendimiento promedio del procesador es de 12.5% y el tiempo medio de espera es de 6.5%. Finalmente, se explica que este método hace que los procesos en la cola esperen hasta
Este documento describe varios conceptos clave de la programación concurrente, incluyendo procesos, hilos, multitareas, multiprogramación y concurrencia. Explica soluciones para problemas de sincronización como la exclusión mutua, utilizando algoritmos como Dekker y Peterson, así como estructuras como semáforos, monitores y comunicación por mensajes.
Problemas básicos de comunicación basados mediante la solución del algoritmo del banquero propuesto por Edsger Dijkstra para resolver inconvenientes de gestión de recursos de los sistemas operativos.
Este documento describe los conceptos básicos de los sistemas operativos, incluyendo su definición, clasificación, componentes y características. Explica los pasos para instalar Windows 7 y formatear un PC.
Este documento discute problemas de concurrencia como el interbloqueo e inanición. Explica que el interbloqueo ocurre cuando procesos compiten por recursos de forma que se bloquean mutuamente, y presenta estrategias para prevenirlo como ordenar solicitudes de recursos o expulsar procesos. También cubre tipos de recursos y mecanismos de comunicación entre procesos en UNIX como tuberías, mensajes y memoria compartida.
El documento describe los pasos para instalar y configurar software de acuerdo a las especificaciones y requerimientos del usuario. Explica cómo instalar software siguiendo las instrucciones del usuario y asegurándose de que el software cumple con los requisitos del usuario. También menciona la importancia de portafolios de evidencias para documentar el proceso de instalación de software.
Este documento presenta información sobre sistemas operativos. Explica conceptos clave como proceso, programa, procesador, estados de un proceso, transición de estados, semaforos, exclusión mutua, sección crítica y métodos de planificación como FCFS y SJF. El objetivo principal es administrar los procesos y el procesador de manera efectiva.
Este documento trata sobre inteligencia artificial y sistemas expertos. Explica que Alan Turing fue un precursor de la inteligencia artificial al diseñar la primera computadora digital funcional y generar el concepto de máquina de Turing. También describe campos de la IA como sistemas expertos y aprendizaje de máquinas, y las leyes de la robótica de Isaac Asimov. Define qué es un sistema experto y sus beneficios, y explica su desarrollo, arquitectura y ejemplos en el mundo.
Este documento describe conceptos clave relacionados con procesos cooperativos y comunicación entre procesos en sistemas operativos. Explica que los procesos pueden ser independientes o cooperativos si comparten datos u objetivos. También describe varios métodos para la comunicación entre procesos, como la comunicación directa e indirecta a través de mensajes y buzones. Además, aborda conceptos como la sincronización, los hilos de usuario y kernel, y soluciones para garantizar la exclusión mutua en las secciones críticas.
Este documento presenta dos propuestas metodológicas para la implementación de sistemas empotrados en la automatización industrial. La primera propuesta describe un enfoque de desarrollo basado en middlewares como DOHA y JavaES que facilita la creación de aplicaciones industriales reutilizables e interoperables. La segunda propuesta consiste en un modelo de requisitos para el diseño optimo de sistemas empotrados que identifica características clave y define interacciones típicas. El documento concluye discutiendo las ventajas que aportan los sistem
Este documento describe los conceptos de hilos y su implementación en sistemas operativos. Explica que un hilo es una unidad básica de ejecución que comparte memoria y recursos con otros hilos dentro de un proceso. Describe tres modelos de hilos (jefe/trabajador, equipo de trabajo y línea de ensamblado) y cómo se implementan señales, temporizadores y excepciones para la comunicación entre hilos. Concluye explicando los beneficios del uso de hilos para lograr mayor paralelismo y rendimiento en aplicaciones
Este documento describe los conceptos de hilos y su implementación en sistemas operativos. Explica que un hilo es una unidad básica de ejecución que comparte memoria y recursos con otros hilos dentro de un proceso. Describe tres modelos de hilos (jefe/trabajador, equipo de trabajo y línea de ensamblado) y los principales aspectos de diseño como hilos. También explica cómo los hilos se insertan en un proceso y cómo se implementan señales, temporizadores y excepciones.
Este documento resume conceptos clave sobre la administración de procesadores. Explica que un proceso es un programa en ejecución que incluye el estado actual del programa y la memoria asignada. También describe los diferentes estados de un proceso y cómo los hilos permiten dividir un proceso en múltiples flujos de ejecución. Finalmente, analiza los conceptos de concurrencia y exclusión mutua para evitar conflictos cuando varios procesos acceden a recursos compartidos.
Este documento describe los conceptos de procesos, hilos, concurrencia, exclusión mutua, sincronización y planificación en sistemas operativos. Explica que los procesos son unidades de ejecución y los hilos son unidades más pequeñas que pueden ser planificadas. También describe técnicas como semáforos, monitores y problemas como el interbloqueo. Finalmente, cubre objetivos de planificación como ser justa, maximizar la capacidad de ejecución y evitar la postergación indefinida.
Este documento presenta el plan de estudios para la asignatura Sistemas Operativos 1 en la Facultad de Ingeniería. La asignatura se centra en los conceptos fundamentales de los sistemas operativos, incluidos procesos, archivos, E/S y administración de recursos. Los estudiantes aprenderán sobre la historia y tipos de sistemas operativos, y realizarán proyectos prácticos de laboratorio para profundizar en los conceptos. El objetivo es que los estudiantes comprendan cómo los sistemas operativos controlan
El documento describe tres métodos de carga de programas en memoria principal: carga absoluta, carga reubicable y carga dinámica en tiempo de ejecución. La carga absoluta requiere que los módulos siempre ocupen la misma posición de memoria, mientras que la carga reubicable permite que los módulos se carguen en cualquier posición a través de direcciones relativas. La carga dinámica proporciona la máxima flexibilidad al permitir que los programas se carguen y descarguen en cualquier región de memoria durante
Este documento resume las respuestas correctas a varios puntos de un examen parcial. Identifica las respuestas correctas a 14 puntos de un examen, proporcionando la letra o palabra de la respuesta correcta para cada punto.
Este documento presenta datos sobre 5 procesos (A, B, C, D, E) en un sistema operativo con cola rotativa. Muestra el tiempo de llegada de cada proceso, el tiempo de servicio, la tasa promedio de llegada y el tiempo promedio de cada proceso.
1. ESCUELA COLOMBIANA DE CARRERAS INDUSTRIALES
SISTEMAS OPERATIVOS
DECANATURA DE INGENIERÍA
Ciencias de la Computación DOCENTE
e Ingeniería de Sistemas OSCAR W. MENDOZA M.
TALLER INTERBLOQUEO
Integrantes:
Lourdes Castillo
Daniel Alejandro Jiménez
Erick Duvan Saavedra
Miguel Buitrago
Defina interbloqueo:
Es el bloqueo permanente de un conjunto de procesos o hilos de ejecución en un sistema concurrente
que compiten por los recursos del sistema o la comunicación entre ellos.
Describa las cuatro condiciones para el interbloqueo:
1) EXCLUSION MUTUA:
Cada recurso está asignado a un único proceso o está disponible.
Sólo un proceso puede usar un recurso simultáneamente.
2) RETENER Y ESPERAR:
Debe haber al menos un proceso que retenga un recurso y que haya pedido algún otro recurso
que posea otro proceso, por lo que estará esperando.
3) NO APROPIACION:
El sistema no puede arrebatar los recursos que ha asignado previamente a los procesos. En
otras palabras, un proceso mantiene retenido un recurso hasta que deja de utilizarlo y lo librera
voluntariamente.
4) ESPERA CIRCULAR:
Existe una cadena cerrada de procesos, cada uno de los cuales retiene, al menos, un recurso
que necesita el siguiente proceso de la cadena.
Debe existir un conjunto de procesos (P1, P2,P3…) tal que P1 se encuentra esperando un
recurso que tiene P2, P2 espera un recurso que tiene P3…
Determine una estrategia para la prevención de cada causa del interbloqueo:
a) EXCLUSION MUTUA: Esto se refiere a que ningún proceso pueda tener acceso exclusivo a
un recurso.
b) RETENER Y ESPERAR: La condición de posesión y espera puede ser eliminada haciendo
que los procesos soliciten todos los recursos que van a necesitar antes de empezar.
c) NO APROPIACION: Un proceso que retiene ciertos recursos se le niega una nueva solicitud,
dicho proceso deberá liberar sus recursos anteriores y solicitarlos de nuevo cuando sea
necesario junto con el recurso que iba a solicitar.
2. ESCUELA COLOMBIANA DE CARRERAS INDUSTRIALES
SISTEMAS OPERATIVOS
DECANATURA DE INGENIERÍA
Ciencias de la Computación DOCENTE
e Ingeniería de Sistemas OSCAR W. MENDOZA M.
TALLER INTERBLOQUEO
La otra forma de prevenirse es si un proceso solicita un recurso que actualmente está retenido
por otro proceso, el sistema operativo puede expulsar al segundo proceso y exigirle que libere
sus recursos este funciona si no hay dos procesos que tengan la misma prioridad
a) ESPERA CIRCULAR: puede prevenirse definiendo una ordenación lineal de los tipos de
recursos por ejemplo, si un proceso se le han asignado recursos de tipo R entonces solo podrá
realizar peticiones posteriores sobre los recursos de los tipos siguientes a R en la ordenación.
Esta técnica es ineficiente pues retarda procesos y deniega accesos a recursos
innecesariamente.
Determine las estrategias para la detección del interbloqueo:
Una posibilidad de detectar un interbloqueo es monitorear cada cierto tiempo el estado de los recursos.
Cada vez que se solicita o se devuelve un recurso, se actualiza el estado de los recursos y se hace una
verificación para observar si existe algún ciclo.
Determine en detalle la estrategia integrada del interbloqueo de Silberschatz y Galván:
1. Agrupar los recursos en un número de clases diferentes.
2. Usar la estrategia de ordenación lineal.
3. Dentro de cada clase de recursos emplear el algoritmo más apropiado para dicha clase.
Describa el problema de la cena de los filósofos y sus diferentes soluciones:
El problema consiste en que hay 5 filósofos y un plato de espagueti, del que cada uno va a tomar una
parte para comer. Para poder comer necesitan dos tenedores, pero cada filósofo tiene un solo tenedor,
lo que necesario que tome el tenedor del compañero de la derecha generando un interbloqueo ya que
ninguno podría tomar el otro tenedor del compañero porque lo tiene ocupado.
Soluciones:
Un semáforo que les indique a los filósofos tomar el tenedor de la derecha y luego el de la izquierda,
pero no es viable porque si se rigen por el mismos semáforo ninguno tomaría el segundo tenedor y
generaría un interbloqueo.
Colocar cinco tenedores más para que cada filósofo tenga dos tenedores.
Enseñarles a comer con un solo tenedor.
3. ESCUELA COLOMBIANA DE CARRERAS INDUSTRIALES
SISTEMAS OPERATIVOS
DECANATURA DE INGENIERÍA
Ciencias de la Computación DOCENTE
e Ingeniería de Sistemas OSCAR W. MENDOZA M.
TALLER INTERBLOQUEO
Contratar a un mesero que haga entrar a cuatro filósofos y garantizar que al menos uno tenga acceso a
los dos tenedores.
Los medios para la comunicación entre procesos en UNIX son los Tubos, los mensajes y la
memoria compartida; Describa cada uno de estos medios:
Tubos: Es un buffer circular que permite a dos procesos comunicarse, donde hay una cola, donde el
primero en llegar es el primero en salir, un proceso lee y el otro escribe.
Cuando se crea un tubo se le da un tamaño fijo en bytes cuando un proceso intenta escribir en el tubo
la solicitud se escritura se ejecuta inmediatamente, si hay suficiente espacio, si no hay el suficiente
espacio el proceso se bloquea. Si un proceso intenta leer más byte de los que tiene en el tubo este se
bloquea. El sistema operativo se encarga de que al tubo solo pueda acceder un proceso.
Hay dos tipos de tubos: con nombre y sin nombre. Sólo procesos afines pueden compartir tubos sin
nombre, mientras que los procesos no afines sólo pueden compartir tubos con nombre.
Mensajes: Es un bloque de texto con un tipo asociado.
Cada proceso tiene asociado una cola de mensajes que funciona como un buzón de correos.
El emisor de mensajes especifica el tipo de mensaje en cada envió y el receptos puede utilizar este
dato como criterio de selección. El receptor puede recuperar los mensajes tanto en el orden fifo como
por el tipo.
Si un proceso intenta leer de una cola vacía se suspenderá pero si intenta leer de cierto tipo y falla el
proceso no se suspenderá.
Memoria Compartida: Es la forma más rápida de comunicación entre procesos La memoria
compartida es un bloque común de memoria virtual compartido por varios procesos.
Los permisos de un proceso son solo lectura o lectura – escritura según el proceso que sea las
restricciones de exclusión mutua no forman parte del servicio de memoria compartida estas las
suministra el proceso que hace uso de la memoria compartida.
En UNIX los semáforos y las señale se utilizan para provocar acciones en otros procesos;
Describa la forma como lo hace cada uno de ellos:
Las señales: son un mecanismo de comunicación entre procesos. Toda señal se identifica dentro
mediante un número entero, habiendo un total de 64 en sistemas basados en Linux.
Los semáforos: con un mecanismo de sincronización entre procesos, estos nos permiten asistir al
planificador del sistema operativo en su toma de decisiones, de manera que nos permite sincronizar la
ejecución de dos o más procesos.