Profesores Titulares
Profesores Docentes
Conceptos de programación (algoritmos y estructuras de datos) y conceptos básicos de uso de un sistema operativo.
Los alumnos que cursen la asignatura de Sistemas Operativos han de adquirir los conocimientos y desarrollar las habilidades que se indican a continuación:
1. Comprender las funcionalidades de un sistema operativo, su estructura y sus relaciones con el resto del sistema informático.
2. Conocer los conceptos, técnicas y terminología asociada al desarrollo y creación de un sistema operativo en cada una de las diversas capas que lo componen.
3. Saber aplicar las mencionadas técnicas desarrollando software que las implemente.
4. Saber expresarse de manera correcta, usando la terminología adecuada tanto de forma oral como escrita.
5. Saber desarrollar software de forma modular y bien documentado.
6. Saber resolver problemas asociados al área que nos ocupa, tanto individual como colectivamente.
Durante el curso académico se desarrollarán los siguientes contenidos:
1. Introducción a los sistemas Operativos.
2. Núcleo de un sistema operativo.
3. Planificación de procesos.
4. Mecanismos de comunicación y sincronización de procesos.
5. Petición al sistema en UNIX.
La metodología utilizada está basada en la clase magistral y la participación del alumno en la misma. Se realizan explicaciones magistrales sobre nuevos contenidos y conceptos, a la vez que se relacionan estos con ejemplos y problemas que se han de resolver individualmente o en grupo. También se proponen multitud de ejercicios entre sesiones para solucionarlos individualmente o en equipo fuera de las clases lectivas y que, posteriormente, se suelen resolver total o parcialmente en clase.
Siempre se hacen referencias cruzadas entre los diversos bloques que conforman el temario, con el objetivo que el alumno tenga una visión global de la asignatura y aprenda a relacionar conceptos y técnicas.
También se realizan 12 sesiones lectivas en el laboratorio donde cada sesión se realiza una actividad que permite al alumno asimilar una de las técnicas de petición al sistema en programación en lenguaje C en un sistema UNIX.
De la misma manera se realiza una práctica de gran dimensión, estructurada en fases.
Los métodos usados para evaluar la asignatura son los siguientes:
A. Exámenes
C. Exámenes tipo test
D. Ejercicios hechos en casa
F. Informes/trabajos realizados en grupo
G. Trabajos prácticos con ordenador
J. Participación a clase.
M. Otros (Entrevistas)
La asignatura tiene la duración de un semestre y consta de dos partes diferenciadas: la parte de conocimientos y la práctica de la asignatura. La evaluación de los conocimientos y de la práctica será independiente. Para aprobar la asignatura será necesario aprobar de forma independiente los conocimientos y la práctica.
La nota final de la asignatura se calcula con la siguiente fórmula:
Nota_Final = 50% · Conocimientos + 50% · Práctica
La nota de Conocimientos se evaluará a partir de las siguientes calificaciones: la nota de exámenes (Nota_Ex) y la nota de los ejercicios de laboratorio (Nota_Lab), según el cálculo siguiente:
Conocimientos = 70% · Nota_Ex + 30% · Nota_Lab
Por otra parte, la nota de exámenes (Nota_Ex) se calculará ponderando las notas del examen de mitad de semestre (Ex_Midterm) y el examen final de semestre (Ex_Final), con la fórmula:
Nota_Ex = 80% · Ex_Final + 20% · Ex_Midterm
Además del examen final en la primera convocatoria ordinaria, habrá la posibilidad de realizar un examen final de recuperación para aquellos estudiantes que no lo hayan aprobado con anterioridad (segunda convocatoria o extraordinaria).
Dado que la Nota_Lab tiene una función de evaluación continua, esta solo se aplicará al cálculo de Conocimientos en la primera convocatoria ordinaria. Para la segunda convocatoria, Conocimientos = Nota_Ex.
Finalmente, el estudiante tiene la opción de liberarse del examen final de la primera convocatoria. Para ello, se deben cumplir cuatro requisitos:
1.La práctica debe estar entregada satisfactoriamente antes de la primera convocatoria.
2.La asistencia a las sesiones de laboratorio y la nota obtenida debe ser igual o superior a 4.
3.La nota del examen de mitad de semestre (Midterm) debe ser igual o superior a 5.
4.La asistencia y participación en las sesiones lectivas durante el curso.
En este caso, la nota se calculará con la fórmula:
Nota_liberación = (55% · Práctica + 30% · Nota_Lab + 15% · Ex_Midterm) · Nota_Participación
Los criterios de evaluación para cada uno de los objetivos anteriormente descritos son:
Objetivo 1:
- El estudiante ha de demostrar conocer los conceptos y terminología relacionada con la asignatura [A, C, F, J].
- El estudiante ha de saber resolver cuestiones teóricas relacionadas con los contenidos de la asignatura [A,J].
Objetivo 2:
- El estudiante ha de saber interpretar, analizar y resolver problemas de concurrencia de procesos, usando diversas técnicas [A, D, G, J].
- Dominar las técnicas básicas que se aplican a la gestión de la memoria principal de un sistema informático y saberlas usar en casos prácticos [A, D, G, J].
- Conocer el funcionamiento de los sistemas de entrada y salida y su administración [A, C, D].
- Entender las diversas alternativas posibles para implementar sistemas de archivos [A, D, F, G].
- Conocer tanto a nivel teórico como práctico las posibilidades de planificación del procesador tanto en sistemas concurrentes como en sistemas distribuidos [A, C, D].
Objetivo 3:
- El estudiante ha de saber construir programes que implementen técnicas aplicadas a resolver funcionalidades de los sistemas operativos [A, D, G].
Objetivo 4:
- El estudiante ha de saber redactar informes usando el vocabulario adecuado en la asignatura [F].
- El estudiante ha de saber exponer y defender su diseño e implementación práctica de manera oral [M].
Objetivo 5:
- El estudiante ha de saber implementar programas bien estructurados y con documentación interna [G].
- El alumno ha de saber crear informes i memorias que detallen el desarrollo y diseño de los aplicativos programados [F].
Objetivo 6:
- El estudiante ha de saber trabajar en equipo para poder aprovechar la suma de capacidades del grupo [D, F, G, M].
CANALETA, X. (2020). Exercicis i problemes d'examen de sistemes operatius, Publicacions La Salle, September 2020.
HARBISON S.P. & STEELE G.L. (2002). C - A Reference Manual, Prentice Hall, 5th edition, 2002.
PETERSON, J.L. & SILBERSCHATZ A. (1989). Sistemas Operativos, Editorial Reverté, ISBN: 84-291-2693-7
SALVADOR, J. (2014) Programació en C per a sistemes UNIX, Publicacions La Salle, September 2014.
SALVADOR, J. (2011). Introducció al llenguatge de programació C, Publicacions La Salle, July 2011.
SILBERSCHATZ A., GALVIN P. & GAGNE, G. (2002). Sistemas Operativos, Editorial Limusa, ISBN: 968-18-6168-X
STALLINGS, W. (2005). Sistemas Operativos, 5th Edition, Pearson Prentice Hall, ISBN: 84-205-4462-0
STEVENS, R., FENNER, B. & RUDOFF, A.M. (2004). UNIX Network Programming, Volume 1: "The sockets Networking API", Addison-Wesley Professional, 2004, 3rd edition, ISBN 0-13-141155-1.
STEVENS, R. & RAGO S.A. (2008). Advanced Programming in the UNIX Environment, Addison-Wesley Professional, 2008, 2nd edition.
TANENBAUM A.S. (2009). Sistemas Operativos Modernos, 3rd Edition, Pearson Prentice Hall, Pearson Educación, ISBN: 978-607-442-046-3.