Un sistema operativo actúa como una capa de software que se ejecuta sobre el hardware para ofrecer diversos servicios. Partiendo de los conocimientos básicos sobre sistemas operativos, este curso profundiza la comprensión de los estudiantes sobre dos subsistemas fundamentales: el sistema de gestión de memoria y el sistema de archivos. Mediante la exploración de aspectos teóricos y el análisis de ejemplos prácticos, el curso mejora la capacidad del estudiante para comprender arquitecturas complejas en los sistemas operativos modernos.
Profesores Titulares
Profesores Docentes
- Se recomienda que los estudiantes hayan cursado previamente una asignatura de Sistemas Operativos.
- Los estudiantes deben tener conocimientos previos sobre las partes del sistema operativo y el núcleo, prestando especial atención al multiprocesamiento, la concurrencia, los mecanismos de comunicación entre procesos y la exclusión mutua.
- Los estudiantes deben tener conocimientos de programación en C/C++.
Profundizar en el conocimiento de los dos subsistemas fundamentales de un sistema operativo: el sistema de gestión de memoria y el sistema de archivos.
Utilizar ejemplos prácticos para ayudar a los estudiantes a comprender mejor los aspectos estudiados desde una perspectiva teórica.
- Gestión de memoria (Contenido conceptual)
- Perspectiva histórica
- Asignación de memoria contigua
- Multiprogramación con número fijo de tareas (MFT)
- Multiprogramación con número variable de tareas (MVT)
- Asignación de memoria no contigua
- Paginación
- Paginación + Búfer de traducción anticipada (TLB)
- Paginación multinivel
- Segmentación
- Memoria virtual
- Algoritmos de reemplazo de páginas
- Sistemas de archivos (Contenido práctico)
- The Second Extended File System (EXT2)
- File Allocation Table 16-bits (FAT16)
La asignatura se divide en dos módulos: el primero abarca desde el inicio del curso hasta el examen, y el segundo desde el examen hasta el final del semestre.
Durante la primera fase, centrada en la gestión de la memoria primaria, se impartirán clases magistrales. También se propondrán problemas a los alumnos para que profundicen en la comprensión del contenido presentado.
En la segunda fase, los alumnos participan en un proyecto para aprender los detalles de implementación de los sistemas de archivos de los sistemas operativos modernos. Este trabajo práctico abarca sistemas como el Second Extended File System (EXT2) para núcleos basados ??en Linux y la File Allocation Table 16 (FAT16) para núcleos basados ??en Windows, con hitos específicos marcados a lo largo del proyecto.
El curso se evalúa mediante dos módulos independientes que deben aprobarse por separado.
Módulo 1 (Gestión de Memoria): Se evalúa mediante un examen final (75%), dos evaluaciones continuas (20%) y asistencia (5%). Se requiere una calificación mínima de 5 en el examen para aprobar este módulo.
Módulo 2 (Sistema de Archivos): Se evalúa mediante la entrega de proyectos, su ejecución (40%), una entrevista (20%) y un informe (40%).
La calificación final es la suma de las calificaciones de ambos módulos (50% cada uno). Cualquier copia del proyecto, de las entregas anteriores o de las evaluaciones continuas resultará en la reprobación automática de la asignatura.
Se evaluarán los siguientes aspectos:
- Comprensión teórica y aplicación de los principios básicos de gestión de memoria, evaluadas mediante la resolución de problemas y un examen.
- Capacidad práctica para implementar y explicar los detalles de los sistemas de archivos modernos (EXT2 y FAT16), evaluada mediante la ejecución de un proyecto, una entrevista técnica y un informe final.
- Bovet, D.P., & Cesati, M. (2006). Understanding the Linux kernel (3rd ed.). Beijing; Sebastopol, CA: O'Reilly.
- Chen, J. (2023). Interactive File Systems Documentation. Available at: https://filesystems.jiahuichen.dev/.
- Canaleta, X. (2010). Exercicis i problemes d'examen de Sistemes Operatius Avançats. Publicacions La Salle, Agost 2011.
- Forcada, R. (2008). Estudi del sistema de fitxers FAT32 i implementació d'una aplicació docent. Treball Final de Carrera, Enginyeria i Arquitectura La Salle, Universitat Ramon Llull.
- Microsoft Corporation (2000). Microsoft Extensible Firmware Initiative FAT32 File System Specification, Version 1.03, December 6, 2000.
- Poirier, D. (2011). The Second Extended File System. Internal Layout, 2001-2011.
- Stallings, W. (2005). Sistemas operativos (5 Edición). Pearson Prentice Hall. ISBN: 84-205-4462-0.
-