Threads & Processes: Definisi dan Perbedaannya
- Universitas Teknokrat Indonesia / Fakultas Teknik dan Ilmu Komputer
- Clifansi Remi Siwi Hati / 21312004 / IF 21 A
ㅤ A. DEFINISI
ㅤㅤ I. Thread
ㅤㅤㅤ Unit dasar dari utilisasi CPU.
Di dalamnya terdapat ID thread, program counter, register, dan stack. Dan saling berbagi dengan
thread lain dalam proses yang sama. Sebuah alur kontrol dari sebuah proses. Suatu proses yang multithreaded mengandung beberapa perbedaan alur kontrol dengan ruang alamat yang sama.
ㅤㅤㅤ Sebuah program yang menjalankan eksekusi thread tunggal. Sebagai contoh, jika sebuah proses
menjalankan sebuah program Word Processor, ada sebuah thread tunggal dari instruksi-instruksi yang
sedang dilaksanakan.
Kontrol 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 memiliki eksekusi multithreads, agar dapat dapat secara terus
menerus mengetik dalam karakter dan menjalankan pengecek ejaan didalam proses yang sama. Maka
sistem operasi tersebut memungkinkan proses untuk menjalankan lebih dari satu tugas pada satu
waktu.
ㅤㅤ II. Processes
ㅤㅤㅤ Secara informal, adalah program dalam eksekusi. Proses juga termasuk aktivitas yang sedang
terjadi. Proses tidak hanya sekedar suatu kode program (text section),
melainkan meliputi beberapa aktivitas yang bersangkutan seperti
program counter dan stack. Sebagaimana proses bekerja, maka proses tersebut merubah state (keadaan statis/ asal). Status dari
sebuah proses didefinisikan dalam bagian oleh aktivitas yang ada dari proses tersebut.
ㅤㅤㅤ Sebuah proses juga melibatkan stack yang berisi data sementara
(parameter fungsi/metode, return address, dan variabel lokal) dan
data section yang menyimpan variabel-variabel global. Proses adalah sebuah program yang dieksekusi yang
mencakup program counter, register, dan variabel di
dalamnya. Sistem Operasi mengeksekusi proses dengan dua cara
yaitu Batch System yang mengeksekusi jobs dan Timeshared System yang mengatur pengeksekusian program
pengguna (user) atau tasks. Suatu proses diterminasi ketika proses tersebut telah selesai
mengeksekusi perintah terakhir serta meminta sistem operasi untuk
menghapus perintah tersebut dengan menggunakan system call
exit.
ㅤ B. PERBEDAAN
- antara proses dengan thread tunggal dengan proses dengan thread yang banyak adalah proses dengan thread yang banyak dapat mengerjakan lebih dari satu tugas pada satu satuan waktu,
- pembentukan thread membutuhkan waktu yang lebih sedikit daripada pembentukan process,
- membutuhkan waktu yang lebih sedikit untuk menhakhiri thread daripada process,
- lebih mudah dan cepat untuk melakukan switch antar thread daripada switch antar process,
- thread menggunakan secara bersama ruang alamat dari proses yang menciptakannya. Proses memiliki ruang alamat sendiri-sendiri,
- thread memiliki akses langsung ke segemen data dari prosesnya. Masing-masing proses memiliki salinan segmen data dari parent process-nya,
- thread dapat saling komunikasi dengan thread lain dalam satu process. Antar proses harus menggunakan komunikasi antar proses,
- thread hampir tidak memiliki overhead. Proses memiliki overhead,
- thread dapat memiliki pengaruh kontrol yang besar terhadap thread lain dalam satu proses. Proses hanya dapat mengendalikan proses anakannya,
- perubahan pada thread utama seperti pembatalan atau perubahan prioritas dapat mempengaruhi tingkah laku thread lain dalam satu proses. Perubahan pada parent proses tidak mempengaruhi proses anakan.
Komentar
Posting Komentar