konsep thread

Post on 05-Jan-2016

64 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

KONSEP THREAD. KONSEP THREAD. Thread adalah sebuah pengontrol aliran program pelaksanaan program dengan menggunakan kendali tunggal . - PowerPoint PPT Presentation

TRANSCRIPT

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

top related