Doble Grado en International Computer Engineering and Management of Business and Technology

Sistemas operativos

Descripción
Un sistema operativo es una capa de software que se ejecuta sobre un hardware con el objetivo de proporcionar una serie de servicios. El objetivo de la asignatura es dar a conocer un sistema operativo en todas sus partes y, de este modo, dotar al alumno de conocimientos sobre uno de los componentes más importantes en los sistemas informáticos hoy en día. Desde el punto de vista práctico, se realizan prácticas que implementan diversas funcionalidades, políticas o técnicas de un sistema operativo. Además, se introducen multitud de ejemplos que ayudan al estudiante a profundizar en aquellos aspectos que se han tratado teóricamente.
Tipo asignatura
Tercer - Obligatoria
Semestre
Primero
Curso
3
Créditos
5.00

Profesores Titulares

Director de Innovación Educativa

Profesores Docentes

Conocimientos previos

Conceptos de programación (algoritmos y estructuras de datos) y conceptos básicos de uso de un sistema operativo.

Objetivos

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.

Contenidos

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.

Metodología

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 13 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.

Evaluación

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 duración de un semestre y consta de dos partes bien diferenciadas: la parte de conocimientos y la práctica de la asignatura. Le evaluación de los conocimientos y la práctica será independiente. Para aprobar la asignatura, es necesario aprobar independientemente los conocimientos y la práctica. La nota final de la asignatura es representada en la siguiente fórmula:

Nota_Final = 50% - Conocimientos + 50% - Práctica

- La nota de conocimientos se evaluará a partir de las siguientes notas relacionadas: la nota de exámenes (Nota_Ex) y la nota de evaluación continua (Nota_EC). Según el cálculo siguiente:

Conocimientos = 65% - Nota_Ex + 35% - Nota_EC

- Este cálculo sólo aplicará si la nota de exámenes es mayor o igual que 3 (Nota_Ex>=3)
- Por otro lado, la nota de exámenes (Nota_Ex) se calculará promediando con las notas del examen de medio semestre (Ex_Midterm) y la nota del examen de final de semestre (Ex_Final) (que podrá ser convalidada con la nota de la práctica como se explica al correspondiente apartado de práctica), según el siguiente cálculo:

Nota_Ex = 75% - Ex_Final + 25% - Ex_Midterm

- Si la nota obtenida en el Examen de Midterm es superior o igual a 6, la materia correspondiente a este examen quedará liberada al alumno de cara al examen final del semestre.
- Además del examen final en la convocatoria ordinaria, habrá la posibilidad de hacer un examen final de recuperación para aquellos alumnos que no hayan aprobado con anterioridad (convocatoria extraordinaria). En este caso la nota de conocimientos será la mejor nota del examen final de recuperación de la convocatoria extraordinaria y la nota del examen final de recuperación de la convocatoria extraordinaria con la evaluación continua, según las fórmulas expresadas anteriormente.
- En cuanto a la evaluación de la práctica, en un apartado posterior se detalla esta junto con toda la normativa de prácticas.
- En cuanto a la evaluación continua también se detalla a continuación en otro apartado dedicado a este tema.

Criterios evaluació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].

Bibliografía básica

CANALETA, X. SALVADOR, J. (2011) `Programació en C per a sistemes UNIX´, Publicacions La Salle, NRG-460, Juliol 2011.
VERNET, D. SALVADOR, J. (2011). Introducció al llenguatge de programació C, Publicacions La Salle, Juliol 2011.
CANALETA, X. (2011) `Exercicis i problemes d´examen de sistemes operatius´, Publicacions La Salle, NRG-498, Agost 2011.
STALLINGS, W. (2005) Sistemas operativos, 5 Edición, Pearson Prentice Hall, ISBN: 84-205-4462-0
TANENBAUM A.S. (2009) Sistemas Operativos Modernos, 3ª Edición, Pearson Prentice Hall, Pearson Educación, ISBN: 978-607-442-046-3
PETERSON, J.L. i SILBERSCHATZ A. (1989) Sistemas Operativos, Editorial Reverté, ISBN: 84-291-2693-7

Material complementario

AGANS D.J.(2002) Debugging. The 9 indispensable rules for finding even the most elusive software and hardware problems, Amacom, 2002, ISBN 0-8144-7457-8.
HARBISON S.P. STEELE G.L. (2002) C - A Reference Manual, Prentice Hall, 5a edició, 2002.
SILBERSCHATZ A., GALVIN P. i GAGNE, G. (2002) Sistemas Operativos, Editorial Limusa, ISBN: 968-18-6168-X
STEVENS, R. FENNER, B. RUDOFF, A.M. (2004) UNIX Network Programming, volum 1: "The sockets Networking API", Addison-Wesley Professional, 2004, 3a edició, ISBN 0-13-141155-1.
STEVENS, R. RAGO S.A. (2008) Advanced Programming in the UNIX Environment, Addison-Wesley Professional, 2008, 2a edició.