Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Practica 2 unidad 2
1. SISTEMAS OPERATIVOS 1.UNIDAD 2.Practica 2(Equipo).
.
1
UNIDAD 2: ADMINISTRACION DE PROCESOS Y DEL PROCESADOR
(PRÁCTICA DE ALGORITMO DE LOS FILOSOFOS).
RESUMEN:
En esta práctica que se realizó en equipo se pudo
observar cómo se lleva acabo el algoritmo de los
filósofos y nos pudimos dar cuenta de cómo se relaciona
este algoritmo con la administración de procesos y como
de igual manera nos dimos cuenta cómo se puede dar
solución a este algoritmo.
INTRODUCCIÓN:
Lo primero que tuvimos que hacer es investigar
cómo era el funcionamiento del algoritmo y ver cuáles
eran las soluciones que existen para este algoritmo,
como de igual manera también vimos cual es la relación
entre este algoritmo y el tema de la unidad y de la
misma forma tuvimos que ver cómo se lleva a cabo la
sincronización de proceso dentro de un sistema
operativo gracias a la ejecución de este algoritmo.
MARCO TEORICO:
El problema de la cena de los filósofos o problema
de los filósofos cenando es un problema clásico de las
ciencias de la computación propuesto por Edsger
Dijkstra en 1965 para representar el problema de la
sincronización de procesos en un sistema operativo.
Cabe aclarar que la interpretación está basada en
pensadores chinos, quienes comían con dos palillos,
donde es más lógico que se necesite el del comensal
que se siente al lado para poder comer.
OBJETIVOS:
Existencia simultanea de varios procesos en
ejecución.
Entender como es la ejecución de hilos.
Poder visualizar cuales son las posibles
soluciones al algoritmo y como se relacionan
con los semáforos.
PROCEDIMIENTO Y MATERIALES:
MATERIALES:
1 Computadora.
Navegador de Internet.
Archivos .html y Archivos .js
PROCEDIMIENTO:
1. CODIGO EN JAVASCRIPT:
var detener;
function Empezar(){
detener = false;
var segundos;
var tiempo = $("#tiempo").val();
if(tiempo =="Lenta"){
segundos = 5000;}
if(tiempo =="Media"){
segundos = 2500;}
if(tiempo =="Rapida"){
segundos = 1000;}
console.log($("#tiempo").val());
console.log(segundos);
for(var i = 1; i<=6; i=i+2){
console.log(i)
window.setTimeout("lado2()",
(segundos*i));
window.setTimeout("lado1()",
(segundos*(i+1)));
}}
function lado2(){
$("#2").css("background-color", "green");
$("#4").css("background-color", "green");
$("#6").css("background-color", "green");
$("#8").css("background-color", "green");
$("#1").css("background-color", "white");
$("#3").css("background-color", "white");
$("#5").css("background-color", "white");
$("#7").css("background-color", "white");
}
function lado1(){
$("#1").css("background-color",
"green");
$("#3").css("background-color",
"green");
$("#5").css("background-color",
"green");
$("#7").css("background-color",
"green");
$("#2").css("background-color",
"white");
$("#4").css("background-color",
"white");
$("#6").css("background-color",
"white");
$("#8").css("background-color",
"white");
}
2. SISTEMAS OPERATIVOS 1.UNIDAD 2.Practica 2(Equipo).
.
2
function Detener(){
detener = true;
}
2. CODIGO EN HTML:
<!DOCTYPE html>
<html lang="en">
<head>
<script
src="https://code.jquery.com/jquery-
1.10.2.js"></script>
<script
src="https://maxcdn.bootstrapcdn.com/boo
tstrap/4.0.0/js/bootstrap.min.js"
integrity="sha384-
JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQ
QxSfFWpi1MquVdAyjUar5+76PVCmYl"
crossorigin="anonymous"></script>
<link rel="stylesheet"
href="https://maxcdn.bootstrapcdn.com/bo
otstrap/4.0.0/css/bootstrap.min.css"
integrity="sha384-
Gn5384xqQ1aoWXA+058RXPxPg6fy4IWv
TNh0E263XmFcJlSAwiGgFAW/dAiS6JXm
" crossorigin="anonymous">
<meta charset=utf-8/>
<script language="JavaScript"
type="text/javascript"
src="filosofos_comelones.js"></script>
<title>Filosofos comelones</title>
</head>
<body >
<marquee direction=left scrolldelay=1>
<h1>8 filosofos(solucion)</h1>
</marquee>
<div class="container">
<div class="row">
<p > tiempo:</p> <select id="tiempo" >
<option>Lenta</option>
<option>Media</option>
<option>Rapida</option>
</select>
</div>
<div class="row">
<br>
<button type="button"
onclick="Empezar();" class="btn btn-
primary btn-lg">
Iniciar
</button>
<br>
<h1><center><table border="2"
class="tabla" style="background-
color:white">
<tr>
<td class="f" id="1">F1</td>
<td class="f" id="2">F2</td>
<td class="f" id="3">F3</td>
</tr>
<tr>
<td class="f" id="8">F8</td>
<td></td>
<td class="f" id="4">F4</td>
</tr>
<tr>
<td class="f" id="7">F7</td>
<td class="f" id="6">F6</td>
<td class="f" id="5">F5</td>
</tr>
</table>
</center> </h1>
<button type="button"
onclick="Detener();" class="btn btn-primary
btn-lg">
Detener
</button>
</div>
</div>
</body>
</html>
3. EJECUCION DEL PROGRAMA.
Se puede observar como al ejecutar el
programa nos aparece un interfaz
conformada por 8 filósofos, en nuestros
caso quisimos manejarlo de esta manera
para facilitar la ejecución del mismo.
Podemos observar que tenemos la
posibilidad de seleccionar la velocidad a la
que queremos que se ejecute el programa
para tener la posibilidad de visualizar la
ejecución del mismo.
3. SISTEMAS OPERATIVOS 1.UNIDAD 2.Practica 2(Equipo).
.
3
Se puede ver que como se cumple el
algoritmo que cuando los filósofos de una
sección están comiendo no podrán comer
hasta que tengan el turno asignado.
Se puede ver como se modificó la
velocidad y se puede ver que la ejecución
ha cambiado, en cierta manera ha
aumentado el tiempo en el que comen los
filósofos
.
Por último se prueba como se ejecuta
el programa con la máxima que nos
permite el programa y se puede visualizar
que el cambio es de una manera más
rápida.
4. SISTEMAS OPERATIVOS 1.UNIDAD 2.Practica 2(Equipo).
.
4
CITAS Y/O REFERENCIAS
http://www.labc.usb.ve/paginas/jregidor/EC3731
/pdfs/TareaInterbloqueoSolucion.pdf
https://www2.infor.uva.es/~cllamas/concurr/prac
t97/immartin/index.html
Adaptado por:
Juan Manuel Ramírez Olmos.
Martin Salvador Campos.
Juan José Carlos Campos.
Sistemas Operativos 1.
Instituto Tecnológico de Aguascalientes.
2018