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.

Semester
1e en 2e semester
Inschrijving onder examencontract
Mogelijk
Beoordelingsvoet
Beoordeling (0 tot 20)
2e zittijd mogelijk
Ja
Onderwijstaal
Nederlands
Faculteit
Faculteit Ingenieurswetenschappen
Verantwoordelijke vakgroep
Elektronica en Informatica
Onderwijsteam
Peter Schelkens
Bruno Tiago da Silva Gomes (titularis)
Onderdelen en contacturen
12 contacturen Hoorcollege
90 contacturen Zelfstudie en externe werkvormen
Inhoud

Omschrijving inhoud in Nederlands zal later beschikbaar zijn.

While General Purpose Operating Systems (GPOS) are meant to serve in Notebooks, Desktop and Servers, Embedded Operating Systems (EOS) are found in devices like Cell phones, 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 some introductory ex-cathedra lessons, the students are asked to perform a mini-study and project in order to discover the real operating systems world. The student has the choice to work with Windows (XP, VISTA, Windows7, 2003, 2008), Linux, Windows CE, QNX, OSE etc..

Detailed content:

Operating System Overview.
Operating System Objectives and Functions. The History and evolution of Operating Systems. Major Achievements. Characteristics of Modern Operating Systems: Operating System Concepts.
System Calls. What are real-time embedded systems? Real-Time requirements. What is time?
Possible cases and mini-tasks on: Windows 7, Windows 2008 R2, Linux flavors and some RTOS.

Processes.
Process States. Process Description. Process Control. Processes and Threads. Symmetric Multiprocessing. Microkernels. Hypervisors.
Windows 7 Thread and SMP Management and/or Linux Process and Thread Management.
Principles of Concurrency. Mutual Exclusion: Software Approaches. Mutual Exclusion: Hardware Support.
Semaphores. Monitors. Message Passing. Readers/Writers Problem. Principles of Deadlock. Deadlock Prevention. Deadlock Avoidance. Deadlock Detection. An Integrated Deadlock Strategy. Dining Philosophers Problem.
Possible cases and mini-tasks: Windows 7, concurrency Mechanisms.

Memory.
Memory Management Requirements. Memory Partitioning. Paging. Segmentation. Loading and Linking. Virtual Memory Hardware and Control Structures. Operating System Software. Linux Memory Management.
Memory management in real-time systems.
Possible cases and minitasks: Windows 7 Memory Management compared to Windows Compact 7(Real-Time)

Scheduling.
Uniprocessor Scheduling: Types of Scheduling. Scheduling Algorithms.
Multiprocessor Scheduling. Real-Time Scheduling. Rate Monotonic Analysis and scheduling
Possible cases and mini-tasks: Windows 7 scheduling. QNX scheduling.

Input/output and files.
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.
RTOS device drivers: general concepts - interrupt handling. Portability?
File Management. Overview. File Organization. File Directories. File Sharing. Record Blocking. Secondary Storage Management.
Possible cases and mini-tasks: Windows 7 I/O & File Systems. Real-time file systems. Linux filessystems.

Distributed systems.
Client/Server Computing. Distributed Message Passing. Remote Procedure Calls. Clusters. Windows Cluster Server. Linux Clusters.
Distributed Process Management. Process Migration. Distributed Global States. Distributed Mutual Exclusion.
Distributed Deadlock.

Real-Time Embedded Systems development (low level).
Development procedures depending on hardware and RTOS type. Start-up (boot). Re-start, watchdog timers. Monitoring and logging. Debugging.
Possible cases and mini-tasks: Windows CE (Compact 7), QNX, RT-Linux
GPOS and RTOS standards, supplementary modules
POSIX. Application portability in both GPOS and RTOS. Open source versus proprietary. License issues.
GUI's and protocol stacks. Available middleware.

Security.
Computer Security. Security Threats. Protection. Intruders. Malicious Software. Trusted Systems.
Possible cases and mini-tasks: Windows 7 Security. Security issues in embedded systems. Personal and corporate firewalls, intrusion detection, honeypots.

Studiemateriaal
Digitaal cursusmateriaal (Vereist) : Slides of lecture and lecture notes, http://ems.vub.ac.be
Handboek (Aanbevolen) : Modern Operating Systems, Tanenbaum A.S., 4de, Pearson, 9781292061429, 2014
Bijkomende info

Gebruik van het Engels in sommige onderdelen van de cursus is niet uitgesloten.

Part of the course will be given in a BLENDED version: this means as a MOOC with remote assistance.
Each lesson in the MOOC has a video, an assignment and a quiz.
Slides of lecture and lecture notes available on the course and MOOC websites.
Course website: http://emslab.vub.ac.be
Access to the MOOC website is described in the course website.

Leerresultaten

Algemene competenties

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.

Nederlandstalige versie van de doelstellingen en eindtermen komt later ter beschikking.

Beoordelingsinformatie

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:

  • examen met een wegingsfactor 1 en aldus 100% van het totale eindcijfer.

    Toelichting: For each chapter, the students needs to execute one or more mini-tasks ending with a small executin 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.

Aanvullende info mbt evaluatie

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.

Toegestane onvoldoende
Kijk in het aanvullend OER van je faculteit na of een toegestane onvoldoende mogelijk is voor dit opleidingsonderdeel.

Academische context

Deze aanbieding maakt deel uit van de volgende studieplannen:
Master in de ingenieurswetenschappen: toegepaste computerwetenschappen: Standaard traject