Proses merupakan sebuah
program yang mengeksekusi thread tunggal. Kendali thread tunggal ini
hanya memungkinkan proses untuk menjalankan satu tugas pada satu waktu.
Banyak sistem operasi modern telah memiliki konsep yang dikembangkan
agar memungkinkan sebuah proses untuk mengeksekusi multi-threads.
Misalnya user melakukan pekerjaan secara bersamaan yaitu mengetik dan
menjalankan pemeriksaan ejaan didalam proses yang sama.
Thread merupakan unit dasar dari
penggunaan CPU, yang terdiri dari Thread ID, program counter, register
set, dan stack. Sebuah thread berbagi code section, data section, dan
sumber daya sistem operasi dengan Thread lain yang dimiliki oleh proses
yang sama. Thread juga sering disebut lightweight process. Sebuah proses
tradisional atau heavyweight process mempunyai thread tunggal yang
berfungsi sebagai pengendali. Perbedaannya ialah proses dengan thread
yang banyak mengerjakan lebih dari satu tugas pada satu satuan waktu.
Pada umumnya, perangkat lunak yang
berjalan pada komputer modern dirancang secara multithreading. Sebuah
aplikasi biasanya diimplementasi sebagai proses yang terpisah dengan
beberapa thread yang berfungsi sebagai pengendali. Contohnya sebuah web
browser mempunyai thread untuk menampilkan gambar atau tulisan sedangkan
thread yang lain berfungsi sebagai penerima data dari network.
Terkadang ada sebuah aplikasi
yang perlu menjalankan beberapa tugas yang serupa. Sebagai contohnya
sebuah web server dapat mempunyai ratusan klien yang mengaksesnya secara
concurrent. Kalau web server berjalan sebagai proses yang hanya
mempunyai thread tunggal maka ia hanya dapat melayani satu klien pada
pada satu satuan waktu. Bila ada klien lain yang ingin mengajukan
permintaan maka ia harus menunggu sampai klien sebelumnya selesai
dilayani. Solusinya adalah dengan membuat web server menjadi
multi-threading. Dengan ini maka sebuah web server akan membuat thread
yang akan mendengar permintaan klien, ketika permintaan lain diajukan
maka web server akan menciptakan thread lain yang akan melayani
permintaan tersebut [MDGR2006].
Post a Comment