Upload
dacian
View
51
Download
2
Embed Size (px)
DESCRIPTION
KONSEP THREAD. KONSEP THREAD. Thread adalah sebuah pengontrol aliran program pelaksanaan program dengan menggunakan kendali tunggal . - PowerPoint PPT Presentation
Citation preview
KONSEP THREAD
Thread adalah sebuah pengontrol aliran program pelaksanaan program dengan menggunakan kendali tunggal.
Operasi yang paling Modern saat ini adalah sistem yang banyak sekali menyediakan berbagai cara, dan memungkinkan suatu proses terkendali dengan baik
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.
KONSEP THREAD
KONSEP THREAD (cont.)
Gambar ThreadKeuntungan Thread
• Responsif
• Berbagai sumber daya
• Ekonomis
• Utilisasi arsitektur multiprosessor
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.
THREAD KERNEL
Many To One
One To One
MODEL MULTITHREADING
Many To Many
MODEL MULTITHREADING (cont.)
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.
Keterangan
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.
Keterangan
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.
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.
THREAD CANCELLATION
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
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.
THREAD KERNEL LINUX
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-prosesswapping (aktivitas pemindahan proses yang tertunda darimemoryutama 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.
SuspendedBlockedQueue
Ready Queue
Batch Queue
Suspended ReadyQueue
CPU
Penjadwalan jangka pendek
Program-program interaktif
Gambar Tipe-tipe Penjadwalan
Gambar Tipe Penjadwalan dikaitkan dengan State Proses