Tutorialspoint

Operating system concepts-2

Master the basics of multithreading, Pthreads, synchronization, locks, semaphores, concurrency, deadlocks from scratch.

Course Description

Ace multithreading, Pthreads, synchronization, locks, semaphores, concurrency, deadlocks questions in competitive exams, job interviews, and OS course exams.

Do you know: A single-threaded process can only execute on one core even if the machine has eight cores? A multithreaded process can exploit the true hardware parallelism! What are data races? What is process synchronization? What are atomic operations? How to implement correct multithreaded programs without data races? What are locks and semaphores? How do we use locks and semaphores to implement correct synchronization solutions? What are deadlocks? What are the necessary conditions for deadlocks? How do operating systems deal with deadlocks? How do operating systems implement threads? How do operating systems implement locks to ensure correct mutual exclusion and synchronization? Learn the explanations to these and many more intriguing questions in this course!

Who this course is for:

  • Anyone interested in learning about operating systems in modern computers could benefit from this course.
  • Computer science undergraduate students taking an operating systems course could benefit from the course.
  • You may (optionally) wish to print some of the material.

Goals

What you will learn?

  • Why use threads in programs?

  • What are the overheads of using processes?

  • What is the key idea behind threads?

  • Difference between single vs multithreaded processes

  • Benefits of using threads.

  • Pthread basics.

  • How to create a thread using Pthread?

  • How to pass parameters to a thread?

  • How to use Pthread_self, Pthread_equal?

  • How to terminate a thread?

  • How to use Pthread_join to wait for a thread to terminate?

  • How to return values from thread functions?

  • How to wait for threads?

  • How to detach a thread using Pthread_detach?

  • What are global variables in threads?

  • What is concurrency in programs?

  • What are race conditions and atomic operations?

  • What is synchronization?

  • What are the correctness properties for synchronization solutions?

  • How to enforce mutual exclusion?

  • What are locks?

  • How to use locks in Pthreads?

  • How to avoid deadlock with locks?

  • What are semaphores?

  • What are synchronization patterns--bounded concurrent access, signaling?

  • How to employ semaphores to avoid busy waiting?

  • How multithreading interacts with multicores?

  • What are the challenges of multicore programming?

  • How to designing multithreaded programs?

  • What are thread pools?

  • What is the readers-writers problem?

  • How to solve the readers-writers problem?

  • What is the dining philosophers problem?

  • How to solve the dining philosophers problem?

  • What are the 4 necessary conditions for deadlocks?

  • How to prevent deadlocks?

  • What is resource allocation graph?

  • How to handle deadlocks?

  • How to implement threads?

  • What are user threads and kernel threads?

  • How are threads implemented in Linux?

  • How are locks implemented?

  • What is the TestAndSet atomic instruction?

  • What are spin locks?

  • How do locks influence performance?

Prerequisites

  • No previous knowledge about operating systems needed. Everything you need to know about the topics will be covered.


Show More

Curriculum

  • Why use threads?
    03:09
    Preview
  • Overheads of using processes
    03:19
    Preview
  • Key idea behind threads
    02:46
    Preview
  • Single vs multithreaded processes
    07:07
    Preview
  • Benefits of threads
    03:09
Tutorialspoint
Tutorialspoint
Tutorialspoint
Tutorialspoint
Tutorialspoint
Tutorialspoint
Tutorialspoint
Tutorialspoint
Tutorialspoint
Tutorialspoint
Feedbacks
  • No Feedbacks Posted Yet..!
Operating system concepts-2
This Course Includes
  • 4 hours
  • 72 Lectures
  • 2 Resources
  • Completion Certificate Sample Certificate
  • Lifetime Access Yes
  • Language English
  • 30-Days Money Back Guarantee

Sample Certificate

Sample certificate

Use your certification to make a career change or to advance in your current career. Salaries are among the highest in the world.

We have 30 Million registered users and counting who have advanced their careers with us.

X

Sample Certificate

Talk to us

1800-202-0515