Saltar al contingut Saltar a navegacio
Map
  • Home
  • Information
  • Contact
  • Map

Advanced Concepts on Operating Systems ( CASO )

Change to no-tab version

ECTS Credits Department Type Requirements Teaching Languages
6.0 AC
  • Specialization Complement (Information Technologies)
  • Specialization Complement (Computer Engineering)
O-requisit SO2
O-requisit SOA
  • Catalan   
  • Spanish   
  • English   
Center where the class is given: Facultat d'Informàtica de Barcelona (FIB) - Universitat Politècnica de Catalunya - BarcelonaTECH

Description

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.

Professors

Person in charge:   Xavier Martorell Bofill (xavim@ac.upc.edu)
Other: (-)
Weekly hours dedication T : 2.0 P : 0.0 L : 2.0 AA : 5.6 AD : 0.4

Generic Competences

Transversal Competences

  • AUTONOMOUS LEARNING

  • G7.3 - 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.).
  • 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.


Technical Competences

  • COMPUTER ENGINEERING SPECIALIZATION

  • CEC2 - To analyse and evaluate computer architectures including parallel and distributed platforms, and develop and optimize software for these platforms.
  • CEC2.1 - To analyse, evaluate, select and configure hardware platforms for the development and execution of computer applications and services.
  • CEC2.3 - To develop and analyse software for systems based on microprocessors and its interfaces with users and other devices.
  • CEC2.4 - To design and implement system and communications software.
  • CEC2.5 - To design and implement operating systems.
  • CEC3 - To develop and analyse hardware and software for embedded and/or very low consumption systems.
  • CEC3.1 - 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.
  • CEC4.1 - To design, deploy, administrate and manage computer networks.
  • CEC4.2 - To demonstrate comprehension, to apply and manage the guarantee and security of computer systems.
  • INFORMATION TECHNOLOGY SPECIALIZATION

  • CTI1 - To define, plan and manage the installation of the ICT infrastructure of the organization.
  • CTI1.4 - 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.
  • CTI3.4 - To design communications software.

Goals

  1. Working with the abstractions of the operating system

    Sub-Goals
    • Management processes and flows
    • Memory management
    • Management of communications
    • Access to files

    Related Competences
  2. Analysis and evaluation of operating system abstractions

    Related Competences
  3. Use the operating system development tools

    Sub-Goals
    • Compilers, linkers and other tools to support

    Related Competences
  4. Know how to use the hardware support for the operating system

    Sub-Goals
    • Memory management, TLB and page tables
    • Synchronization Tools

    Related Competences
  5. Use the techniques of performance evaluation of operating systems

    Sub-Goals
    • Evaluation of overhead that introduce system services

    Related Competences
  6. Operating System Support for file systems

    Sub-Goals
    • Tools to support data integrity: Journaling

    Related Competences
  7. To know, know how to use and implement management devices within the operating system

    Sub-Goals
    • Storage devices
    • Communication Devices
    • Devices interaction with the user

    Related Competences
  8. Implement and evaluate support for real time

    Related Competences
  9. Implement and evaluate virtualization support

    Related Competences
  10. Use the operating system support for mobile devices

    Sub-Goals
    • Support for Mobile Communications
    • Use of resources in mobile environments

    Related Competences
  11. Manage facilities informatiques

    Related Competences

Contents

1. OS Abstractions

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

2. Development tools for operating systems

It presents the tools needed to develop operating systems: compiler and linker, management protocols, etc..

3. Hardware tools supporting the operating system

Basic tools provided by the hardware in order to implement operating systems.

4. Synchronization Tools

Using the tools provided by the synchronization of hardware and operating system are provided as efficiently at the level of applications.

5. Evaluation of performance of the operating system

To determine the overhead introduced by using the abstraction of the operating system and performance appraisal system

6. File Systems

Managing data in file systems and tools to support the integrity

7. Device Management

Representation of devices within operating systems, treatment of the different devices: disk, network, user interaction.

8. Development of device drivers

Introduction of new management devices in the operating system

9. Operating system support for real time applications

Tools and libraries to support applications that respond in real time

10. 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).

11. Operating System Support for Mobile Devices

We present the differences between a system desktop / laptop and operating system that supports mobile devices

12. Management of computer installation

Managing a facility computer science from the planning and purchase, installation, commissioning and maintenance

Activities

Legend

ActivityEvaluative Activity T P L AA AD
Activity Evaluative Activity Theory hours Problem hours Lab hours Independent Learning Hours Directed Learning Hours

OS Abstractions T      P      L      AA    AD    Total 
4.0 0.0 4.0 4.0 0.0 12.0

Alumn: The student participates actively in the session, working group on the topics presented, and comparisons of the possible implementations.

Goals:

Contents
  • 1. OS Abstractions

Hours type description
T     Description and comparison of abstractions that provide operating systems
L     Entry into the environment of the laboratory and practical work comparing different ways to create and process flows, manage memory, etc.
AA    Completing the study of operating system abstractions
Development of Operating Systems T      P      L      AA    AD    Total 
2.0 0.0 2.0 2.0 0.0 6.0

Alumn: Study of operating system development tools, participate in class discussions and the practices of compilation of the operating system

Goals:

Contents
  • 2. Development tools for operating systems

Hours type description
T     Description of development tools
L     Compilation of the operating system
AA    Compilation of system process, init, network servers, etc..
Hardware support tools T      P      L      AA    AD    Total 
2.0 0.0 4.0 2.0 0.0 8.0

Alumn: Participation in discussions about the use of hardware support within the operating system for the implementation of the address space and memory management, and synchronization

Goals:

Contents
  • 1. OS Abstractions
  • 3. Hardware tools supporting the operating system
  • 4. Synchronization Tools

Hours type description
T     Description of hardware mechanisms to support the address space and synchronization
L     Implementation of synchronization using the techniques provided by the hardware
AA    Comparison of ease of use and performance of synchronization tools
First control T      P      L      AA    AD    Total 
2.0 - - 10.0 - 12.0

This test assesses the knowledge and practice gained in the first 3 topics of the course. It consists of a written exam, done in a theory class.

Setmana 5
Tipus Examen: Theory exam

Performance Evaluation of the operating system T      P      L      AA    AD    Total 
2.0 0.0 2.0 4.0 0.0 8.0

Alumn: Participation in discussions on performance evaluation techniques and alternatives that exist for reliable measurements and low impact on the execution system

Goals:

Contents
  • 1. OS Abstractions
  • 3. Hardware tools supporting the operating system
  • 5. Evaluation of performance of the operating system

Hours type description
T     Evaluation techniques of system performance
L     Measurement and evaluation of system performance
AA    Teniques assessment based on hardware event counters
File Systems T      P      L      AA    AD    Total 
2.0 0.0 2.0 4.0 0.0 8.0

Alumn: Participation in discussions on the possibilities to implement filesystems in jounaling

Goals:

Contents
  • 1. OS Abstractions
  • 6. File Systems

Hours type description
T     Implementation of file systems
L     Use of journaling to increase data integrity
AA    Search the characteristics of various file systems
Development of management devices T      P      L      AA    AD    Total 
4.0 0.0 6.0 6.0 2.0 18.0

Alumn: Participation in discussions on the implementation of alternative device drivers

Goals:

Contents
  • 2. Development tools for operating systems
  • 3. Hardware tools supporting the operating system
  • 4. Synchronization Tools
  • 7. Device Management
  • 8. Development of device drivers

Hours type description
T     Implementation of device drivers
L     Implementation of device drivers
AA    Alternatives in the implementation of device drivers
AD    Implementation of USB device drivers
Second control T      P      L      AA    AD    Total 
2.0 - - 10.0 - 12.0

This test assesses the knowledge and practice acquired in the first nine weeks of the course, including items 1 through 7.

Setmana 10
Tipus Examen: Theory exam

Goals:
Support for real-time applications T      P      L      AA    AD    Total 
2.0 0.0 2.0 4.0 1.0 9.0

Alumn: Participation in discussions on the implementation of alternatives to support real-time

Goals:

Contents
  • 1. OS Abstractions
  • 9. Operating system support for real time applications

Hours type description
T     Support for real time
L     Installation support for real-time operating system
AA    Analysis of the performance of services for real-time, compared to traditional services
AD    Planning policies for real-time
Operating system support for virtualized environments T      P      L      AA    AD    Total 
2.0 0.0 2.0 2.0 0.0 6.0

Alumn: Participation in discussions on implementation techniques of virtualized environments in a non-native and native ways

Goals:

Contents
  • 1. OS Abstractions
  • 3. Hardware tools supporting the operating system
  • 10. Operating system support for virtualized environments

Hours type description
T     Virtualized environments
L     Installation and implementation of a virtualized environment
AA    Existing virtualized environments running in a native
Operating System Support for Mobile Devices T      P      L      AA    AD    Total 
2.0 0.0 4.0 6.0 0.0 12.0

Alumn: Participation in discussions about alternative operating systems for mobile devices

Goals:

Contents
  • 1. OS Abstractions
  • 2. Development tools for operating systems
  • 5. Evaluation of performance of the operating system
  • 11. Operating System Support for Mobile Devices

Hours type description
T     Operating System Support for Mobile Devices
L     Performance evaluation of a system for mobile device and compared to a traditional operating system
AA    Comparison of services offered systems for mobile devices with services offered by traditional systems
Management of informatica installation T      P      L      AA    AD    Total 
2.0 0.0 0.0 0.0 0.0 2.0

Alumn: Participation in discussions on the sizing of a facility informatica

Goals:

Contents
  • 5. Evaluation of performance of the operating system
  • 12. Management of computer installation

Hours type description
T     Management of a computer installation
Third control T      P      L      AA    AD    Total 
2.0 - - 10.0 - 12.0

This test assesses the knowledge and practice gained during the course.

Setmana 14
Tipus Examen: Theory exam

Goals:
Laboratory exam T      P      L      AA    AD    Total 
- - 2.0 8.0 - 10.0

In this exam, students solve practical problems related with all course subjects, individually. You can have books and notes.

Setmana 14
Tipus Examen: Laboratory exam

Goals:
Final exam T      P      L      AA    AD    Total 
- - - 12.0 3.0 15.0

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

Setmana 15-18
Tipus Examen: Final exam

Goals:
Total per type T      P      L      AA    AD    Total 
30.0 0.0 30.0 84.0 6.0 150.0

Teaching methods

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..

Assessment

Evaluation type

You can pass the subject with the highest grade by continuous assessment during the 14 weeks of class

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.

Generic competences weight in the evaluation specific part

  • 10.0 % - 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.).

Basics bibliography

Prior learning

- User-level Operating Systems
- Basic level on the internal structure of the operating system
- Programming languages ​​C and C + +
- Compile and link mechanisms
- Basic concepts of computer architecture

Compartir

 
logo FIB © Barcelona school of informatics - Contact - RSS