Professional Documents
Culture Documents
Referensi : Pengantar Sistem Operasi Komputer, Masyarakat Digital Gotong Royong (MDGR), 2006, http://bebas.vlsm.org/ v06/ Kuliah/ SistemOperasi/ BUKU/ Operating System Concepts, Abraham Silberschatz, Peter Galvin, Greg Gagne. Seventh Edition, John Wiley, 2005
Definisi (1)
Merupakan sebuah status eksekusi (running, ready, dll.) Sering disebut dengan lightweight process 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.
Definisi (2)
Single-threading Sebuah proses tradisional atau heavyweight process mempunyai thread tunggal yang berfungsi sebagai pengendali. Multi-threading Sebuah proses dengan thread yang banyak dan mengerjakan lebih dari satu tugas pada satu satuan waktu.
Contoh (1)
Pada umumnya, perangkat lunak yang berjalan pada komputer modern dirancang secara multi-threading. 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 internet.
Contoh (2)
Terkadang ada sebuah aplikasi yang perlu menjalankan beberapa tugas yang serupa. Sebagai contohnya sebuah web server dapat mempunyai ratusan klien yang mengaksesnya secara bersamaan. Jika web server berjalan sebagai proses yang memiliki thread tunggal (Single-threading) maka ia hanya dapat melayani satu klien pada pada satu waktu. Bila ada klien lain yang ingin mengajukan permintaan maka ia harus menunggu sampai klien sebelumnya selesai dilayani.
Contoh (3)
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.
Benefit
Responsiveness Resource Sharing Economy Utilization of Multi-Processor Architectures
Model Multi-threading
Many-to-One One-to-One Many-to-Many
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.
One-to-One
Memetakan setiap thread tingkatan pengguna ke thread kernel. Model ini menyediakan lebih banyak concurrency dibandingkan model Many-to-One.
Many-to-Many
Mengelompokkan banyak thread pengguna untuk dipetakan ke thread kernel yang jumlahnya lebih sedikit atau sama dengan tingkatan pengguna. Mengijinkan sistem operasi untuk membuat sejumlah thread kernel.
Thread Pools
Thread Pools adalah cara kerja dengan membuat beberapa thread pada proses startup dan menempatkan mereka ke pools.
Ada pertanyaan ?