Thread
Dalam thread terdapat:
- ID Thread
- Program Counter
- Register dan Stack
Ada tiga perbedaan tipe dari model yang berhubungan dengan user dan kernel thread:
- Model many to one: memetakan beberapa user level thread hanya ke satu buah kernel thread.
- Model one to one: memetakan setiap user thread ke dalam satu kernel thread.
- Model many to many: mengizinkan pengembang untuk membuat user thread sebanyak mungkin, konkurensi tidak dapat tercapai karena hanya satu thread yang dapat dijadualkan oleh kernel dalam satu waktu.
THREADS PADA WINDOWS
Windows mengunakan Win32 API sebagai API utama dalam hampir semua sistem operasi Microsoft. Selain itu windows mengimplementasi model relasi One-to-One, dimana terdapat satu kernel thread yang berasosiasi dengan masing – masing user thread. Thread pada windows secara umum mempunyai komponen sebagai berikut :
- Thread ID
- Register set
- User stack dan kernel stack
- Private storage area
Register set, stacks dan private data storage disebut sebagai context dari sebuah thread. Struktur data utama dari sebuah thread :
- ETHREAD (executive thread block)
- KTHREAD (kernel thread block)
- TEB (thread environment block)
Bagian penting dari ETHREAD adalah KTHREAD, Process ID, Thread start address. Blok KTHREAD merupakan pointer yang merujuk pada kernel thread (KTHREAD), Process ID juga merupakan suatu pointer yang menunjuk pada proses utama yang memiliki thread tersebut dan Thread start address adalah alamat dari rutin awal thread.
KTHREAD (KERNEL THREAD BLOCK)
KTHREAD menyimpan informasi yang dibutuhkan oleh kernel untuk dapat melakukan penjadwalan dan sinkronisasi thread. Pada KTHREAD juga terdapat kernel stack, yang mana akan digunakan ketika thread berjalan pada kernel mode. Juga terdapat pointer yang menunjuk TEB.
TEB (THREAD ENVIRONMENT BLOCK)
TEB menyimpan informasi image loader dan beberapa DLLs dari windows. Komponen - komponen ini berjalan pada user mode, maka dibutuhkan suatu struktur data yang dapat dimanipulasi(writable) pada user mode. Oleh karena itu, tidak seperti KTHREAD dan ETHREAD yang berada pada kernel space, TEB berada pada user space.
Referensi :
- Nababan,Vivitiur."THREAD PADA SISTEM OPERASI". diakses dari https://vivimargaretha494.wordpress.com/2015/10/01/thread-pada-sistem-operasi-2/ pada tanggal 25 Oktober 2018 pukul 16:55
- Nasution,Juliar."Pengertian atau definisi Thread dalam sistem operasi". diakses dari https://juliarnasution.blogspot.com/2015/12/pengertian-thread.html pada tanggal 25 Oktober 2018 pukul 17:04
- Agung,Dani."Contoh Thread Pada Os Windows". diakses dari http://deniagung01.blogspot.com/2017/10/contoh-thread-pada-os-windows.html pada tanggal 25 Oktober 2018 pukul 17:17