Thread (singkatan dari "thread of execution") dalam ilmu
komputer, diartikan sebagai sekumpulan perintah (instruksi) yang dapat
dilaksanakan (dieksekusi) secara sejajar dengan ulir lainnya, dengan
menggunakan cara time slice (ketika satu CPU melakukan perpindahan
antara satu ulir ke ulir lainnya) atau multiprocess (ketika ulir-ulir
tersebut dilaksanakan oleh CPU yang berbeda dalam satu sistem). Ulir
sebenarnya mirip dengan proses, tapi cara berbagi sumber daya antara
proses dengan ulir sangat berbeda. Multiplethread dapat dilaksanakan
secara sejajar pada sistem komputer. Secara umum multithreading
melakukan time-slicing (sama dengan time-division multipleks), di mana
sebuah CPU bekerja pada ulir yang berbeda, di mana suatu kasus ditangani
tidak sepenuhnya secara serempak, untuk CPU tunggal pada dasarnya
benar-benar melakukan sebuah pekerjaan pada satu waktu. Teknik
penggantian (switching) ini memungkinkan CPU seolah-olah bekerja secara
serempak.
Urutan. Sesuatu yang dieksekusi secara konsekuen dan dapat diiterupsi
sehingga prosesor beralih ke thread lain. Dari sudut pandang
penjadwalan, konsep ini ekivalen proses pada kebanyakan sistem operasi
konvensional sebagai satu unit sasaran penjadwalan.
1. Multithreading dan Multiprocessing
Semua proses merupakan unit kepemilikan dan unit penjadwalan
(aktivitas). Pada system operasi mutakhir, proses dapat mempunyai banyak
aktivitas idependen, sehingga:
- Thread adalah abstraksi dari unit aktivitas (penjadwalan)
- Proses adalah unit kepemilikan sumber daya
Proses adalah lingkungan eksekusi, unit managemen sumber daya, yaitu
kumpulan sumber daya dimana thread-thread dapat mengaksesnya.
1.1. Proses dan Thread
Proses memiliki satu thread atau lebih. System yang memungkinkan lebih
dari satu thread dip roses disebut multithread ing. Pada
multiprocessors, thread-thread di satu proses dapat berjalan secara
paralel.
Thread sering disebut Light Weight Process (LWP) yaitu unit dasar
utilitasi pemroses dan berisi progam counter, register set dan stack
space. Thread-thread di satu proses berbagi (memakai
bersama) bagian kode, data dan sumber daya system operasi seperti file
dan signal. Pemakaian ektensif menyebabkan alih pemroses antara thread
–thread di satu proses tidak mahal disbanding alih konteks antar proses.
Meski alih thread masih memerlukan alih himpunan register, namun tidak
ada keterlibatan manajemen memori.
Multithread ing merupakan upaya meningkatkan kinerja system computer, disebabkan [TAN92]:
1. Penciptaan thread baru lebih cepat dibanding penciptaan proses baru
2. Terminasi thread lebih cepat dibanding pengakhiran proses.
3. Alih ke thread lain di satu proses lebih cepat dibanding dari satu proses ke proses lain.
4. Thread-thread di satu proses dapat berbagi kode, data dan sumber daya
lain secara nyaman dan efisien dibanding proses-proses terpisah.
Tidak ada komentar:
Posting Komentar