VisualOS

Resumen

-------------------------------------------------------------------------------

El propsito de este proyecto es desarrollar una herramienta grfica que
permita el estudio y comprensin del funcionamiento real de un sistema
operativo moderno.

El programa que se presenta permite observar los aspectos ms relevantes de un
sistema operativo en funcionamiento. Tambin permite ver cmo funcionan y cmo
interactan los tres sistemas mas importantes: planificacin de procesos,
gestin de memoria y Entrada/Salida. Las representaciones son dinmicas
pudiendo capturarse algunas de las grficas, para su posterior estudio, mostrar
el funcionamiento del sistema en "vivo" o experimentar directamente con l.

Un sistema operativo consta de muchas partes ntimamente relacionadas, de
manera que su buen funcionamiento depende tanto del correcto funcionamiento de
cada una de ellas como de su correcta interaccin. Este programa permite tanto
su estudio global como el estudio concreto de alguna de sus partes.

Tradicionalmente cada parte de un sistema operativo se estudia por separado,
siendo muy difcil ofrecer una visin global e integrada de todas ellas, as
como de los problemas de la concurrencia, debido a la difcil representacin
del sistema en funcionamiento.

Hasta ahora la nica manera de comprender realmente estos conceptos era
escribiendo y modificando el cdigo de un sistema operativo real para luego
analizar su funcionamiento. Con este propsito se escribieron sistemas
operativos como MINIX, NACHOS o TUNIX. El problema que tiene este mtodo es que
requiere mucho tiempo, y para ser realmente til se necesita un gran dominio
del lenguaje de programacin utilizado, que permita centrarse en la lgica del
problema. Esta nueva herramienta permitir la realizacin de laboratorios en
los cuales se podr, en poco tiempo, comprender conceptos fundamentales del
funcionamiento real de los sistemas operativos.

En el mbito docente, el presente programa convierte en ms sencillas las
tareas anteriores. Facilita al profesor el trabajo de realizar grficas y otras
representaciones que expliquen los conceptos importantes del sistema operativo,
y permite que el alumno los vea ms claramente, porque podr realmente ver, por
ejemplo, cmo los distintos procesos se disputan el procesador y la memoria a
la vez que pretenden ser los primeros en leer del disco y cmo es el sistema el
que gestiona estos recursos. Todo lo vern en conjunto y no fragmentado como se
puede explicar en una clase tradicional. Por supuesto tambin se pueden
desactivar algunas de las partes para poder ver ms claramente el
funcionamiento de las dems. Incluso se pueden mostrar los distintos
subsistemas en mquinas diferentes para realizar prcticas en las que distintos
alumnos se hagan cargo de cada uno, eligiendo el algoritmo que quiere utilizar
o incluso tomando las decisiones manualmente.

[VisualOS-0]

Por otro lado, tambin se podr utilizar como banco de pruebas, haciendo ms
fcil y flexible el mtodo de modificar y escribir cdigo, ya que la aplicacin
est escrita de forma modular y tomando especial inters en hacer lo mas
sencillo posible la adicin de nuevos algoritmos o modificacin de los ya
existentes. Para poder hacer esto no ser necesaria la comprensin del resto
del cdigo, solamente ser necesario aprender el interfaz que los algoritmos en
cuestin utilizan, una estruct

