Anda di halaman 1dari 16

THREAD

Ria Andriani
Thread

 Thread merupakan unit dasar dari penggunaan CPU, yang terdiri dari
Thread_ID, program counter, register set, dan stack. Sebuah tread berbagi code
section, data section, dan sumber daya sistem operasi dengan thread lain yang
dimiliki oleh proses yang sama.
 Contohnya : sebuah web browser mempunyai thread untuk menampilkan
gambar atau tulisan sedangkan thread yang lain berfungsi sebagai penerima
data dari network.
Manfaat Thread

 Adapun keuntungan dari Multi-Threading adalah:


1. Responsif : aplikasi interaktif menjadi tetap responsif meskipun sebagian dari program
sedang di block atau melakukan operasi yang panjang kepada pengguna. Misalnya sebuah
thread dari web browser dapat melayani permintaan pengguna sementara thread lain
berusaha menampilkan gambar.
2. Berbagi sumber daya : thread berbagi memori dan sumber daya dengan thread lain yang
dimiliki oleh proses yang sama, keuntungannya adalah mengizinkan sebuah aplikasi untuk
mempunyai beberapa thread yang berbeda dalam lokasi memori yang sama.
Manfaat Thread

3. Ekonomis. Pembuatan sebuah proses dibutuhkan pengalokasian memori dan sumber daya.
Alternatifnya adalah dengan penggunaan thread, karena thread berbagi memori dan sumber daya
proses yang memilikinya maka akan lebih ekonomis untuk membuat dan context switch thread.
Akan susah untuk mengukur perbedaan waktu antara proses dan thread dalam hal pembuatan dan
pengaturan, tetapi secara umum pembuatan dan pengaturan proses lebih lama dibandingkan
thread. Pada Solaris, pembuatan proses lebih lama 30 kali dibandingkan pembuatan thread, dan
context switch proses 5 kali lebih lama dibandingkan context switch thread.
Manfaat Thread

4. Utilisasi arsitektur multiprocessor. Keuntungan dari multithreading dapat sangat meningkat


pada arsitektur multiprocessor, dimana setiap thread dapat berjalan secara pararel di atas processor
yang berbeda. Pada arsitektur processor tunggal, CPU menjalankan setiap thread secara
bergantian tetapi hal ini berlangsung sangat cepat sehingga menciptakan ilusi pararel, tetapi pada
kenyataannya hanya satu thread yang dijalankan CPU pada satu-satuan waktu (satu-satuan waktu
pada CPU biasa disebut time slice atau quantum).
Model Multi-Threading
1. Model Many-to-One
Model Many-to-One memetakan beberapa thread tingkatan pengguna
ke sebuah thread tingkatan kernel. Pengaturan thread dilakukan dalam
ruang pengguna, sehingga efisien. Hanya satu thread pengguna yang dapat
mengakses thread kernel pada satu saat. Jadi, multiple thread tidak dapat
berjalan secara pararel pada multiprocessor. Thread tingkat pengguna yang
diimplementasi pada Thread Pengguna dan Kernel sistem operasi yang
tidak mendukung thread kernel menggunakan model Many-to-One.
Model Multi-Threading
2. Model One-to-One
Model One-to-One memetakan setiap thread tingkatan pengguna ke thread
kernel. Ia menyediakan lebih banyak concurrency dibandingkan model Many-
to-One. Keuntungannya sama dengan keuntungan thread kernel.
Kelemahannya model ini ialah setiap pembuatan thread pengguna
memerlukan pembuatan thread kernel. Karena pembuatan thread dapat
menurunkan kinerja dari sebuah aplikasi maka implmentasi dari model ini,
jumlah thread dibatasi oleh sistem. Contoh sistem operasi yang mendukung
model One-to-One ialah Windows NT dan OS/2.
Model Multi-Threading

3. Model Many-to-Many

Model Many-to-Many memultipleks banyak thread tingkatan pengguna

ke thread kernel yang jumlahnya lebih sedikit atau sama dengan

tingkatan pengguna.
Asymmetric Multiprocessing
Dalam Asymmetric Multiprocessing (AMP), sistem operasi biasanya menyisihkan satu
atau lebih prosesor untuk penggunaan tertentu secara eksklusif. sisa dari prosesor yang
lain akan menjalankan aplikasi user. Hal ini akan memaksa aplikasi untuk menunggu
sementara sistem membangun Cache yang akan mengurangi kecepatan transfer
keseluruhan sistem. Dalam mode ini, jika prosesor mengalami kegagalan pada sistem
operasi , seluruh komputer akan Down!
Symmetric Multiprocessing

Symmetric Multiprocessing (SMP) menggunakan teknologi yang menghasilkan kinerja


yang lebih baik. Dalam Symmetric Multiprocessing (SMP) setiap prosesor dapat
menjalankan semua jenis bagian. Prosesor berkomunikasi satu dengan yang lainnya
melalui memori yang digunakan bersama.
Sistem Symmetric Multiprocessing (SMP)

Sistem Symmetric Multiprocessing (SMP) memiliki Load-Balancing (Keseimbangan


Pemuatan) dan toleransi kesalahan yang lebih baik. Hal ini dikarenakan bagian dalam
sistem operasi dapat berjalan pada prosesor manapun dan kemungkinan terjadinya error
dan hambatan pada CPU akan berkurang.
Semua prosesor diizinkan menjalankan campuran berbagai macam aplikasi dan kode
sistem operasi. Kegagalan prosesor dalam mode Symmetric Multiprocessing (SMP)
kapasitas komputasi (Kemampuan dalam mengkomputerisasi suatu tugas) dan tidak
akan membuat sistem menjadi Down atau lumpuh total.
Sistem Symmetric Multiprocessing (SMP)
Microkernel

Microkernel berguna untuk menjalankan servis yang paling banyak


(sering dijalankan) namun ringan seperti jaringan, filesystem,
driver, dll. Yang tugas kernelnya ringan yang hanya berupa servis-
servis dasar seperti alokasi memori, penjadwalan, dan messaging
(Inter Process Communication).
Microkernel
Pada teorinya, konsep ini membuat kernel menjadi lebih responsif
karena Microkernel dijalankan di user space, bukan di kernel space.
Sehingga Kernel tidak perlu terlalu sibuk menjadwalkan banyak
thread-thread kecil dari servis-servis dasar tersebut. Namun pada
prakteknya terdapat kendala seperti jika terjadi sistem crash. Pada
sistem yang crash, Kernel akan tetap berjalan, namun User Space
akan terganggu dan bisa saja terjadi kehilangan informasi.
Microkernel akan menjadi merugikan karena Microkernel disimpan
di User Space.
Microkernel
Pada teorinya, konsep ini membuat kernel menjadi lebih responsif
karena Microkernel dijalankan di user space, bukan di kernel space.
Sehingga Kernel tidak perlu terlalu sibuk menjadwalkan banyak
thread-thread kecil dari servis-servis dasar tersebut. Namun pada
prakteknya terdapat kendala seperti jika terjadi sistem crash. Pada
sistem yang crash, Kernel akan tetap berjalan, namun User Space
akan terganggu dan bisa saja terjadi kehilangan informasi.
Microkernel akan menjadi merugikan karena Microkernel disimpan
di User Space.
Terima Kasih

Anda mungkin juga menyukai