Ace operating systems (OS) principles, system calls, OS protection, processes, CPU scheduling, CPU scheduling algorithms, and interprocess communication questions in competitive exams, job interviews, and OS course exams.
Do you know: How OS protects itself from the user programs? How does OS protect user programs from each other? Why can user programs not directly access I/O devices? Why do programmers prefer to use APIs over system calls in programs? How is the CPU shared between so many active processes? How does executing processes create new child processes? How do cooperating processes communicate? Learn the explanations to these and many more intriguing questions in this course!
Wisdom scholarships. If you are interested in taking one of our courses but cannot purchase it, you can apply for a scholarship to enroll. Learn more about the application process at my website.
Who this course is for:
What is an operating system (OS)?
Modern OS functionalities.
Layered design of computing systems.
OS user interface.
What is Protection in OS?
What are kernel and user modes? Why are they needed?
What are system calls? Why are they needed?
What are traps?
What is an application programming interface (API)?
How APIs invoke system calls?
How are system calls implemented?
How are parameters passed to system calls?
Life cycle of program creation
Memory footprint of a program.
What is a process?
What is multiprogramming and multitasking?
CPU Scheduler and process scheduling.
What are the various states that a process goes through?
What is a process control block (PCB)?
When do processes relinquish CPU?
What is a context switch?
CPU scheduling basics and performance metrics.
What are CPU-bound and IO-bound processes?
When would CPU scheduler run?
What is turnaround time and waiting time?
FCFS scheduling.
Shortest job first (SJF) scheduling.
Nonpreemptive priority scheduling.
What is starvation?
Shortest remaining time first (SRTF) scheduling.
Preemptive priority scheduling.
Round robin (RR) scheduling.
Combining scheduling algorithms.
Linux CPU scheduling algorithm.
Programs with multiple processes.
Creating multiple processes in Linux.
Fork system call with illustrative examples.
Interprocess communication (IPC).
Shared memory for IPC.
Message passing for IPC.