SlideShare una empresa de Scribd logo
1 de 15
U N I V E R S I D A DA L A SP E R U A N A S
                                     Dirección Universitaria de Educación a Distancia
                                     Escuela Académico Profesional de Ingeniería de Sistemas e
                                                            Informática



                             TRABAJO ACADEMICO

                  Asignatura:         SISTEMAS OPERATIVOS


2012- I           Docente:            Ing. Luis Manuel SigüeñasSiadén


                  Ciclo del curso:    V                                     MODULO II

                                      Datos del Alumno:
Apellidos y Nombres:

Código

UDED:



                       FECHA DE
                                          HASTA EL DOMINGO 29 DE ENERO DEL 2012
                       ENVIO:
                                          Comprimir el archivo original de su trabajo académico en
                       FORMA DE           WINZIP y publicarloen el CAMPUS VIRTUAL, mediante la
   Indicaciones        ENVIO:             opción:


                       TAMAÑO DEL
                                              Capacidad Máxima del archivo comprimido: 4 MB
                       ARCHIVO:

                       1. Recuerde verificar la correcta publicación de su Trabajo Académico en el
                          Campus Virtual.
                          Revisar la opción:


                       2. No se aceptará el Trabajo Académico después del domingo 05 de
                          febrero del 2012.


Recomendaciones        3. Las actividades que se encuentran en el libro servirán para su
                          autoaprendizaje mas no para la calificación, por lo que no deberán ser
                          remitidas. Usted sólo deberá realizar y remitir obligatoriamente el Trabajo
                          Académico que adjuntamos aquí.



                       4. Recuerde: NO DEBE COPIAR DEL INTERNET, el Internet es
                          únicamente una fuente de consulta. Los trabajos copias de internet serán
                          calificados con “00” (cero).
Estimado alumno:
                                     El presente trabajo académico tiene por finalidad medir los
                                     logros alcanzados en el desarrollo del curso.

                                     Para el examen parcial usted debe haber logrado
                                     desarrollar hasta la pregunta Nº 02y para el examen final
          Guía del                   debe haber desarrollado el trabajo completo.
     Trabajo Académico
                     Criterios de evaluación del trabajo académico:
      Presentación adecuada     Considera la evaluación de la redacción, ortografía, y
1     del trabajo
                                presentación del trabajo en este formato.
      Investigación                  Considera la consulta de libros virtuales, a través de la
2     bibliográfica.
                                     Biblioteca virtual DUED UAP, entre otras fuentes.
      Situación problemática,
      casos práctico, ejercicios,    Considera el análisis de casos o la solución de situaciones
3
      etc.                           problematizadoras por parte del alumno.

      Otros contenidos
      considerando los niveles
4
      cognitivos de orden
      superior.



                                    Trabajo Académico

1.   Elegir uno de los temas del listado adjunto y crear un documento de texto
     explicando detalladamente su funcionalidad, casos en los que un sistema
     operativo utiliza y a su vez las ventajas y desventajas de su aplicación. Se debe
     suponer distintos casos que puedan presentarse. (4 puntos)
2.   Haciendo uso del lenguaje de programación de su preferencia, desarrollar una
     interfaz que permita simular el funcionamiento del tema elegido. Identificar la
     forma y método de entrada de datos. Sustentar la estructura de datos a utilizar
     propuesta. (3 puntos)
3.   Desarrollo del proceso principal del tema elegido. Análisis de la secuencia de
     actividades. Validación de los supuestos definidos en el punto 1. Funcionalidad de
     cada actividad. (7 puntos)
4.   Generación de resultados. Cálculo de tiempos promedio y estadísticas generadas
     de acuerdo al tema elegido. (4 puntos)
5.   Establecer conclusiones y recomendaciones de la aplicación propuesta. (2 puntos)

TEMAS A ESCOGER:
     Bloqueo mutuo.
Inanición.
       Los filósofos comensales.
       Semáforos.
       Algoritmos de planificación de trabajos (uno de ellos)
           o   FIFO.
           o   SRT.
           o   SJF.
           o   Round Robin.
           o   Colas Múltiples.
       Asignación de memoria particionada:
           o   Mejor Ajuste.
           o   Primer Ajuste.
           o   Peor Ajuste.
       Compactación de memoria.
       Planificación de discos:
           o   FIFO
           o   SCAN o C-SCAN
           o   LOOK o C-LOOK

PRESENTACIÓN:
La presentación parcial del trabajo académico (semana 04) se realizará compartiendo
el escritorio del alumno escuchando la explicación del avance.


Para la presentación final del trabajo académico, se debe publicar un archivo
comprimido conteniendo:


       Archivos que permiten ejecutar el aplicativo.
       Archivo en Word en el que se explique el desarrollo completo del trabajo
       académico. Capturar pantallas del aplicativo.


FUENTES DE AYUDA:
       Libro SISTEMAS OPERATIVOS. DUED.
       Todos los temas propuestos tienen su explicación en diferentes direcciones
       electrónicas.
U N I V E R S I D A DA L A S P E R U A N A S

    Dirección Universitaria de Educación a Distancia
 Escuela Profesional de Ingeniería de Sistemas e Informática




ADMINISTRACIÓN DE LOS PROCESOS

            “BLOQUEO MUTUO”

                          AUTOR

                  VARGAS VERA, Jorge Raúl



                      ASIGNATURA
                  SISTEMAS OPERATIVOS


                           CICLO

                             V



                           2012




                                                Curso: Sistemas Operativos
                              1
TRABAJO ACADÉMICO


1. Elegir uno de los temas del listado adjunto y crear un documento de texto
   explicando detalladamente su funcionalidad, casos en los que un sistema
   operativo utiliza y a su vez las ventajas y desventajas de su aplicación. Se
   debe suponer distintos casos que puedan presentarse.


                                     BLOQUEO MUTUO

   Uno de los problemas que se presenta a menudo en nuestros ordenadores es el bloqueo mutuo.
   El bloqueo mutuo consiste en que muchos procesos compiten por relativamente pocos recursos
   y el sistema no es capaz de atender a todos los procesos en el sistema. Una carencia de
   sincronización de los procesos puede dar como resultado dos condiciones extremas: el
   bloqueo mutuo y la inanición.

   El bloqueo mutuo, anteriormente conocido con la frase más descriptiva de abrazo mortal es un
   enredo a nivel del sistema de solicitudes de recursos que se inicia cuando 2 o más trabajos se
   ponen en espera, cada uno aguardando que quede disponible un recurso vital.

   El problema se genera cuando cuándo los recursos están ocupados por otros procesos y éstos
   no los liberan, y siguen ejecutándose porque están a la espera de otros recursos que están
   asignados a otros procesos. Como no se pueden asignar los recursos porque están ocupados
   todos los trabajos se detienen. Si el sistema se detiene (cuelga), entonces el bloqueo es total.

   El ejemplo más usado es el de un caso de congestionamiento de tráfico. Para ello mostramos el
   siguiente gráfico:




                                                                          Curso: Sistemas Operativos
                                               2
Interpretando el gráfico, no existe una solución simple e inmediata para el bloqueo mutuo, nadie
puede avanzar mientras alguien no se quite del camino, pero esto no puede suceder mientras
alguien no avance o retroceda toda una línea.

Un bloqueo mutuo por lo general ocurre cuando recursos insustituibles que no se pueden
compartir, se asignan a trabajos que terminarán por requerir otros recursos incompartible e
insustituibles; esto es; recursos bloqueados por otros trabajos.

Existen 7 casos de bloqueos mutuos:

         Caso 1: Bloqueos mutuos en solicitudes de archivos.

       Ocurre cuando las tareas solicitan y conservan archivos durante su ejecución, puede
       ocurrir un bloqueo mutuo. Qué quiere decir, que las tareas mantienen el uso de un
       archivo y no lo sueltan hasta que termine su proceso, aunque a mitad de ello tengan que
       abrir otro archivo, sin haber soltado el primero, entonces otro proceso no puede hacer uso
       del primer archivo, ahí se produce un bloqueo mutuo.

       Caso 2: Bloqueos mutuos en bases de datos.

       También puede ocurrir bloqueo mutuo si dos procesos acceden y bloquean registros de
       una base de datos. Este bloqueo ocurre cuando una parte de un sistema solicita
       información de una tabla, al solicitar automáticamente se bloquea la base para proteger
       los datos, pero no lo suelta instantáneamente debido que para validar la información


                                                                     Curso: Sistemas Operativos
                                            3
necesita verificar otra tabla, al existir otro usuario de una red que solicita información a la
base, ésta se encuentra bloqueada por el primer proceso.

El bloqueo puede efectuarse en tres niveles: En toda la base de datos, en una subsección
de la base de datos o en el registro individual hasta que el proceso termine.

Caso 3: Bloqueos mutuos en la asignación de dispositivos dedicados.

El uso de dispositivos dedicados también puede generar un bloqueo mutuo. ¿Cómo así?.
Por ejemplo un proceso puede solicitar el uso de cintas magnéticas para copiar archivos a
otra cinta magnética, en el momento otro proceso solicita la cinta magnética, como ya
está asignado el recurso, entonces ahí se produce un bloqueo mutuo.

Caso 4: Bloqueos mutuos en la asignación de múltiples procesos.

Los bloqueos mutuos no solo ocurren cuando se compite por un dispositivo dedicado,
también ocurre cuando un proceso compite por un recurso que se encuentra asignado a
otro proceso, por ejemplo: Se pueden tener varios procesos y varios recursos, en este
sentido un proceso puede solicitar un recurso y luego otro proceso puede solicitar ese
mismo recurso, al estar asignado al primer recurso se produce un bloqueo mutuo.

Caso 5: Bloqueos mutuos en operaciones simultáneas en línea

Este es un problema clásico de bloqueo mutuo que se suele presentar dentro de un
sistema que comparte un periférico dedicado (impresora), antes la impresora era
dedicada, ahora con todos los trabajos en red la impresora es un dispositivo compartido.
El bloqueo mutuo en este caso se produce cuando varios usuarios de una red envían
documentos al mismo tiempo al servicio de impresión.

Cómo la impresora sólo libera los trabajos al recibir todo el trabajo, entonces los otros
trabajos de impresión tienen que esperar a que todo el documento haya sido cargado
para proceder a liberar la impresora.

Caso 6: Bloqueos al compartir discos

Los discos están diseñados para ser compartidos. Sin controles que regulen el uso de la
unidad de disco, los procesos que solicitan su servicio podrían enviar comandos
conflictivos y bloquear el sistema. ¿Cómo así? Por ejemplo un primer proceso puede
solicitar grabar una información en el cilindro 40 del disco, una vez que el proceso es
atendido se libera el recurso quedando libre mientras el mecanismo mueve el brazo hacia


                                                                  Curso: Sistemas Operativos
                                        4
el cilindro 40, en ese momento un segundo proceso solicita grabar información en el
       cilindro 250 del disco, al estar el recurso libre solicita el proceso, en ese momento se da
       cuenta que el brazo está dirigiéndose al cilindro 40 ordenándole dirigirse al 250 y
       liberando el recurso, como el proceso 1 encuentra nuevamente que el recurso está libre
       vuelve a solicitar el trabajo, moviendo nuevamente el brazo al cilindro 40 y liberando el
       recurso. El proceso 2 vuelve a encontrar libre el recurso y vuelve a solicitar la grabación
       de su información en el cilindro 250, repitiéndose todo el ciclo nuevamente, ahí se realiza
       el bloqueo mutuo ya que ninguno de los dos procesos completa su operación.

       Caso 7: Bloqueos mutuos en una Red

       Una red congestiona o que se ha llenado su buffer de entrada/salida se puede bloquear
       totalmente si no tiene protocolos para controlar el flujo de mensajes a través de la red.

En cada uno de los casos para que se realizara el bloqueo mutuo comprendió la interacción de
varios procesos y recursos a la vez, pero la ocurrencia de 4 condiciones precedió cada bloqueo
mutuo: exclusión mutua, retención del recurso, no apropiatividad y espera circular.

Exclusión mutua: Es el acto por el cual un proceso tiene acceso a un recurso dedicado.

Retención del recurso: Cuando un proceso usa un recurso y no lo suelta para que otro proceso
pueda usarlo.

No apropiatividad: Es cuando un proceso usa un recurso y no lo suelta temporalmente para
que lo use otro y luego pueda concluir con su operación

Espera circular: Esta última condición es consecuencia de las 3 anteriores, donde cada proceso
está inmerso en la espera de que el otro proceso libere el recurso, por lo que, por lo menos uno
será capaz de continuar y llegar al final.

Estrategias para el manejo de bloqueos

El orden impredecible de solicitudes y liberaciones hacen difícil diseñar una política preventiva a
toda prueba, por lo que los sistemas operativos se han visto obligados a utilizar una de las
siguientes estrategias:

a) Impedir que ocurra alguna de las cuatro condiciones arriba mencionada (prevención)
    Para impedir un bloqueo mutuo, el sistema operativo debe eliminar una de las cuatro
    condiciones necesarias arriba descritas, lo cual sería un poco difícil porque no es posible
    suprimir la misma condición de todos los procesos.


                                                                       Curso: Sistemas Operativos
                                             5
La exclusión mutua es necesaria en cualquier sistema de cómputo porque algunos recursos
    deben ser asignados exclusivamente a un usuario a la vez.
    La retención de recursos podría evitarse obligando a cada trabajo a solicitar en el momento
    de su creación todos los recursos que necesitará, por lo cual, los dispositivos quedaría
    ociosos porque se asignarían a un proceso así no lo necesitara.
    La no apropiatividad podría evitarse permitiendo que el sistema operativo desasigne
    recursos de los trabajos.
    En cuanto a la espera circular se puede obviar si el sistema impide la formación de un
    círculo, para lo cual tendría que crear un esquema de ordenamiento jerarquerizado de los
    recursos, lo cual evitaría un bloqueo mutuo.


b) Evitar el bloqueo si se hace probable
    Incluso si el sistema operativo no puede eliminar una de las condiciones de un bloqueo
    mutuo, puede evitar uno, si conoce por anticipado la secuencia de solicitudes.
    Para ello tiene que hacer uso del algoritmo del banquero el cual opera de la siguiente
    manera:
              A ninguno de los clientes se concederá un préstamo que exceda el capital total del
              banco.
              A todos los clientes se dará el límite de crédito máximo al abrir una cuenta.
              A ningún cliente se permitirá que pida prestado más allá de su límite.
              La suma de todos los préstamos no excederá el capital total del banco.

    En la práctica el algoritmo del banquero funciona de la siguiente manera: (expresado en
    miles de dólares)

    Supongamos que el banco tiene un fondo de 10 y 3 clientes, cuyos límites máximos de
    crédito son 4, 5 y 8 respectivamente. Se tiene también que al cliente 2 y 3 se les otorgó un
    préstamo de 2 y 4 respectivamente (total prestado 6, total disponible 4), lo que se conoce
    como estado seguro, porque el banco tiene todavía suficiente dinero para satisfacer las
    solicitudes de los todos sus clientes.

                                 Cantidad del
          Cliente                                      Crédito Máximo           Crédito Restante
                                  Préstamo
              C1                       0                        4                       4
              C2                       2                        5                       3
              C3                       4                        8                       4

    Total prestado:        6                 Fondo total de capital:    10

                                                                        Curso: Sistemas Operativos
                                             6
Luego de algunas semanas, los clientes han realizado las siguientes operaciones: el cliente
   1 solicita un crédito por 2, el cliente 2 solicita una ampliación de su crédito a 3, quedando
   como estado final lo siguiente: Total prestado: 9, fondo total 10, a lo que se llama estado
   inseguro debido a que el banco ya está al tope de su capital.

                              Cantidad del
         Cliente                                      Crédito Máximo        Crédito Restante
                                Préstamo
            C1                        2                      4                      2
            C2                        3                      5                      2
            C3                        4                      8                      4

   Total prestado:       9                 Fondo total de capital:   10

   Se llama estado inseguro debido a que el banco sólo tiene disponibilidad de 1, en tanto que,
   los clientes todavía pueden solicitar préstamos por 8, y si presta 1 quedará totalmente
   bloqueado, para lo cual si algún cliente solicita un préstamo, el banco lo pondrá en espera
   hasta que algunos de los otros clientes paguen el total de su deuda o amorticen una parte
   de tal forma que el banco puede tener nuevamente liquides.

   Por lo tanto el sistema operativo debe estar seguro de nunca atender una solicitud que
   convierta un estado seguro en inseguro.

c) Detectarlo cuando ocurre y recuperarse del mismo con gracia.
   Para detectar circularidad es necesario correr un algoritmo siempre que sea apropiado.
   Dicho algoritmo funciona de la siguiente manera:
            Encuentre un proceso que esté utilizando un recurso y que no esté en espera de
            uno. Este proceso se puede eliminar y los recursos pueden regresar a lista de
            espera.
            Encuentre un proceso que nada más espere clases de recursos que no estén
            asignados por completo.
            Vuelva al paso uno y continúe la iteración hasta eliminar todas las líneas que
            conecten recursos con procesos.

    Si quedan procesos unidos a recursos indicará que existe un bloqueo mutuo.




                                                                     Curso: Sistemas Operativos
                                          7
2. Haciendo uso del lenguaje de programación de su preferencia, desarrollar
   una interfaz que permita simular el funcionamiento del tema elegido.
   Identificar la forma y método de entrada de datos. Sustentar la estructura
   de datos a utilizar propuesta. (3 puntos)
   El tema elegido es el de Bloqueo mutuo, para tal efecto, con la ayuda del
   Lenguaje de Programación PowerBuilder se logró desarrollar la aplicación
   solicitada mostrándose la siguiente interface:
   1) Al ejecutarse la aplicación nos muestra la siguiente pantalla, donde nos
      solicita los procesos y los recursos con los que se van a trabajar, la
      cantidad de procesos y recursos máximos son de 5




                                                         Curso: Sistemas Operativos
                                       8
Cuando ya se especificó los datos se da clic en Crear Escenario, mostrando la
siguiente interface:




                                                       Curso: Sistemas Operativos
                                  9
3. Desarrollo del proceso principal del tema elegido. Análisis de la
   secuencia de actividades. Validación de los supuestos definidos en el
   punto 1. Funcionalidad de cada actividad. (7 puntos)


   Análisis de la Secuencia de Actividades:
   El presente aplicativo funciona de la siguiente manera:


   Una vez creado el escenario de la forma arriba mencionado, aparecen en el
   formulario los procesos identificados con las letra P1, P2, P3, P4 y P5 los
   cuales tienen a sus lados un ComboBox en el cual puede seleccionar que
   recurso va a solicitar, cabe mencionar que al momento de crear el escenario,
   ya están definidos la cantidad de recursos que se pueden seleccionar, y, no se
   puede solicitar un recurso que no está creado, y, al otro lado aparece un
   Cuadro de Texto en el cual aparecerá el nombre del recurso que ha sido
   seleccionado, los recursos están identificados con las letras R1, R2, R3, R4 y
   R5.


   Una vez asignado un recurso a un proceso aparece una línea que indica la
   asignación y también se activa un check box en la parte superior, si se desea
   liberar simplemente se le da un clic al checkbox y el recurso es liberado.


   Validaciones:

                                                             Curso: Sistemas Operativos
                                       10
Las validaciones son sencillas, primero se solicitan los recursos, los recursos
   se asignan a algún proceso que haya solicitado el recurso, si el recurso está
   libre es asignado al proceso, luego el recurso se bloquea para que no pueda
   asignarse a otro proceso.




4. Generación de resultados. Cálculo de tiempos promedio y estadísticas
   generadas de acuerdo al tema elegido. (4 puntos)

   En el tema elegido (Bloqueo mutuo) el sistema no refiere tiempos promedios,
   pero si muestra un listado de todas las operaciones asignadas, de tal forma
   que se pueda explicar la secuencia realizada.



5. Establecer conclusiones y recomendaciones de la aplicación propuesta.
   (2 puntos)


   Conclusiones:
      a) Se logró crear un aplicativo sencillo y fácil de utilizar para poder
          demostrar los casos en que se puedan realizar los Bloqueos Mutuos.


      b) El bloqueo mutuo es un algoritmo muy interesante y fácil de explicar
          con el cual podemos ilustrar a todas las personas las formas en que
          pueden producirse los eventos comúnmente conocidos como COLGAR,
          término muy aplicado cuando vemos que nuestro computador ya no
          puede realizar ninguna operación y tenemos que finalizar de otras
          maneras los procesos iniciados.


      c) También se puede indicar las maneras en que los recursos del
          computador se pueden asignar a los diferentes procesos, ya sea la
          asignación de impresora, disco, memoria, lectora, cámara, audio, etc, a
          cada programa según sea necesario.


   Recomendaciones:
      a) Teniendo un poco más de práctica en el tema se podría realizar un
          algoritmo y aplicación de mejor resultado para poder explicar de una
          mejor manera el tema.


                                                           Curso: Sistemas Operativos
                                     11
b) El manejo del Lenguaje de Programación PowerBuilder también es
   limitado, por lo que se recomienda el uso de otro lenguaje, ya sea Java
   o Visual Basic.Net.

c) Con un poco más de tiempo en lo referente a las sesiones de clases y
   la explicación de los métodos se pudo haber realizado otro tipo de
   algoritmo o aplicación que demuestre otras operaciones realizadas en
   el computador, ya sean, manejo de disco, de memoria, de procesador,
   etc.




                                                   Curso: Sistemas Operativos
                              12

Más contenido relacionado

La actualidad más candente

Conociendo el Aula Virtual de la Universidad Nueva Esparta - Diplomado en Ger...
Conociendo el Aula Virtual de la Universidad Nueva Esparta - Diplomado en Ger...Conociendo el Aula Virtual de la Universidad Nueva Esparta - Diplomado en Ger...
Conociendo el Aula Virtual de la Universidad Nueva Esparta - Diplomado en Ger...Universidad Nueva Esparta
 
escenario de computación tics
escenario de computación ticsescenario de computación tics
escenario de computación ticsSusyvillamore03
 
escenario de computación tics
escenario de computación ticsescenario de computación tics
escenario de computación ticsSusyvillamore03
 
Escenarios computacion 1_a_1
Escenarios computacion 1_a_1Escenarios computacion 1_a_1
Escenarios computacion 1_a_1mamarthareyes
 
DIFERENTES SITUACIONES TICS
DIFERENTES SITUACIONES TICSDIFERENTES SITUACIONES TICS
DIFERENTES SITUACIONES TICSPetalo de Luna
 
232784293 escenarios-computacion-1-a-1.............
232784293 escenarios-computacion-1-a-1.............232784293 escenarios-computacion-1-a-1.............
232784293 escenarios-computacion-1-a-1.............almamendooza
 
Conociendo el Aula Virtual de la Universidad Nueva Esparta - Diplomado en For...
Conociendo el Aula Virtual de la Universidad Nueva Esparta - Diplomado en For...Conociendo el Aula Virtual de la Universidad Nueva Esparta - Diplomado en For...
Conociendo el Aula Virtual de la Universidad Nueva Esparta - Diplomado en For...Universidad Nueva Esparta
 
E learning class
E learning classE learning class
E learning classacyapura
 
Guia para crear una clase en EDU2.0
Guia para crear una clase en EDU2.0Guia para crear una clase en EDU2.0
Guia para crear una clase en EDU2.0senyalee
 
Empezar en senavirtual
Empezar en senavirtualEmpezar en senavirtual
Empezar en senavirtualCarlos Uribe
 
Cuestionario escenarios computacion 1_a_1. evaluacion (2)
Cuestionario escenarios computacion 1_a_1. evaluacion (2)Cuestionario escenarios computacion 1_a_1. evaluacion (2)
Cuestionario escenarios computacion 1_a_1. evaluacion (2)paola pineda
 
Conociendo el Aula Virtual de la Universidad Nueva Esparta - Diplomado en Der...
Conociendo el Aula Virtual de la Universidad Nueva Esparta - Diplomado en Der...Conociendo el Aula Virtual de la Universidad Nueva Esparta - Diplomado en Der...
Conociendo el Aula Virtual de la Universidad Nueva Esparta - Diplomado en Der...Universidad Nueva Esparta
 
Proyecto IAVA: aprendizaje apoyado en tic's.
Proyecto IAVA: aprendizaje apoyado en tic's.Proyecto IAVA: aprendizaje apoyado en tic's.
Proyecto IAVA: aprendizaje apoyado en tic's.Jose G Hernandez
 
F08 9543-004 guas de aprendizaje v3 10
F08 9543-004 guas de aprendizaje v3 10F08 9543-004 guas de aprendizaje v3 10
F08 9543-004 guas de aprendizaje v3 10marialeonornino
 

La actualidad más candente (20)

Manual induccion
Manual induccionManual induccion
Manual induccion
 
Computacion10mo. Parte1. 2010
Computacion10mo. Parte1. 2010Computacion10mo. Parte1. 2010
Computacion10mo. Parte1. 2010
 
Conociendo el Aula Virtual de la Universidad Nueva Esparta - Diplomado en Ger...
Conociendo el Aula Virtual de la Universidad Nueva Esparta - Diplomado en Ger...Conociendo el Aula Virtual de la Universidad Nueva Esparta - Diplomado en Ger...
Conociendo el Aula Virtual de la Universidad Nueva Esparta - Diplomado en Ger...
 
escenario de computación tics
escenario de computación ticsescenario de computación tics
escenario de computación tics
 
escenario de computación tics
escenario de computación ticsescenario de computación tics
escenario de computación tics
 
Situaciones de aprendizaje
Situaciones de aprendizajeSituaciones de aprendizaje
Situaciones de aprendizaje
 
Escenarios computacion 1_a_1
Escenarios computacion 1_a_1Escenarios computacion 1_a_1
Escenarios computacion 1_a_1
 
DIFERENTES SITUACIONES TICS
DIFERENTES SITUACIONES TICSDIFERENTES SITUACIONES TICS
DIFERENTES SITUACIONES TICS
 
232784293 escenarios-computacion-1-a-1.............
232784293 escenarios-computacion-1-a-1.............232784293 escenarios-computacion-1-a-1.............
232784293 escenarios-computacion-1-a-1.............
 
Conociendo el Aula Virtual de la Universidad Nueva Esparta - Diplomado en For...
Conociendo el Aula Virtual de la Universidad Nueva Esparta - Diplomado en For...Conociendo el Aula Virtual de la Universidad Nueva Esparta - Diplomado en For...
Conociendo el Aula Virtual de la Universidad Nueva Esparta - Diplomado en For...
 
E learning class
E learning classE learning class
E learning class
 
Guia para crear una clase en EDU2.0
Guia para crear una clase en EDU2.0Guia para crear una clase en EDU2.0
Guia para crear una clase en EDU2.0
 
Empezar en senavirtual
Empezar en senavirtualEmpezar en senavirtual
Empezar en senavirtual
 
Instalación moodle en ubuntu
Instalación moodle en ubuntuInstalación moodle en ubuntu
Instalación moodle en ubuntu
 
Cuestionario escenarios computacion 1_a_1. evaluacion (2)
Cuestionario escenarios computacion 1_a_1. evaluacion (2)Cuestionario escenarios computacion 1_a_1. evaluacion (2)
Cuestionario escenarios computacion 1_a_1. evaluacion (2)
 
Conociendo el Aula Virtual de la Universidad Nueva Esparta - Diplomado en Der...
Conociendo el Aula Virtual de la Universidad Nueva Esparta - Diplomado en Der...Conociendo el Aula Virtual de la Universidad Nueva Esparta - Diplomado en Der...
Conociendo el Aula Virtual de la Universidad Nueva Esparta - Diplomado en Der...
 
Computación. 2do Año. 2011
Computación. 2do Año. 2011Computación. 2do Año. 2011
Computación. 2do Año. 2011
 
Manual edu 20
Manual edu 20Manual edu 20
Manual edu 20
 
Proyecto IAVA: aprendizaje apoyado en tic's.
Proyecto IAVA: aprendizaje apoyado en tic's.Proyecto IAVA: aprendizaje apoyado en tic's.
Proyecto IAVA: aprendizaje apoyado en tic's.
 
F08 9543-004 guas de aprendizaje v3 10
F08 9543-004 guas de aprendizaje v3 10F08 9543-004 guas de aprendizaje v3 10
F08 9543-004 guas de aprendizaje v3 10
 

Destacado (11)

Informatica
InformaticaInformatica
Informatica
 
La usucapion
La usucapionLa usucapion
La usucapion
 
Universidad alas peruanas
Universidad alas peruanasUniversidad alas peruanas
Universidad alas peruanas
 
La usucapión o prescripción adquisitiva
La usucapión o prescripción adquisitivaLa usucapión o prescripción adquisitiva
La usucapión o prescripción adquisitiva
 
Carreras uap preferencial- uap
Carreras uap preferencial- uapCarreras uap preferencial- uap
Carreras uap preferencial- uap
 
Posesión, usucapion...
Posesión, usucapion... Posesión, usucapion...
Posesión, usucapion...
 
Prescripción adquisitiva de dominio
Prescripción adquisitiva de dominioPrescripción adquisitiva de dominio
Prescripción adquisitiva de dominio
 
Trabajo de derecho romano
Trabajo de derecho romanoTrabajo de derecho romano
Trabajo de derecho romano
 
La usucapion exposicion 1
La usucapion exposicion 1La usucapion exposicion 1
La usucapion exposicion 1
 
Ta costos y presup- o.k. (2)
Ta   costos y presup- o.k. (2)Ta   costos y presup- o.k. (2)
Ta costos y presup- o.k. (2)
 
Tutorial isis-proteus
Tutorial isis-proteusTutorial isis-proteus
Tutorial isis-proteus
 

Similar a Ta5 sistemas operativos - para shared

Programacion visual II
Programacion visual IIProgramacion visual II
Programacion visual IIEdgar Merino
 
Silabu Introd. a Computación
Silabu Introd. a ComputaciónSilabu Introd. a Computación
Silabu Introd. a ComputaciónVeki Ta
 
Guía de actividades y rúbrica de evaluación unidad 2 - tarea 3 - web, comun...
Guía de actividades y rúbrica de evaluación   unidad 2 - tarea 3 - web, comun...Guía de actividades y rúbrica de evaluación   unidad 2 - tarea 3 - web, comun...
Guía de actividades y rúbrica de evaluación unidad 2 - tarea 3 - web, comun...AndreaLondoo32
 
Silabus computacion
Silabus computacionSilabus computacion
Silabus computacionVeki Ta
 
Silabo Taller de Programacion Distribuida.docx
Silabo Taller de Programacion Distribuida.docxSilabo Taller de Programacion Distribuida.docx
Silabo Taller de Programacion Distribuida.docxLEODANPEREZLLACSA
 
Fundamento de sistema operativo
Fundamento de sistema operativoFundamento de sistema operativo
Fundamento de sistema operativodelio2021
 
Modulo 5 Diseño Instruccional
Modulo 5 Diseño InstruccionalModulo 5 Diseño Instruccional
Modulo 5 Diseño Instruccionalyelmin perez curra
 
Guia integradora de_actividades_301121_2014_ii
Guia integradora de_actividades_301121_2014_iiGuia integradora de_actividades_301121_2014_ii
Guia integradora de_actividades_301121_2014_iiAlberto Guerrero
 
Implementacion del curso fundamentos del trabajo en equipo
Implementacion del curso fundamentos del trabajo en equipoImplementacion del curso fundamentos del trabajo en equipo
Implementacion del curso fundamentos del trabajo en equipotrabajoenequipo_
 
10 guia sistemas 2 programacion eventos
10 guia sistemas 2 programacion eventos10 guia sistemas 2 programacion eventos
10 guia sistemas 2 programacion eventosJonatan Perez
 

Similar a Ta5 sistemas operativos - para shared (20)

TCP-Lab01.pdf
TCP-Lab01.pdfTCP-Lab01.pdf
TCP-Lab01.pdf
 
Programacion visual II
Programacion visual IIProgramacion visual II
Programacion visual II
 
Mercado javier act2
Mercado javier act2Mercado javier act2
Mercado javier act2
 
Diseño de materiales didácticos
Diseño de materiales didácticosDiseño de materiales didácticos
Diseño de materiales didácticos
 
Silabu Introd. a Computación
Silabu Introd. a ComputaciónSilabu Introd. a Computación
Silabu Introd. a Computación
 
Guía de actividades y rúbrica de evaluación unidad 2 - tarea 3 - web, comun...
Guía de actividades y rúbrica de evaluación   unidad 2 - tarea 3 - web, comun...Guía de actividades y rúbrica de evaluación   unidad 2 - tarea 3 - web, comun...
Guía de actividades y rúbrica de evaluación unidad 2 - tarea 3 - web, comun...
 
Silabus computacion
Silabus computacionSilabus computacion
Silabus computacion
 
Silabo Taller de Programacion Distribuida.docx
Silabo Taller de Programacion Distribuida.docxSilabo Taller de Programacion Distribuida.docx
Silabo Taller de Programacion Distribuida.docx
 
Fundamento de sistema operativo
Fundamento de sistema operativoFundamento de sistema operativo
Fundamento de sistema operativo
 
Programacion web se
Programacion web seProgramacion web se
Programacion web se
 
Modulo 5 Diseño Instruccional
Modulo 5 Diseño InstruccionalModulo 5 Diseño Instruccional
Modulo 5 Diseño Instruccional
 
Guia integradora de_actividades_301121_2014_ii
Guia integradora de_actividades_301121_2014_iiGuia integradora de_actividades_301121_2014_ii
Guia integradora de_actividades_301121_2014_ii
 
Ensayo de computacion
Ensayo de computacionEnsayo de computacion
Ensayo de computacion
 
Computacion
ComputacionComputacion
Computacion
 
E182112
E182112E182112
E182112
 
Computacion
ComputacionComputacion
Computacion
 
Guia aprendizaje unidad_2_opcional
Guia aprendizaje unidad_2_opcionalGuia aprendizaje unidad_2_opcional
Guia aprendizaje unidad_2_opcional
 
manual_estudiante.pdf
manual_estudiante.pdfmanual_estudiante.pdf
manual_estudiante.pdf
 
Implementacion del curso fundamentos del trabajo en equipo
Implementacion del curso fundamentos del trabajo en equipoImplementacion del curso fundamentos del trabajo en equipo
Implementacion del curso fundamentos del trabajo en equipo
 
10 guia sistemas 2 programacion eventos
10 guia sistemas 2 programacion eventos10 guia sistemas 2 programacion eventos
10 guia sistemas 2 programacion eventos
 

Ta5 sistemas operativos - para shared

  • 1. U N I V E R S I D A DA L A SP E R U A N A S Dirección Universitaria de Educación a Distancia Escuela Académico Profesional de Ingeniería de Sistemas e Informática TRABAJO ACADEMICO Asignatura: SISTEMAS OPERATIVOS 2012- I Docente: Ing. Luis Manuel SigüeñasSiadén Ciclo del curso: V MODULO II Datos del Alumno: Apellidos y Nombres: Código UDED: FECHA DE HASTA EL DOMINGO 29 DE ENERO DEL 2012 ENVIO: Comprimir el archivo original de su trabajo académico en FORMA DE WINZIP y publicarloen el CAMPUS VIRTUAL, mediante la Indicaciones ENVIO: opción: TAMAÑO DEL Capacidad Máxima del archivo comprimido: 4 MB ARCHIVO: 1. Recuerde verificar la correcta publicación de su Trabajo Académico en el Campus Virtual. Revisar la opción: 2. No se aceptará el Trabajo Académico después del domingo 05 de febrero del 2012. Recomendaciones 3. Las actividades que se encuentran en el libro servirán para su autoaprendizaje mas no para la calificación, por lo que no deberán ser remitidas. Usted sólo deberá realizar y remitir obligatoriamente el Trabajo Académico que adjuntamos aquí. 4. Recuerde: NO DEBE COPIAR DEL INTERNET, el Internet es únicamente una fuente de consulta. Los trabajos copias de internet serán calificados con “00” (cero).
  • 2. Estimado alumno: El presente trabajo académico tiene por finalidad medir los logros alcanzados en el desarrollo del curso. Para el examen parcial usted debe haber logrado desarrollar hasta la pregunta Nº 02y para el examen final Guía del debe haber desarrollado el trabajo completo. Trabajo Académico Criterios de evaluación del trabajo académico: Presentación adecuada Considera la evaluación de la redacción, ortografía, y 1 del trabajo presentación del trabajo en este formato. Investigación Considera la consulta de libros virtuales, a través de la 2 bibliográfica. Biblioteca virtual DUED UAP, entre otras fuentes. Situación problemática, casos práctico, ejercicios, Considera el análisis de casos o la solución de situaciones 3 etc. problematizadoras por parte del alumno. Otros contenidos considerando los niveles 4 cognitivos de orden superior. Trabajo Académico 1. Elegir uno de los temas del listado adjunto y crear un documento de texto explicando detalladamente su funcionalidad, casos en los que un sistema operativo utiliza y a su vez las ventajas y desventajas de su aplicación. Se debe suponer distintos casos que puedan presentarse. (4 puntos) 2. Haciendo uso del lenguaje de programación de su preferencia, desarrollar una interfaz que permita simular el funcionamiento del tema elegido. Identificar la forma y método de entrada de datos. Sustentar la estructura de datos a utilizar propuesta. (3 puntos) 3. Desarrollo del proceso principal del tema elegido. Análisis de la secuencia de actividades. Validación de los supuestos definidos en el punto 1. Funcionalidad de cada actividad. (7 puntos) 4. Generación de resultados. Cálculo de tiempos promedio y estadísticas generadas de acuerdo al tema elegido. (4 puntos) 5. Establecer conclusiones y recomendaciones de la aplicación propuesta. (2 puntos) TEMAS A ESCOGER: Bloqueo mutuo.
  • 3. Inanición. Los filósofos comensales. Semáforos. Algoritmos de planificación de trabajos (uno de ellos) o FIFO. o SRT. o SJF. o Round Robin. o Colas Múltiples. Asignación de memoria particionada: o Mejor Ajuste. o Primer Ajuste. o Peor Ajuste. Compactación de memoria. Planificación de discos: o FIFO o SCAN o C-SCAN o LOOK o C-LOOK PRESENTACIÓN: La presentación parcial del trabajo académico (semana 04) se realizará compartiendo el escritorio del alumno escuchando la explicación del avance. Para la presentación final del trabajo académico, se debe publicar un archivo comprimido conteniendo: Archivos que permiten ejecutar el aplicativo. Archivo en Word en el que se explique el desarrollo completo del trabajo académico. Capturar pantallas del aplicativo. FUENTES DE AYUDA: Libro SISTEMAS OPERATIVOS. DUED. Todos los temas propuestos tienen su explicación en diferentes direcciones electrónicas.
  • 4. U N I V E R S I D A DA L A S P E R U A N A S Dirección Universitaria de Educación a Distancia Escuela Profesional de Ingeniería de Sistemas e Informática ADMINISTRACIÓN DE LOS PROCESOS “BLOQUEO MUTUO” AUTOR VARGAS VERA, Jorge Raúl ASIGNATURA SISTEMAS OPERATIVOS CICLO V 2012 Curso: Sistemas Operativos 1
  • 5. TRABAJO ACADÉMICO 1. Elegir uno de los temas del listado adjunto y crear un documento de texto explicando detalladamente su funcionalidad, casos en los que un sistema operativo utiliza y a su vez las ventajas y desventajas de su aplicación. Se debe suponer distintos casos que puedan presentarse. BLOQUEO MUTUO Uno de los problemas que se presenta a menudo en nuestros ordenadores es el bloqueo mutuo. El bloqueo mutuo consiste en que muchos procesos compiten por relativamente pocos recursos y el sistema no es capaz de atender a todos los procesos en el sistema. Una carencia de sincronización de los procesos puede dar como resultado dos condiciones extremas: el bloqueo mutuo y la inanición. El bloqueo mutuo, anteriormente conocido con la frase más descriptiva de abrazo mortal es un enredo a nivel del sistema de solicitudes de recursos que se inicia cuando 2 o más trabajos se ponen en espera, cada uno aguardando que quede disponible un recurso vital. El problema se genera cuando cuándo los recursos están ocupados por otros procesos y éstos no los liberan, y siguen ejecutándose porque están a la espera de otros recursos que están asignados a otros procesos. Como no se pueden asignar los recursos porque están ocupados todos los trabajos se detienen. Si el sistema se detiene (cuelga), entonces el bloqueo es total. El ejemplo más usado es el de un caso de congestionamiento de tráfico. Para ello mostramos el siguiente gráfico: Curso: Sistemas Operativos 2
  • 6. Interpretando el gráfico, no existe una solución simple e inmediata para el bloqueo mutuo, nadie puede avanzar mientras alguien no se quite del camino, pero esto no puede suceder mientras alguien no avance o retroceda toda una línea. Un bloqueo mutuo por lo general ocurre cuando recursos insustituibles que no se pueden compartir, se asignan a trabajos que terminarán por requerir otros recursos incompartible e insustituibles; esto es; recursos bloqueados por otros trabajos. Existen 7 casos de bloqueos mutuos: Caso 1: Bloqueos mutuos en solicitudes de archivos. Ocurre cuando las tareas solicitan y conservan archivos durante su ejecución, puede ocurrir un bloqueo mutuo. Qué quiere decir, que las tareas mantienen el uso de un archivo y no lo sueltan hasta que termine su proceso, aunque a mitad de ello tengan que abrir otro archivo, sin haber soltado el primero, entonces otro proceso no puede hacer uso del primer archivo, ahí se produce un bloqueo mutuo. Caso 2: Bloqueos mutuos en bases de datos. También puede ocurrir bloqueo mutuo si dos procesos acceden y bloquean registros de una base de datos. Este bloqueo ocurre cuando una parte de un sistema solicita información de una tabla, al solicitar automáticamente se bloquea la base para proteger los datos, pero no lo suelta instantáneamente debido que para validar la información Curso: Sistemas Operativos 3
  • 7. necesita verificar otra tabla, al existir otro usuario de una red que solicita información a la base, ésta se encuentra bloqueada por el primer proceso. El bloqueo puede efectuarse en tres niveles: En toda la base de datos, en una subsección de la base de datos o en el registro individual hasta que el proceso termine. Caso 3: Bloqueos mutuos en la asignación de dispositivos dedicados. El uso de dispositivos dedicados también puede generar un bloqueo mutuo. ¿Cómo así?. Por ejemplo un proceso puede solicitar el uso de cintas magnéticas para copiar archivos a otra cinta magnética, en el momento otro proceso solicita la cinta magnética, como ya está asignado el recurso, entonces ahí se produce un bloqueo mutuo. Caso 4: Bloqueos mutuos en la asignación de múltiples procesos. Los bloqueos mutuos no solo ocurren cuando se compite por un dispositivo dedicado, también ocurre cuando un proceso compite por un recurso que se encuentra asignado a otro proceso, por ejemplo: Se pueden tener varios procesos y varios recursos, en este sentido un proceso puede solicitar un recurso y luego otro proceso puede solicitar ese mismo recurso, al estar asignado al primer recurso se produce un bloqueo mutuo. Caso 5: Bloqueos mutuos en operaciones simultáneas en línea Este es un problema clásico de bloqueo mutuo que se suele presentar dentro de un sistema que comparte un periférico dedicado (impresora), antes la impresora era dedicada, ahora con todos los trabajos en red la impresora es un dispositivo compartido. El bloqueo mutuo en este caso se produce cuando varios usuarios de una red envían documentos al mismo tiempo al servicio de impresión. Cómo la impresora sólo libera los trabajos al recibir todo el trabajo, entonces los otros trabajos de impresión tienen que esperar a que todo el documento haya sido cargado para proceder a liberar la impresora. Caso 6: Bloqueos al compartir discos Los discos están diseñados para ser compartidos. Sin controles que regulen el uso de la unidad de disco, los procesos que solicitan su servicio podrían enviar comandos conflictivos y bloquear el sistema. ¿Cómo así? Por ejemplo un primer proceso puede solicitar grabar una información en el cilindro 40 del disco, una vez que el proceso es atendido se libera el recurso quedando libre mientras el mecanismo mueve el brazo hacia Curso: Sistemas Operativos 4
  • 8. el cilindro 40, en ese momento un segundo proceso solicita grabar información en el cilindro 250 del disco, al estar el recurso libre solicita el proceso, en ese momento se da cuenta que el brazo está dirigiéndose al cilindro 40 ordenándole dirigirse al 250 y liberando el recurso, como el proceso 1 encuentra nuevamente que el recurso está libre vuelve a solicitar el trabajo, moviendo nuevamente el brazo al cilindro 40 y liberando el recurso. El proceso 2 vuelve a encontrar libre el recurso y vuelve a solicitar la grabación de su información en el cilindro 250, repitiéndose todo el ciclo nuevamente, ahí se realiza el bloqueo mutuo ya que ninguno de los dos procesos completa su operación. Caso 7: Bloqueos mutuos en una Red Una red congestiona o que se ha llenado su buffer de entrada/salida se puede bloquear totalmente si no tiene protocolos para controlar el flujo de mensajes a través de la red. En cada uno de los casos para que se realizara el bloqueo mutuo comprendió la interacción de varios procesos y recursos a la vez, pero la ocurrencia de 4 condiciones precedió cada bloqueo mutuo: exclusión mutua, retención del recurso, no apropiatividad y espera circular. Exclusión mutua: Es el acto por el cual un proceso tiene acceso a un recurso dedicado. Retención del recurso: Cuando un proceso usa un recurso y no lo suelta para que otro proceso pueda usarlo. No apropiatividad: Es cuando un proceso usa un recurso y no lo suelta temporalmente para que lo use otro y luego pueda concluir con su operación Espera circular: Esta última condición es consecuencia de las 3 anteriores, donde cada proceso está inmerso en la espera de que el otro proceso libere el recurso, por lo que, por lo menos uno será capaz de continuar y llegar al final. Estrategias para el manejo de bloqueos El orden impredecible de solicitudes y liberaciones hacen difícil diseñar una política preventiva a toda prueba, por lo que los sistemas operativos se han visto obligados a utilizar una de las siguientes estrategias: a) Impedir que ocurra alguna de las cuatro condiciones arriba mencionada (prevención) Para impedir un bloqueo mutuo, el sistema operativo debe eliminar una de las cuatro condiciones necesarias arriba descritas, lo cual sería un poco difícil porque no es posible suprimir la misma condición de todos los procesos. Curso: Sistemas Operativos 5
  • 9. La exclusión mutua es necesaria en cualquier sistema de cómputo porque algunos recursos deben ser asignados exclusivamente a un usuario a la vez. La retención de recursos podría evitarse obligando a cada trabajo a solicitar en el momento de su creación todos los recursos que necesitará, por lo cual, los dispositivos quedaría ociosos porque se asignarían a un proceso así no lo necesitara. La no apropiatividad podría evitarse permitiendo que el sistema operativo desasigne recursos de los trabajos. En cuanto a la espera circular se puede obviar si el sistema impide la formación de un círculo, para lo cual tendría que crear un esquema de ordenamiento jerarquerizado de los recursos, lo cual evitaría un bloqueo mutuo. b) Evitar el bloqueo si se hace probable Incluso si el sistema operativo no puede eliminar una de las condiciones de un bloqueo mutuo, puede evitar uno, si conoce por anticipado la secuencia de solicitudes. Para ello tiene que hacer uso del algoritmo del banquero el cual opera de la siguiente manera: A ninguno de los clientes se concederá un préstamo que exceda el capital total del banco. A todos los clientes se dará el límite de crédito máximo al abrir una cuenta. A ningún cliente se permitirá que pida prestado más allá de su límite. La suma de todos los préstamos no excederá el capital total del banco. En la práctica el algoritmo del banquero funciona de la siguiente manera: (expresado en miles de dólares) Supongamos que el banco tiene un fondo de 10 y 3 clientes, cuyos límites máximos de crédito son 4, 5 y 8 respectivamente. Se tiene también que al cliente 2 y 3 se les otorgó un préstamo de 2 y 4 respectivamente (total prestado 6, total disponible 4), lo que se conoce como estado seguro, porque el banco tiene todavía suficiente dinero para satisfacer las solicitudes de los todos sus clientes. Cantidad del Cliente Crédito Máximo Crédito Restante Préstamo C1 0 4 4 C2 2 5 3 C3 4 8 4 Total prestado: 6 Fondo total de capital: 10 Curso: Sistemas Operativos 6
  • 10. Luego de algunas semanas, los clientes han realizado las siguientes operaciones: el cliente 1 solicita un crédito por 2, el cliente 2 solicita una ampliación de su crédito a 3, quedando como estado final lo siguiente: Total prestado: 9, fondo total 10, a lo que se llama estado inseguro debido a que el banco ya está al tope de su capital. Cantidad del Cliente Crédito Máximo Crédito Restante Préstamo C1 2 4 2 C2 3 5 2 C3 4 8 4 Total prestado: 9 Fondo total de capital: 10 Se llama estado inseguro debido a que el banco sólo tiene disponibilidad de 1, en tanto que, los clientes todavía pueden solicitar préstamos por 8, y si presta 1 quedará totalmente bloqueado, para lo cual si algún cliente solicita un préstamo, el banco lo pondrá en espera hasta que algunos de los otros clientes paguen el total de su deuda o amorticen una parte de tal forma que el banco puede tener nuevamente liquides. Por lo tanto el sistema operativo debe estar seguro de nunca atender una solicitud que convierta un estado seguro en inseguro. c) Detectarlo cuando ocurre y recuperarse del mismo con gracia. Para detectar circularidad es necesario correr un algoritmo siempre que sea apropiado. Dicho algoritmo funciona de la siguiente manera: Encuentre un proceso que esté utilizando un recurso y que no esté en espera de uno. Este proceso se puede eliminar y los recursos pueden regresar a lista de espera. Encuentre un proceso que nada más espere clases de recursos que no estén asignados por completo. Vuelva al paso uno y continúe la iteración hasta eliminar todas las líneas que conecten recursos con procesos. Si quedan procesos unidos a recursos indicará que existe un bloqueo mutuo. Curso: Sistemas Operativos 7
  • 11. 2. Haciendo uso del lenguaje de programación de su preferencia, desarrollar una interfaz que permita simular el funcionamiento del tema elegido. Identificar la forma y método de entrada de datos. Sustentar la estructura de datos a utilizar propuesta. (3 puntos) El tema elegido es el de Bloqueo mutuo, para tal efecto, con la ayuda del Lenguaje de Programación PowerBuilder se logró desarrollar la aplicación solicitada mostrándose la siguiente interface: 1) Al ejecutarse la aplicación nos muestra la siguiente pantalla, donde nos solicita los procesos y los recursos con los que se van a trabajar, la cantidad de procesos y recursos máximos son de 5 Curso: Sistemas Operativos 8
  • 12. Cuando ya se especificó los datos se da clic en Crear Escenario, mostrando la siguiente interface: Curso: Sistemas Operativos 9
  • 13. 3. Desarrollo del proceso principal del tema elegido. Análisis de la secuencia de actividades. Validación de los supuestos definidos en el punto 1. Funcionalidad de cada actividad. (7 puntos) Análisis de la Secuencia de Actividades: El presente aplicativo funciona de la siguiente manera: Una vez creado el escenario de la forma arriba mencionado, aparecen en el formulario los procesos identificados con las letra P1, P2, P3, P4 y P5 los cuales tienen a sus lados un ComboBox en el cual puede seleccionar que recurso va a solicitar, cabe mencionar que al momento de crear el escenario, ya están definidos la cantidad de recursos que se pueden seleccionar, y, no se puede solicitar un recurso que no está creado, y, al otro lado aparece un Cuadro de Texto en el cual aparecerá el nombre del recurso que ha sido seleccionado, los recursos están identificados con las letras R1, R2, R3, R4 y R5. Una vez asignado un recurso a un proceso aparece una línea que indica la asignación y también se activa un check box en la parte superior, si se desea liberar simplemente se le da un clic al checkbox y el recurso es liberado. Validaciones: Curso: Sistemas Operativos 10
  • 14. Las validaciones son sencillas, primero se solicitan los recursos, los recursos se asignan a algún proceso que haya solicitado el recurso, si el recurso está libre es asignado al proceso, luego el recurso se bloquea para que no pueda asignarse a otro proceso. 4. Generación de resultados. Cálculo de tiempos promedio y estadísticas generadas de acuerdo al tema elegido. (4 puntos) En el tema elegido (Bloqueo mutuo) el sistema no refiere tiempos promedios, pero si muestra un listado de todas las operaciones asignadas, de tal forma que se pueda explicar la secuencia realizada. 5. Establecer conclusiones y recomendaciones de la aplicación propuesta. (2 puntos) Conclusiones: a) Se logró crear un aplicativo sencillo y fácil de utilizar para poder demostrar los casos en que se puedan realizar los Bloqueos Mutuos. b) El bloqueo mutuo es un algoritmo muy interesante y fácil de explicar con el cual podemos ilustrar a todas las personas las formas en que pueden producirse los eventos comúnmente conocidos como COLGAR, término muy aplicado cuando vemos que nuestro computador ya no puede realizar ninguna operación y tenemos que finalizar de otras maneras los procesos iniciados. c) También se puede indicar las maneras en que los recursos del computador se pueden asignar a los diferentes procesos, ya sea la asignación de impresora, disco, memoria, lectora, cámara, audio, etc, a cada programa según sea necesario. Recomendaciones: a) Teniendo un poco más de práctica en el tema se podría realizar un algoritmo y aplicación de mejor resultado para poder explicar de una mejor manera el tema. Curso: Sistemas Operativos 11
  • 15. b) El manejo del Lenguaje de Programación PowerBuilder también es limitado, por lo que se recomienda el uso de otro lenguaje, ya sea Java o Visual Basic.Net. c) Con un poco más de tiempo en lo referente a las sesiones de clases y la explicación de los métodos se pudo haber realizado otro tipo de algoritmo o aplicación que demuestre otras operaciones realizadas en el computador, ya sean, manejo de disco, de memoria, de procesador, etc. Curso: Sistemas Operativos 12