Guías Docentes Electrónicas
1. General information
ECTS credits:
Academic year:
Main language:
Second language:
Use of additional languages:
English Friendly:
Web site:
Virtual space of the course at
Phone number
Office hours
Fermín Caballero
Available at

2. Pre-Requisites

This subject is based on the competences and knowledge acquired in the following previous subjects:

  • Fundamentals of Programming I
  • Fundamentals of Programming II
  • Operating Systems I 
  • Concurrent and Real Time Programming

Operating Systems I is an important prerequisite, as it covers the basic fundamentals of operating systems, process modeling, memory management, and input/output and file systems. On the other hand, the knowledge acquired in Concurrent and Real Time Programming is also an important requirement, since the basic mechanisms of synchronization and communication between processes are studied. In addition, it is necessary to have knowledge of C laguage, as well as structured, modular and object-oriented programming concepts.

3. Justification in the curriculum, relation to other subjects and to the profession

The subject Operating Systems II belongs to the fourth year of the Degree in Computer Engineering, in particular, to the intensification of specific technology of Computer Engineering. In this course the student will be able to know in depth the entrails of an operating system, and will acquire a critical vision on the different design options. The GNU/Linux operating system will be used as the main case study, although this does not rule out the possibility of referring to other operating systems during the course.

The subject is closely related to the subject operating systems I, extending its contents, such as the design of an operating system kernel, and the ability to add new functions to it. Thus, the student will not only be able to use the operating system services in the form of calls to the system, but will also be able to understand how these services are implemented and will be able to include new services into the kernel. In addition, the knowledge acquired in the subject of Concurrent Programming and Real Time is extended through the study of multi-thread programming, and communication and synchronization between threads.

The knowledge acquired by the student will allow him to work in the future within the framework of the development of operating systems, whose market is not limited only to conventional operating systems, but also to the development of systems for the control of embedded devices. In addition, in the framework of real-time application programming it is common to work with "modified kernels" in order to achieve the desired efficiency for a specific type of application.


4. Degree competences achieved in this course
Course competences
Code Description
IC04 Ability to design and implement system and communication software.
INS01 Analysis, synthesis, and assessment skills.
INS04 Problem solving skills by the application of engineering techniques.
INS05 Argumentative skills to logically justify and explain decisions and opinions.
PER02 Ability to work in multidisciplinary teams.
SIS01 Critical thinking.
SIS03 Autonomous learning.
5. Objectives or Learning Outcomes
Course learning outcomes
Ability to use, configure and design services on multi-programming operating system cores.
Configure services and plan the execution of applications
Ability to design communication and synchronization services between processes.
Additional outcomes
Not established.
6. Units / Contents
  • Unit 1: Structural Models of Modern Operating Systems
  • Unit 2: Design and Management of Services in an Operating System Kernel
  • Unit 3: Multi-thread Programming
  • Unit 4: Virtual Memory Management
  • Unit 5: Planning and Timing of Processes in Multicore Systems

Laboratory Practices:

Practice 1. Service configuration, and application execution planning

Practice 2. Introduction to Multithreaded Programming.

Practice 3. Advanced Multithreaded Programming.

7. Activities, Units/Modules and Methodology
Training Activity Methodology Related Competences (only degrees before RD 822/2021) ECTS Hours As Com Description
Class Attendance (theory) [ON-SITE] Lectures IC04 0.6 15 N N Lectures corresponding to topics 1-5 and theoretical-practical lessons in the laboratory [MAG]
Individual tutoring sessions [ON-SITE] IC04 0.18 4.5 N N Tutoring for the follow-up of individual works [TUT]
Study and Exam Preparation [OFF-SITE] Self-study IC04 SIS01 SIS03 1.8 45 N N Study to be devoted by the student to the preparation of the subject written tests [EST]
Other off-site activity [OFF-SITE] Practical or hands-on activities IC04 INS01 INS04 INS05 PER02 0.9 22.5 N N Lab practical preparation (PLAB)
Problem solving and/or case studies [ON-SITE] Problem solving and exercises IC04 INS05 PER02 SIS01 0.6 15 Y N Worked example problems and cases resolution by the lecturer and the students (PRO)
Writing of reports or projects [OFF-SITE] Self-study IC04 INS01 INS05 PER02 SIS01 SIS03 0.9 22.5 Y N Preparation of reports covering theoretical content. This activity will have a grupal approach [RES].
Laboratory practice or sessions [ON-SITE] Practical or hands-on activities IC04 INS01 INS05 PER02 0.72 18 Y Y Lab practical preparation [PLAB]
Mid-term test [ON-SITE] Assessment tests IC04 INS01 INS05 SIS01 0.15 3.75 Y Y Completion of the first partial test corresponding to the first half of the subject programme (EVA).
Mid-term test [ON-SITE] Assessment tests IC04 INS01 INS05 SIS01 0.15 3.75 Y Y Completion of the second partial test corresponding to the second half of the subject programme (EVA).
Total: 6 150
Total credits of in-class work: 2.4 Total class time hours: 60
Total credits of out of class work: 3.6 Total hours of out of class work: 90

As: Assessable training activity
Com: Training activity of compulsory overcoming (It will be essential to overcome both continuous and non-continuous assessment).

8. Evaluation criteria and Grading System
Evaluation System Continuous assessment Non-continuous evaluation * Description
Final test 0.00% 45.00% Compulsory and recoverable activity to be done on the date scheduled for the final exam of the ordinary exam.
Mid-term tests 20.00% 0.00% First partial test. Compulsory and recoverable activity to be carried out at the end of the first half of the teaching period.
Theoretical papers assessment 15.00% 15.00% Non-compulsory but recoverable activity to be completed before the end of the teaching period.
Laboratory sessions 30.00% 30.00% Obligatory and recoverable activity to be carried out through laboratory sessions and homework.
Assessment of active participation 10.00% 10.00% Non-mandatory and recoverable activity. In the non-continuous evaluation mode, participation may be evaluated using the means provided in the teaching platforms. In addition, voluntary exercises and their oral defence will be proposed.
Mid-term tests 25.00% 0.00% Second partial test. Compulsory and recoverable activity to be carried out at the end of the second half of the teaching period.
Total: 100.00% 100.00%  
According to art. 4 of the UCLM Student Evaluation Regulations, it must be provided to students who cannot regularly attend face-to-face training activities the passing of the subject, having the right (art. 12.2) to be globally graded, in 2 annual calls per subject , an ordinary and an extraordinary one (evaluating 100% of the competences).

Evaluation criteria for the final exam:
  • Continuous assessment:
    In compulsory activities, a minimum mark of 40% is required in order to pass that activity and have the possibility to therefore pass the entire subject. A compulsory activity cannot be divided into eliminatory parts, nor can minimum marks be established for each of its parts. In the case of the activities that may be retaken (i.e., rescheduling), an alternative activity or test will be offered in the resit/retake exam call (convocatoria extraordinaria).

    The partial tests will be common for all the theory/laboratory groups of the subject and will be evaluated by the lecturers of the subject in a serial way, i.e., each part of the partial tests will be evaluated by the same lecturer for all the students. A student is considered to pass the subject if she/he obtains a minimum of 50 points out of 100, taking into account the points obtained in all the evaluable activities, and also has passed all the compulsory activities.

    For students who do not pass the subject in the final exam call (convocatoria ordinaria), the marks of activities already passed will be conserved for the resit/retake exam call (convocatoria extraordinaria). If an activity is not recoverable, its assessment will be preserved for the resit/retake exam call (convocatoria extraordinaria) even if it has not been passed. In the case of the passed recoverable activities, the student will have the opportunity to receive an alternative evaluation of those activities in the resit/retake exam call and, in that case, the final grade of the activity will correspond to the latter grade obtained.

    The mark of the passed activities in any call, except for the partial tests, will be conserved for the subsequent academic year at the request of the student, provided that mark is equal or greater than 50% and that the activities and evaluation criteria of the subject remain unchanged prior to the beginning of that academic year.

    The failure of a student to attend the partial 1 and partial 2 tests will automatically result in her/him receiving a "Failure to attend" (no presentado). If the student has not passed any compulsory evaluation activity, the maximum final grade will be 40%.
  • Non-continuous evaluation:
    Students may apply at the beginning of the semester for the non-continuous assessment mode. In the same way, the student may change to the non-continuous evaluation mode as long as she/he has not participated during the teaching period in evaluable activities that together account for at least 50% of the total mark of the subject. If a student has reached this 50% of the total obtainable mark or the teaching period is over, she/he will be considered in continuous assessment without the possibility of changing to non-continuous evaluation mode.

    Students who take the non-continuous evaluation mode will be globally graded, in 2 annual calls per subject, an ordinary and an extraordinary one (evaluating 100% of the competences), through the assessment systems indicated in the column "Non-continuous evaluation".

    In the "non-continuous evaluation" mode, it is not compulsory to keep the mark obtained by the student in the activities or tests (progress test or partial test) taken in the continuous assessment mode.

Specifications for the resit/retake exam:
Evaluation tests will be conducted for all recoverable activities.

The failure of a student to attend the partial 1 and partial 2 tests will automatically result in her/him receiving a "Failure to attend" (no presentado), except in the case that the student conserves the mark for partial 1 and partial 2 from the final exam call (convocatoria ordinaria). In the latter case, the student's carrying out of any other evaluable activity in the resit/retake exam call (convocatoria extraordinaria) will result in a numerical mark.
Specifications for the second resit / retake exam:
Same characteristics as in the extraordinary call.
9. Assignments, course calendar and important dates
Not related to the syllabus/contents
Hours hours

General comments about the planning: The subject is taught in 3 x 1,5 hour sessions per week.
10. Bibliography and Sources
Author(s) Title Book/Journal Citv Publishing house ISBN Year Description Link Catálogo biblioteca
Anthony Williams C++ Concurrency in Action: Practical Multithreading Hanning 2012  
Butenhof, David R. Programming with POSIX threads Addison-Wesley 0-201-63392-2 1997 Ficha de la biblioteca
Javier Albusac Sistemas Operativos y Programación Multihilo en C++ (Libro compartido en campus virtual) Material Asignatura 2021  
Kernighan, Brian W. El lenguaje de programación C : [con base en el ANSI C] / Pearson Educación, ISBN 968-880-205-0 2003 Ficha de la biblioteca
Maya Posch Mastering C++ Multithreading: Write robust, concurrent, and parallel applications Packt 1787121704 2017  
Silberschatz, A., Galvin, P., Gagne, G Sistemas Operativos. Conceptos fundamentales Mc Graw-Hill 84-481-4641-7 2006  
Stallings, W Sistemas operativos. Aspectos internos y principios de diseño Prentice-Hall 84-205-4462-0 2005 Ficha de la biblioteca
Stallings, William. Operating systems : internals and design principles / Pearson education, 978-0-13-603337-0 2009 Ficha de la biblioteca
Tanenbaum, Andrew S. Sistemas operativos modernos Pearson Educación 978-607-442-046-3 2009 Ficha de la biblioteca
Vallejo Fernández, David Programación concurrente y tiempo real Edlibrix 978-84-942116-3-8 2014 Ficha de la biblioteca

Web mantenido y actualizado por el Servicio de informática