Multithreaded Processes - Operating Systems, Distributed Computation - Lecture Slides, Slides of Operating Systems

During the course of work of the Operating Systems, Distributed Computation, we learn the core of the programming. The main points disucss in these lecture slides are:Multithreaded Processes, Threading Issues, Linux Threads, Java Threads, Resource Sharing, User Threads, Solaris Threads, Kernel Threads, Many-To-One Model, One-To-One Model, Thread Cancellation, Signal Handling

Typology: Slides

2012/2013

Uploaded on 04/24/2013

banamala
banamala 🇮🇳

4.4

(19)

114 documents

1 / 19

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
THREADS
Overview
Multithreading Models
Threading Issues
Pthreads
Solaris 2 Threads
Windows 2000 Threads
Linux Threads
Java Threads
Docsity.com
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13

Partial preview of the text

Download Multithreaded Processes - Operating Systems, Distributed Computation - Lecture Slides and more Slides Operating Systems in PDF only on Docsity!

THREADS

Overview Multithreading Models Threading Issues Pthreads Solaris 2 Threads Windows 2000 Threads Linux Threads Java Threads

Single and Multithreaded Processes

User Threads

  • Thread management done by user-level threads library
  • Examples
    • POSIX Threads (Pthreads)
    • Mach C-threads
    • Solaris threads

Kernel Threads

  • Supported by the Kernel
  • Examples
    • Windows 95/98/NT/
    • Solaris
    • Tru64 UNIX
    • BeOS
    • Linux

Many-to-One

  • Many user-level threads mapped to single kernel thread.
  • Used on systems that do not support kernel threads.

Many-to-One Model

One-to-one Model

Many-to-Many Model

  • Allows many user level threads to be mapped to many kernel threads.
  • Allows the operating system to create a sufficient number of kernel threads. - Solaris 2 - Windows NT/2000 with the ThreadFiber package

Threading Issues

  • Semantics of fork() and exec() system calls.
  • Thread cancellation.
  • Signal handling
  • Thread pools
  • Thread specific data

Pthreads

  • a POSIX standard (IEEE 1003.1c) API for thread creation and synchronization.
  • API specifies behavior of the thread library, implementation is up to development of the library.
  • Common in UNIX operating systems.

Windows 2000 Threads

  • Implements the one-to-one mapping.
  • Each thread contains
    • a thread id
    • register set
    • separate user and kernel stacks
    • private data storage area

Linux Threads

  • Linux refers to them as tasks rather than threads.
  • Thread creation is done through clone() system call.
  • Clone() allows a child task to share the address space of the parent task (process)

Java Thread States