Conocimientos básicos de sistemas operativos, y de programación concurrente.
Conocimiento del lenguaje C y de conceptos de programación estructurada, modular y de programación orientada a objetos.
Es recomendable conocer un lenguaje ensamblador.
Con esta asignatura el alumno aprende el diseño detallado de un sistema operativo de uso muy extendido (Linux), así como también aprende a tener una visión amplia y diversa de las distintas opciones de diseño que se abren en el marco del diseño de sistemas operativos, y de componentes específicos de los mismos. El estudiante adquiere incluso una visión crítica de las opciones de diseño elegidas, siendo capaz de identificar sus puntos fuertes y/o débiles.
Por ello, su importancia radica en el hecho de conocer de forma real cómo se diseña e implementa un sistema operativo, aparte de las meras explicaciones teóricas sobre diseño de sistemas operativos. El hecho de elegir un sistema operativo concreto no merma la capacidad del profesor de abrir diferentes opciones de diseño en cada uno de los componentes del sistema, mostrando siempre la opción elegida frente a diferentes alternativas posibles.
Obviamente, está estrechamente relacionada con la asignatura sistemas operativos I, extendiendo sus contenidos, y cubriendo la parte más práctica de la misma, como es el conocimiento del diseño detallado del kernel de un sistema operativo, y la capacidad para añadir nuevas funciones al mismo. Así, el estudiante será capaz, no sólo de emplear los servicios del sistema operativo en forma de llamadas, sino que será capaz de comprender cómo están implementados dichos servicios y podrá incluir nuevos servicios dentro del kernel.
En su vida profesional, los conocimientos adquiridos por el estudiante le permitirán trabajar en el marco del desarrollo de sistemas operativos, cuyo mercado no se limita a los sistemas operativos de uso convencional bien conocidos, dado el campo amplio existente actualmente en el desarrollo de sistemas operativos de propósito específico, para el control de ciertos dispositivos o equipos. Además, en el marco de la programación de aplicaciones de tiempo real es habitual trabajar con "kernels modificados", con el objeto de lograr la eficiencia requerida para un tipo específico de aplicación.
Competencias propias de la asignatura | |
---|---|
Código | Descripción |
IC04 | Capacidad de diseñar e implementar software de sistema y de comunicaciones. |
INS04 | Capacidad de resolución de problemas aplicando técnicas de ingeniería. |
INS05 | Capacidad para argumentar y justificar lógicamente las decisiones tomadas y las opiniones. |
Resultados de aprendizaje propios de la asignatura | |
---|---|
Descripción | |
Diseñar servicios de comunicación y sincronización entre procesos. | |
Utilizar, configurar y diseñar servicios sobre núcleos de sistemas operativos multiprogramación | |
Configurar servicios y planificar la ejecución de aplicaciones. | |
Resultados adicionales | |
Descripción | |
Configuración y compilación del núcleo, seleccionando módulos y parámetros de configuración adecuados a la instalación |
El desarrollo de estos contenidos puede variar ligeramente en función del desarrollo del curso.
Actividad formativa | Metodología | Competencias relacionadas (para títulos anteriores a RD 822/2021) | ECTS | Horas | Ev | Ob | Descripción | |
Enseñanza presencial (Teoría) [PRESENCIAL] | Método expositivo/Lección magistral | IC04 | 1.1 | 27.5 | S | S | Presentación de los contenidos de los diferentes temas de la asignatura. | |
Enseñanza presencial (Prácticas) [PRESENCIAL] | Resolución de ejercicios y problemas | INS04 | 1.1 | 27.5 | S | S | Resolución de ejercicios y asistencia a las sesiones de prácticas . Supervisión del trabajo por el profesor. | |
Estudio o preparación de pruebas [AUTÓNOMA] | IC04 | 3.7 | 92.5 | N | N | Estudio autónomo del alumno. | ||
Prueba final [PRESENCIAL] | INS05 | 0.1 | 2.5 | S | S | Prueba final de conocimientos | ||
Total: | 6 | 150 | ||||||
Créditos totales de trabajo presencial: 2.3 | Horas totales de trabajo presencial: 57.5 | |||||||
Créditos totales de trabajo autónomo: 3.7 | Horas totales de trabajo autónomo: 92.5 |
Ev: Actividad formativa evaluable Ob: Actividad formativa de superación obligatoria (Será imprescindible su superación tanto en evaluación continua como no continua)
Sistema de evaluación | Evaluacion continua | Evaluación no continua * | Descripción |
Prueba final | 70.00% | 70.00% | Prueba final de conocimientos teóricos de la asignatura |
Prueba | 30.00% | 30.00% | Prueba para valorar el trabajo realizado en prácticas. |
Total: | 100.00% | 100.00% |
No asignables a temas | |
---|---|
Horas | Suma horas |
Estudio o preparación de pruebas [AUTÓNOMA][] | 10.5 |
Prueba final [PRESENCIAL][] | 2.5 |
Tema 1 (de 7): Estructura de los sistemas operativos modernos | |
---|---|
Actividades formativas | Horas |
Enseñanza presencial (Teoría) [PRESENCIAL][Método expositivo/Lección magistral] | 2 |
Estudio o preparación de pruebas [AUTÓNOMA][] | 2 |
Periodo temporal: Primera semana |
Tema 2 (de 7): Diseño del núcleo de multiprogramación | |
---|---|
Actividades formativas | Horas |
Enseñanza presencial (Teoría) [PRESENCIAL][Método expositivo/Lección magistral] | 4 |
Enseñanza presencial (Prácticas) [PRESENCIAL][Resolución de ejercicios y problemas] | 4 |
Estudio o preparación de pruebas [AUTÓNOMA][] | 20 |
Periodo temporal: Hasta la cuarta semana |
Tema 3 (de 7): Gestión de la memoria virtual | |
---|---|
Actividades formativas | Horas |
Enseñanza presencial (Teoría) [PRESENCIAL][Método expositivo/Lección magistral] | 5 |
Enseñanza presencial (Prácticas) [PRESENCIAL][Resolución de ejercicios y problemas] | 5.5 |
Estudio o preparación de pruebas [AUTÓNOMA][] | 20 |
Periodo temporal: Hasta quinta semana |
Tema 4 (de 7): Planificación y temporización de actividades | |
---|---|
Actividades formativas | Horas |
Enseñanza presencial (Teoría) [PRESENCIAL][Método expositivo/Lección magistral] | 5 |
Enseñanza presencial (Prácticas) [PRESENCIAL][Resolución de ejercicios y problemas] | 5 |
Estudio o preparación de pruebas [AUTÓNOMA][] | 10 |
Periodo temporal: Hasta séptima semana |
Tema 5 (de 7): Diseño del sistema de ficheros | |
---|---|
Actividades formativas | Horas |
Enseñanza presencial (Teoría) [PRESENCIAL][Método expositivo/Lección magistral] | 5.5 |
Enseñanza presencial (Prácticas) [PRESENCIAL][Resolución de ejercicios y problemas] | 5 |
Estudio o preparación de pruebas [AUTÓNOMA][] | 8 |
Periodo temporal: Hasta décima semana |
Tema 6 (de 7): Entradas/Salidas | |
---|---|
Actividades formativas | Horas |
Enseñanza presencial (Teoría) [PRESENCIAL][Método expositivo/Lección magistral] | 3.5 |
Enseñanza presencial (Prácticas) [PRESENCIAL][Resolución de ejercicios y problemas] | 4 |
Estudio o preparación de pruebas [AUTÓNOMA][] | 10 |
Periodo temporal: Hasta semana 12ª/13ª |
Tema 7 (de 7): Comunicación entre procesos | |
---|---|
Actividades formativas | Horas |
Enseñanza presencial (Teoría) [PRESENCIAL][Método expositivo/Lección magistral] | 2.5 |
Enseñanza presencial (Prácticas) [PRESENCIAL][Resolución de ejercicios y problemas] | 4 |
Estudio o preparación de pruebas [AUTÓNOMA][] | 12 |
Periodo temporal: Hasta semana 13ª |
Actividad global | |
---|---|
Actividades formativas | Suma horas |
Comentarios generales sobre la planificación: | Esta planificación es ORIENTATIVA, pudiendo variar a lo largo del periodo lectivo en función de las necesidades docentes, festividades, o por cualquier otra causa imprevista. La planificación semanal de la asignatura podrá encontrarse de forma detallada y actualizada en la plataforma Campus Virtual (Moodle). Las clases se estructuran en 3 sesiones de 1.5 horas por semana. |
Autor/es | Título | Libro/Revista | Población | Editorial | ISBN | Año | Descripción | Enlace Web | Catálogo biblioteca |
---|---|---|---|---|---|---|---|---|---|
The Linux Kernel Archive | https://www.kernel.org/ | ||||||||
The Linux Documentation Project | http://www.tldp.org/ | ||||||||
D.P. Bovet y M. Cesati | Understanding the LINUX Kernel | O'Reilly | 2005 | ||||||
E. Nemeth, G. Snyder, T.R. hein | Administración de Sistemas Linux | Anaya | 2008 | ||||||
G. Glass | Unix for programmers and users | Prentice-Hall | 2003 | ||||||
M. Beck, H. Böhme, M. Dziadzka, U. Kunitz, R. Magnus y D. Verworner | LINUX Kernel Internals | Addision-Wesley | 1997 | ||||||
M.J. Bach | The Design of The UNIX Operating System | Prentice-Hall | 1987 | ||||||
P. Cornes | The LINUX A-Z | Prentice-Hall | 1996 | ||||||
Robert Love | Linux Kernel Development, 3rd edition | Addison-Wesley | 2012 | ||||||
U. Vahalia, Peter H. Salus | UNIX Internals, the New Frontiers | Prentice-hall | 1996 | ||||||
V. Valero | Sistema Operativo Unix: Fundamentos y Diseño del Sistema | Librería Popular Albacete | 2006 | ||||||
W. Stallings | Operating Systems: Internals and Design Principles. 7th edition | Prentice-Hall. | 2011 |