OPERATING SYSTEM |
THREAD
Thread
Thread
adalah unit kecil dalam suatu proses yang bisa dijadwalkan oleh system operasi
Multithreading
Multi threading
adalah kemampuan sebuah program untuk melakukan lebih dari satu pekerjaan
sekaligus. Keuntungan dari multithreading adalah sifat respons yang interaktif
dan real-time. Arti istilah Multithreading dianggap berkaitan erat dengan
pengertian multi thread merupakan jalannya beberapa proses dengan urutan yang
cepat (multitasking) dalam satu program. Multithreading ini merupakaan teknik
pada manipulasi data dimana node-node pada struktur pohon data berisi penunjuk
ke node yang lebih tinggi untuk membuat lintasan struktur menjadi lebih
efisien.
Thread vs Proses
Proses dan thread dua
teknik yang digunakan oleh programmer untuk mengontrol prosesor dan pelaksanaan
instruksi pada komputer dengan cara yang efisien dan efektif. Sebuah proses
dapat berisi beberapa thread. Thread menyediakan cara yang efisien untuk
berbagi memori meskipun beroperasi beberapa eksekusi dari proses. Oleh karena
itu, thread merupakan alternatif untuk beberapa proses. Dengan tren yang
berkembang menuju prosesor multi-core, thread akan menjadi alat yang paling
penting dalam dunia programmer.
Kelebihan Thread
1.
Responsive,
Aplikasi interaktif menjadi tetap responsif meskipun sebagian dari program
sedang diblok atau melakukan operasi lain yang panjang. Umpamanya, sebuah
thread dari web browser dapat melayani permintaan pengguna sementara thread
yang lain berusaha menampilkan gambar.
2.
Berbagi sumber
daya. Beberapa thread yang melakukan proses yang sama akan berbagi sumber daya.
Keuntungannya adalah mengizinkan sebuah aplikasi untuk mempunyai beberapa
thread yang berbeda dalam lokasi memori yang sama.
3.
Tanggap: Multithreading mengizinkan
program untuk berjalan terus walau pun pada bagian program tersebut di block
atau sedang dalam keadaan menjalankan operasi yang lama/ panjang. Sebagai
contoh, multithread web browser dapat mengizinkan pengguna berinteraksi dengan
suatu thread ketika suatu gambar sedang diload oleh thread yang lain.
4.
Pembagian sumber
daya: Secara default, thread membagi memori dan sumber daya dari
proses. Keuntungan dari pembagian kode adalah aplikasi mempunyai perbedaan
aktifitas thread dengan alokasi memori yang sama.
5.
Ekonomis.
Pembuatan sebuah proses memerlukan pengalokasian memori dan sumber daya.
Alternatifnya adalah dengan menggunakan thread, karena thread membagi memori
dan sumber daya yang dimilikinya sehingga lebih ekonomis untuk membuat thread
dan context switching thread. Akan susah mengukur perbedaan waktu antara thread
dan switch, tetapi secara umum pembuatan dan pengaturan proses akan memakan
waktu lebih lama dibandingkan dengan thread. Pada Solaris, pembuatan proses
memakan waktu 30 kali lebih lama dibandingkan pembuatan thread sedangkan proses
context switch 5 kali lebih lama dibandingkan context switching thread.
6.
Utilisasi
arsitektur multiprosesor. Keuntungan dari multithreading dapat sangat meningkat
pada arsitektur multiprosesor, dimana setiap thread dapat berjalan secara
paralel di atas procesor yang berbeda. Pada arsitektur processor tunggal, CPU
menjalankan setiap thread secara bergantian tetapi hal ini berlangsung sangat
cepat sehingga menciptakan ilusi paralel, tetapi pada kenyataanya hanya satu
thread yang dijalankan CPU pada satu-satuan waktu.
7.
Peningkatan
Throughput sistem: Jika proses dibagi menjadi beberapa thread dan setiap fungsi
thread dianggap sebagai satu pekerjaan, maka jumlah pekerjaan yang diselesaikan
per satuan waktu akan meningkat. Dengan demikian, meningkatkan throughput
sistem.
Jenis Thread
1.
User Thread
User thread didukung
oleh kernel dan diimplementasikan oleh thread library ditingkat pengguna.
Library mendukung untuk pembentukan thread, penjadualan, dan managemen yang
tidak didukung oleh kernel. Contoh user thread adalah POSIX Pthreads, Mach
C-threads, dan Solaris threads.
2.
Kernel Thread
Kernel thread
didukung secara langsung oleh sistem operasi: pembentukan thread, penjadualan,
dan managemen dilakukan oleh kernel dalam ruang kernel. Karena managemen thread
telah dilakukan oleh sistem operasi, kernel thread biasanya lebih lambat untuk
membuat dan mengelola daripada pengguna thread. Windows NT, Solaris, dan
Digital UNIX adalah sistem operasi yang mendukung kernel thread.
Sumber : Geeksforgeeks
0 komentar:
Post a Comment