autoaprendizaje interactivo para la materia “sistemas

25
AYUDAS DE LA UNIVERSIDAD DE SALAMANCA PARA LA INNOVACIÓN DOCENTE PARA EL CURSO 2008/2009 MEMORIA FINAL PROYECTO ID/0047 Autoaprendizaje Interactivo para la Materia “Sistemas Operativos” en el Marco del EEES Investigador principal: Dr. Roberto Therón Sánchez Departamento de Informática y Automática Universidad de Salamanca ‐ Facultad de Ciencias Plaza de la Merced, s/n 37008 Salamanca

Upload: others

Post on 02-Jul-2022

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Autoaprendizaje Interactivo para la Materia “Sistemas

AYUDAS DE LA UNIVERSIDAD DE SALAMANCA PARA LA INNOVACIÓN DOCENTE PARA EL CURSO 2008/2009

MEMORIAFINAL

PROYECTO ID/0047

AutoaprendizajeInteractivoparalaMateria“SistemasOperativos”enelMarcodelEEES

Investigadorprincipal:Dr.RobertoTherónSánchezDepartamentodeInformáticayAutomática

UniversidaddeSalamanca‐FacultaddeCienciasPlazadelaMerced,s/n37008Salamanca

Page 2: Autoaprendizaje Interactivo para la Materia “Sistemas

AutoaprendizajeInteractivoparalaMateriaSistemasOperativosenelMarcodelEEES 2

ProyectoID/0047Dr.RobertoTherón

TabladeContenidos1.DATOSDELPROYECTO .............................................................................................................................. 32.OBJETIVOSPROPUESTOS.......................................................................................................................... 43.DESCRIPCIÓNDELDESARROLLODELPROYECTOYRESULTADOSLOGRADOS ............. 63.1 Introducción .............................................................................................................................................. 63.2 Ciclodevida ............................................................................................................................................... 63.3 Especificaciónderequisitos ................................................................................................................. 73.4 AnálisisyDiseño....................................................................................................................................... 73.5 Descripcióndelsistema ......................................................................................................................... 73.6 Servidordesockets.................................................................................................................................. 83.7 Disco.............................................................................................................................................................. 93.8 Paginación............................................................................................................................................... 113.9 Planificación ........................................................................................................................................... 153.10 PortabilidadyAccesibilidad .......................................................................................................... 213.11 FasedeExplotación........................................................................................................................... 214.MATERIALYGRADODECUMPLIMIENTODELPROYECTOINICIAL .................................. 234.1 Materialadquirido ............................................................................................................................... 234.2 Gradodecomplimiento ...................................................................................................................... 234.3 Publicacionesgeneradas ................................................................................................................... 245.CONCLUSIONES........................................................................................................................................... 25

Page 3: Autoaprendizaje Interactivo para la Materia “Sistemas

AutoaprendizajeInteractivoparalaMateriaSistemasOperativosenelMarcodelEEES 3

ProyectoID/0047Dr.RobertoTherón

1.DATOSDELPROYECTO

TÍTULO: Autoaprendizaje Interactivo para la Materia “Sistemas

Operativos” en el Marco del EEES

REFERENCIA: ID/0047

INVESTIGADOR PRINCIPAL: THERÓN SÁNCHEZ, ROBERTO

ORGANISMO: UNIVERSIDAD DE SALAMANCA

CENTRO: FACULTAD DE CIENCIAS

INVESTIGADORES QUE FORMAN EL EQUIPO:

Roberto Therón Sánchez

Luis Antonio Miguel Quintales

Guillermo González Talaván

Ana Belén Gil González

DURACIÓN: octubre 2008 a mayo 2009

Page 4: Autoaprendizaje Interactivo para la Materia “Sistemas

AutoaprendizajeInteractivoparalaMateriaSistemasOperativosenelMarcodelEEES 4

ProyectoID/0047Dr.RobertoTherón

2.OBJETIVOSPROPUESTOSEl objetivo principal de este proyecto es desarrollar un sistema on­lineaudiovisual e interactivo que muestre el funcionamiento de los principalesalgoritmosdelossistemasoperativosenlasáreasdeaccesoadisco,reemplazodepáginasdememoriaydistribucióndelaCPUentrelosprocesosdelsistema.

Comoobjetivosgeneralessepresentan:1) Favorecer y apoyar el autoaprendizaje de alumno de lasmaterias de

“SistemasOperativos”,dadalaimportanciadeunacorrectaasimilaciónde estos contenidos para poder abordar con éxito el resto deasignaturasdesutitulación.Elalumnopodrávereinteractuarconlaspartes que normalmente se le ocultan a un usuario de un sistemaoperativo.

2) Incidir positivamente en el proceso educativo, proporcionandomaterialdidácticomásatractivoparaeldiscente.Losalumnospodránadquirir lacapacidaddeabstracción imprescindibleparacomprenderlos detalles de bajo nivel en el diseño y programación de sistemasoperativos.

3) Proporcionaruncomplementoalasclasesmagistralesenlamateriade“Sistemas Operativos”, poniendo en las manos del docente un minisistemaoperativo,medianterepresentacionesvisualesabstractas,quepermitedarlanecesariavisiónholista.Deestaforma,elalumnopuedefácilmentecomprenderquelovistoteóricamenteydemaneraaisladaparacadaunodelossubsistemas,tieneenlaprácticasurepercusiónenelsistemaoperativocompleto.

Comoobjetivosespecíficoscabecitar:

1) Disco: Debe simularse el funcionamiento de un disco magnético yproporcionar un método para solicitar bloques del mismo. Lasimulacióndeberpermitirtambiénalusuarioescogerelalgoritmoqueseemplearáparaatenderlaspeticionesymostrarclaramenteelordenenquesevanatendiendolasmismas.

2) Paginación:Sesimularáunsistemaformadoporunamemoriafísicayunos procesos que accedan a dicha memoria. La herramienta debemostrarclaramentecómoserealizaelreemplazodeunaspáginasporotrasde lamemoria,permitiendoalusuariosolicitar laspáginasquedeseeparapersonalizarasílasimulación.Aligualqueconeldiscosepodráseleccionarelalgoritmoquesedeseeestudiar.

3) Planificación:Enestecasodeberemosvercómoelsistemadistribuyela CPU entre los procesos del sistema dependiendo del algoritmoseleccionado.Dadoquesepretendeutilizarunmodelodeprocesode7estados,habráqueincluirtambiénenelsistemaunamemoriafísicapara que existan procesos activos (cargados en memoria) ysuspendidos (no cargados enmemoria). Esto lleva a incluir tambiénen estamismaherramientaunplanificadordemedioplazoque sigaalgunamínimaestrategiaparadecidirquéprocesos sedebencargarenmemoriaycuálestienenqueserdescargadosdelamisma.

Page 5: Autoaprendizaje Interactivo para la Materia “Sistemas

AutoaprendizajeInteractivoparalaMateriaSistemasOperativosenelMarcodelEEES 5

ProyectoID/0047Dr.RobertoTherón

4) Las simulaciones producidas por la herramienta deben ser claras eintuitivas, permitiendo al usuario configurar la mayor cantidad deparámetros posible de manera que éste pueda experimentar ypersonalizar la simulación acorde a sus necesidades. Para que laexperiencia resulte satisfactoria el usuario deberá recibirgráficamente la mayor cantidad de información posible y tener laposibilidad de ver conmayor claridad la información que le resultemásútil.

5) Otro de los objetivos que se persigue con el proyecto es el decomplementar dos tecnologías en alza, Flash y C#, explotando lasprincipalesvirtudesdecadauna.Paraellodividiremoselsistemaentrespartes:

a. Núcleo:Comprendetodalaparteoperativadelaherramienta,está formada por todos los componentes empleados paraimplementar los algoritmos y realizar la simulación. EstaráíntegramentedesarrolladoenC#.

b. Interfaz deusuario: Serán las páginasweb desarrolladas enFlash. Éstas deberán mostrar al usuario la representacióngráficadelasimulaciónqueestaráteniendolugarenelnúcleo,a la vez que le sirven como canal para configurar losparámetrosdelamisma.

c. Intermediario: Será la parte del sistema encargada decomunicar el núcleo con la interfaz de usuario. Dado que nohayuna formaespecíficade conseguirdicha comunicación sebuscaráunmétodoviableyeficienteparatalefecto.

6) Una cualidad importante de la aplicación tiene que ser la de lareusabilidad,yaquesitieneéxito,elsistemapodríaserampliadoconnuevas herramientas tanto de esta cómo de otras materias paraformar un sistema de mayor tamaño; por tanto tiene que serfácilmenteampliable.

7) Tambiénseríaunacualidadmuydeseablelaportabilidad,yaqueseríainteresante que pese a ser desarrollada en un entornoWindows laaplicaciónpudieseportarsetambiénaunentornoLinux,porserestoslossistemasmásutilizadoscomoservidoresenlaactualidad.

8) Al ser una aplicación web debería estar disponible para cualquierusuarioconunaconexióna InternetyunaextensióndeAdobeFlashpara el navegador Web, independientemente del sistema operativoqueelclienteutilice.

Finalmente,comoobjetivosdocentesseconsideran:

1. Desde el punto de vista docente, el sistema de autoaprendizajeofrecerá:

a) Unsistemacentralizadoquepermitellevarunseguimientodelusodelsistemaporpartedetodoelalumnado.

b) Un sistema que separa la complejidad de implementaciónde los diversos algoritmos y estructuras de datos quemantiene un sistema operativo, de su representaciónabstractaorientadaalaformacióndealumnos.

Page 6: Autoaprendizaje Interactivo para la Materia “Sistemas

AutoaprendizajeInteractivoparalaMateriaSistemasOperativosenelMarcodelEEES 6

ProyectoID/0047Dr.RobertoTherón

c) Un sistema previsto para crecer, en el que se puedanincorporarnuevas formasde representaciónabstractaquefacilitenelaprendizajedeconceptoscomplejos.

d) Un sistema operativo en miniatura que permiteproporcionar la versión integradora de los distintossubsistemas,queexhibelascaracterísticasdebajonivelsinla necesidad de involucrar al alumno en excesivamenteexigentesylargosdesarrollos.

2. Desdeelpuntodevistadiscente,elsistemadeautoaprendizaje:

a) Acceso a abstracciones visuales adecuadas que faciliten lacomprensión tanto de conceptos como de funcionamientodealgoritmos

b) Laposibilidadderealizarcualquiernúmerodesimulacionescon juegos de datos no predefinidos, seleccionados por elalumno.

c) Laposibilidaddeverdeformaintegradalainterrelacióndelos distintos subsistemas, comprobando las repercusionesde determinadas acciones que el propio alumno puededesencadenar.

d) Laposibilidaddeestudiarlosalgoritmosvistosenlasclasesmagistrales,analizarlarepercusióndelasvariacionesdelosparámetros que rigen cada uno de ellos, reproducir lasanimaciones resultantes de los juegos de datosseleccionados, tanto en modo automático como en modopasoapaso.

3.DESCRIPCIÓNDELDESARROLLODELPROYECTOYRESULTADOSLOGRADOS

3.1 Introducción

Enesteapartadoserecogenlosaspectosmásnotablesdelproyecto.Altratarsede undesarrollo informático, en estamemoria se incluyen tanto aspectosmástécnicos propios del software desarrollado (documentación y descripción delsistema que se ha llevado a cabo), como los tocantes a los objetivos comoproyecto de innovación docente. Así, se describen los servicios que ofrece elsistematutorialbasadoenlaWeb.Noobstante,siserequiereunadiscusiónmásdetalladaacercadeélpuedeconsultarseel“Manualdeusuario”delaaplicacióndesarrollada.

3.2 Ciclodevida

Paraeldesarrollodeesteproyectoseoptóporseguirunametodologíaorientadaa objetos debido especialmente a las características de escalabilidad,extensibilidad y reutilización; estas características son idóneas para la

Page 7: Autoaprendizaje Interactivo para la Materia “Sistemas

AutoaprendizajeInteractivoparalaMateriaSistemasOperativosenelMarcodelEEES 7

ProyectoID/0047Dr.RobertoTherón

continuidad del tutorial en el futuro, posiblemente a través de nuevosproyectos de innovación. Entre las distintas posibilidades existentes,finalmentesedecidiórealizaresteproyectobasándoseenelProcesoUnificado,ya que es uno de los procesos de desarrollo software que más se utilizaactualmente y uno de los quemejor se adapta a cualquier tipo de situación ycontexto.

A continuación se especificarán las técnicas utilizadas y los aspectos másimportantes de la especificación de requisitos, el análisis, el diseño y laimplementacióntenidosencuentaa lahoradedesarrollarunsistemadeautoaprendizaje robusto y preparado para ampliarse y evolucionar alrecogerlarealimentacióndelosalumnos.

3.3 Especificaciónderequisitos

Laobtenciónde requisitos sehabasadoen laexperiencia, acumuladaa lolargodenumerosos años impartiendoesta asignaturade formapresencialporlosmiembrosproyecto.

3.4 AnálisisyDiseño

En el análisis y el diseño de este proyecto se ha utilizado el Lenguaje deModelado Unificado (UML). Se han creado diversos diagramas que incluyendiagramasdesecuenciaparadiseñarlavistadinámicaylosdiagramasdeclasespara diseñar la vista estática. Todo esto ha generado gran cantidad dedocumentacióntécnicaqueselegaráafuturosdesarrolladoresdeltutorialWeb.

3.5 Descripcióndelsistema

Podríamosdividir laaplicaciónentrespartes, laFigura1muestraunesquemadelfuncionamientodelsistema:

Figura 1.- Esquema de funcionamiento del sistema

• NÚCLEO

Realizado en C# 2.0, es el conjunto de clases que implementan losalgoritmosdelaaplicación.Todosloscálculosdelasimulaciónserealizan

Page 8: Autoaprendizaje Interactivo para la Materia “Sistemas

AutoaprendizajeInteractivoparalaMateriaSistemasOperativosenelMarcodelEEES 8

ProyectoID/0047Dr.RobertoTherón

en esta parte, que envía los resultados mediante mensajes XML a laspáginasclienteatravésdelservidordesockets.Esportantoaquídónderealmenteseestáproduciendolasimulación,sóloquedemanerainterna,esdecir,sininterfazgráfica.

• SERVIDORDESOCKETS

EsunaaplicacióndeconsolarealizadaenC#2.0bajolacualseejecutalapartedelnúcleo.SufunciónesladeservirlossocketsXMLqueconectenla parte cliente (páginas flash) con la parte núcleo correspondiente(herramientasdedisco,paginaciónyplanificación).Básicamenteelprocesoeselquesigue:ElusuarioaccedealapáginaWeb,ésta pide una conexión al servidor de sockets indicándole el tipo desimulaciónqueprecisa (disco,paginaciónoplanificación), si el servidoracepta la solicitud crea un hilo que ejecuta la herramientacorrespondiente y le asigna un socket de comunicación con la página.Despuéselservidorsequedaalaesperadenuevaspeticiones.

• PÁGINASCLIENTE(FLASH)

PáginasWeb realizadas en Flash. Forman la Interfaz de Usuario de laaplicación.Seconectanconelservidormedianteunrecursodeflashqueson los XMLSocket. La gran mayoría de operaciones se realizan en elnúcleo mientras que estas páginas reciben la salida del mismo y lecomunican los cambios de preferencias introducidos por el usuariomediante mensajes XML. La enorme capacidad visual de Flash, queposibilita la producción de una interfaz de usuario visualmenteatractivayclara,quepermitalaabstraccióndelosalumnos,alaparqueesconderlacomplejidaddelossistemasoperativosabajonivel,seconvirtióenunapartecrucialdelaaplicaciónWebpropuesta.

Portanto,deacuerdoconelobjetivo,enelmarcodelEspacioEuropeodeEducaciónSuperior,depotenciarelaprendizajeatravésdeactividadesnopresenciales,asícomoelautoaprendizaje,todolonecesarioparaquela aplicación funcione es un servidor Web y la aplicación "servidor desockets" ejecutándose en la máquina servidor. Por parte del cliente (lapartequedebeusarelalumno)serequiereúnicamenteunnavegadorconlosplugindeFlashactualizados.

3.6 Servidordesockets

Como se ha dicho, en este proyecto de innovación, se ha hecho especialénfasis en que los alumnos puedan aprender por su cuenta,independientemente de dónde se encuentren. Para ello se ha requeridoconjugar una potencia visual y de interacción eficiente (Flash), con unacapacidaddecálculoysimulaciónautomático(C#).Comoconsecuencia,uno

Page 9: Autoaprendizaje Interactivo para la Materia “Sistemas

AutoaprendizajeInteractivoparalaMateriaSistemasOperativosenelMarcodelEEES 9

ProyectoID/0047Dr.RobertoTherón

delosprincipalesretosaafrontarparalarealizacióndeesteproyectofueeldeconectar los componentes Flash de la aplicación con los componentes C#. LaspáginasWebcon losobjetosFlashembebidosdebían formar la interfazgráficade usuario, pero todas las operaciones relativas a la ejecución de lassimulaciones debía estar contenida en los componentes C# de la aplicación.Habíaqueencontrarpuesunaformaequilibradadeenviarlosdatosdelclientealservidordeunmodolosuficientementeeficientecomoparaquelasimulaciónnoresultasepesadaopocorealista.Porotraparteseteníaqueenviarunacantidaddeinformaciónimportante,puestoqueenunasolaunidaddetiempovirtualseactualizanmúltiplesvalorescomopuedenserelestadodelosprocesos,losbitsde las páginas, etc. Por lo tanto el canal de comunicación debía ser fluido yeficientepeseaservíaWeb.El servidorde sockets es una aplicaciónde consolaque admitepeticionesde

conexión de los clientes. En el momento de conectarse, el cliente envía alservidordesocketsunmensajeXMLindicandolasimulaciónquequiereejecutar.En este caso “Simulación” puede tomar tres valores: disco, paginación,

planificación. Una vez creado, cada objeto cliente se ejecuta como un hilo de ejecución

independiente, mientras que el servidor se queda a la espera de nuevaspeticiones.Finalmente,sepuedeañadirque,pensandoenelfuturodeltutorial,se puso un especial énfasis en el desarrollo de un sistema que permitiera laincorporacióndenuevasfuncionalidades.

3.7 Disco

Laplanificacióndeaccesoadiscoconsisteenasignarunordendeatenciónalaspeticionesdelectura/escrituradelosprocesossobrelosbloquesdeldisco.Porlotanto,lasimulaciónteníaquemostraralmenoslossiguienteselementos:- Peticiones:Noesnecesariainformaciónsobreelprocesoquelarealiza,ya

que laspeticiones sonmerosnúmerosdebloquey loquenos interesaesverelordenenquesevanatendiendodichaspeticiones.

- Planificador de Disco: Es el que ejecuta los distintos algoritmos paraseleccionarelordendeatencióndelaspeticiones.

- Disco:Estácompuestoporunconjuntodebloquessobrelosquesehacenlaspeticiones.

- Sistema Automático de peticiones: Era necesario un sistema querealizase peticiones aleatorias de forma automática para mejorar lausabilidaddelaherramienta.

Con estos elementos, el sistema está dotado de funcionalidad, pero la

vocacióndidácticadelaherramienta,enlaqueelaprendizajesedejaenlasmanosdelpropioestudiante,hacenecesariolapropuestadeunasoluciónvisual que facilite al alumno la comprensión de los conceptosfundamentales involucradosyun fácil seguimientode la ejecuciónde losalgoritmos.Paraelloeranecesariounelementográficoquemostraseelordendeatencióndelaspeticionesconclaridad(Figura2):

Page 10: Autoaprendizaje Interactivo para la Materia “Sistemas

AutoaprendizajeInteractivoparalaMateriaSistemasOperativosenelMarcodelEEES 10

ProyectoID/0047Dr.RobertoTherón

Figura 2.- Representación vectorial de disco

La propuesta había que completarla de una forma que permita al alumnointeractuar con la visualización con el objeto de que ésta se adapte a supropio ritmo de aprendizaje. Por tanto, había que incluir los controlesnecesarios para realizar las peticiones, además de mostrar un listado de laspeticionesqueestabanpendientesdeseratendidas(Figura3):

Figura 3.- Representación de peticiones

La experiencia enseñando esta parte del funcionamiento de un sistemaoperativorecomendóincluirunarepresentacióndeundiscomásrealista,para que los usuarios pudiesen asociar con mayor facilidad losmovimientosdelacabezalectoradeundiscoconlaspeticionesdebloques(Figura4):

Figura 4.- Representación de disco real

Page 11: Autoaprendizaje Interactivo para la Materia “Sistemas

AutoaprendizajeInteractivoparalaMateriaSistemasOperativosenelMarcodelEEES 11

ProyectoID/0047Dr.RobertoTherón

Porúltimo,seconsiderónecesarioincluiruncontrolquepermitieseseleccionarelalgoritmodeseadoparalasimulación(Figura5).

Figura 5.- Control de selección de algoritmo de disco

LaFigura6muestraelaspectofinaldelaherramienta:

Figura 6.- Herramienta de Disco

3.8 Paginación

Laherramientadepaginación tratademostrarel funcionamientodealgunosalgoritmosutilizadosporlossistemasoperativosparadecidirquépáginasdelascargadasenmemoriafísicadebenserretiradascuandohayquehacersitioparaotras nuevas.Ésta es una de las partes del temario que tradicionalmentemásproblemasdecomprensiónplanteaalosestudiantes.Partiendode losconceptos involucrados, que el alumno debe asimilar, se identifican algunoselementosquedebíanfigurarenlasimulación:

- Páginas: Contienen información necesaria para la ejecución de los

algoritmos,talcomolosbitsdereferencia,validezymodificación,oelPIDdelprocesoalquepertenece.

- Procesos: Tienen un espacio de direcciones formado por un conjunto depáginasdememoria.Necesitancargarsuspáginasenlamemoriaprincipal

Page 12: Autoaprendizaje Interactivo para la Materia “Sistemas

AutoaprendizajeInteractivoparalaMateriaSistemasOperativosenelMarcodelEEES 12

ProyectoID/0047Dr.RobertoTherón

para poder ejecutarse, así que son los que realizan las peticiones paracargarpáginasenmemoria.

- Memoria Física: Está formada por un conjunto de marcos del mismotamañoquelaspáginasdelosprocesos.Esenestosmarcosdondesealojandichaspáginas.

- Planificadordereemplazo:Eselelementoquedebedecidirquépáginadelamemoriahayquereemplazarcuandoqueremoscargarunapáginaenlamemoriaynohayningúnmarcolibre.

De forma análoga al caso anterior, una vez implementados estos elementos ypuestos en funcionamiento, es necesario prestar atención al estudiante,facilitarleelautoaprendizaje,por loquehayquedesarrollaruna interfazpara mostrar toda la información posible sobre la ejecución de lasimulaciónyparaquepuedainteraccionarconella,adaptándolaasuritmodeasimilacióndeconceptoscomplejos.ElaspectofinaldelaherramientaeselquemuestralaFigura7.

Figura 7.- Herramienta de Paginación

Se debe aclarar que, en primer lugar, los alumnos han demostradodificultades en la asociación de conceptos vistos en unidades temáticasdistintas. Para facilitar esta asociación de conceptos y la asimilación delfuncionamientodel sistemaoperativo comoun todo, y no comomódulosaisladosentresí,seidentificócomoimprescindiblemostrarelestadodelamemoriaencadamomento(Figura8):

Page 13: Autoaprendizaje Interactivo para la Materia “Sistemas

AutoaprendizajeInteractivoparalaMateriaSistemasOperativosenelMarcodelEEES 13

ProyectoID/0047Dr.RobertoTherón

Figura 8.- Ventana de Memoria Física

Lógicamente,sisebuscapotenciar lacapacidaddeaprendizajeautónomo,el sistema tutorial necesita mostrar información, de una forma clara ycoordinadaconelrestodelasvistas,sobrelamemoriavirtualdelsistema,esdecir,sobreelestadodelaspáginasdelosprocesos(Figura9):

Figura 9.- Ventana de Memoria Virtual

EnlaFigura10sedetallainformaciónsobrelamemoriavirtual:

Figura 10. - Información de página de memoria

Para facilitar el seguimiento de la simulación se incluyó una ventana deactividad, basado en un intuitivo sistema de colores, que mostrase unlistadodelasoperacionesqueseejecutanencadainstantedelasimulación

Page 14: Autoaprendizaje Interactivo para la Materia “Sistemas

AutoaprendizajeInteractivoparalaMateriaSistemasOperativosenelMarcodelEEES 14

ProyectoID/0047Dr.RobertoTherón

(Figura11):

Figura 11.- Ventana de actividad

Un elemento clave que facilita el autoaprendizaje a través de enfoquesvisualescomoeldelproyecto,es la interacción, loquepermitealusuarioadatartantolasimulacióncomolapropiavistadelestadodelamisma.Así,estoseproporcionóatravésdelaincorporacióndeunoscuadrosdediálogoparaqueelusuariopudieseconfigurarlaaplicaciónasugusto.ElcuadrodelaFigura12 nos permite observar una lista de los procesos del sistema y suscaracterísticas (PID, tamaño, númerodepáginas y fallos de páginaproducidoshastaelmomento),asícomocrearnuevosprocesosyeliminarlosyaexistentes.Enlaparteizquierdadelcontrolsepuedeconfiguraraspectoscomoelalgoritmo,eltamañodepáginaoeltamañodelamemoria:

Figura 12.- Configuración de Paginación

El cuadro de la Figura 13 permite realizar peticiones de página. Se puedenrealizarpeticionesespecíficasoaleatorias.Alseleccionarunapágina,semuestraelestadodesusbitsenlapartederechadelaventana.

Page 15: Autoaprendizaje Interactivo para la Materia “Sistemas

AutoaprendizajeInteractivoparalaMateriaSistemasOperativosenelMarcodelEEES 15

ProyectoID/0047Dr.RobertoTherón

Figura 13.- Ventana de peticiones

En una primera etapa, el alumno no tiene destreza suficiente paracontrolar(oparametrizarunasituaciónquedeseeanalizarendetalle),porellosehadotadoaltutorialdeuncontrolquepermiteponerlasimulaciónenmodoautomático,deformaqueserealizanpeticionesdepáginasdeformaaleatoriayautomática(Figura14).

Figura 14.- Control automático

3.9 Planificación

En correspondencia con las dificultades que presentan los alumnosenfrentados a este parte de los sistemas operativos, el desarrollo de laherramientadeplanificacióndeprocesosfueelmáselaborado. Unodelosaspectoscrucialesenelaprendizajedelossistemasoperativos

es la capacidad de abstracción y de integración de las partes que seestudian por separado. Las visualizaciones propuestas permiten unacercamiento por parte del alumno a un sistema informático abstracto ycompleto.Enconsecuencia,ademásdetodolocomentado,huboqueintroducirenlaherramientaunnuevoelemento,lamemoriafísica.Elhechodeintroducirlamemoria implicaba también la necesidad de un mecanismo para cargar ydescargarlaspáginasdelosprocesosenlamisma,asíqueseempleóunodelosalgoritmos empleados para la herramienta de paginación, en este caso elalgoritmoFIFO.A modo de ejemplo de la evolución (y la complejidad de desarrollo que

conlleva) que ha sufrido la abstracción de un sistema operativo que seofrecea losalumnosenelsistematutorialpropuesto, semuestra laFigura15.Enestepuntoloqueteníamoseraunsistemacompuestoporlosprocesos,un

planificadordecortoplazo,unamemoria físicayunplanificadordereemplazode páginas (que ejecutaba un único algoritmo, el FIFO). Teníamos pues unsistemarealistaquepodíahacerunaplanificacióndeprocesosdecortoplazoyconcapacidadparacargaryquitarpáginasdelosmismosenmemoria.Contodo

Page 16: Autoaprendizaje Interactivo para la Materia “Sistemas

AutoaprendizajeInteractivoparalaMateriaSistemasOperativosenelMarcodelEEES 16

ProyectoID/0047Dr.RobertoTherón

esto seguíamos con el problema de la suspensión, ya que aún necesitábamosalgúncomponentequedecidieraquéprocesosdebíanestarenmemoriaycuálesdebíanserextraídosdelamisma.Seintrodujoentoncesunnuevoelementoenlasimulación, el planificador demedio plazo. Existen numerosas estrategias queeste planificador puede utilizar para decidir qué procesos deben sersuspendidos, pero como el objetivo inicial era realizar simplemente unasimulaciónde losalgoritmosdecortoplazo,en lugarde implementar todas lasestrategiasposiblesseeligiósólounadeellas,dejandoelsistemapreparadoparalaposibleinclusióndemásestrategiasdeformasencillaenelfuturo.

Figura 15.- Esquema de estado parcial del sistema de planificación

Implementarunalgoritmoparalaplanificacióndemedioplazo,entramosenla

teoría de los conjuntos residentes. El desarrollo detallado de este punto delproyecto excede el alcance de esta memoria. Sólo se debe destacar quesiempre se ha tenido en cuenta en las soluciones propuestas el dejarabiertaunapuertaafuturasmejoras(yquefueransencillasdeintroducir).Como elemento final, y de cara a una futura ampliación se incluyó un

planificadordelargoplazo,cuyafinalidades ladedecidirquénuevosprocesossonadmitidosenel sistema.En resumen, la simulación finalquedócompuestaporlossiguienteselementos:

Losprocesos Lamemoriafísica Elplanificadordereemplazodepáginas(conelalgoritmoFIFO) Elplanificadordecortoplazo(conlosalgoritmoscorrespondientes) Elplanificadordemedioplazo Elplanificadordelargoplazo Elgestordeconjuntosresidentes.(estrategiadeDenning)

En la Figura 16 se ilustra un esquema de los componentes mencionados:

Page 17: Autoaprendizaje Interactivo para la Materia “Sistemas

AutoaprendizajeInteractivoparalaMateriaSistemasOperativosenelMarcodelEEES 17

ProyectoID/0047Dr.RobertoTherón

Figura 16.- Esquema final de componentes de planificación

La interfazdeusuariode estapartede la aplicación reutiliza los elementosdememoriafísicaymemoriavirtualdelaherramientadepaginación.Aúnconesoera necesario añadir nuevos elementos para recoger la información quepermitiese seguir la ejecución de los algoritmos. La ventana de actividad,aunquetambiénesunelementodelainterfazdepaginación,enestecasomuestraalalumnootrainformacióndiferente(Figura17):

Figura 17.- Ventana de actividad de planificación

Sin embargo, de forma coherente con el resto de la herramienta, yconsecuenteconelobjetivogeneralpropuestodeproporcionaralalumnouna herramienta intuitiva, visualmente atractiva y altamente interactiva,había que introducir un elemento gráfico que permitiese seguir clara yfácilmentelasecuenciadeejecuciónyaparicióndelosprocesosenlasimulación(Figura18):

Page 18: Autoaprendizaje Interactivo para la Materia “Sistemas

AutoaprendizajeInteractivoparalaMateriaSistemasOperativosenelMarcodelEEES 18

ProyectoID/0047Dr.RobertoTherón

Figura 18.- Ventana de representación de procesos

En esta vista se puede seguir mediante colores la secuencia de ejecuciónrepresentada mediante la primera barra. También se observa el instante dellegadadelosprocesosyladuracióndelosmismosenlabarraasignadaacadauno. Eranecesario, además, un elementoquepermitiese seguir toda la informaciónrelativa a los procesos (PID, estado, tamaño, número de fallos de página,probabilidaddebloqueo)y ademáspermitiese crearotrosnuevos (Figura19).De esta forma el alumno es el que proporciona los casos de estudio queestáinteresadoanalizar..

Figura 19.- Control de procesos de planificación

Eléxitodelapropuesta,comosehamencionadoennumerosasocasionesradicaenlainteraccióndelalumnoconlaherramientaproporcionada.A continuación se presentan algunas de estas posibilidades: en primer lugar,faltabaincluirloscontrolesparacambiarlosparámetrosdelasimulación.Comoen este caso había un gran número de características se utilizó un sistema de

Page 19: Autoaprendizaje Interactivo para la Materia “Sistemas

AutoaprendizajeInteractivoparalaMateriaSistemasOperativosenelMarcodelEEES 19

ProyectoID/0047Dr.RobertoTherón

pestañas en un único cuadro de diálogo. La primera permite seleccionar elalgoritmo y las características propias del mismo, además de mostrar unadescripción(Figura20)

Figura 20.- Pestaña de selección de algoritmo

LapestañadeGestióndelConjuntoResidente(Figura21)nospermiteconfigurarlos parámetros de la estrategia de gestión del conjunto residente y ademásmuestra un listado que nos permite hacer un seguimiento del conjunto detrabajodecadaproceso.

Figura 21.- Pestaña del conjunto residente

La pestaña de configuración de memoria (Figura 22) permite cambiarparámetros relacionados con la parte de paginación de la simulación, como eltamañodepáginayeltamañodelamemoriaprincipal.

Page 20: Autoaprendizaje Interactivo para la Materia “Sistemas

AutoaprendizajeInteractivoparalaMateriaSistemasOperativosenelMarcodelEEES 20

ProyectoID/0047Dr.RobertoTherón

Figura 22.- Pestaña de configuración de memoria

Finalmente la pestaña “Opciones de proceso” (Figura 23) permite configurarciertosparámetrosrelacionadosconlosprocesos,comoladuraciónmáximadeunaráfagadeCPU,oelmáximonúmerodeprocesosactivosenelsistema.

Figura 25.- Pestaña de opciones de proceso

ElaspectofinaldelaherramientaseilustraenlaFigura23.

Page 21: Autoaprendizaje Interactivo para la Materia “Sistemas

AutoaprendizajeInteractivoparalaMateriaSistemasOperativosenelMarcodelEEES 21

ProyectoID/0047Dr.RobertoTherón

Figura 23.- Herramienta de planificación

3.10 PortabilidadyAccesibilidad

En este punto es pertinente recordar que si queremos facilitar elautoaprendizaje del estudiante, debemos huir de la imposición dedeterminados soportes tecnológicos. También se debe favorecer ladeslocalización de los recursos, haciéndolos accesibles fuera de lasfacultadesolaboratorios.En el lado servidor (el controlado por el Departamento de Informática y

Automática), laaplicaciónhasidodesarrolladaconelVisualStudio .NETenunsistemaWindowsXPProfesional.Bajoesteentornonohayningúninconvenientepara ejecutar la herramienta, puesto que todo lo que se necesita es tenerfuncionandoel servidordesockets (aplicacióndeconsolaC#)yunservidordepáginasWeb.

En el lado cliente, el alumno no necesita más que un navegador convencional, actualizado con el plugin Flash Player (gratuito).

3.11 FasedeExplotación

Todoloanteriornotendríasentido,sieltutorialnosepusieraadisposicióndelosalumnos.Por tanto sehabilitóunsitiowebparaque losusuariospudiesenaccederalaaplicaciónyutilizarlacomoherramientadeapoyodelamateriadeSistemasOperativos.Elsitioencuestiónes:

http://carpex.fis.usal.es/~ssoo/.

Page 22: Autoaprendizaje Interactivo para la Materia “Sistemas

AutoaprendizajeInteractivoparalaMateriaSistemasOperativosenelMarcodelEEES 22

ProyectoID/0047Dr.RobertoTherón

Figura 24.- Sitio web de la aplicación

DesdeelsitioWebsepermiteaccedertantoalasherramientasdesimulación

comoalosmanualesdeusuariodecadauna(Figura25).

Figura 25.- Acceso a herramienta y manuales

Se ha incluido también una sección que describe brevemente la herramienta

paraquelosusuariospuedanhacerseunaideadelfuncionamientodelamisma(Figura26).

Page 23: Autoaprendizaje Interactivo para la Materia “Sistemas

AutoaprendizajeInteractivoparalaMateriaSistemasOperativosenelMarcodelEEES 23

ProyectoID/0047Dr.RobertoTherón

Figura 26.- Pantalla descripción del sistema

4.MATERIALYGRADODECUMPLIMIENTODELPROYECTOINICIAL Se debe comenzar exponiendo el contexto de ejecución del proyecto. El plazo de desarrollo del proyecto solicitado no cubre una anualidad (octubre-mayo), con lo que el tiempo disponible para realizar los objetivos propuestos es notablemente reducido. Además, el presupuesto es limitado para el desarrollo de un sistema informático completo. En consecuencia, el presupuesto ha sido empleado íntegramente en la compra de un equipo de desarrollo y validación del sistema propuesto.

4.1 Materialadquirido

Se ha comprado un ordenador portátil y un disco duro externo, que han servido para el desarrollo tanto de la parte Servidor (C#) como de la parte cliente (Flash).

4.2 Gradodecomplimiento

Durante toda la duración del proyecto se ha experimentado en el desarrollo de nuevas herramientas de visualización interactivo que faciliten el aprendizaje. Algunas de estas exitosas experiencias han sido ya incluidas en el sistema tutorial Web y se pretende incluir el resto en desarrollos futuros. En este sentido, los resultados son excelentes.

En suma se puede estimar que, a pesar de las limitaciones temporales, se ha cubierto prácticamente todos los objetivos del proyecto, y se estima que, una vez finalizado el proyecto se empiecen a abordar objetivos que no estaban inicialmente previstos para la totalidad del proyecto.

Hay que destacar que el servidor está funcionando y está siendo utilizado por

Page 24: Autoaprendizaje Interactivo para la Materia “Sistemas

AutoaprendizajeInteractivoparalaMateriaSistemasOperativosenelMarcodelEEES 24

ProyectoID/0047Dr.RobertoTherón

el equipo de investigación, como apoyo para sus clases, aunque es necesario todavía un periodo de uso continuado y con carga real, para dar por completamente validado el sistema desarrollado.

Por otro lado ha sido diseñado e implementado con vistas de futuro, para que la incorporación de nuevas técnicas de simulación y visualización sea un proceso rápido y exento de complejidades.

Finalmente, el equipo de investigación está especialmente satisfecho con la labor de innovación en la propuesta de nuevas soluciones visuales para el autoaprendizaje de la materia Sistemas Operativos. En este sentido se han obtenido resultados que van más allá de los objetivos previstos inicialmente y que permiten asegurar un fructífera línea de investigación que merece la pena ser explorada en sucesivos proyectos de ámbito tanto regional como nacional, e incluso internacional.

4.3 Publicacionesgeneradas

Diego A Gómez-Aguilar, R Therón, Francisco J García-Peñalvo (2009) Semantic spiral timeline as a support for e-learning Journal of universal Computer Science (IN PRESS) E M Morales Morgado, D A Gómez Aguilar, F J Garcí-a Peñalvo, R Therón (2009) Supporting the Quality of Learning Objects Through Their Ranking Visualization International Journal of Emerging Technologies in Learning (iJET) 4: 0.

Page 25: Autoaprendizaje Interactivo para la Materia “Sistemas

AutoaprendizajeInteractivoparalaMateriaSistemasOperativosenelMarcodelEEES 25

ProyectoID/0047Dr.RobertoTherón

5.CONCLUSIONES El trabajo correspondiente al proyecto consistía en sentar las bases para poder desarrollar completamente el entorno interactivo de autoaprendizaje dentro del marco del Espacio Europeo de Educación Superior, para la materia Sistemas Operativos.. Por otro lado, se coordinó entre los distintos docentes que tienen asignada docencia en esta materia, toda la información que ha permitido el despliegue de un sistema de simulación de un sistema operativo y de un tutorial Web interactivo que potencia el autoaprendizaje.

La revisión de los sistemas internacionales especializados en el área, así como las entrevistas mantenidas con los alumnos, entre los miembros del equipo y con compañeros de otras universidades, ha permitido que se disponga del modelo de datos necesario para sustentar el sistema.

Las experiencias obtenidas en cuanto a la innovación de técnicas de autoaprendizaje interactivo han sido excelentes y la integración de algunas de ellas en el sistema a desarrollar ha sido correcta.

Los resultados obtenidos tras duración de este proyecto han permitido colocar al equipo investigador a la vanguardia de la docencia en Sistemas Operativos. En concreto, el entorno de autoaprendizaje visual desarrollado es uno de los primeros de su clase y en gran medida, sus resultados son transportables a otras materias.

Todo lo anterior permite concluir que la línea abierta con este proyecto de innovación docente tiene excelentes perspectivas de futuro, y que previsiblemente seguirá produciendo resultados relevantes para la comunidad universitaria.

Finalmente, se puede añadir que, a la vista de los resultados obtenidos y a todos los efectos, el proyecto ha sido desarrollado satisfactoriamente.