Está en la página 1de 17

GUÍA DOCENTE

SISTEMAS OPERATIVOS

Prof. Francisco Fernández Rivera


Depto. Electrónica y Computación
Univ. Santiago de Compostela

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:

• ¿Qué importancia tiene la materia en la carrera?


• ¿Qué conocimientos se deben poseer antes de empezar la materia?
• ¿Cuáles son los contenidos de la materia? ¿Cuáles son más importantes?
• ¿Cómo se distribuyen los contenidos en el tiempo? ¿Qué esfuerzo requieren?
• ¿Cómo se desarrollarán las prácticas?
• ¿Qué actividades individuales y en grupo se van a desarrollar?
• ¿Cuál es el criterio de evaluación?
• ¿Cuál es la relación entre el esfuerzo realizado y la calificación final?
• ¿Qué conocimientos tendré, y qué voy a saber hacer cuando supere 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.

Un objetivo adicional que pretendo desarrollar es la expresión oral técnica de los


alumnos. Para ello propongo el desarrollo de ejercicios de evaluación en los que los
alumnos deban explicar de manera efectiva a sus compañeros algunos contenidos no
básicos del programa.

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.

Francisco Fernández Rivera


La materia y el profesor
La asignatura de Sistemas Operativos es del primer cuatrimestre del segundo curso de la
titulación de Ingeniería Técnica en Informática de Sistemas impartida en la USC.
Consta de 6 créditos, lo cual supone 60 horas lectivas si consideramos la definición
LRU de crédito. Y considero su equivalencia en 150 horas de trabajo total del alumno
en términos de ECTS. Los créditos están divididos en 3 créditos de teoría y 3 de
prácticas.

El profesor responsable de la asignatura durante el curso 2006/07 es el Prof. Francisco


Fernández Rivera, que pertenece al Departamento de Electrónica y Computación de la
USC. Su despacho es el número 7 de la sede de dicho departamento, su correo
electrónico es fran@dec.usc.es, y su teléfono tiene la extensión 13562.

Contexto tecnológico de los Sistemas Operativos


Los sistemas operativos son los programas de gestión del hardware de un sistema de
computación electrónico, así como de establecimiento de su relación con el usuario. Es
por tanto uno de los elementos software de bajo nivel más importante, y hace de puente
entre el software, el hardware y el usuario. Esta asignatura resuelve la pregunta de cómo
un desarrollo abstracto (programa) se puede trasladar a una ejecución sobre un sistema
físico (hardware). Su conocimiento es por tanto indispensable para un ingeniero en
informática, y constituye, sin duda, una de las materias fundamentales de la titulación.
Dicho de otra manera, un ingeniero en informática no puede dejar de conocer los
detalles de la relación entre dos mundos tan separados, incluso en su naturaleza, como
son el software y el hardware de un computador, y de cómo funciona el engranaje del
conjunto.

Contexto de la materia en el plan de estudios de la ETIS


El alumno que haya superado el primer curso de la titulación debe poseer conocimientos
acerca de la estructura física (hardware) básica de un computador, sobre todo por las
asignaturas de “Fundamentos Físicos de la Informática”, “Sistemas Digitales” y
“Estructura de Computadores I”, así como por la asignatura “Estructura de
Computadores II” que se imparte simultáneamente a la de Sistemas Operativos. Además
tendrá ciertos conocimientos sobre la programación en ensamblador y en lenguajes de
alto nivel, adquiridos especialmente en las asignaturas de “Estructura de Computadores
I” y “Metodología y Tecnología de la Programación”. Con la materia de “Sistemas
Operativos” se establece la relación entre ambos mundos (hardware y software), y es en
este momento en el que el alumno debe darse cuenta de cómo funciona el conjunto, y
los detalles de lo que pasa a bajo nivel cuando, por ejemplo, se enciende el ordenador, o
cuando se ejecuta un programa en un sistema en el que hay otros ejecutándose, o cuando
se abre una nueva ventana en un entorno gráfico en el que ya hay muchas otras, o
cuando se apaga el equipo, o como se realiza una lectura desde el teclado, etc.

En asignaturas posteriores de la titulación, los conocimientos adquiridos en “Sistemas


Operativos” supondrán la mejor comprensión de muchos conceptos basados en
elementos de bajo nivel. Se verán especialmente beneficiadas las asignaturas
“Ampliación de Sistemas Operativos”, “Redes” y todas las correspondientes a la
intensificación de “Administración de Sistemas y Redes”.

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.

La asignatura se divide en 7 temas:


1. Introducción a los sistemas operativos.
2. Procesos.
3. Comunicación y sincronización de procesos.
4. Gestión de la memoria.
5. Gestión de la entrada/salida.
6. Gestión de archivos y directorios.
7. Introducción a la seguridad y la protección.

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.

Afortunadamente, en el mercado se puede encontrar un gran número de buenos libros


que podrían ser utilizados para cubrir los contenidos de esta asignatura. Para seleccionar
el más adecuado se ha atendido a los siguientes condicionantes:

• Que estuviese escrito en castellano.


• Que fuese de lectura comprensible para los alumnos de nuestra titulación.
• Que abordase los temas con la suficiente rigurosidad y profundidad.
• Que fuese un libro de reconocido prestigio y utilizado en otros centros.
• Que fuese un libro completo, de manera que pudiese ser utilizado como libro de
consulta en otras asignaturas y en última instancia en la vida profesional
posterior de los alumnos.

El libro seleccionado es:

Andrew S. Tanenbaum. Sistemas operativos modernos (2ª edición). Editorial


Prentice-Hall, 2003. ISBN 970-26-0315-3.

Además de este libro es recomendable la consulta de los siguientes libros:

- Jesús Carretero, Félix García, Pedro de Miguel y Fernando Pérez. Sistemas


Operativos: una vision aplicada, McGraw-Hill, 2001.
- Abraham Silberschatz, Peter B. Galvin e Greg Gagne, Fundamentos de Sistemas
Operativos (7ª ed.), Mc Graw Hill, 2005.
- Gary Nutt. Sistemas operativos. (3ª ed.). Addison Wesley. 2004.
- W. Stallings, Sistemas operativos (5ª ed.). Prentice Hall. 2005.
- M. Milenkovic, Sistemas operativos: conceptos y diseño, (2ª ed.). McGraw-Hill.
1994.
- Andrew S. Tanenbaum y Albert S. Woodhull. Sistemas Operativos: Diseño e
Implementación (2ª ed.), Prentice-Hall, 1998.
- Abraham Silberschatz, Peter B. Galvin e Greg Gagne. Applied Operating Systems
Concepts (Windows XP Update). Editorial John Wiley Sons, 2003.

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

En los siguientes apartados, el tamaño del símbolo representa la carga de trabajo

de teoría de un tema, el del símbolo representa la carga del trabajo individual y

en grupo de un tema, y el del símbolo la carga de trabajo de sus prácticas


asociadas. Estas cargas de trabajo están indicadas numéricamente en la penúltima
página de esta guía.
Tema1 Tema2 Tema3 Tema4 Tema5 Tema6 Tema7

1. Introducción a los sistemas operativos


En este primer tema se hace una aproximación al concepto de sistema operativo, a su
naturaleza, al papel fundamental que juega en un computador, al conjunto de
funcionalidades que debe abordar, y a los diferentes planteamientos con que se abordan
estas funcionalidades (en el marco de su evolución histórica). Además, se introducen los
dos sistemas operativos en los que se centrarán las prácticas y una buena parte de la
teoría: Windows y Linux. La distribución, en secciones de este tema es la siguiente:

• Funciones del sistema operativo.


• Componentes y estructura del sistema operativo. Introducción a la gestión de
procesos, memoria y E/S.
• Interfaz del sistema. Interfaz del programador: POSIX e Win32. Interfaz del
usuario.
• Historia de los sistemas operativos.

El nivel de profundidad de estos contenidos no es meramente testimonial y de


definición de conceptos, sino que se intentará que estos conceptos queden claramente
establecidos, para que desde el principio del curso se tenga una visión del conjunto de la
materia lo más diáfana posible. Por ello la carga de trabajo de este tema es muy
relevante.

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.

El trabajo individual y en grupo no se realizará durante este tema.


Tema1 Tema2 Tema3 Tema4 Tema5 Tema6 Tema7

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:

• Concepto de proceso. Multitarea. Información de los procesos.


• Estados de un proceso. Procesos pesados y ligeros (hilos).
• Planificación de procesos.
• Servicios POSIX y Win32 para la gestión de procesos.

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

3. Comunicación y sincronización de procesos

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.

Las principales secciones de este tema son:

• 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

Los contenidos de este tema son fundamentalmente de revisión de conceptos ya


estudiados en asignaturas previas, el esfuerzo se dedicará a enmarcar estos contenidos
en el marco del sistema operativo. Al alumno debe quedarle claro que muchas de las
soluciones al problema de la gestión de la jerarquía de memoria corre a cargo del
sistema operativo. Solamente se detallarán aspectos concretos no estudiados
anteriormente. Este tema requiere un esfuerzo de repaso del alumno, para ello puede
utilizar el libro básico junto con el material usado en las asignaturas anteriores que lo
han tratado.

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:

• Modelo de memoria de un proceso.


• Esquemas de memoria basados en asignación contigua. Intercambio.
• Revisión de los sistemas basados en memoria virtual: paginación, segmentación,
segmentación paginada, etc.
• Servicios de gestión de memoria.

No se realizarán prácticas asociadas a 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.

Debido al contexto de esta asignatura en el plan de estudios de la titulación, este tema


tiene por tanto una importancia relativa en el contexto de la asignatura, y esencialmente
menor que el resto de temas de la asignatura, ya que se supone que el alumno es
evaluado acerca de ellos en otras asignaturas.
Tema1 Tema2 Tema3 Tema4 Tema5 Tema6 Tema7

5. Gestión de la entrada/salida

En este tema se introducen los mecanismos de gestión de los dispositivos de


entrada/salida desde el punto de vista del Sistema Operativo. Se hace un repaso inicial
de las diferentes características de los dispositivos en función de su funcionalidad, de
quien es su interlocutor: hombre o máquina y de la velocidad de intercambio de
información. Posteriormente se introduce al alumno en los conceptos de controladora
(hardware) y controlador (software) y en los mecanismos de su gestión: E/S
programada, basada en interrupciones y DMA. Finalizaremos el tema con una breve
exposición de los servicios ofrecidos por las API de Linux y Windows que se efectuará
en el propio laboratorio. Podemos englobar estos contenidos en tres secciones.

• Caracterización de los dispositivos de E/S.


• Arquitectura del sistema de E/S.
• Servicios de E/S.

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.

Se propondrá a los alumnos la preparación individualizada de algunos contenidos que


posteriormente serán evaluados en una clase presencial.
Tema1 Tema2 Tema3 Tema4 Tema5 Tema6 Tema7

6. Gestión de archivos y directorios

En este tema se introducen los conceptos de archivos y directorios, no sólo desde el


punto de vista del usuario, sino también de cómo se realiza la correspondencia entre la
estructura teórica y el modo de almacenar la información en el disco duro. También se
incluye una breve descripción de los servicios ofrecidos por POSIX y Win32, que se
realizará en el laboratorio de prácticas. Podemos organizar estos contenidos en las
siguientes tres secciones.

• Concepto de archivo y directorio.


• Servicios de archivos y directorios.
• Implementación del sistema de archivos: organización del disco, gestión del
espacio libre, fiabilidad y recuperación.

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.

Adicionalmente se propondrá a los alumnos la preparación individualizada de algunos


de los contenidos de este tema, que serán evaluados en una clase presencial.
Tema1 Tema2 Tema3 Tema4 Tema5 Tema6 Tema7

7. Introducción a la seguridad y la protección


Este tema pretende hacer una pequeña introducción al problema de la seguridad en los
sistemas informáticos. Se introducen los conceptos más importantes y se establecen las
estrategias básicas para abordar los problemas. Se instará al alumno interesado al uso de
material bibliográfico seleccionado. Los apartados que componen este tema son:

• Conceptos de seguridad y protección.


• Problemas de seguridad: uso indebido o malicioso, virus, etc.
• Mecanismos de protección.

La carga de trabajo asociada a este tema es muy reducida, y no se realizarán prácticas ni


se propondrán trabajos adicionales al alumno. Sin embargo los alumnos interesados
podrán realizarlos bajo demanda al profesor.
Evaluación
La evaluación de la asignatura consta de dos apartados que se evalúan de manera
independiente: la teoría y las prácticas.

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.

Por tanto, si T y P son las calificaciones de la teoría y la práctica en un rango de 0 a 10,


la calificación final vendrá dada por la ecuación:

Total = 0,70 * T + 0,30 * P

El cálculo de T vendrá dado por:

T = max ( E , 0,60 * E + 0,40 * G )

Donde E es la calificación obtenida en el examen final, y G es la calificación de los


ejercicios individuales y en grupo evaluados de manera continua en clase, en una
valoración de 0 a 10 para ambos. De este modo, un alumno que participe activamente de
estos ejercicios y siga la asignatura al día, podrá tener aprobada la asignatura aunque el
resultado del examen sea muy bajo. Incluso se puede dar la situación de alumnos que
posean calificaciones en P y G suficientes para aprobar la asignatura sin presentarse al
examen final.

La evaluación de las prácticas, P, se hará de manera continua en el laboratorio, y con la


revisión de las soluciones a los ejercicios planteados. Los alumnos que lo deseen podrán
realizar un examen de prácticas que consistirá en la elaboración de un ejercicio del
mismo tipo que los planteados en el laboratorio.

Se considerará la calificación de “No presentado” a los alumnos que no se presenten al


examen final y que tengan calificaciones en P y G que no son suficientes para superar la
asignatura.

Este criterio de evaluación será válido para todas las convocatorias.


ESTIMACIONES SOBRE CARGA DE TRABAJO

Carga de trabajo estimada para el alumno:

Actividad Horas presenciales Horas de trabajo TOTAL


autónomo (Factor)
Clases teóricas 24 36 (1,5) 60
Clases prácticas 18 27 (1,5) 45
Trabajos de grupo 5 15 (3) 20
Tutoría 1 0 (0) 1
Exámenes 3 12 (4) 15
TOTAL 51 90 141

Carga de trabajo estimada del alumno por tema:

TEMA Clases teóricas Clases prácticas Trabajos de grupo TOTAL


1 7+7 6+9 0+0 13 + 16
2 4+6 6+9 1+3 11 + 18
3 6+9 4+6 1+3 11 + 18
4 1+5 0+0 1+3 2+8
5 3 + 4,5 1 + 1,5 1+3 5+9
6 2+3 1 + 1,5 1+3 4 + 7,5
7 1 + 1,5 0+0 0+0 1 + 1,5
TOTAL 24 + 36 18 + 27 5 + 15 47 + 78

También podría gustarte