Archive for the ‘Simualdor’ Category

SIMULACIÓN DEL ALGORITMO SJF

Miércoles, Abril 30th, 2008

A continuación pongo en consideración una pequeña simulación del algoritmo “primero el trabajo más corto” (shortest – job - first).
La aplicación esta desarrollada en Java bajo el IDE NetBeans 6.0 y permite crear procesos(en realidad son solo objetos no hilos) que ocuparán cada uno un tiempo de ejecución o uso de CPU determinado por el usuario.

Esto funciona de la siguiente manera al establecer cuantos procesos se realizarán el usuario deberá especificar que tiempo tardará cada uno en terminar, para luego la aplicación planifique su ejecución empezando por el más pequeño.

Corrida 1

Una vez encontrado el orden exacto cada proceso ocupará el thread(hilo) central de la aplicación haciéndola detener para que nadie pueda ocuparlo mientras él se ejecuta, además cabe recalcar que por ser una demostración se estima el tiempo en segundos(el hacerlo unidades menores no daría mucha idea de lo que sucede). Luego abandonará el control del hilo y pasará al siguiente. Al terminar todos los procesos la aplicación también terminará.

Ejecución de los procesos…

Puedo decir que este algoritmo presenta varias ventajas pues al realizar los procesos con menor tiempo primero el tiempo de espera disminuye considerablemente aunque en una situación real la única dificultad es el cálculo de la ráfaga de CPU que como mencioné en un post anterior es aproximada.

El programa se puede descargar desde aqui

Saludos,

Simulación de la Planificación RR

Lunes, Abril 28th, 2008

En post anteriores se detalló el funcionamiento de esta planificación. La misma que consistía en una estructura FIFO de forma circular en donde cada proceso ocuparía la cpu dependiendo de un determinado tiempo conocido como “quantum”.

La aplicación realizada bajo el entorno java simula este algoritmo de la siguiente manera.
Lo primero que se realiza es solicitar la cantidad de procesos que se utilizarán la cpu y de la misma manera el tiempo quantum que podrá estar cada uno dentro, este tiempo se lo deberá dar en segundos(sin fracciones).

A continuación el programa generará con un proceso aleatorio los intervalos de tiempo que cada procesa necesita, para demostración esta controlado que no sea ni cero ni un valor mayor a 11(solo para no dejar la máquina trabajando mucho tiempo).
Ejecución 1
Una vez determinados los procesos serán almacenados en una estructura dinámica en este caso un ArrayList de donde serán extraídos en orden para que pasen a ocupar la CPU.
Algo que vale notar es que cuando un proceso ingresa a la cpu, el programa detiene el Thread principal de la aplicación el número de segundos que indique el quantum, por es mejor no colocar intervalos grandes(mayores 10). Esto da la apariencia d que si fuera un proceso real se estaría ejecutando.
Ejecución 2
Y finalmente cumplidos los tiempos de cada proceso son eliminados de la estructura hasta que esta quede vacía y se da por terminada la aplicación.

Es importante enfatizar que el problema de este Algoritmo es que el tiempo de entrega de un proceso dependerá mucho del tiempo quantum y en menor cantidad de su tiempo necesario.
Saludos,

Simulador Sistemas Operativos

Jueves, Abril 3rd, 2008

Hola a tod@s!!!

Buscando acerca de Sistemas Operativos en la red encontré sobre el SO Plan 9, me pareció interesante ya que desconocía por completo sobre este… , a continuación están algunas de sus características más importantes..

Plan 9 es un sistema operativo distribuido, usado principalmente como vehículo de investigación. Fue desarrollado como el sucesor en investigación del sistema UNIX por los Laboratorios Bell entre la mitad de los años 80 y 2002. Plan9 (P9) constituye un SO escalable, eficiente y con uso seguro en red.

Conceptos de diseñoRecursos como archivosTodos los recursos del sistema se representan como archivos en el sistema de archivos jerárquico.  Espacios de nombresCada proceso dispone de una visibilidad particular del sistema de archivos denominado espacio de nombres es simple y coherente, y  aparece como un sistema de archivos jerárquico pero que puede representar recursos físicamente separados (locales o remotos).  Así dos procesos pueden ver sistemas de archivos completamente diferentes. En el caso de Unix disponen de la misma visibilidad del sistema de archivos con la diferencia de los permisos de lectura, escritura y ejecución Protocolo de comunicaciones estándar La clave para soportar la transparencia de red de Plan 9 fue un nuevo protocolo de red de bajo nivel conocido como 9P. El protocolo 9P y su implementación conectaban objetos de red con nombre y presentaban una interfaz como un sistema de archivos. 9P es un sistema de archivos distribuido rápido y orientado a bytes (en lugar de orientado a bloques). Puede virtualizar cualquier objeto, no sólo aquellos presentados por un servidor NFS en una máquina remota. El protocolo se usa para referirse a procesos, programas y datos, la interfaz de usuario y la red. Mecanismos de Autentificación

El mecanismo de autenticación P9 sigue el esquema Kerberos. No se envía el password por la red, en su lugar, se emplea un mecanismo de tickets encriptados facilitados por un servidor de autenticación. En P9 no existe el concepto de superusuario ni tampoco la idea de programas con setuid. El servidor de archivos P9 no corre programas de usuario, solo se limita a dar acceso a archivos autorizados.

 Directorios UniónPlan 9 también introdujo el concepto de los directorios unión, directorios que combinan y agrupan recursos a través de distintos medios y redes. Por ejemplo, el directorio /bin (programas) de otro computador puede ser vinculado al del propio computador, y entonces este directorio contendrá las aplicaciones locales y las aplicaciones remotas (del otro computador), a las que el usuario puede acceder de forma transparente. Los enlaces de UNIX y los puntos de montaje harían que desapareciera el directorio original, no pudiendo acceder a los programas locales. Usando el mismo sistema, bajo Plan 9, dispositivos externos y recursos pueden ser vinculados a /dev (juntándolos con los locales), haciendo que todos los dispositivos sean dispositivos de red sin código adicional.Muchas de las ideas que se fijaron en el Plan 9 han sido implementadas en otros sistemas operativos. Por ejemplo, en Linux se han implementado partes del sistema de archivos de Plan 9 (el directorio /proc, etc.), varias de las aplicaciones y herramientas de Plan 9 han sido portadas a Unix y Linux y han alcanzado algún nivel de popularidad. Plan 9 en sí mismo nunca ha sobrepasado a Unix en popularidad, y continúa como una herramienta de investigación. http://es.wikipedia.org/wiki/Plan_9http://ar.geocities.com/horacio9573/plan9.htmlhttp://blog.metaemotion.com/2007/03/21/los-grandes-avances-nacidos-sistemas-operativos-olvidados-i-plan-9/