Documentos de Académico
Documentos de Profesional
Documentos de Cultura
SISTEMAS OPERATIVOS
Septiembre 2006
Este documento contiene una descripción acerca del modo en que pretendo desarrollar
la materia “Sistemas Operativos” de la titulación de Ingeniería Técnica en Informática
de Sistemas de la USC. La planificación aquí indicada no refleja todos los detalles que
me gustaría incluir en una planificación que yo consideraría ideal de la asignatura, pero
supone una primera aproximación. Es sobre todo una planificación realista, para poder
ser implantada con un esfuerzo razonable por mi parte y por la de los alumnos durante
el curso 2006/07. En posibles nuevas ediciones de esta guía se añadirán nuevas ideas
que se implantarán de modo incremental en sucesivos cursos.
Mi objetivo es la exposición concisa y clara de todos los aspectos que deben ser
conocidos por el alumno para conseguir el máximo rendimiento, no sólo en cuanto al
aprovechamiento de los conocimientos y habilidades adquiridas, sino también a la
calificación final obtenida.
Con este documento pretendo que el alumno pueda tener respuesta, fundamentalmente,
a las siguientes cuestiones respecto a la materia:
Uno de los aspectos que potenciaré será el manejo de un libro de cabecera para el
seguimiento de la asignatura, evitando en lo posible la necesidad de tomar apuntes. Haré
hincapié en la lectura individualizada, y por adelantado, de ciertos contenidos con la
idea de promover la discusión sobre los mismos en clase. Además, con esta decisión, se
consigue que el alumno disponga de una fuente de contenidos fiable y libre de errores.
Podemos resumir los ejes fundamentales en los que se basa esta planificación en:
1. Uso de un buen libro de texto básico y que contenga la práctica totalidad de los
contenidos impartidos para evitar que el alumno invierta su tiempo a tomar apuntes,
aprovechando el esfuerzo en la comprensión.
2. Se incentivará el seguimiento continuo de la asignatura a través de la preparación
individual de ciertos contenidos para una posterior evaluación en forma de “juego de
preguntas y respuestas” en clase.
3. Promoción del trabajo en grupo. Para ello, compondré grupos de trabajo no fijos y
con un reparto de tareas preestablecido. El objetivo es saber delegar y sacar fruto del
trabajo del compañero del grupo.
4. En el trabajo en grupo se hará hincapié en fomentar la transmisión verbal de
conocimientos entre los miembros del grupo.
5. El sistema de evaluación incentivará el aprovechamiento del trabajo en grupo y del
seguimiento continuo de la asignatura. Así mismo, se evitará perjudicar a los
alumnos que no se adapten a este planteamiento y que centren el esfuerzo en superar
el examen final.
Por lo que respecta a las prácticas, dado que el objetivo de las mismas es estudiar el
efecto de llamadas al sistema desde programas del usuario, será imprescindible tener
conocimientos básicos de programación en C. Los conocimientos adquiridos en
“Metodología y Tecnología de la Programación” deben ser más que suficientes.
Contenidos de la materia
El nombre de esta asignatura puede llevar a engaño, ya que en ella no se pretende
formar al alumno en habilidades técnicas y dependientes de la tecnología disponible en
cada momento como la implantación, instalación o actualización un sistema operativo
particular; sino que se pretende conocer las funcionalidades invariantes de los sistemas
operativos, su estructura, y la manera en la que resuelve la gestión de los recursos
hardware, la administración de los programas y aplicaciones, y de como se establece la
interfaz con el usuario. Es decir, no se estudia el sistema operativo como usuario, sino
como diseñador. Además el estudio se hace de manera genérica, sin entrar en las
peculiaridades de ningún sistema operativo específico. De todas formas, tanto los
ejemplos utilizados en teoría como las prácticas propuestas se desarrollan sobre dos de
los sistemas operativos más ampliamente difundidos hoy en día: Linux y Windows.
En apartados posteriores de esta guía se detallan los contenidos de estos temas, así como
las prácticas y la carga de trabajo asociada de manera individualizada a cada uno de
ellos.
Bibliografía
Como ya se ha indicado, la dinámica del curso implica el uso de un libro básico sobre el
que se desarrollan los contenidos teóricos de la asignatura. Para que ese libro sea
realmente útil, dichos contenidos se enmarcarán de la manera más precisa posible en él,
y en muy contadas ocasiones abordaremos contenidos no incluidos en él.
Tutorías
Las tutorías se llevarán a cabo bajo demanda del alumno, y serán de dos tipos:
presenciales cuando el alumno requiera hablar con el profesor, o virtuales a través del
correo electrónico o de un foro de consulta que se abrirá con las herramientas
disponibles en el campus virtual de la USC (actualmente el entorno webct).
Oficialmente, las tutorías oficiales se llevarán a cabo en el propio despacho del profesor
los lunes y miércoles de 12:00 a 14:00, y los jueves de 18:00 a 20:00. Se recomienda
contactar con el profesor previamente a una tutoría.
Objetivos y competencias
Tras superar esta asignatura, el alumno tendrá un conocimiento preciso del mecanismo
de funcionamiento de un computador moderno, de cómo se gestiona su hardware y de
cómo se organiza la ejecución de diferentes programas. Conocerá algunas funciones de
manejo de procesos y dispositivos a nivel de llamadas al sistema operativo, y será capaz
de aprovechar las funcionalidades de su gestión para optimizar el uso de un computador.
También adquirirá conocimientos sobre algunos sistemas operativos actuales, y se
prestará una especial atención a los basados en UNIX y Windows.
Los conocimientos y habilidades que adquiere el alumno son generales, y no específicos
de un sistema operativo particular. Esto hace que el alumno tenga capacidad para
comprender y manejar cualquier sistema operativo, y pueda adaptarse a nuevas
evoluciones, al dominar los fundamentos.
Simbología
Respecto a las prácticas, este tema servirá para familiarizarse con el entorno de trabajo,
y las prácticas serán guiadas de manera directa por el profesor. También a nivel de
prácticas la carga de trabajo de este tema es muy relevante.
Durante este tema, el alumno se familiarizará con el libro de texto básico y el profesor
intentará crear el hábito de que los alumnos sigan las explicaciones teóricas tras la
lectura previa de los contenidos.
2. Procesos
En este tema se introduce el concepto de proceso, que constituye la base del
funcionamiento de un computador. Y en particular se describe como son definidos
desde el punto de vista del sistema operativo, que elementos lo constituyen: registros
propios, espacio de memoria, pila, hilos, etc. así del modo como se gestionan en un
sistema multitarea, multiusuario o en sistemas de propósito específico de tipo
monoproceso. Las principales secciones que componen este tema son:
Las prácticas asociadas a este tema son las más importantes de la materia, en ellas el
alumno ya conoce el entorno de trabajo y puede centrar sus esfuerzos en estudiar como
se gestionan los procesos en Linux, y, aunque en menor medida, en Windows a través
de llamadas a los servicios de POSIX y Win32 respectivamente.
Durante este tema, el profesor seleccionará ciertos contenidos que serán preparados
individualmente por los alumnos para dedicar una clase presencial a la evaluación de
este trabajo individual a través de un juego de preguntas y respuestas bien de manera
individual o en pequeños grupos.
Tema1 Tema2 Tema3 Tema4 Tema5 Tema6 Tema7
En este tema se aborda en detalle uno de los aspectos más complejos en la gestión de los
procesos. Los alumnos ya conocen los fundamentos de su gestión, y ahora se trata la
gestión de sistemas en los que los procesos interactúan. Se introducen los mecanismos
para establecer esta interacción y se trabajará con ellos en las prácticas a través de los
servicios ofrecidos por POSIX, y en menor medida por Win32. En este ambiente surgen
problemas como los de los interbloqueos, se estudiarán soluciones reales tanto al
problema de su detección como de su resolución.
• Procesos concurrentes.
• Problemas de comunicación y sincronización.
• Mecanismos de comunicación y sincronización: tuberías, semáforos, etc.
• Interbloqueos. Prevención y evitación de interbloqueos.
• Servicios POSIX e Win32 para comunicación y sincronización.
Durante el tema, se seleccionarán contenidos para que los alumnos los preparen
individualmente, de modo que se dedique una clase presencial a la evaluación de este
trabajo individual a través de un juego de preguntas y respuestas bien de manera
individual o en pequeños grupos.
Tema1 Tema2 Tema3 Tema4 Tema5 Tema6 Tema7
4. Gestión de la memoria
La mayoría de los apartados de este tema son todos ellos de revisión, y se abordarán de
manera muy breve. Son los siguientes:
5. Gestión de la entrada/salida
Este tema tiene asociada una práctica en la que se prueban algunos de los servicios
ofrecidos por POSIX y Win32 para la gestión de Entrada/Salida.
Este tema tiene asociada una práctica en la que se prueban algunos de los servicios
ofrecidos por POSIX y Win32 para la gestión de los archivos y directorios.
La parte teórica supone el 70% de la calificación final, mientras que la parte práctica
supone el 30%. En cualquier caso, para superar la asignatura es requisito aprobar la
parte práctica.