Alison's New App is now available on iOS and Android! Download Now

Operating Systems - Deadlocks and Threads

Learn about deadlocks and threads in computer operating systems with this free online computer OS course.

Publisher: NPTEL
In this free online operating systems course you will learn about the four conditions that may cause deadlocks, and more importantly, how to prevent that from happening. Deadlock is a condition in which two or more threads are blocked indefinitely because they are waiting for each other. In this course, you will learn about the Dining Philosophers Scenario, the difference between threads and processes, and how threads are used in paralyzation.
Operating Systems - Deadlocks and Threads
  • Duration

    1.5-3 Hours
  • Students

  • Accreditation


Share This Course And
Earn Money  

Become an Affiliate Member





View course modules


Whether or not a deadlock arises in an operating system depends on many different factors. To detect a deadlock, the OS needs to keep track of current resource allocation and current request allocation. This course will teach you the three main ways to handle deadlocks: by detection and recovery, avoidance, or prevention. You will then study the Dining Philosopher’s problem and the role of mutex in deadlocks. You will also learn what semaphore and mutual exclusions are.

You will then look into paralyzation and learn how threads are used within it. Threads are execution entities and light-weight processes, while user threads and kernel threads are two strategies for managing threads. The course will discuss the difference between threads and processes, and describe how threads are created and destroyed. You will study how different operating systems support threads in different ways and learn how a Graphics Processing Unit (GPU) perform thousands of tasks in parallel.

This course on the important concepts of deadlocks and threads is part of a series of Operating Systems courses. This series includes Introduction to Memory Management, Introduction to Operating Systems Processes, Understanding Hardware and Software Interrupts, Introduction to Scheduling, and Introduction to Synchronization. Each course is designed to help you enhance your computer programming skills, so once you have completed this course make sure to check the rest out!

Start Course Now