M ABDUL HAMID (1104130012) GERRY PRATAMA (1104130019) M FAJAR HARDIANTO (1104130030) REZKI RIANDY (1104130032) NAUFAL RIYADH (1104130098)
Operating System Examples
Windows Thread Linux Thread
Windows Thread
Banyak sekali sistem operasi komputer yang kita jumpai
padasaatini seperti: windows, Linux, Debian,Ubuntu, Mac OS dan lain-lain. Microsoft Windows, merupakan perkembangan dari sistem MS DOS yang dikembangkan oleh microsoft dengan menggunakan tampilan GUI (Grafical User Interface)
Windows Thread
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.
Windows Thread
Thread pada windows secara umum mempunyai
komponen sebagai berikut: Thread ID suatu nilai unik yang mengindentifikasikan sebuah thread apabila thread itu memanggil server. Register set nilai-nilai register pengguna yang disimpan. User stack dan kernel stack Private storage area.
Bagian penting dari ETHREAD adalah KTHREAD,Blok KTHREAD merupakan pointer yang merujuk pada kernel thread (KTHREAD), Process ID juga merupakan suatu pointer yang merujuk pada process utama yang memiliki thread tersebut dan Thread start address adalah alamat dari thread.
Windows 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
Windows Thread
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.
Linux Threads
Linux menyediakan Fork system call dengan
fungsi duplikasi. Linux juga menyediakan layanan untuk membuat thread menggunakan Clone system call. Bagaimanapun linux tidak membedakan antara proses dan thread. Faktanya, linux lebih menggunakan Task daripada Process atau thread.
Linux Thread
Disaat clone dipanggil, ia melewati beberapa
bagian, yaitu Clone FS, Clone VM, Clone Sighand, dan Clone Files