12.07.2015 Views

VIII Jornadas de Enseñanza Universitaria de la Informática Cáceres ...

VIII Jornadas de Enseñanza Universitaria de la Informática Cáceres ...

VIII Jornadas de Enseñanza Universitaria de la Informática Cáceres ...

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Comunicación <strong>de</strong>datos y re<strong>de</strong>sHardware yArquitecturaSistemasConcurrentesSistemasOperativosSistemasDistribuidosLenguajes yProgramaciónProgramaciónConcurrenteSistemas <strong>de</strong>Tiempo-RealBases <strong>de</strong> Datos:implementaciónFigura 1.- Visión general <strong>de</strong> los sistemas concurrentes, modificada <strong>de</strong> [3]unida<strong>de</strong>s pi<strong>la</strong>res <strong>de</strong> <strong>la</strong> asignatura, <strong>la</strong>implementación <strong>de</strong> procesos y concurrencia:explicar cómo se lleva a cabo el cambio <strong>de</strong>contexto, <strong>la</strong> operación <strong>de</strong> bloqueo <strong>de</strong> procesos, <strong>la</strong>invocación <strong>de</strong> una l<strong>la</strong>mada al sistema, <strong>la</strong> gestión <strong>de</strong>interrupciones y cómo el diseño realizado en <strong>la</strong>mayoría <strong>de</strong> los sistemas operativos escon<strong>de</strong> éstas alos procesos.A continuación, comentaré los contenidos másrelevantes <strong>de</strong> cada unidad.3.1 Introducción a los sistemas operativosLa experiencia ha ido mostrándome cómo losestudiantes tien<strong>de</strong>n a ver en los primeros cursos <strong>de</strong><strong>la</strong> carrera los sistemas operativos como algoais<strong>la</strong>do. Es interesante y enriquecedor para ellostener una visión más amplia, por ello es útil en elprimer tema dar una visión general <strong>de</strong> los sistemasconcurrentes (Figura 1) y cómo se materializanéstos en <strong>la</strong>s asignaturas <strong>de</strong> su p<strong>la</strong>n <strong>de</strong> estudios.Esto les permite crear re<strong>la</strong>ciones entre asignaturasque <strong>de</strong> otra forma les parecerían compartimentosestancos.Otro elemento básico a tratar es <strong>la</strong> creación <strong>de</strong>abstracciones, ver [5], ya que <strong>de</strong> hecho el kernel es<strong>la</strong> implementación <strong>de</strong> <strong>la</strong> interfaz <strong>de</strong>finida por <strong>la</strong>sl<strong>la</strong>madas al sistema. Razonar sobre <strong>la</strong> interfaz esimportante <strong>de</strong>s<strong>de</strong> el punto <strong>de</strong> vista <strong>de</strong>l diseño:conocer por qué <strong>la</strong>s funciones <strong>de</strong> <strong>la</strong> interfaz tienen<strong>la</strong> estructura que tienen, por ejemplo, fork oread() <strong>de</strong> Unix frente a CreateProcess oReadFile() <strong>de</strong> Windows, o cómo <strong>la</strong> interfaz<strong>de</strong>fine <strong>la</strong> complejidad <strong>de</strong> <strong>la</strong> máquina abstracta quetratamos <strong>de</strong> implementar. Es bueno ilustrar variasinterfaces <strong>de</strong> programación, por ejemplo, <strong>la</strong>POSIX <strong>de</strong> Unix y <strong>la</strong> Win32 <strong>de</strong> Windows que sonactuales y siguen dos filosofías distintas, comorecoge <strong>la</strong> elogiable propuesta realizada en [6].El estudio <strong>de</strong> <strong>la</strong>s l<strong>la</strong>madas al sistema nos llevaa vislumbrar los diferentes tipos <strong>de</strong> serviciossuministrados por el sistema operativo, lo que nosda pie a estructurar el sistema en gran<strong>de</strong>s módulos,cada uno <strong>de</strong> los cuales suministra un tipo <strong>de</strong>servicio. Aquí es importante hacer ver al alumno<strong>de</strong> manera intuitiva que <strong>la</strong> <strong>de</strong>pen<strong>de</strong>ncia entremódulos es compleja. Por ejemplo, para realizaruna actividad necesitamos crear un proceso, elcual necesita memoria y su programa ejecutableestá en un archivo al igual que los datos quemaneja. Esto da pie para introducirlos en el estudio<strong>de</strong> arquitecturas <strong>de</strong> sistemas operativos guiadospor el intento <strong>de</strong> dar respuesta a <strong>la</strong> cuestión <strong>de</strong>cómo construir un sistema que sea fiable,extensible y eficiente. Este apartado esta centradoen <strong>la</strong>s arquitecturas monolítica y microkernel, sibien se ven brevemente <strong>la</strong> estructura <strong>de</strong> capas y <strong>la</strong><strong>de</strong> Máquina Virtual, por aparecer en muchossistemas actuales. Para analizar <strong>la</strong>s arquitecturasanteriores es necesario introducir el concepto <strong>de</strong>espacio <strong>de</strong> direcciones, recordar el paradigma <strong>de</strong>l<strong>la</strong>mada a procedimiento ampliándolo, aprocedimiento protegido -l<strong>la</strong>mada al sistema- yavanzar el <strong>de</strong> paso <strong>de</strong> mensajes.Para finalizar el tema, se repasan losprincipales tipos o c<strong>la</strong>ses <strong>de</strong> sistemas operativos,evitando al máximo explicar sistemas en <strong>de</strong>suso.Se estudian los sistemas multiprogramados, porcontener los elementos básicos <strong>de</strong> un sistemaoperativo actual, posponiendo para el tema <strong>de</strong>sincronización una justificación <strong>de</strong>tal<strong>la</strong>da <strong>de</strong> <strong>la</strong>multiprogramación. Por supuesto se <strong>de</strong>fine ycaracterizan los sistemas <strong>de</strong> tiempo compartido,los sistemas paralelos y distribuido, los <strong>de</strong> tiemporealy los empotrados.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!