thread(5)

advertisement
5
Thread
Thread
z
Program yang dieksekusi :
z
z
z
z
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.
2
Proses Single and Multithread
3
Keuntungan
z
z
z
z
Tanggap
Pembagian Sumberdaya (Resource Sharing)
Economis
Pemberdayaan arsitektur multiprosesor
4
User Thread
z
z
Pengelolaan thread dilakukan oleh user level
Contoh :
- POSIX Pthreads
- Mach C-threads
- Solaris threads
5
Kernel Thread
z
z
Didukung oleh Kernel
Contoh :
- Windows 95/98/NT/2000
- Solaris
- Tru64 UNIX
- BeOS
- Linux
6
Model Multithreading
z
Many-to-One
z
One-to-One
z
Many-to-Many
7
Many-to-One
z
z
Beberapa thread user-lever dipetakan ke dalam single kernel
thread
Penggunaannya pada sistem tidak memerlukan dukungan
kernel thread
8
One-to-One
z
z
Setiap user-level thread dipetakan ke kernel thread.
Contoh :
- Windows 95/98/NT/2000
- OS/2
9
Many-to-Many Model
z
z
z
Membolehkan setiap user-level thread dipetakan ke banyak
kernel thread
Membolehkan sistem operasi membuat sejumlah kernel thread
Contoh :
z
z
Windows NT/2000 dengan paket ThreadFiber
Solaris 2
10
Isu Threading
z
z
z
z
z
Semantik dari fork() dan exec() system calls.
Pembatalan thread.
Penanganan signal
Pengelompokan thread
Thread untuk data spesifik
11
Pthreads
z
z
z
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.
12
Solaris 2 Threads
13
Solaris Process
14
Windows 2000 Threads
z
z
Implementasi menggunakan pemetaan oneto-one
Setiap thread terdiri dari :
- thread id
- register set
- pembagian user dan kernel stacks
- private data storage area
15
Linux Threads
z
z
z
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)
16
Java Threads
z
Java threads dibuat melalui :
z
z
z
Extending Thread class
Implementasi Runnable interface
Java threads dikelola oleh JVM.
17
Java Thread States
18
Download