In the course of Advanced Operating Systems Concepts (CASE), students will learn to design, implement and analyze operating systems that offer the runtime environment and evaluate its quality. The course content covers issues of architecture that runs an operating system, from servers to mobile environments, hardware support necessary for the OS, types of services offered by operating systems, application requirements and real time control of energy, support for parallelism, application development on OS virtualization techniques and management of the security and safety system and applications. The evaluation of the course will be done by three partial checks throughout the semester, a laboratory examination and a final exam.
Person in charge
Xavier Martorell Bofill (
Jordi Fornes de Juan (
Technical Competences of each Specialization
Information technology specialization
CTI1 - To define, plan and manage the installation of the ICT infrastructure of the organization.
- To select, design, deploy, integrate, evaluate, build, manage, exploit and maintain the hardware, software and network technologies, according to the adequate cost and quality parameters.
CTI3 - To design solutions which integrate hardware, software and communication technologies (and capacity to develop specific solutions of systems software) for distributed systems and ubiquitous computation devices.
- To design communications software.
Computer engineering specialization
CEC2 - To analyse and evaluate computer architectures including parallel and distributed platforms, and develop and optimize software for these platforms.
- To analyse, evaluate, select and configure hardware platforms for the development and execution of computer applications and services.
- To develop and analyse software for systems based on microprocessors and its interfaces with users and other devices.
- To design and implement system and communications software.
- To design and implement operating systems.
CEC3 - To develop and analyse hardware and software for embedded and/or very low consumption systems.
- To analyse, evaluate and select the most adequate hardware and software platform to support embedded and real-time applications.
CEC4 - To design, deploy, administrate and manage computer networks, and manage the guarantee and security of computer systems.
- To design, deploy, administrate and manage computer networks.
- To demonstrate comprehension, to apply and manage the guarantee and security of computer systems.
G7 - To detect deficiencies in the own knowledge and overcome them through critical reflection and choosing the best actuation to extend this knowledge. Capacity for learning new methods and technologies, and versatility to adapt oneself to new situations.
- Autonomous learning: capacity to plan and organize personal work. To apply the acquired knowledge when performing a task, in function of its suitability and importance, decide how to perform it and the needed time, and select the most adequate information sources. To identify the importance of establishing and maintaining contacts with students, teacher staff and professionals (networking). To identify information forums about ICT engineering, its advances and its impact in the society (IEEE, associations, etc.).
Working with the abstractions of the operating system
This topic presents the abstracccions operating systems offer the user level and applications: processes and flows, regions of memory, data storage and input / output device management. Comparisons are made between different abstractions offered as equivalent and determine which are most appropriate
Development tools for operating systems
It presents the tools needed to develop operating systems: compiler and linker, management protocols, etc..
Hardware tools supporting the operating system
Basic tools provided by the hardware in order to implement operating systems.
Using the tools provided by the synchronization of hardware and operating system are provided as efficiently at the level of applications.
Evaluation of performance of the operating system
To determine the overhead introduced by using the abstraction of the operating system and performance appraisal system
Managing data in file systems and tools to support the integrity
Representation of devices within operating systems, treatment of the different devices: disk, network, user interaction.
Development of device drivers
Introduction of new management devices in the operating system
Operating system support for real time applications
Tools and libraries to support applications that respond in real time
Operating system support for virtualized environments
Deploying virtual machines with / without hardware support. Options for implementing virtual machines native and non-native (in physically different environments).
Operating System Support for Mobile Devices
We present the differences between a system desktop / laptop and operating system that supports mobile devices
Management of computer installation
Managing a facility computer science from the planning and purchase, installation, commissioning and maintenance
The student participates actively in the session, working group on the topics presented, and comparisons of the possible implementations.
Theory: Description and comparison of abstractions that provide operating systems
Laboratory: Entry into the environment of the laboratory and practical work comparing different ways to create and process flows, manage memory, etc.
Autonomous learning: Completing the study of operating system abstractions
This test assesses the knowledge and practice gained during the course. Objectives:1234678910511 Week:
In this exam, students solve practical problems related with all course subjects, individually. You can have books and notes. Objectives:1234678910511 Week:
For those students that would need to reach the minimum level of the course or those that want to raise their marks, this examination will be hold after the period of the classes Objectives:1234678910511 Week:
15 (Outside class hours) Type:
The teacher presents the topics proposed in the theory sessions, while open discussions among and with students on various topics. Each session includes the theory of motion of various topics related to the class, students work independently on his compte.Les lab follow the issues raised in the theory and serve to entrench the use and evaluation of abstractions and system services operatiu.Per to work in the competition for autonomous learning, the course will be 2 staff work activities related to the services offered by operating systems. The themes of the activities will be defined during the course. Will for example, the introduction of new system calls, the interacio between Android and Linux systems, add the OS services through libraries, performance evaluation system, etc..
The autonomous learning competence is evaluated based on the reports delivered by the student during the course. Its weight is 10% on the final mark.
The technical competences are evaluated based on the theory (40%) and the laboratory exam (50%).
The theory gets evaluated based on the partial and the final exams. The mark of the 3 partial exams is computed as the averaged mean of the 3 tests, with the following weights: 25, 25, and 50%. If this mark is equal or larger than 6.0, attending the final exam is optional.
In case a student attends the final exam, his/her theory mark will be the highest between the mark obtained in the final exam and the averaged mean of the partial exams.