6 ECTS credits
150 h study time

Offer 1 with catalog number 4011249ENW for working students in the 1st semester at a (E) Master - advanced level.

Semester
1st semester
Enrollment based on exam contract
Impossible
Grading method
Grading (scale from 0 to 20)
Can retake in second session
Yes
Enrollment Requirements
WARNING: enrolment is only possible for working students. Regular students can only register for courses of which the code ends with an R. Contact the educational path counselor for more information: student.vub.be/en/learning-path-counselors.
Taught in
English
Faculty
Faculty of Engineering
Department
Electronics and Informatics
Educational team
Martin TIMMERMAN (course titular)
Activities and contact hours
12 contact hours Lecture
125 contact hours Independent or External Form of Study
Course Content

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.

Course material
Handbook (Recommended) : Modern Operating Systems, Tanenbaum A.S., 3rd edition, Pearson, 9781292061429, 2014
Digital course material (Required) : Course website: http://ems.vub.ac.be, http://ems.vub.ac.be
Additional info

This course will be taught in English, or in Dutch if the whole audience consists of native Dutch speakers.

See also http://ems.vub.ac.be • Slides of lecture and lecture notes

• A selection of research papers

• Optional:

GPOS:

Tanenbaum A.S., Modern Operating Systems, 3rd edition ISBN 978-0-13-600663-2



RTOS:

TBD (not really existing now - course presentations available)



Course website: http://ems.vub.ac.be

Learning Outcomes

General competencies

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.

Grading

The final grade is composed based on the following categories:
Other Exam determines 100% of the final mark.

Within the Other Exam category, the following assignments need to be completed:

  • exam with a relative weight of 1 which comprises 100% of the final mark.

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

Additional info regarding evaluation

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.

Academic context

This offer is part of the following study plans:
Master of Electromechanical Engineering: Vehicle Technology and Transport (only offered in Dutch)
Master of Applied Sciences and Engineering: Computer Science: Profile Multimedia
Master of Electromechanical Engineering: Vehicle Technology and Transport