1. Trang chủ
  2. » Công Nghệ Thông Tin

Lecture Operating system concepts (Sixth ed) - Chapter 5: Threads

10 60 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 10
Dung lượng 0,95 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

In this chapter, we introduce many concepts associated with multithreaded computer systems, including a discussion of the APIs for the Pthreads, Windows, and Java thread libraries. We look at a number of issues related to multithreaded programming and its effect on the design of operating systems. Finally, we explore how the Windows and Linux operating systems support threads at the kernel level.

Trang 1

Silberschatz, Galvin and Gagne  2002 5.1

Operating System Concepts

Chapter 5: Threads

n Overview

n Multithreading Models

n Threading Issues

n Pthreads

n Solaris 2 Threads

n Windows 2000 Threads

n Linux Threads

n Java Threads

Single and Multithreaded Processes

Trang 2

Silberschatz, Galvin and Gagne  2002 5.3

Operating System Concepts

Benefits

n Responsiveness

n Resource Sharing

n Economy

n Utilization of MP Architectures

User Threads

n Thread management done by user-level threads library

n Examples

- POSIX Pthreads

- Mach C-threads

Trang 3

Silberschatz, Galvin and Gagne  2002 5.5

Operating System Concepts

Kernel Threads

n Supported by the Kernel

n Examples

- Windows 95/98/NT/2000

- Solaris

- Tru64 UNIX

- BeOS

- Linux

Multithreading Models

n Many-to-One

n One-to-One

n Many-to-Many

Trang 4

Silberschatz, Galvin and Gagne  2002 5.7

Operating System Concepts

Many-to-One

n Many user-level threads mapped to single kernel thread

n Used on systems that do not support kernel threads

Many-to-One Model

Trang 5

Silberschatz, Galvin and Gagne  2002 5.9

Operating System Concepts

One-to-One

n Each user-level thread maps to kernel thread

n Examples

- Windows 95/98/NT/2000

- OS/2

One-to-one Model

Trang 6

Silberschatz, Galvin and Gagne  2002 5.11

Operating System Concepts

Many-to-Many Model

n Allows many user level threads to be mapped to many

kernel threads

n Allows the operating system to create a sufficient number

of kernel threads

n Solaris 2

n Windows NT/2000 with the ThreadFiber package

Many-to-Many Model

Trang 7

Silberschatz, Galvin and Gagne  2002 5.13

Operating System Concepts

Threading Issues

n Semantics of fork() and exec() system calls

n Thread cancellation

n Signal handling

n Thread pools

n Thread specific data

Pthreads

n a POSIX standard (IEEE 1003.1c) API for thread creation

and synchronization

n API specifies behavior of the thread library,

implementation is up to development of the library

n Common in UNIX operating systems

Trang 8

Silberschatz, Galvin and Gagne  2002 5.15

Operating System Concepts

Solaris 2 Threads

Solaris Process

Trang 9

Silberschatz, Galvin and Gagne  2002 5.17

Operating System Concepts

Windows 2000 Threads

n Implements the one-to-one mapping

n Each thread contains

- a thread id

- register set

- separate user and kernel stacks

- private data storage area

Linux Threads

n Linux refers to them as tasks rather than threads.

n Thread creation is done through clone() system call

n Clone() allows a child task to share the address space of

the parent task (process)

Trang 10

Silberschatz, Galvin and Gagne  2002 5.19

Operating System Concepts

Java Threads

n Java threads may be created by:

F Extending Thread class

F Implementing the Runnable interface

n Java threads are managed by the JVM

Java Thread States

Ngày đăng: 30/01/2020, 01:13

TỪ KHÓA LIÊN QUAN