1. UNIDAD 2 SISTEMAS OPERATIVOS
Instituto Tecnológico de San Juan del Rio
Qro
Materia: Sistemas Operativos
Maestra: M.C Claudia Morales Castro
Alumno(a): Maria del Pilar Bocanegra Zúñiga
Trabajo:Practicas y Actividades
Fecha de Entrega: 09-Marzo-2012
2. UNIDAD 2 SISTEMAS OPERATIVOS
=Unidad II=
“Administración
de procesos y del
Procesador”
Sistemas Operativos - Unidad 2
Actividad 1
Instrucciones:
3. UNIDAD 2 SISTEMAS OPERATIVOS
Investiga en diversas fuentes y apoyándote en la explicación de la clase, contesta
cuidadosamente el siguiente cuestionario, en cada pregunta incluye la referencia
utilizada como apoyo para contestarla. El cuestionario deberá ser realizado a mano en
hojas reciclables.
PARTE 1.
1. Explica cada uno de los elementos de información que incluye el PCB de los
procesos
Prioridad PBC prioridad del proceso sí es de modo de usuario kernel
Privilegios Registro de cada uno de los proceso
2. Cuando se habla de modo kernel y/o modo usuario, a que se está haciendo
referencia.
La manera en la que se ejecuta los procesos
3. Con que otro nombre (s) se le conoce al modo kernel?
Modo supervisor o modo privilegiado
4. Enlista 3 ejemplos de cada uno de los modos de la pregunta 2
El modo kernel los procesos son muy cercanos al hardware operación con él a veces no nos
damos cuenta que existe en modo usuario es más fácil utilizar esos procesos
Kernel: bus de información control de bios.
Usuario: abrir, Word, imprimir, protocolos ip
5. Un sistema se puede representar como un Modelo de colas de procesos del sistema
operativo, ilustra este modelo, explica su función y define las diferentes colas de
procesos que incluye.
Es un conjunto de procesos esperando para la utilización de un determinado recurso
generalmente se implementa mediante a lista en cadena.
Prioridad procesos procesos procesos
A B B
Lista de procesos esperando un recuso
6. Ilustra y explica un ejemplo de cambio de contexto, quien es el responsable de
realizar este cambio?
Ims Ins Word gord pad
Teclado CPU Ims
4. UNIDAD 2 SISTEMAS OPERATIVOS
Block de notasGuarda PBC
Paquete por internet Guarda PBC
7. Ilustra un ejemplo de una aplicación real que haga uso de cualquier modelo de
thread.
Procesos de memoria threads threads thread
Proceso Proceso Proceso
Memoria Memoria Memoria
PARTE 2.
8. Observa el video “transiciones de estado y diagrama ..” las veces que consideres
necesario y posteriormente:
Explica brevemente con tus propias palabras que es una transición
Una transición es un proceso mediante un estado listo para el cual se le asigne un procesador para
ejecutar
Describe cada una de las transiciones que menciona el narrador
Nuevo-listo: al crearse un proceso pasa inmediatamente ala estado listo
Listo-ejecutado: en el estado de listo el proceso solo espera para que se le asigne un procesador
para ejecutar
Ejecutado-listo: ante una interrupción que se genere el proceso puede perder el recurso puede
perder el proceso
Ejecutando-bloqueado: a medida que el proceso instrucciones realiza pedidos en distintos
componentes
Bloqueado-listo: una vez que ocurre el evento que el proceso estaba esperando puesto
nuevamente en la cola de espera
Ejecutado-terminado: Cuando el proceso ejecuta su última instrucción pasa al estado terminado
Práctica No. 3
Monitoreo de Procesos
Objetivos
5. UNIDAD 2 SISTEMAS OPERATIVOS
• Utilizar las herramientas del administrador de tareas de Windows, así como
Process Viewer para monitorear procesos en un sistema operativo Windows.
Introducción:
El Administrador de tareas (task manager) muestra los programas, procesos
y servicios que se están ejecutando en el equipo en este momento. Puede usar
el Administrador de tareas para supervisar el rendimiento del equipo o para
cerrar un programa que no responde.
También puede abrirse el Administrador de tareas al hacer clic con el botón
secundario del mouse en una zona en blanco de la barra de tareas y, a
continuación, en Administrador de tareas, o bien al presionar las teclas
Ctrl+Mayús+Esc.
Process Viewer (PrcView) es un visualizador de procesos. Además de
mostrar, una lista con todos los procesos actualmente activos en el sistema,
PrcView incluye detalles sobre cada uno de ellos, tales como porcentaje de
uso de procesador y memoria, prioridad, "threads" de cada tarea activa, etc.
Una opción muy interesante es la posibilidad de visualizar todos los archivos
DLL en uso, con la ruta completa y la versión de cada uno de ellos. También
se tiene la opción de eliminar inmediatamente ("kill") cualquier proceso que
esté colgado.
Se puede ordenar la ventana de procesos por cualquiera de los atributos
incluidos, salvar la información mostrada en cualquier momento y refrescar
periódicamente dicha ventana.
Material y equipo necesario
Computadora con Windows
Process Viewer (descargar una versión libre)
Metodología
Paso 1: Procesos del Sistema en Windows
a). Windows tiene diferentes procesos en ejecución en cada máquina. Acceda
a Internet e investigue, lea, resuma y describa (a mano) 5 procesos diferentes
6. UNIDAD 2 SISTEMAS OPERATIVOS
de Windows 7 o del sistema operativo que utilizó para su práctica ( anexe al
final como resultados).
CSRSS.exe
Significant Client Run-Time Subsystem. Es un subsistema esencial que
debe estar siempre activo. Este administra la consola de Windows, crea
y destruye Threads y administra algunas porciones del entorno 16 bits
virtual DOS.
LSASS.exe
Es el servidor de autentificación local de seguridad.
Genera los procesos responsables de la autentificación de usuarios
para el proceso Winlogon. Si la autentificación tiene éxito LSASS.exe
genera los tokens de acceso para el usuario que son utilizados para
lanzar el Shell inicial. Los otros procesos que el usuario inicia heredan
estas tokens.
MSTASK.exe
Es el servicio que se encarga de planificar las tareas, es responsable de
la ejecución de tareas a un instante preciso programadas por nosotros.
SPOOLSV.exe
Es el proceso responsable de la gestión de los trabajos de impresión y
fax.
SERVECES.exe
Es el administrador de servicios de Windows (Service Control
Manager). Este proceso inicia, detiene e interactúa con los servicios del
sistema.
Pasó 2: Conteste lo siguiente (anexar en resultados con evidencias en cada
punto):
1. Asegúrese de que todas las ventanas estén cerradas excepto una en la que
esté leyendo y editando algún documento. Explique paso a paso 3 maneras
diferentes de ingresar a la línea de comandos de Windows 7.
1) Presionar la tecla Windows+R aparece la ventana ejecutar.
2) Entre al menú inicio, clic en todos los programas, entrar a la
carpeta Accesorios, ejecutar y se escribe CMD y de clic en
aceptar se abre la línea de comandos.
3) Entre al menú inicio, clic en todos los programas, entrar a la
carpeta Accesorios y por ultimo en el símbolo del sistema.
7. UNIDAD 2 SISTEMAS OPERATIVOS
2. Use el comando hostname para encontrar el nombre de la computadora en
la cual está trabajando.
HP-210-1135LA
3. Determinar lo siguiente:
a) ¿Qué versión de Windows está usando?
Versión 6.1.7601
b) ¿Cuál es el tipo y velocidad del CPU de la maquina?
Procesador Intel Core Duo 2.80 GHz
Procesador Intel (R) Core ™ Duo CPU E7400@2.80GHz
c) ¿Cuánto espacio está formateado en el drive c: ?
Formateado 10.56
d) ¿Cuánto espacio está siendo usado en el drive c: ?
Usado 38.2
8. UNIDAD 2 SISTEMAS OPERATIVOS
e) ¿Cuánta memoria física está configurada en su máquina?
Memoria Física 2 GB
f) Utilice el comando tasklist (command prompt) y explique la
información que aparece en su monitor.
Aparece el nombre de la imagen en la primera columna es el nombre
del proceso enseguida pide que es un identificador del proceso como
si fuera una clave, luego el nombre de sesión que dice si es un proceso
que de este ejecutando como servicio o en la consola, después el
número de sesión que eso para los servicios y para los de la consola y
por último el uso de la memoria física de cada uno de los procesos.
4. Ejectute el “Process Viewer” (previa instalación)
a) Describa a detalle esta aplicación, explicando y anexando las figures
correspondientes.
El programa muestra todas las aplicaciones módulos y procesos que el
sistema está utilizando muestra su ID, el uso de la memoria RAM el nombre
del usuario que lo ejecuta.
5. Inicie Task Manager y conteste lo siguiente
9. UNIDAD 2 SISTEMAS OPERATIVOS
a) ¿Qué aplicaciones están corriendo actualmente?
Microsoft Word, Reproduction WindowsMedia.
b) Muestre una tabla con 5 procesos del sistema y 5 de un usuario que
aparezcan, describa la información que se muestra en cada columna.
Mencione además: total de procesos, % de uso del CPU y de memoria
física.
Proceso del Sistema:
En la primera se muestra el nombre del proceso, quien lo ejecuta en
este caso el sistema, después del CPU que sea de cada aplicación y el
uso de la memoria RAM por ultimo una pequeña descripción.
Nom Imagen Nom. CPU Memoria Descripción
Usuario RAM
Csrss.exe System 00 1.460Kb Cliente
Nvusvs.exe System 00 10.28 Kb Nudia driwer
nelper.
NvxDsync.exe System 00 19.16 Kb Experience
drivar.com-
ponent
Proceso del Usuario:
Muestra nombre del usuario, quien lo ejecuta usuario CPU, memoria
RAM.
Nom.
Nom Imagen CPU Memoria RAM Descripción
Usuario
Chrome.exe Anrym 00 7.940 Kb Google chome
Dwn.exe Anrym 00 Administrador de
9.204 Kb
ventanas de escritorio.
Egui.exe Anrym 00 1.564 Kb EST GUI, ESET GUI
Explorer.exe Anrym 00 Explorador de
24.956 Kb
Windows
Taskhost.exe Anrym 00 Procesador de host
1.416 Kb
para tareas Windows
c) El campo "PID" es el identificador interno del proceso, identifique y
enliste 5 procesos con PID diferentes.
10. UNIDAD 2 SISTEMAS OPERATIVOS
PID
Nombre PID
Imagen
System 4
Smss.exe 284
Wininit.exe 544
Ism.exe 668
Conhost.exe 4204
d) Muestre la gráfica de rendimiento y resalte con un marca textos la
información relevante con respecto a los procesos (explique).
Lo subrayado indica el número de subprocesos que son 709. Los que
se están ejecutando de igual manera.
e) Qué información presenta el Monitor de Recursos (explique y anexe
evidencias).
El monitor de recursos muestra la información de todos los procesos
pero separados para recursos que son CPU, disco Red y menoría en
cada uno estas los procesos que se utilizan en esos recursos. En el
CPU muestra el nombre de la imagen por ultimo del lado derecho
muestra la grafica, los componentes que sufra cada uno de los
recursos.
Pasó 3: Elaboración de Glosario:
Elabore un glosario en orden alfabético con la definición de 10 términos
que haya aprendido con la realización de esta práctica (anexar a mano al
final)
Sugerencias didácticas
Trabajo individual o por parejas (reporte individual)
Utilizar una computadora con el sistema operativo instalado e Internet
Analice a detalle y comprenda la función del Process Viewer
Resultados
Explicar y anexar los resultados obtenidos a detalle utilizando las
figuras que sean necesarias
Bibliografía utilizada (2 libros al menos, total 5, utilizar formato
APA)
Conclusiones:
11. UNIDAD 2 SISTEMAS OPERATIVOS
Los procesos de nuestra computadora son muy
importantes para saber cómo es el proceso y
saber dónde se encuentren en nuestra
computadora
Nombre del alumno: Bocanegra Zúñiga Maria del Pilar
Firma, fecha y observaciones del profes
PRÁCTICA NO. 4
SUBPROCESOS EN JAVA
12. UNIDAD 2 SISTEMAS OPERATIVOS
Objetivo
Ejemplificar los diferentes estados en los cuales puede estar un proceso
aplicando la programación con hilos de JAVA
Introducción:
Material y equipo necesario
Computadora con Java instalado
Metodología
1. Utilice la herramienta para desarrollar programas en JAVA de su
preferencia.
2. Crear un archivo en JAVA y que en ejecución cree dos subprocesos usando
hilos. (El código correcto en JAVA se anexa)
3. Ejecute varias veces el programa y comente los resultados.
4. Modifique el programa para que cree cuatro subprocesos.
5. Ejecute varias veces el programa y comente por escrito los resultados.
6. Coloque comentarios descriptivos, en el archivo para cada línea del código.
En particular donde está el crear, arrancar y el código de ejecución del
proceso.
7. Incluya las instrucciones necesarias para que se visualice su nombre y
muestre evidencia de haber sido ejecutado
8. Anexe figuras donde demuestre la ejecución de los pasos previos.
9. Cree el archivo en C que se anexa. Repita los pasos del 3 al 8. Números de
control impares hilo1 y números de control pares hilo2.
Sugerencias didácticas
Trabajo individual o por parejas (reporte individual)
Documentarse en Internet o bibliografía del centro de información
Resultados
Explicar y anexar los resultados obtenidos en la metodología a detalle
utilizando las figuras que sean necesarias
Práctica 4 Página 2
13. UNIDAD 2 SISTEMAS OPERATIVOS
Bibliografía utilizada (mínimo 3 y utilizar formato APA)
Garcia j. Rodríguez
Carcia j. (200)
Aprende java san Sebastián navarra
Observaciones
Conclusiones:
Podemos trabajar hilos de manera sencilla
aunque no se nota mucho en el programa el
cambio que pueden causar
Nombre del alumno: Bocanegra Zúñiga Maria del Pilar
Firma, fecha y observaciones del profesor
14. UNIDAD 2 SISTEMAS OPERATIVOS
2 Procesos
3. Primero inicio, arranca los procesos empieza ejecutando el proceso 1 al que
le asignamos un tiempo menor después la proceso 2 de igual forma el tiempo
que duro es aleatorio y puede ser menor el tiempo del proceso 1 o viceversa
cuando el proceso termina en vía un msj aquel que tenga menos tiempo será el
proceso que termine primero.
4 procesos
De igual forma los proceso se le asignan a tiempo aleatorio menor a 5000
aquel que tenga el menor tiempo de ejecución termina primero funciona igual
2 procesos al momento de asignar es aleatorio
Segundo programa de hilos
Al ejecutar el programa muestra una ventana en la que podemos escribir lo
que queramos, no tien fin por que utilizamos un ciclo infinito la función de
hilos se hace presente por qu e cuenta el número de características que se están
usando contando los espacios esto aparece arriba donde escribimos.
PRÁCTICA NO. 4
SUBPROCESOS EN JAVA
3. Ejecute varias veces el programa y comente los resultados.
15. UNIDAD 2 SISTEMAS OPERATIVOS
4. Modifique el programa para que cree cuatro subprocesos.
5. Ejecute varias veces el programa y comente por escrito los resultados.
16. UNIDAD 2 SISTEMAS OPERATIVOS
6. Coloque comentarios descriptivos, en el archivo para cada línea del
código. En particular donde está el crear, arrancar y el código de ejecución
del proceso.
7. Incluya las instrucciones necesarias para que se visualice su nombre y
muestre evidencia de haber sido ejecutado
8. Anexe figuras donde demuestre la ejecución de los pasos previos.
9. Cree el archivo en C que se anexa. Repita los pasos del 3 al 8. Números de control
impares hilo1 y números de control pares hilo2.
17. UNIDAD 2 SISTEMAS OPERATIVOS
Actividad 2
“Algoritmo Cajero”
E n nuestro algoritmo de cajero los recursos son los
cajeros y los procesos son los clientes pero cuando no
hay una sincronización y que hubiera tan solo una
caja para la tienda se satura mucho la caja y estará
muy tardado pero mas intercambio ya habiendo mas
cajeros es mas rápido el proceso y así es una buena
relación tanto el cajero como con el cliente.
Nombre: Bocanegra Zúñiga Maria del Pilar
18. UNIDAD 2 SISTEMAS OPERATIVOS
ACTIVIDAD 3
En equipos de dos personas realicen los siguientes ejercicios explicando a
detalle el procedimiento utilizado para su solución, anexar la bibliografía
consultada.
1.- Liste tres ejemplos de deadlocks que no estén relacionados con el
ambiente de computación.
Ferrocarriles de una sola line
La fila del seguro
Paletera( proceso=clientes, recurso=nieve)
2.- Considere el deadlock de tráfico mostrado en la siguiente figura:
a)
Mutua Exclusión: Los recursos ya están asignados y los otros
procesos que los requieren deben esperar hasta que sean
liberados
Retención y Espera: Cada uno de los procesos ya tiene un
recurso asignado pero a la vez está esperando por otros
recursos adicionales los cuales están siendo ocupados por otros
procesos
No remoción: Un carro no puede quitar al otro carro.
Espera circular:Es una cadena circular de 4 procesos cada uno
de los cuales espera un recurso poseído por el siguiente:
p1 espera 1 recurso que ya posee p2;
p2 espera 1 recurso que ya posee p3;
……….
b) La solución es regresar el carril completo de los coches en cada cuadra
una cuadra atrás.
19. UNIDAD 2 SISTEMAS OPERATIVOS
3.- Considere que un sistema consiste de cuatro recursos del mismo tipo que
son compartidos por tres procesos, cada uno de los cuales necesita como
máximo dos recursos. Muestre que el sistema es libre de deadlock.
El sistema está libre de deadlock.
1
3
2
4.- Una computadora tiene seis impresoras, con n procesos compitiendo por
ellas. Cada proceso puede necesitar tres dispositivos. Qué valor debe tomar
n de modo que el sistema esté libre de deadlock?
n=2
Para que no se produzca deadlock
1 2
5.- Un sistema está compuesto de cuatro procesos {P1, P2, P3 y P4}, y tres
tipos de recursos reusables {R1, R2 y R3}. El número de unidades de
recursos son (3, 2,2).
Proceso P1 retiene una unidad de R1 y requiere 1 unidad de R2.
P2 retiene 2 unidades de R2 y requiere 1 unidad de R1 y R3.
P3 retiene 1 unidad de R1 y requiere 1 unidad de R2.
P4 retiene 2 unidades de R3 y requiere 1 unidad de R1.
20. UNIDAD 2 SISTEMAS OPERATIVOS
R1 R2 R3
p1 p4
p2 p3
El interbloqueo se produce con el p2 al solicitar un R2 al igual
que el p3 con recurso R2 y el p4 con el R1 y p4 con el R3
R2 R1 R3
p2 p3 p4
El interbloqueo
Muestre el grafo de asignación de recursos. Muestre la forma reducida del
grafo. Cuales procesos, si los hubiera, está en un estado de deadlock?
PARTICIPANTES: Bocanegra Zúñiga Maria del Pilare
21. UNIDAD 2 SISTEMAS OPERATIVOS
PRÁCTICA NO. 5
DEADLOCK DE PROCESOS EN JAVA
Objetivo
Comprender el concepto de Bloqueo Mutuo de Procesos (Deadlock o abrazo mortal),
ejemplificado con hilos de JAVA.
Introducción:
El interbloqueo (deadlock) se puede definir como el bloqueo permanente de un conjunto de
procesos que compiten por los recursos del sistema o bien se comunican unos con otros. A
diferencia de otros problemas de la gestión concurrente de procesos, no existe una solución
eficiente para el caso general.
Todos los interbloqueos suponen necesidades contradictorias de recursos por parte de dos o
más procesos.
A veces, los interbloqueos se denominan "abrazo mortal".
El interbloqueo puede definirse formalmente como sigue: Un conjunto de procesos está en
interbloqueo si cada proceso del conjunto está esperando un evento que sólo otro proceso
del conjunto puede causar. Puesto que todos los procesos están esperando, ninguno de ellos
puede causar ninguno de los eventos que podrían despertar a cualquiera de los demás
miembros del conjunto, y todos los procesos continúan esperando indefinidamente
Material y equipo necesario
Computadora con Java instalado
Metodología
1. Utilice la herramienta para desarrollar programas en JAVA de su preferencia.
2. Crear un archivo en JAVA siguiendo las instrucciones que se anexan.
3. Incluya figuras donde demuestre la ejecución de los pasos previos (anexe en resultados)
Sugerencias didácticas
Trabajo por parejas (reporte individual)
Documentarse en Internet o bibliografía del centro de información
Resultados
Explicar y anexar los resultados obtenidos a detalle utilizando las figuras que sean
necesarias (se revisará el código)
22. UNIDAD 2 SISTEMAS OPERATIVOS
Bibliografía utilizada
Url: Juan M. Moreno Pascal, Juan A. Perez
Google Booka(2002),Concepto de sistemas operativos.online
Disponible:http://books.google.com/books?id=LY2P_VSVZ3cl&hl=es&=so
urce=gbs.similarbooks
CONCLUSIONES
Nosotros cuando elaboramos nuestro proceso
tenemos que los deadlooks y nuestro tenemos que
darle cierta continuidad del proceso.
23. UNIDAD 2 SISTEMAS OPERATIVOS
Anexo 1: Coding en Java Deadlock
Deadlock describes a situation where two or more threads are blocked forever, waiting
for each other. Here's an example.
Alphonse and Gaston are friends, and great believers in courtesy. A strict rule of
courtesy is that when you bow to a friend, you must remain bowed until your friend has a
chance to return the bow. Unfortunately, this rule does not account for the possibility
that two friends might bow to each other at the same time. This example application,
Deadlock, models this possibility:
public class Deadlock {
static class Friend {
private final String name;
public Friend(String name) {
this.name = name;
}
public String getName() {
return this.name;
}
public synchronized void bow (Friend bower) {
System.out.format("%s: %s has bowed to me!%n",
this.name, bower.getName());
bower.bowBack (this);
}
Public synchronized void bow Back (Friend bower) {
System.out.format ("%s: %s has bowed back to me! %n",
this.name, bower.getName ());
}
}
public static void main (String[] args) {
final Friend alphonse = new Friend("Alphonse");
final Friend gaston = new Friend("Gaston");
new Thread(new Runnable() {
public void run() { alphonse.bow(gaston); }
}).start();
new Thread(new Runnable() {
public void run() { gaston.bow(alphonse); }
}).start();
}
}
When Deadlock runs, it's extremely likely that both threads will block when they
attempt to invoke bowBack. Neither block will ever end, because each thread is
waiting for the other to exit bow. Práctica 5 Página 4
24. UNIDAD 2 SISTEMAS OPERATIVOS
METODOLOGÍA
1. Traduzca la situación planteada
2. Ejecute varias veces el programa y comente los resultados.
3. Coloque comentarios descriptivos en este mismo documento, para cada línea del
código del programa anterior, utilice pluma roja y anexe el código
4. Modifique el programa cambiando los nombres de las personas por el suyo y de algún
compañero
5. Vuelva a ejecutar y comente por escrito los resultados, anexe figuras del resultado
6. ¿De qué manera se presenta el deadlock en el programa? Explique}
7. Elabore una simulación donde ejemplifique la situación anterior, con deadlock y sin
deadlock, utilice el software de su preferencia (3 personas por equipo), explicando en el
mismo paso a paso dicha situación.
NOTA: No olvide anexar figuras que muestren evidencia de haber corrido el programa,
cualquier error en el programa deberá ser corregido, los resultados deben ser
presentados siguiendo el orden de los pasos de la metodología.
1. Cuando entra Alphonse.bow (gaston); Alphonse esta ahora bloqueado debido a la
palabra clave “Synchonize”.
2. Cuando entra gaston.bow (Alphonse); Gaston está ahora bloqueado.
3. No puede ejecutarse “bower.bow Back (thie); del primer método bow que se
llama, porque gaston (bower) es bloqueado.
*Espere por que sea loberado el bloqueo.
4. No puede ejecutarse el bower.bowback (this) del segundo método llamado porque
Alphonse (bower) está bloqueado.
*Espera porque el bloque sea liberado.
Ambos hilos esperan por cada uno para que sea liberado el Bloqueo.
Al ejecutar varias el programa no hay ningún cambio pues la salida siempre es la
misma.
No hay ningún cambio en la impresión.
25. UNIDAD 2 SISTEMAS OPERATIVOS
Al cambiar los nombres de mi compañera y el mío imprime lo mismo con el
nombre de Fabiola—pilar y de pilar---Fabiola. Así que la salida sigue siendo la
misma.
Instrucciones Traducidas
El Deadlock describe una situación donde 2 o más Threads esta bloqueados por
siempre esperándose mutuamente.
Alphonse y Gaston son amigos Creyentes de la cortesía. Una regla estricta es que
cuando reverencias o te inclinas a un amigo tenga oportunidad de regresar la
reverencia.
Desafortunadamente, esta regla no cuenta con la posibilidad de que dos amigos se
inclinen al mismo tiempo.
public class Deadlock {//Clase principal
static class Friend {//Clase del amigo
private final String name; //Declaracion de la variable del nombre del amigo
public Friend(String name) { //Creando en método nombre
this.name = name; //asignando la variable nombre de la misma clase
}
public String getName() { //Creando el método de conseguir nombre
return this.name;//Nos devuelve el resultado del nombre.
}
public synchronized void bow(Friend bower) {//Un metodo de sincronizacion "bow"
es una reverencia
System.out.format("%s: %s has bowed to me!%n",//La inclinacion de reverencia del
amigo 1 al amigo 1.
this.name, bower.getName());//Obtiene los nombres del reverenciador
bower.bowBack(this);//Devuelve la reverencia
}
public synchronized void bowBack(Friend bower) {//La reverencia devuelta, con el
amigo reverenciador
System.out.format("%s: %s has bowed back to me!%n",//Mensaje de reverencia
this.name, bower.getName());//Obtiene los nombres de los amigos
}
26. UNIDAD 2 SISTEMAS OPERATIVOS
}
public static void main(String[] args) {//Metodo del programa principal
final Friend fabiola = new Friend("Fabiola");//Declaracion de los nombres
funcionando en el
final Friend nallely = new Friend("Anallely");//El metodo Friend
new Thread(new Runnable() {//Creacion de un nuevo Thread que es ejecutable
public void run() { fabiola.bow(nallely); }//Aqui corre el Thread con la reverencia de
fabiola a pilar
}).start();//Lo comienza
new Thread(new Runnable() {//Creacion de otro Thread ejecutable
public void run() { nallely.bow(fabiola); }//Corre la reverencia devuelta y pide un
bowback
}).start();//Comienza y el ciclo seguira y por eso ocurre un DeadLock
}
}
27. UNIDAD 2 SISTEMAS OPERATIVOS
Scheduling algorithms
Actividad 4
1. Assume you have the following Jobs to execute with one processor with the Jobs
arriving in the order listed here:
PROCESS BURST TIME
0 80
1 20
2 10
3 20
4 50
a) Suppose a system uses FCFS Scheduling. Create a Gantt chart illustrating
the executing of these processes?
p0 p1 p2 p3 p4
0 80 100 110 130 180
b) What is the turnaround time for process p3?
TA3=Tp3+Tp2+Tp1+Tp0=20+10+20+80=130
c) What is the average wait time for the processes?
(0+80+100+110+130)/5=84
2. Using the process load in the previous problem, suppose a system uses SJF
Scheduling
a) Create a Gantt chart illustrating the execution of these processes?
p2 p1 p3 p4 p0
0 10 30 50 100 180
b) What is the turnaround time for process p4?
TA3=Tp4+Tp3+Tp2+Tp1+Tp0=50+20+10+20+80=180
c) What is the average wait time for the processes?
(0+10+30+50+100)/5=38
28. UNIDAD 2 SISTEMAS OPERATIVOS
3. Assume you have the following jobs to execute with one processor, with the jobs
arriving in the order listed here:
PROCESS BURST TIME ARRIVAL TIME
0 80 0
1 20 10
2 10 10
3 20 80
4 50 85
Suppose a system uses RR Scheduling with a quantum of 15
a) Create a Gantt chart illustrating the execution of these processes?
p0 p1 p2 p3 p4 p0 p1 p3 p4 p0 p6 p0
0 15 30 40 55 70 85 90 95 110 125 140 155
p4 p0 p0
155 160 175 180
b) What is the turnaround time for process p3?
p3=95
c) What is the average wait time for the processes?
(0+15+30+40+55+(70-15)+(85-30)+(90-55)+(95-70)+(110-85)+(125-
110)+(140-125)+(155-140)+(160-155)
=10+15+30+40+55+55+55+35+25+25+15+15+15+5/5=77
29. UNIDAD 2 SISTEMAS OPERATIVOS
Scheduling algorithms
4. Assume you have the following jobs to execute, with the jobs arriving in the order
listed here:
BURST
PROCESS TIME PRIORITY
P1 10 3
P2 1 1
P3 2 4
P4 1 5
P5 5 2
Suppose a system uses Priority Scheduling
a) Create a Gantt chart illustrating the execution of these processes?
p2 p5 p1 p3p4
0 1 6 16 18 19
b) What is the turnaround time for process p3?
TA1= 10+5+1=16
c) What is the average wait time for the processes?
(0+1+6+16+18)/5=8.2
Name: Bocanegra Zúñiga Maria del Pilar