This subject is based on the competences and knowledge acquired in the following previous subjects:
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.
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.
|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.|
|Course learning outcomes|
|Ability to use, configure and design services on multi-programming operating system cores.|
|Ability to design communication and synchronization services between processes.|
|Configure services and plan the execution of applications|
Practice 1. Service configuration, and application execution planning
Practice 2. Introduction to Multithreaded Programming.
Practice 3. Advanced Multithreaded Programming.
|Training Activity||Methodology||Related Competences||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]|
|Other on-site activities [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).|
|Other on-site activities [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 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).
|Evaluation System||Continuous assessment||Non-continuous evaluation *||Description|
|Test||20.00%||20.00%||First partial test. Compulsory and recoverable activity to be carried out at the end of the first half of the teaching period.|
|Test||25.00%||25.00%||Second partial test. Compulsory and recoverable activity to be carried out on the date scheduled for the ordinary call. In addition, the first partial test will be recovered on this date.|
|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.|
|Not related to the syllabus/contents|
|General comments about the planning:||The subject is taught in 3 x 1,5 hour sessions per week.|
|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|
|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|
|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|
|Stallings, William.||Operating systems : internals and design principles /||Pearson education,||978-0-13-603337-0||2009|
|Tanenbaum, Andrew S.||Sistemas operativos modernos||Pearson Educación||978-607-442-046-3||2009|
|Vallejo Fernández, David||Programación concurrente y tiempo real||Edlibrix||978-84-942116-3-8||2014|