4 ECTS credits
120 u studietijd
Aanbieding 1 met studiegidsnummer 4019834EER voor alle studenten in het 1e en 2e semester met een verdiepend master niveau.
While General Purpose Operating Systems (GPOS) are meant to serve in Notebooks, Desktop and Servers, Embedded Operating Systems (EOS) are found in devices like wearables, cars, routers, planes, etc. In most cases EOS need to insure a predictable, or real-time behaviour and are therefore mostly called Real-Time Operating Systems (RTOS). While, GPOS are optimized to use the maximum of available resources (like processor and memory) and good average performance figures are targeted, RTOS need to have a predictable behaviour and respond in a timely matter to external stimuli. As all systems today are networked, security is of great importance. Again here, the course shows the difference in implementation to satisfy this need. After each lecture, the students are asked to perform tasks for the different chapters in order to discover the real operating systems world.
Detailed content:
Basis of Operating Systems
• Operating System Objectives and Functions. Basic Operating System Concepts.
System Calls.
• Process and Thread Management. Principles of Concurrency. Mutual Exclusion: Software Approaches. Mutual Exclusion: Hardware Support. Semaphores. Monitors. Message Passing.
• Memory Management Requirements. Memory Partitioning. Paging. Segmentation. Loading and Linking. Virtual Memory Hardware and Control Structures.
• File Management. Overview. File Organization. File Directories. File Sharing. Record Blocking. Secondary Storage Management.
• I/O Management and Disk Scheduling. I/O Devices. Organization of the I/O Function. Operating System Design Issues. I/O Buffering. Disk Scheduling. RAID. Disk Cache.
Real-Time Operating Systems
• Embedded System definition. Embedded Operating Systems and Real-Time Operating Systems. What are real-time embedded systems? Real-Time requirements. Type of real-time systems.
• Types of Scheduling. Scheduling Algorithms. Real-Time Scheduling.
Virtualization and Cloud Computing
• Definition of Virtualization. Types of Virtualization. Binary translation, Paravirtualization and Hardware-assisted Virtualization. Hypervisors. Types of Hypervisors. Memory and I/O Virtualization.
• Application Virtualization. Linux Containers and Docker.
• Definition of Cloud Computing. Types of Cloud Services. Virtualization in Cloud Computing. Management of Clouds. OpenStack.
Security
• Computer Security. Trusted Computing Base. Protection Domains. Access Control and Capabilities lists. Multilevel Security Models. Covert Channels.
• Security Threats. Intruders. Type of Attacks. Malicious Software.
• Protection. Type of Defenses. Defensive Programming.
This course will be taught in English.
Blending up-to-date theory with broad coverage of fundamentals, this course offers a comprehensive treatment of operating systems, with an emphasis on internals and design issues including security aspects. The course provides a thorough discussion of the fundamentals of operating systems design and relates these principles to contemporary design issues and to current trends in the development of operating systems. It helps students develop a solid understanding of the key structures and mechanisms of operating systems, the types of tradeoffs and decisions involved in OS design, and the context within which the operating system functions (hardware, other system programs, application programs, interactive users). Both general purpose and real-time operating systems concept are discussed and compared throughout the course. At the end of this course, the student will have developed a serious knowledge and understanding about the daily used operating systems including security aspects. Through projects and peer-instruction techniques, the students will have learned to integrate knowledge and to handle the complexity found in modern operating systems and related security issues. By presenting the results of their studies and projects, and by getting feedback on their work and the presentations thereof, they will have learned to communicate conclusions, the underpinning knowledge and the rationale in a concise manner, avoiding pitfalls in modern operating system use. Having been brought in contact with seminal research papers in the field of operating systems and security, the student will have developed the necessary learning skills to continue studying in the field autonomously.
This course contributes to the following programme outcomes of the Master in Applied Computer Sciences:
a) Knowledge oriented competence
- The Master in Engineering Sciences can correctly report on research or design results in the form of a technical report or in the form of a scientific paper
- The Master in Engineering Sciences can present and defend results in a scientifically sound way, using contemporary communication tools, for a national as well as for an international professional or lay audience
- The Master in Engineering Sciences can work in an industrial environment with attention to safety, quality assurance, communication and reporting
b) Attitude
- The Master in Engineering Sciences has a critical attitude towards one’s own results and those of others
c) Specific competence
- The Master in Applied Computer Sciences is able to design and use systems for efficient storage, access and distribution of digital information
- The Master in Applied Computer Sciences has knowledge of and is able to use advanced processing methods and tools for the analysis of (big) data in different application domains
- The Master in Applied Computer Sciences is able to design (distributed) systems of systems and execute performance assessment of the designed product
- The Master in Applied Computer Sciences has a thorough knowledge of programming concepts and can apply them in smart systems of systems
- The Master in Applied Computer Sciences has a thorough knowledge of hardware platforms, operating systems, firmware and their impact on smart systems of systems
- The Master in Applied Computer Sciences is aware of data privacy and security aspects
This course contributes to the following programme outcomes of the Master in Electronics and Information Technology Engineering:
a) The Master in Engineering Sciences can
- conceive, plan and execute a research project, based on an analysis of its objectives, existing knowledge and the relevant literature, with attention to innovation and valorization in industry and society
- correctly report on research or design results in the form of a technical report or in the form of a scientific paper
- present and defend results in a scientifically sound way, using contemporary communication tools, for a national as well as for an international professional or lay audience
b) The Master in Engineering Sciences has
- a critical attitude towards one’s own results and those of others
De beoordeling bestaat uit volgende opdrachtcategorieën:
Examen Andere bepaalt 100% van het eindcijfer
Binnen de categorie Examen Andere dient men volgende opdrachten af te werken:
For each videolesson in the MOOC, there is an assignment followed by a quiz where a minimum score needs to be obtained in order to be allowed to the exam.
Complementary, for each theoretical chapter, the student needs to execute one or more mini-tasks ending with a small executing report with personal findings and conclusions. Having finished ALL the mini-tasks is mandatory in order to be capable to present the exam.
The exam itself is an execution of a mini-project concerning one of the chapters of the course (at the students' choice). Production of a paper describing the work and findings. Oral presentation of the work performed including a defense.
Deze aanbieding maakt deel uit van de volgende studieplannen:
Master in de ingenieurswetenschappen: toegepaste computerwetenschappen: Standaard traject