Operating Systems

Credits
6
Types
Specialization compulsory (High Performance Computing)
Requirements
This subject has not requirements

Department
AC
The focus of this course is twofold. On the one hand, students will get a detailed understanding on some basic mechanisms such as memory management that will help them understand the support offered by the hardware to the operating system (that is described in hardware-architecure courses). On the other hand, the student will see how operating systems manage the resources in a High Performance computing system (HPC). This part will include job management, storage, power efficiency, and virtualization among others.

Teachers

Person in charge

  • Jordi Guitart Fernandez ( )

Others

  • Juan Jose Costa Prats ( )

Weekly hours

Theory
4
Problems
0
Laboratory
0
Guided learning
0.1
Autonomous learning
6.5

Competences

Technical Competences of each Specialization

Computer networks and distributed systems

  • CEE2.1 - Capability to understand models, problems and algorithms related to distributed systems, and to design and evaluate algorithms and systems that process the distribution problems and provide distributed services.
  • CEE2.3 - Capability to understand models, problems and mathematical tools to analyze, design and evaluate computer networks and distributed systems.

High performance computing

  • CEE4.2 - Capability to analyze, evaluate, design and optimize software considering the architecture and to propose new optimization techniques.
  • CEE4.3 - Capability to analyze, evaluate, design and manage system software in supercomputing environments.

Generic Technical Competences

Generic

  • CG1 - Capability to apply the scientific method to study and analyse of phenomena and systems in any area of Computer Science, and in the conception, design and implementation of innovative and original solutions.
  • CG3 - Capacity for mathematical modeling, calculation and experimental designing in technology and companies engineering centers, particularly in research and innovation in all areas of Computer Science.
  • CG5 - Capability to apply innovative solutions and make progress in the knowledge to exploit the new paradigms of computing, particularly in distributed environments.

Transversal Competences

Teamwork

  • CTR3 - Capacity of being able to work as a team member, either as a regular member or performing directive activities, in order to help the development of projects in a pragmatic manner and with sense of responsibility; capability to take into account the available resources.

Information literacy

  • CTR4 - Capability to manage the acquisition, structuring, analysis and visualization of data and information in the area of informatics engineering, and critically assess the results of this effort.

Appropiate attitude towards work

  • CTR5 - Capability to be motivated by professional achievement and to face new challenges, to have a broad vision of the possibilities of a career in the field of informatics engineering. Capability to be motivated by quality and continuous improvement, and to act strictly on professional development. Capability to adapt to technological or organizational changes. Capacity for working in absence of information and/or with time and/or resources constraints.

Reasoning

  • CTR6 - Capacity for critical, logical and mathematical reasoning. Capability to solve problems in their area of study. Capacity for abstraction: the capability to create and use models that reflect real situations. Capability to design and implement simple experiments, and analyze and interpret their results. Capacity for analysis, synthesis and evaluation.

Basic

  • CB8 - Capability to communicate their conclusions, and the knowledge and rationale underpinning these, to both skilled and unskilled public in a clear and unambiguous way.
  • CB9 - Possession of the learning skills that enable the students to continue studying in a way that will be mainly self-directed or autonomous.

Objectives

  1. Understand the definition of an operating system for a warehouse-scale computer, as well as the challenges for its design and implementation.
    Related competences: CEE4.2, CEE4.3, CG5,
  2. Understand the methodology to evaluate the behavior of an operating system for a warehouse-scale computer.
    Related competences: CG1, CG3, CEE2.3, CEE2.1, CEE4.2, CEE4.3,
  3. Understand the differences among several approaches to build O.S. components and be able to discuss the advantages and disadvantages of each approach.
    Related competences: CEE4.2, CEE4.3, CB8, CB9, CTR3, CTR4, CTR5, CTR6,
  4. Understand the features of an O.S. for a warehouse-scale computer, whether they evolve from a desktop computer O.S. or they are brand-new.
    Related competences: CEE2.3, CEE2.1, CEE4.2, CEE4.3,
  5. Know how some features of an O.S. for a warehouse-scale computer are implemented in real systems.
    Related competences: CEE4.2, CEE4.3, CG5,

Contents

  1. Desktop computers: architecture & O.S. review
  2. Warehouse-scale computers: features & challenges
  3. Process management
  4. In-memory data management
  5. On-disk-storage data management
  6. Power management

Activities

Developing the lesson "Desktop computers: architecture & O.S. review"

Class preparation with the help of the support material. Understanding and assimilation of the lesson contents and their subsequent application.
Theory
4
Problems
0
Laboratory
0
Guided learning
0
Autonomous learning
4

Contents:

Developing the lesson "Warehouse-scale computers: features & challenges"

Class preparation with the help of the support material. Understanding and assimilation of the lesson contents and their subsequent application.
Theory
4
Problems
0
Laboratory
0
Guided learning
0
Autonomous learning
4

Contents:

Developing the lesson "Process management"

Class preparation with the help of the support material. Understanding and assimilation of the lesson contents and their subsequent application.
Theory
10
Problems
0
Laboratory
0
Guided learning
0
Autonomous learning
10

Contents:

Practical seminar #1

Preparation of the seminar with the help of the support material. Implementation and analysis of the requested mechanism. Making of a report of the seminar explaining the work done and the conclusions drawn
Theory
6
Problems
0
Laboratory
0
Guided learning
0
Autonomous learning
12

Contents:

Developing the lesson "In-memory data management"

Class preparation with the help of the support material. Understanding and assimilation of the lesson contents and their subsequent application
Theory
8
Problems
0
Laboratory
0
Guided learning
0
Autonomous learning
8

Contents:

Practical seminar #2

Preparation of the seminar with the help of the support material. Implementation and analysis of the requested mechanism. Making of a report of the seminar explaining the work done and the conclusions drawn
Theory
4
Problems
0
Laboratory
0
Guided learning
0
Autonomous learning
8

Contents:

Developing the lesson "On-disk-storage data management"

Class preparation with the help of the support material. Understanding and assimilation of the lesson contents and their subsequent application.
Theory
8
Problems
0
Laboratory
0
Guided learning
0
Autonomous learning
8

Contents:

Practical seminar #3

Preparation of the seminar with the help of the support material. Implementation and analysis of the requested mechanism. Making of a report of the seminar explaining the work done and the conclusions drawn
Theory
4
Problems
0
Laboratory
0
Guided learning
0
Autonomous learning
8

Contents:

Developing the lesson "Power management"

Class preparation with the help of the support material. Understanding and assimilation of the lesson contents and their subsequent application.
Theory
4
Problems
0
Laboratory
0
Guided learning
0
Autonomous learning
4

Contents:

Teaching methodology

This course will be based on three kinds of activities.
a. Traditional teaching: The professor will described some theoretical concepts in the class
b. Self learning: The student will learn about some specific systems by
b1. Reading papers/documents selected by the professor
b2. Applying the acquired knowledge in the laboratory
c. Discussions: Group discussion of the self-learning activities

Evaluation methodology

The evaluation of this course will take into account three different items
a. A final exam that will account for 50% of the grade
b. Practical assignment that will account of 30% the grade
c. Questionnaires about the self-learning activities that will account for 20% of the grade

Bibliografy

Basic:

Complementary:

Previous capacities

Programming and basic concepts on traditional operating systems