04 Thread

advertisement
Bab 4: Thread
Pendahuluan
Model Multithreading
PermasalahanThreading
Pthreads
Solaris 2 Threads
Windows 2000 Threads
Linux Threads
Java Threads
5.1
Single Process dan Multithread
Process
5.2
1
Kelebihan
Tingkat responsif
Penggunaan Resource bersama-sama
Ekonomi
Utilitas arsitektur mikroprosessor
5.3
User Threads
Adalah pengelolaan thread yang dilakukan oleh userlevel threads library
Contoh
- POSIX Pthreads
- Mach C-threads
- Solaris threads
5.4
2
Kernel Threads
Didukung dengan Kernel
Contoh
- Windows 95/98/NT/2000
- Solaris
- Tru64 UNIX
- BeOS
- Linux
5.5
Model Multithreading
Many-to-One
One-to-One
Many-to-Many
5.6
3
Many-to-One
Beberapa user-level threads dipetakan ke satu kernel
thread.
Digunakan pada sistem yang tidak didukung kernel
threads.
5.7
Model Many-to-One
5.8
4
One-to-One
Setiap user-level thread dipetakan ke kernel thread.
Contoh
- Windows 95/98/NT/2000
- OS/2
5.9
Model One-to-one
5.10
5
Many-to-Many
Memungkinkan beberapa user level thread dipetakan ke
beberapa kernel thread.
Memungkinkan sistem operasi membuat sejumlah kernel
thread.
Solaris 2
Windows NT/2000 dengan ThreadFiber package
5.11
Model Many-to-Many
5.12
6
Permasalahan Threading
Semantik system call fork() dan exec().
Pembatalan Thread.
Penanganan sinyal (signal handling)
Thread pools
Thread specific data
5.13
Pthreads
Adalah API standar POSIX (IEEE 1003.1c) untuk
pembuatan dan sinkronisasi thread.
API menentukan perilaku thread library, implementasi
sesuai perkembangan library.
Umum pada sistem operasi UNIX.
5.14
7
Solaris 2 Threads
5.15
Solaris Process
5.16
8
Windows 2000 Threads
Mengimplementasikan pemetaan one-to-one.
Setiap thread terdiri dari
- thread id
- sekumpulan register
- memisahkan stack user dan kernel
- area penyimpan data privat
5.17
Linux Threads
Linux menggunakan istilah thread sebagai tasks daripada
thread.
Pembuatan thread dilakuka dengan system call clone().
Clone() memungkinkan task child menggunakan ruang
alamat yang sama dengan task parent (process).
5.18
9
Java Threads
Java threads dibuat dengan :
Class Thread
Mengimplementasikan antar muka yang Runnable
Java thread dikelola oleh JVM.
5.19
State pada Java Thread
5.20
10
Download