Pengantar Komputasi Modern# (Tugas 3)
Nama : Ghendis Sekarhening
NPM : 54414514
Kelas : 4ia13
Pengantar
Thread Programming
Dalam pemrograman komputer, sebuah thread adalah informasi terkait dengan
penggunaan sebuah program tunggal yang dapat menangani beberapa pengguna secara
bersamaan. Dari program point-of-view, sebuah thread adalah informasi yang
dibutuhkan untuk melayani satu pengguna individu atau permintaan layanan
tertentu. Jika beberapa pengguna menggunakan program atau permintaan bersamaan
dari program lain yang sedang terjadi, thread yang dibuat dan dipelihara untuk
masing-masing proses. Thread memungkinkan program untuk mengetahui user sedang
masuk didalam program secara bergantian dan akan kembali masuk atas nama
pengguna yang berbeda. Salah satu informasi thread disimpan dengan cara
menyimpannya di daerah data khusus dan menempatkan alamat dari daerah data
dalam register. Sistem operasi selalu menyimpan isi register saat program
interrupted dan restores ketika memberikan program kontrol lagi.
Sebagian besar komputer hanya dapat mengeksekusi satu instruksi program
pada satu waktu, tetapi karena mereka beroperasi begitu cepat, mereka muncul
untuk menjalankan berbagai program dan melayani banyak pengguna secara
bersamaan. Sistem operasi komputer memberikan setiap program “giliran” pada
prosesnya, maka itu memerlukan untuk menunggu sementara program lain mendapat
giliran. Masing-masing program dipandang oleh sistem operasi sebagai suatu
tugas dimana sumber daya tertentu diidentifikasi dan terus berlangsung. Sistem
operasi mengelola setiap program aplikasi dalam sistem PC (spreadsheet,
pengolah kata, browser Web) sebagai tugas terpisah dan memungkinkan melihat dan
mengontrol item pada daftar tugas. Jika program memulai permintaan I / O,
seperti membaca file atau menulis ke printer, itu menciptakan thread. Data
disimpan sebagai bagian dari thread yang memungkinkan program yang akan masuk
kembali di tempat yang tepat pada saat operasi I / O selesai. Sementara itu,
penggunaan bersamaan dari program diselenggarakan pada thread lainnya. Sebagian
besar sistem operasi saat ini menyediakan dukungan untuk kedua multitasking dan
multithreading. Mereka juga memungkinkan multithreading dalam proses program
agar sistem tersebut disimpan dan menciptakan proses baru untuk setiap
thread.
Konsep threading adalah menjalankan
2 proses ( proses yang sama atau proses yang berbeda ) dalam satu waktu. Contohnya
sebuah web browser mempunyai thread untuk menampilkan gambar atau tulisan
sedangkan thread yang lain berfungsi sebagai penerima data dari network.
Threading dibagi menjadi 2 :
- Static Threading
Teknik ini biasa digunakan untuk
komputer dengan chip multiprocessors dan jenis komputer shared-memory lainnya.
Teknik ini memungkinkan thread berbagi memori yang tersedia, menggunakan
program counter dan mengeksekusi program secara independen. Sistem operasi
menempatkan satu thread pada prosesor dan menukarnya dengan thread lain yang
hendak menggunakan prosesor itu.
- Dynamic Multithreading
Teknik ini merupakan pengembangan
dari teknik sebelumnya yang bertujuan untuk kemudahan karena dengannya
programmer tidak harus pusing dengan protokol komunikasi, load balancing, dan
kerumitan lain yang ada pada static threading. Concurrency platform ini
menyediakan scheduler yang melakukan load balacing secara otomatis. Walaupun
platformnya masih dalam pengembangan namun secara umum mendukung dua fitur :
nested parallelism dan parallel loops.

Komentar
Posting Komentar