Master the core principles and advanced mechanisms of operating systems in this comprehensive course that bridges theory with practical implementation. Explore how modern operating systems manage hardware resources, handle concurrent processes, and provide secure, efficient computing environments. Through hands-on exercises and real-world examples, you'll gain proficiency in process management, memory allocation techniques, synchronization mechanisms, and file system operations. This industry-relevant curriculum prepares you to optimize system performance, troubleshoot complex OS issues, and design robust software solutions—essential skills for roles in software development, system administration, and IT infrastructure management.

Operating Systems
Seize the savings! Get 40% off 3 months of Coursera Plus and full access to thousands of courses.

Operating Systems

Instructor: BITS Pilani Instructors Group
2,663 already enrolled
Included with
Learn more
Recommended experience
Recommended experience
Intermediate level
Knowledge of basic computer architecture, essential C/C++ programming, data structures and algorithms, and binary number systems is recommended.
Recommended experience
Recommended experience
Intermediate level
Knowledge of basic computer architecture, essential C/C++ programming, data structures and algorithms, and binary number systems is recommended.
What you'll learn
Master process management and scheduling to efficiently handle multitasking, crucial for roles in system administration and software engineering.
Apply memory management techniques (paging, segmentation) to optimize performance, key for IT infrastructure and systems development.
Design file systems and I/O management for efficient data handling and device communication, ideal for database management and systems programming.
Utilize synchronization and deadlock prevention to ensure system reliability and efficiency, critical for cybersecurity and network administration.
Skills you'll gain
Tools you'll learn
Details to know

Add to your LinkedIn profile
46 assignments
See how employees at top companies are mastering in-demand skills

There are 10 modules in this course
Explore the fundamental components of operating systems, their functions, and various computing environments.
What's included
19 videos17 readings4 assignments
19 videos• Total 135 minutes
- Operating Systems• 7 minutes
- Meet Your Instructor - Dr. Lucy J. Gudino• 3 minutes
- Meet Your Instructor - Prof. Barsha Mitra• 3 minutes
- What is an Operating System?• 6 minutes
- Computer System Architecture• 6 minutes
- Functions of OS: User View• 7 minutes
- Functions of OS: System View• 6 minutes
- Components of OS• 14 minutes
- Working of a modern computer system• 9 minutes
- OS Operations: Device Controllers & Device Drivers• 8 minutes
- OS Operations: Interrupt Handling• 8 minutes
- Dual Mode of Operation• 7 minutes
- OS Services: Process management, Memory management, Storage management, I/O management, Protection• 13 minutes
- Single Processor Systems• 3 minutes
- Multiprogramming Systems• 7 minutes
- Multitasking Systems• 6 minutes
- Multiprocessor Systems• 8 minutes
- Multicore Systems• 4 minutes
- Distributed Systems & Clustered Systems• 10 minutes
17 readings• Total 170 minutes
- Course Overview & Critical Information• 10 minutes
- What is an Operating System?• 10 minutes
- Computer System Architecture• 10 minutes
- Functions of OS: User View• 10 minutes
- Functions of OS: System View• 10 minutes
- Essential– Components of OS• 10 minutes
- Essential– Working of a Modern Computer System• 10 minutes
- Essential– OS Operations: Device Controllers & Device Drivers• 10 minutes
- Essential– OS Operations: Interrupt Handling• 10 minutes
- Essential– Dual Mode of Operation• 10 minutes
- Essential– OS Services• 10 minutes
- Essential – Single Processor Systems• 10 minutes
- Essential – Multiprogramming Systems• 10 minutes
- Essential – Multitasking Systems• 10 minutes
- Essential – Multiprocessor Systems• 10 minutes
- Essential – Multicore Systems• 10 minutes
- Essential – Distributed Systems & Clustered Systems• 10 minutes
4 assignments• Total 63 minutes
- OS Definition and its Role• 12 minutes
- Operations of OS• 18 minutes
- Types of Computing Environments• 18 minutes
- Test Yourself: Basics of Operating Systems• 15 minutes
Examine different OS interfaces, system calls, and kernel architectures including monolithic, layered, and microkernel designs.
What's included
19 videos14 readings6 assignments
19 videos• Total 146 minutes
- Command Line Interface• 8 minutes
- Graphical User Interface• 5 minutes
- Choice of User Interface• 7 minutes
- Role of System Calls• 5 minutes
- Application Programming Interface (API)• 9 minutes
- Types of System Calls• 12 minutes
- General Commands• 10 minutes
- File related Commands• 13 minutes
- File Permissions related Commands• 9 minutes
- Process Management Commands• 10 minutes
- Search Commands• 7 minutes
- Monolithic Kernel• 7 minutes
- Layered Kernel• 8 minutes
- Microkernel• 6 minutes
- Loadable Kernel Modules• 6 minutes
- Hybrid Kernel• 4 minutes
- Basic Input-Output System (BIOS)• 6 minutes
- Power-On-Self-Test (POST)• 5 minutes
- Stages of System Booting• 8 minutes
14 readings• Total 140 minutes
- Essential– Command Line Interface• 10 minutes
- Essential – Graphical User Interface• 10 minutes
- Essential– Choice of User Interface• 10 minutes
- Essential– Role of System Calls• 10 minutes
- Essential– Application Programming Interface (API)• 10 minutes
- Essential– Types of System Calls• 10 minutes
- Essential – Monolithic Kernel• 10 minutes
- Essential – Layered Kernel• 10 minutes
- Essential – Microkernel• 10 minutes
- Essential – Loadable Kernel Modules• 10 minutes
- Essential – Hybrid Kernel• 10 minutes
- Essential – Basic Input-Output System (BIOS)• 10 minutes
- Essential – Power-On-Self-Test (POST)• 10 minutes
- Essential – Stages of System Booting• 10 minutes
6 assignments• Total 72 minutes
- OS Interfaces• 9 minutes
- System Calls• 9 minutes
- Linux Commands• 15 minutes
- OS Structures• 15 minutes
- System Boot• 9 minutes
- Test Yourself: System Structures• 15 minutes
Learn about process concepts, operations, inter-process communication methods, and scheduling queues.
What's included
19 videos19 readings4 assignments1 discussion prompt1 ungraded lab
19 videos• Total 152 minutes
- What is a Process?• 9 minutes
- States of a Process• 8 minutes
- Process Control Block (PCB)• 7 minutes
- Process Context Switch• 9 minutes
- First process of Computer System• 5 minutes
- Process Creation• 10 minutes
- What to do after process creation?• 13 minutes
- Putting it all together• 12 minutes
- Process Termination• 12 minutes
- Benefits of IPC• 6 minutes
- Shared Memory• 7 minutes
- Message Passing• 8 minutes
- Message Queue• 7 minutes
- Pipe• 9 minutes
- Job Queue• 5 minutes
- Ready Queue• 5 minutes
- Device Queue• 6 minutes
- Types of Processes• 5 minutes
- Schedulers• 9 minutes
19 readings• Total 190 minutes
- Essential– What is a Process?• 10 minutes
- Essential – States of a Process• 10 minutes
- Essential– Process Control Block (PCB)• 10 minutes
- Essential– Process Context Switch• 10 minutes
- Essential– First process of Computer System• 10 minutes
- Essential– Process Creation• 10 minutes
- Essential– What to do after process creation?• 10 minutes
- Essential– Putting it all together• 10 minutes
- Essential– Process Termination• 10 minutes
- Essential – Benefits of IPC• 10 minutes
- Essential – Shared Memory• 10 minutes
- Essential – Message Passing• 10 minutes
- Essential – Pipe• 10 minutes
- Essential – Job Queue• 10 minutes
- Essential – Ready Queue• 10 minutes
- Essential – Device Queue• 10 minutes
- Essential – Types of Processes• 10 minutes
- Essential – Schedulers• 10 minutes
- Practice codes• 10 minutes
4 assignments• Total 57 minutes
- Process Concepts• 12 minutes
- Process Operations• 15 minutes
- Interprocess Communication (IPC)• 15 minutes
- Scheduling Queues• 15 minutes
1 discussion prompt• Total 10 minutes
- Processes• 10 minutes
1 ungraded lab• Total 60 minutes
- Practice Lab on Operating Systems Structures and Processes• 60 minutes
Understand thread implementation, multithreading models, and multicore programming techniques.
What's included
17 videos16 readings5 assignments1 discussion prompt
17 videos• Total 129 minutes
- What is thread?• 8 minutes
- Why is thread lightweight?• 9 minutes
- Motivation of Multithreading• 7 minutes
- Benefits of Multithreading• 9 minutes
- What is Multicore programming?• 6 minutes
- Challenges of Multicore programming• 9 minutes
- Parallelism vs Concurrency• 7 minutes
- Types of Parallelism• 7 minutes
- User level threads & Kernel level threads• 7 minutes
- Many-to-One Model• 5 minutes
- One-to-One Model• 4 minutes
- Many-to-Many Model• 7 minutes
- Thread related data structures• 9 minutes
- Thread functions• 12 minutes
- Example of multithreaded program• 13 minutes
- Synchronous vs Asynchronous Multithreading• 4 minutes
- Thread Cancellation• 7 minutes
16 readings• Total 195 minutes
- Essential– What is thread?• 10 minutes
- Essential – Why is thread lightweight?• 10 minutes
- Essential– Motivation of Multithreading• 10 minutes
- Essential– Benefits of Multithreading• 10 minutes
- Essential– Challenges of Multicore programming• 10 minutes
- Essential– Parallelism vs Concurrency• 10 minutes
- Essential– Types of Parallelism• 10 minutes
- Essential– User level threads & Kernel level threads• 10 minutes
- Essential – Many-to-One Model• 10 minutes
- Essential – One-to-One Model• 10 minutes
- Essential – Many-to-Many Model• 10 minutes
- Essential – Thread related data structures• 10 minutes
- Essential – Thread functions• 10 minutes
- Essential – Synchronous vs Asynchronous Multithreading• 10 minutes
- Essential – Thread Cancellation• 10 minutes
- Practice codes• 45 minutes
5 assignments• Total 81 minutes
- Basics of Threads• 12 minutes
- Multicore Programming• 12 minutes
- Multithreading Models• 12 minutes
- Thread Handling in Linux• 15 minutes
- Test Yourself: Processes and Threads• 30 minutes
1 discussion prompt• Total 10 minutes
- Threads• 10 minutes
Master critical section problems, mutex locks, semaphores, and classical synchronization challenges.
What's included
17 videos17 readings5 assignments1 discussion prompt
17 videos• Total 132 minutes
- Cooperating Processes• 7 minutes
- Race Condition• 12 minutes
- Critical Section Problem• 6 minutes
- Requirements to be satisfied• 6 minutes
- Peterson’s Solution• 8 minutes
- Analysis of Peterson’s Solution• 9 minutes
- Synchronization Hardware: test_and_set()• 9 minutes
- Analysis of solution with test_and_set()• 8 minutes
- Mutex Locks• 7 minutes
- Advantages & Disadvantages of Mutex Locks• 6 minutes
- Semaphore Implementation• 11 minutes
- Types of Semaphore• 5 minutes
- Improper usage of Semaphore• 8 minutes
- Producer-Consumer Problem• 8 minutes
- Solution to Producer-Consumer Problem• 9 minutes
- Dining Philosophers Problem• 5 minutes
- Solution to Dining Philosophers Problem• 8 minutes
17 readings• Total 170 minutes
- Essential – Cooperating Processes• 10 minutes
- Essential – Race Condition• 10 minutes
- Essential – Critical Section Problem• 10 minutes
- Essential – Requirements to be satisfied• 10 minutes
- Essential – Peterson’s Solution• 10 minutes
- Essential – Analysis of Peterson’s Solution• 10 minutes
- Essential – Synchronization Hardware: test_and_set()• 10 minutes
- Essential – Analysis of solution with test_and_set()• 10 minutes
- Essential – Mutex Locks• 10 minutes
- Essential – Advantages & Disadvantages of Mutex Locks• 10 minutes
- Essential – Semaphore Implementation• 10 minutes
- Essential – Types of Semaphore• 10 minutes
- Essential – Improper usage of Semaphore• 10 minutes
- Essential – Producer-Consumer Problem• 10 minutes
- Essential – Solution to Producer-Consumer Problem• 10 minutes
- Essential – Dining Philosophers Problem• 10 minutes
- Essential – Solution to Dining Philosophers Problem• 10 minutes
5 assignments• Total 66 minutes
- Background & Preliminaries• 12 minutes
- Software & Hardware based Solutions• 12 minutes
- Mutex & Semaphore• 15 minutes
- Classical Synchronization Problems• 12 minutes
- Test Yourself: Process Synchronization• 15 minutes
1 discussion prompt• Total 10 minutes
- Process Synchronization• 10 minutes
Analyze various CPU scheduling algorithms and their performance across different computing scenarios.
What's included
16 videos2 readings4 assignments1 discussion prompt
16 videos• Total 134 minutes
- Basics of Process Scheduling • 8 minutes
- Types of Scheduler• 4 minutes
- CPU Scheduling• 9 minutes
- Features of a CPU Scheduler• 8 minutes
- Performance Metrics• 4 minutes
- FCFS Scheduling Algorithm• 14 minutes
- FCFS Example• 4 minutes
- SJF Scheduling Algorithm • 13 minutes
- Priority Scheduling Algorithm• 11 minutes
- Round Robin Scheduling Algorithm • 15 minutes
- Multilevel Scheduling Algorithm • 9 minutes
- FCFS Algorithm with IO• 8 minutes
- SJF Algorithm with IO• 7 minutes
- Priority Algorithm with IO• 8 minutes
- Round Robin Scheduling with IO• 8 minutes
- Summary: Process Scheduling• 5 minutes
2 readings• Total 90 minutes
- Essential – Introduction to Process Scheduling• 45 minutes
- Essential – Scheduling Algorithms• 45 minutes
4 assignments• Total 75 minutes
- Introduction to Process Scheduling• 24 minutes
- Scheduling Algorithms• 24 minutes
- Scheduling Algorithms with IO Consideration• 12 minutes
- Test Yourself: Process Scheduling• 15 minutes
1 discussion prompt• Total 10 minutes
- Scheduling in Modern Computer System• 10 minutes
Identify deadlock conditions and implement prevention, avoidance, and detection strategies.
What's included
14 videos4 readings5 assignments1 discussion prompt
14 videos• Total 95 minutes
- System Model• 6 minutes
- Deadlock Characterization • 5 minutes
- Resource Allocation Graph • 8 minutes
- Methods of Handling Deadlock• 4 minutes
- Mutual Exclusion and Hold & Wait• 8 minutes
- No Preemption and Circular Wait• 6 minutes
- Deadlock Avoidance - An Introduction• 5 minutes
- Resource Allocation Graph Algorithm • 5 minutes
- Banker's Algorithm - Part 1• 9 minutes
- Banker's Algorithm - Part 2• 12 minutes
- Banker's Algorithm - Part 3• 5 minutes
- Single Instance of Each Resource Type• 6 minutes
- Multiple Instances of Each Resource Type • 14 minutes
- Summary: Deadlocks• 3 minutes
4 readings• Total 160 minutes
- Introduction to Deadlocks• 10 minutes
- Essential – Deadlock Prevention• 45 minutes
- Essential – Deadlock Avoidance• 60 minutes
- Essential Deadlock Detection• 45 minutes
5 assignments• Total 78 minutes
- Introduction• 21 minutes
- Deadlock Prevention • 9 minutes
- Deadlock Avoidance• 21 minutes
- Deadlock Detection• 12 minutes
- Test Yourself: Deadlocks• 15 minutes
1 discussion prompt• Total 10 minutes
- Deadlocks in Critical Systems• 10 minutes
Explore memory allocation techniques including partitioning, paging, and segmentation.
What's included
13 videos4 readings5 assignments2 discussion prompts
13 videos• Total 101 minutes
- Introduction to Main Memory Management• 6 minutes
- Compilation System• 6 minutes
- Main Memory Management Requirements• 12 minutes
- Memory Management Unit• 9 minutes
- Fixed Partition Memory Allocation• 9 minutes
- Overlays• 9 minutes
- Dynamic Partition Memory Allocation• 5 minutes
- Dynamic Partition Allocation Schemes• 12 minutes
- Introduction to Paging• 15 minutes
- Paging - Examples• 4 minutes
- Introduction to Segmentation• 7 minutes
- Segmentation - Example• 3 minutes
- Summary: Main Memory Management• 4 minutes
4 readings• Total 145 minutes
- Essential – Introduction • 45 minutes
- Essential – Memory Partitioning• 45 minutes
- Essential – Paging• 10 minutes
- Essential – Segmentation • 45 minutes
5 assignments• Total 63 minutes
- Introduction• 15 minutes
- Memory Partitioning• 12 minutes
- Paging• 12 minutes
- Segmentation• 9 minutes
- Test Yourself: Main Memory Management• 15 minutes
2 discussion prompts• Total 20 minutes
- Memory Partitioning• 10 minutes
- Main Memory Management• 10 minutes
Implement demand paging and page replacement algorithms for efficient memory utilization.
What's included
9 videos3 readings4 assignments1 discussion prompt
9 videos• Total 59 minutes
- Motivation• 7 minutes
- Virtual Memory Concept• 7 minutes
- Introduction• 4 minutes
- Basic Concepts• 9 minutes
- Introduction to Replacement Algorithms• 6 minutes
- FIFO Algorithm• 7 minutes
- Optimal Algorithm• 6 minutes
- LRU Algorithm• 7 minutes
- Summary: Virtual Memory• 5 minutes
3 readings• Total 65 minutes
- Virtual Memory Concept• 10 minutes
- Demand Paging• 10 minutes
- Essential – Replacement Algorithms• 45 minutes
4 assignments• Total 54 minutes
- Virtual Memory Concept • 12 minutes
- Demand Paging • 9 minutes
- Replacement Algorithms• 18 minutes
- Test Yourself: Virtual Memory• 15 minutes
1 discussion prompt• Total 10 minutes
- Balancing System Performance in Everyday Computing• 10 minutes
Understand disk scheduling, RAID configurations, and efficient storage management techniques.
What's included
17 videos3 readings4 assignments
17 videos• Total 111 minutes
- Overview of Mass Storage Structure• 7 minutes
- Magnetic Disk• 11 minutes
- Magnetic Tapes• 5 minutes
- Disk Structure• 5 minutes
- Disk Attachment• 8 minutes
- Solid State Disks• 5 minutes
- Disk Scheduling • 4 minutes
- FCFS Disk Scheduling Algorithm• 4 minutes
- SSTF Disk Scheduling Algorithm • 5 minutes
- SCAN Disk Scheduling Algorithm• 6 minutes
- C-SCAN Disk Scheduling Algorithm• 7 minutes
- Disk Management• 9 minutes
- Swap Space Management• 9 minutes
- RAID Structure• 12 minutes
- Stable Storage Implementation• 6 minutes
- Summary: Mass Storage Management• 5 minutes
- Wrap-up: Operating Systems• 3 minutes
3 readings• Total 30 minutes
- Overview of Mass Storage Structure• 10 minutes
- Disk Scheduling• 10 minutes
- Disk Management• 10 minutes
4 assignments• Total 75 minutes
- Overview of Mass Storage Structure• 24 minutes
- Disk Scheduling• 18 minutes
- Disk Management• 18 minutes
- Test Yourself: Mass Storage Management• 15 minutes
Instructor

Offered by

Offered by

Birla Institute of Technology & Science, Pilani (BITS Pilani) is one of only ten private universities in India to be recognised as an Institute of Eminence by the Ministry of Human Resource Development, Government of India. It has been consistently ranked high by both governmental and private ranking agencies for its innovative processes and capabilities that have enabled it to impart quality education and emerge as the best private science and engineering institute in India. BITS Pilani has four international campuses in Pilani, Goa, Hyderabad, and Dubai, and has been offering bachelor's, master’s, and certificate programmes for over 58 years, helping to launch the careers for over 1,00,000 professionals.
Explore more from Software Development
Status: Free TrialFree TrialCourse
Status: Free TrialFree TrialCourse
Status: Free TrialFree TrialAAkamai Technologies, Inc.
Course
Status: Free TrialFree TrialCourse
Why people choose Coursera for their career

Felipe M.

Jennifer J.

Larry W.

Chaitanya A.

Open new doors with Coursera Plus
Unlimited access to 10,000+ world-class courses, hands-on projects, and job-ready certificate programs - all included in your subscription
Advance your career with an online degree
Earn a degree from world-class universities - 100% online
Join over 3,400 global companies that choose Coursera for Business
Upskill your employees to excel in the digital economy
Frequently asked questions
This course provides comprehensive coverage of operating system fundamentals and advanced concepts. Understanding operating systems is critical because they form the foundation of all computing environments, affecting software performance, security, and user experience.
This course is designed for:
- Students in Computer Science and Engineering aiming to grasp OS fundamentals - Software developers seeking to enhance system-level programming skills - IT professionals wanting to improve their knowledge of system performance optimization - DevOps engineers requiring a deeper understanding of the systems they deploy and maintain - Self-learners curious about how computers manage resources at a fundamental level
Upon completion, you'll be able to optimize system performance, design efficient resource allocation strategies, implement effective synchronization mechanisms, and troubleshoot complex OS-related issues in both personal and enterprise computing environments.
The course consists of 10 modules with approximately 40-50 hours of content including video lectures, readings, and practical assignments. Most students complete the course in less than 10 weeks at a comfortable pace.
Basic programming knowledge (preferably in C/C++), understanding of computer architecture fundamentals, and familiarity with data structures are recommended prerequisites.
The course covers process management, threading, CPU scheduling, synchronization, deadlocks, memory management, virtual memory, and mass storage systems with both theoretical foundations and practical applications.
Engage in comprehensive learning through AI-guided discussions that provide personalized mentoring on complex concepts, while tracking your progress with strategic assessments and practice quizzes. Apply your knowledge through hands-on lab exercises featuring Linux commands and thread programming, and analyze real operating system implementations to understand practical design trade-offs in both commercial and open-source environments.
This course, delivered by the faculty of BITS Pilani, offers theoretical foundations and practical implementation details, focusing heavily on real-world applications and problem-solving. It also covers contemporary topics such as multicore programming and advanced synchronization techniques, which are becoming more pertinent in today's computing landscape.
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
When you purchase a Certificate you get access to all course materials, including graded assignments. Upon completing the course, your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.
Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.
More questions
Financial aid available,