Wednesday, September 30, 2009

En este día  se  entregaron programas   dejados de tarea como  son   creación de  hilos pero ahora  en lenguaje  C  para  ver como se crean y como se trabaja   con  hilos en este lenguaje .

También se entrego  lo que seria   ya corriendo el   programa de  la tienda  en la cual contaría como  trabajo para poder exentar el segundo examen y si  seguimos  así  siendo puntuales en la entrega  de  trabajos  ya no  tendríamos  que realizar  examen del  2 parcial  :)  el cual   la maestra nos reviso  el programa corriendo y nos  dio  un pequeños comentarios para  modificarle al  programa que ya estaba corriendo y funcionando.

 

También  nos dejo realizar en clase una práctica  sobre  exclusión mutua  y ver diferencias de lo que es  sincronización de procesos.

Monday, September 28, 2009

En este día  continuamos  con lo que es  Sincronización de   procedimientos  con un problema propuesto la clase   anterior  en la cual  se  formaron  equipos   para poderlo realizar   en ese momento  en la cual  se repartieron  varios roles  entre  los integrantes del  equipo para poder   gestionar la resolución del problema ya que   mediante la   sincronización  con la primitiva   “Synchronized”  y  “wait()” y” notify()”  teníamos que  resolver  un problema de una  tienda  en la cual  se tenia que crear   un  vendedor el comprador  en la cual  sincronizaríamos  lo que serian los mensajes   que seria al efectuar una  compra ventea de  algún producto en la cual   el vendedor  tenia  que:

                -esperar  el pedido de   mercancía

                -elaborar el pedido

                -realizar  la  factura de la compra

                -entregar factura    e  entregar  mercancía

 

Y  por  parte del comprador:

                -hacer pedido de  mercancía

                -esperar pedido de mercancía

                -pedir factura

                -esperar factura y mercancía

                -notificar que ha recibido  su  factura  junto con su mercancía

 

La cual  no se  pudo terminar el ejercicio en clase  por lo cual se tuvo que  hacer   una segunda reunión  entre el equipo para poderlo  terminar ya que era un ejercicio  para  poder entregar en  la  próxima clase  con una presentación  para el  grupo de la  gestión del como se planteo su resolución como  equipo y como se había  llegado a su solución.

Friday, September 25, 2009

Este día seguimos viendo unas diapositivas en la cual empezamos,    mejor dicho,   seguimos  con lo que es la  exclusión mutua  mediante   las primitivas de  java como  son:  

                *Sleep()

                *wait()

                *notify()

                *isAlive()

                *getThreadGroup()

 

En la cual vemos que  seguimos  usando  hilos para poder crear procesos  y que  podemos  pausarlo con  “sleep”,   pasándole  un numero q indica  cuanto  tiempo dormirá el proceso   o   con un  “wait” que este necesita   forzosamente un  “notify”  para   poderlo  activarlo de nuevo  para que   termine con  su tarea,  conocer el estado del  hilo con   “isAlive” donde este regresa  un  booleano   que  indica  el estado del  proceso,  crear un  grupo de hilos  y obtener   a que  grupo pertenece  con   “getThreadGroup”.

 

Aunque también  empezamos  a ver  un poco de  lo que es sincronización de  hilos  que este  se efectúa con  “Synchronized”   y  vimos un pequeño   ejemplo de  lo que  es  el uso de estas primitivas.

Wednesday, September 23, 2009

laboratorio con lagortimos Dekker y Peterson

En este día  en laboratorio  se creo  el programa de los esquimales y  del  jardín  que son  problemas  de  exclusión  mutua  que se implementaron  con del algoritmo de   Dekker.

También se realizo la practica  de   hacer la diferencia del algoritmo de  Dekker y el de  Peterson

Monday, September 21, 2009

Exclusion Mutua algoritmo Dekker

El día de hoy  vimos  lo que es   exclusión mutua así como  el algoritmo de   Peterson  y  el de  Dekker  los que es  previo  temas para  empezar a ver lo que es  semáforos y  monitores que la maestra el día de  hoy   nos   ha  dejado investigar para  la próxima clase, pero regresando  a  lo que se  hizo el día de  hoy  fue    seguir   viendo  las diapositivas de los apuntes que lleva la  maestra como apoyo de  clase,  en la cual  explicaba  el algoritmo de  Dekker,   en que consistía  y cual es la manera de  funcionar el  cual  es una solución al problema de exclusión mutua  de   procesos  en sistemas  con  memoria común en el cual  tienen  acceso  a un recurso compartido, q es conocido como  problema de  exclusión mutua, ya que  de este de deriva  la necesidad de  plantear  algoritmos o  maneras de solución  a este  problema.  En general  se puede  decir que  se  pretende evitar que   2 o mas procesos   concurrentes   se  encuentren   ejecutando su sección   critica al mismo  tiempo.

 

A este  algoritmo   se llega mediante  varios intentos de   resolver    la  exclusión mutua,  que  este algoritmo funciona  al  intento de   que cada proceso  tiene su  propia variable para  evitar  los problemas   en ausencia  de  contención, pero en presencia de ella ningún proceso tenia derecho a  insistir p ara entrar  en su sección critica, experto   que  incorpora  a este método el  derecho  explicito de   insistir  para   entrar  en su sección  critica.  Donde las variables  individuales  de  los procesos permitirán  conseguir la exclusión mutua, pero se  usará   una variable de  turno común a  ambos procesos, de manera que en  presencia de  contención entre  en su sección critica el proceso que  tenga el  turno.

 

El  algoritmo  es correcto  y satisface  los requerimientos  de  exclusión  mutua y ausencia de  bloqueos, en l cual ningún  proceso se  vuelve ansioso, y en ausencia de contención de  un proceso  entra en sus  sección  inmediatamente  si lo desea.

 Aquí  se muestra  el algoritmo  para   su mejor comprensión:






Ahora    veremos el  algoritmo  generalizado  ya no para 2 proceso  si no  para  n procesos. En este algoritmo cada proceso que desea  ejecutar su sección crítica toma un número. El proceso que tiene el número menor es el que accede a su sección crítica. De ahí el nombre del  algoritmo.



Monday, September 14, 2009

uuffff!! dial de examen!!! :P

Este día se nos aplico  un examen en el cual   lo realizamos  aparte para  observar nuestros  errores, el cual  no  estaba tan difícil ya que  hubo preguntas de todo un poco así como  un programa por realizar ya que   seria  obviamente de   hilos en java ejecutando   un mensaje  si  en  una lista de calificaciones  el numero corresponda   a  aprobado excelente  bueno  regular o  reprobado.

Wednesday, September 9, 2009

miercoles de laboratioro

El día de hoy   en laboratorio   reviso   un programa que  dejo de unas copias en la cual se trata del tema   como repaso  de   “Quick sort, ordenamiento por  burbuja,  Mergesort”   así como  el decir en que tiempo se tardo el  programa  al  ejecutarlo en  nano segundos, también de un applet  el cual  dibuja  unas  pelotas rebotando en  la cual se  crean   las pelotas que  uno desee mediante la creación de  hilos en la cual  lo hicimos en equipo ya que  es una   ventaja el trabajar en equipo un poco   difícil el coordinar el equipo pero   es mejor.

Friday, September 4, 2009

El día de hoy vimos  un poco mas de la historia de lo que  es la programación concurrente de unas copias   que se titulan  “Introducción a la Computación Distribuida”    que  ella nos dio para  que   complementáramos la  clase en el cual se tocaron los  subtemas de:

                *historia de  la computación distribuida

                               -Tendencia Histórica

*Diferentes Formas de  Computación

-Computación monolítica

-Computación distribuida

-Computación  paralela (solo  fue  una   mención de lo que es)

-Computación  Cooperativa

-  un articulo llamado “Por donde viaja el Internet”

*Virtudes y  Limitaciones de  la Computación Distribuida

 

En el cual  un tema q me llamo la atención  fue  el de  de  “Como viaja el internet” ya que la verdad nunca  me  pregunte ni tuve esa  inquietud del  saber o preguntarme como es  que viaja el internet, en el cual  nos  dio  las copias  como  ejemplo  el  uso del sistema de    “Ebay” de l como interactúa el  paso de  datos  a donde los manda y como los recibe, que  por desgracia solo lo mencionare  por este medio  ya que no lo detallare esa  información  pero  mas adelante   buscare un reportaje  para   ligarlo   a este  blog.

Como investigación  dejo  investigar  la súper computadora  que la  UNAM tiene  llamada “kam-Balam”   del por que  no esta al 100% de  su  uso total el cual esta conformado  por   1368 procesadores   AMD  ( WOOW!!!),  con  3000 GB de  RAM   y  160 TB de   almacenamiento,  claro  la verdad nunca  pensé   que  estuviera tan súper  esa computadora  que  aunque   está   la verdad muy  padre  no esta  a todo su máximo potencial , es mas  por ahí le leí que  ni siquiera   la dejan   usar  al todos los  alumnos  que   la  necesitan, pero en fin  esperemos que  eso solo sea  un rumor ya que si tiene tan tremenda  computadora  se le  debería sacar   todo  el  aprovechamiento  mas que la UNAM  es una de las universidades reconocidas por  sus investigaciones.

 O tu que  piensas ¿?



Wednesday, September 2, 2009

laboratorio de clase de prog Concurrente

El dia de  hoy  como todos los miércoles de  laboratorio  vimos el tema de  los hilos en java y su precedencia, esto como un repaso del  lenguaje de  java en el cual hicimos  unas preguntas que  la maestra nos dejo en la plataforma  moodle  las cuales  no  hacen  preguntas  de  un programa que  el cual   se cran  hilos en  java  utilizando  la interfaz runnable y   creándolo  por medio de la clase   thread.

 

Creando  en laboratorio  el reporte que  todos los miércoles  quiere  con el objetivo de la practica  el código del  programa  así como también  sus corridas del programa.

 

En el  cual aprendí  como se crean los hilos n en java con runnable  y  herendando   de la clase   thread.