Thread di Sistem Operasi

18
Thread Edi Ismanto,S.T,M.Kom Mata Kuliah Sistem Operasi 5

description

Materi Kuliah Sistem Operasi Komputer oleh Edi Ismanto

Transcript of Thread di Sistem Operasi

Page 1: Thread di Sistem Operasi

Thread

Edi Ismanto,S.T,M.Kom

Mata Kuliah Sistem Operasi

5

Page 2: Thread di Sistem Operasi

2

Thread

Program yang dieksekusi : Proses berat (heavyweight) => proses tradisional Proses ringan (lightweight) => THREAD

Thread terdiri dari ID thread, program counter, himpunan register dan stack.

Thread dapat melakukan lebih dari satu pekerjaan pada waktu yang sama.

Page 3: Thread di Sistem Operasi

3

Proses Single and Multithread

Page 4: Thread di Sistem Operasi

4

Keuntungan

Tanggap Pembagian Sumberdaya (Resource Sharing) Economis Pemberdayaan arsitektur multiprosesor

Page 5: Thread di Sistem Operasi

5

User Thread

Pengelolaan thread dilakukan oleh user level Contoh :

- POSIX Pthreads

- Mach C-threads

- Solaris threads

Page 6: Thread di Sistem Operasi

6

Kernel Thread

Didukung oleh Kernel Contoh :

- Windows 95/98/NT/2000

- Solaris

- Tru64 UNIX

- BeOS

- Linux

Page 7: Thread di Sistem Operasi

7

Model Multithreading

Many-to-One

One-to-One

Many-to-Many

Page 8: Thread di Sistem Operasi

8

Many-to-One

Beberapa thread user-lever dipetakan ke dalam single kernel thread

Penggunaannya pada sistem tidak memerlukan dukungan kernel thread

Page 9: Thread di Sistem Operasi

9

One-to-One

Setiap user-level thread dipetakan ke kernel thread. Contoh :

- Windows 95/98/NT/2000

- OS/2

Page 10: Thread di Sistem Operasi

10

Many-to-Many Model Membolehkan setiap user-level thread dipetakan ke banyak

kernel thread Membolehkan sistem operasi membuat sejumlah kernel thread Contoh :

Windows NT/2000 dengan paket ThreadFiber Solaris 2

Page 11: Thread di Sistem Operasi

11

Isu Threading

Semantik dari fork() dan exec() system calls. Pembatalan thread. Penanganan signal Pengelompokan thread Thread untuk data spesifik

Page 12: Thread di Sistem Operasi

12

Pthreads

Suatu POSIX standard (IEEE 1003.1c) API untuk pembuatan thread dan sinkronisasi synchronization.

API menentukan perlakuan terhadap thread library, dan implementasi pembangunan libarary.

Ditemui pada sistem operasi UNIX.

Page 13: Thread di Sistem Operasi

13

Solaris 2 Threads

Page 14: Thread di Sistem Operasi

14

Solaris Process

Page 15: Thread di Sistem Operasi

15

Windows 2000 Threads

Implementasi menggunakan pemetaan one-to-one

Setiap thread terdiri dari :

- thread id

- register set

- pembagian user dan kernel stacks

- private data storage area

Page 16: Thread di Sistem Operasi

16

Linux Threads

Linux lebih mengacu pada tasks dibandingkan threads.

Pembuatan thread dilakukan menggunakan sistem clone() system call.

Clone() membolehkan child task untuk berbagi ruang alamat pada parent task (proses)

Page 17: Thread di Sistem Operasi

17

Java Threads

Java threads dibuat melalui : Extending Thread class Implementasi Runnable interface

Java threads dikelola oleh JVM.

Page 18: Thread di Sistem Operasi

18

Java Thread States