Operating systems are fundamental software that give an abstract of and manage resources of computer hardware. This course studies concepts, ideas and functions of operating systems. Practical exercises lead you to practical understandings.
This course lectures you on the following topics. You know how to make efficient use of computer hardware by understanding how operating systems interface application software with hardware.
- Booting up of operating systems
- Input/output
- File systems
- Process management: loading and starting up of processes
- Process management: concurrent processing, scheduling
- Concurrency Control (Synchronization)
- Memory management
- Virtualization
- Networking
- Security
Operating systems, hardware abstraction, resources management
✔ Specialist skills | Intercultural skills | Communication skills | Critical thinking skills | ✔ Practical and/or problem-solving skills |
In lecture time, the course lectures on the topics and explains exercises.
You have an exercise per one or two lectures as homework.
Course schedule | Required learning | |
---|---|---|
Class 1 | Operating Systems | |
Class 2 | C language basics, and memory management by OS and compiler | Memory use by CPU and compiler. |
Class 3 | Booting up | Booting up process of operating systems. |
Class 4 | Input / output | Input / output with busy wait and interrupts. |
Class 5 | File systems | Two types of file system structures: linked allocation and indexed allocation. |
Class 6 | Loading and starting up of processes: compilation, linking and loading | |
Class 7 | Loading and starting up of processes: system call | Program loading, starting up, and system call. |
Class 8 | Concurrent processing and scheduling: multi threading and context switch | Context switch. |
Class 9 | Concurrent processing and scheduling (cont.): process scheduling | |
Class 10 | Concurrency control: pessimistic and optimistic methods | Race conditions and its handling. |
Class 11 | Concurrency control (cont.): software, hadware and language constructions | |
Class 12 | Memory management: paging | Paging. |
Class 13 | Memory management (cont.): virtual memory | |
Class 14 | Virtualization |
To enhance effective learning, students are encouraged to spend approximately 100 minutes preparing for class and another 100 minutes reviewing class content afterwards (including assignments) for each class.
They should do so by referring to textbooks and other course material.
None.
Silberschatz and Galvin: Operating System Concepts, 9th ed., John Wiley & Sons, 2012.
Based on answers to exercises.
None.