Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

KONSEP THREAD.

Presentasi serupa


Presentasi berjudul: "KONSEP THREAD."— Transcript presentasi:

1 KONSEP THREAD

2 KONSEP THREAD Thread 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 Thread juga sering disebut lightweight process.

3 KONSEP THREAD (cont.) Keuntungan Thread Responsif Berbagai sumber daya
Gambar Thread Keuntungan Thread Responsif Berbagai sumber daya Ekonomis Utilisasi arsitektur multiprosessor

4 THREAD KERNEL Thread kernel didukung langsung oleh sistem operasi. Pembuatan, penjadwalan, dan manajemen thread dilakukan oleh kernel pada kernel space. Thread diatur oleh kernel, karena itu jika sebuah thread menjalankan blocking system call maka kernel dapat menjadwalkan thread lain di aplikasi untuk melakukan eksekusi. Pada lingkungan multiprocessor, kernel dapat menjadwal thread-thread pada processor yang berbeda. Contoh sistem operasi yang mendukung kernel thread adalah Windows NT, Solaris, Digital UNIX.

5 MODEL MULTITHREADING Many To One One To One

6 MODEL MULTITHREADING (cont.)
Many To Many

7 Keterangan Model Many-to-One. Model ini 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. Jadi Multiple thread tidak dapat berjalan secara paralel pada multiprosesor. Kekurangannya adalah ketika ada satu blocking systemc call, semua akan menjadi terblok juga. Contoh: Solaris Green Threads dan GNU Portable Threads. Model One-to-One. Model ini memetakan setiap thread tingkatan pengguna ke setiap thread.Ia menyediakan lebih banyak concurrency dibandingkan model Many-to-One. Keuntungannya sama dengan keuntungan thread kernel. Kelemahan model ini ialah setiap pembuatan thread pengguna memerlukan tambahan thread kernel. Karena itu, jika mengimplementasikan sistem ini maka akan menurunkan kinerja dari sebuah aplikasi sehingga biasanya jumlah thread dibatasi dalam sistem. Contoh: Windows NT/XP/2000 , Linux, Solaris 9, OS/2.

8 Model Many-to-Many. Model ini memultipleks banyak thread tingkatan pengguna ke thread kernel yang jumlahnya sedikit atau sama dengan tingkatan pengguna. Model ini mengizinkan developer membuat thread sebanyak yang ia mau tetapi concurrency tidak dapat diperoleh karena hanya satu thread yang dapat dijadwalkan oleh kernel pada suatu waktu. Keuntungan dari sistem ini ialah kernel thread yang bersangkutan dapat berjalan secara paralel pada multiprosessor dan lebih efisien. Contoh : Solaris 2, IRIX, HPUX.

9 FORK DAN EXEC SYSTEM CALL
Jika fork dipanggil oleh salah satu thread dalam proses: 1. Semua thread diduplikasi. 2. Hanya thread yang memanggil fork. Jika Thread memanggil exec system call maka program yang dispesifikasi di parameter exec akan mengganti keseluruhan proses termasuk thread dan LWP.

10 THREAD CANCELLATION Thread cancellation adalah pemberhentian thread sebelum tugasnya selesai. Pemberhentian target thread dapat terjadi melalui dua cara yang berbeda: 1. Asynchronous cancellation: suatu thread seketika itu juga memberhentikan target thread. 2. Defered cancellation: target thread secara perodik memeriksa apakah dia harus berhenti, cara ini memperbolehkan target thread untuk memberhentikan dirinya sendiri secara terurut.

11 THREAD KERNEL LINUX Linus Torvalds mendefinisikan bahwa sebuah thread adalah Context of Execution (COE), yang berarti bahwa hanya ada sebuah Process Control Block (PCB) dan sebuah penjadwal yang diperlukan. Linux tidak mendukung multithreading,struktur data yang terpisah, atau pun rutin kernel. Linux menyediakan 2 system call yaitu fork dan clone

12 THREAD KERNEL LINUX fork memiliki fungsi untuk menduplikasi proses dimana proses anak yang dihasilkan bersifat independent. clone memiliki sifat yang mirip dengan fork yaitu sama-sama membuat duplikat dari proses induk.

13 Tipe PENJADWALAN Penjadwalan jangka pendek (short-termscheduller)
Penjadwalan ini bertugas menjadwalkan alokasi pemroses diantara proses-proses ready di memori utama. Penjadwalan jangka menengah (medium termscheduller ) Penjadwalan jangka menengah adalah menangani proses-proses swapping (aktivitas pemindahan proses yang tertunda darimemory utama ke memory sekunder). Penjadwalan jangka panjang (long-termscheduller) Penjadwalan jangka panjang bekerja terhadap antrian batch (proses –proses dengan penggunaan sumberdaya yang intensif) dan memilih Batch berikutnya yang harus di eksekusi.

14 Batch Queue Ready Queue CPU Suspended Blocked Queue Suspended Ready
Penjadwalan jangka pendek Batch Queue Ready Queue CPU Program-program interaktif Suspended Ready Queue Gambar Tipe-tipe Penjadwalan

15 Gambar Tipe Penjadwalan dikaitkan dengan State Proses


Download ppt "KONSEP THREAD."

Presentasi serupa


Iklan oleh Google