Topic outline

  • Lecture hall: T1 CS Building

    Zulip Chat https://operatingsystems2023.zulip.aalto.fi/

    Operating system are ubiquitous, being used from tiny sensor tags to huge data centers. The course offers a broad view on OS topics and addresses also recent developments in related areas. The course gives you the basic tools to understand any complex software system. For example, OS concepts are used throughout the software stack that spans from the machine interface level to the high level application software.

    Materials:

    HOWTO use the Materials
    • As the course progresses, a section containing resource for each of the course weeks will be available here on MyCourses.
    • Use the lecture slides as a guide for studying the book by Stallings.


    Learning Goals

    After completing the course, you will be able to answer the following:

    • What is an operating system (OS), what are its components and how does it work? What is a computer’s architecture and why is an OS needed? 
    • What is an OS process? How are processes executed, and how is the execution reflected in the states of the process? What is the difference between a process and a thread? 
    • How are processes working together in the OS? How is the OS scheduling the execution of the processes? 
    • How do processes communicate and synchronize their activity?  What is a deadlock? What is a livelock? What are semaphores and mutexes?
    • What is the memory of the computer? How is the memory organized and how is it managed by the OS using pages and frames? 
    • What is the OS shell? How can the shell be used for automating tasks using scripts?  
    • What is Linux? How does Linux work? How can new functionality be added to the operating system? 
    • What are more specialized operating systems (e.g. embedded, fault-tolerant, for a quantum computer)? 
    • What are virtualization, a virtual container and an emulator?

    Content (selection):

    Operating system structure and elements of computer architecture. Processes and threads. Memory management and file systems. Concurrency and parallelism. Virtualization.

    Use of AI
    In addition to the rules:
    a) during the semester, AI supported learning is tolerated, but not encouraged
    b) for the entire duration of the written exam, no digital equipment or AI tools are allowed
    c) the main sources of information for this course are