15
KONSEP THREAD

KONSEP THREAD

  • 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

Page 1: KONSEP THREAD

KONSEP THREAD

Page 2: 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

Page 3: KONSEP THREAD

KONSEP THREAD (cont.)

Gambar ThreadKeuntungan Thread

• Responsif

• Berbagai sumber daya

• Ekonomis

• Utilisasi arsitektur multiprosessor

Page 4: KONSEP THREAD

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

Page 5: KONSEP THREAD

Many To One

One To One

MODEL MULTITHREADING

Page 6: KONSEP THREAD

Many To Many

MODEL MULTITHREADING (cont.)

Page 7: KONSEP THREAD

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

Page 8: KONSEP THREAD

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

Page 9: KONSEP THREAD

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.

Page 10: KONSEP THREAD

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

Page 11: KONSEP THREAD

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

Page 12: KONSEP THREAD

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

Page 13: KONSEP THREAD

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.

Page 14: KONSEP THREAD

SuspendedBlockedQueue

Ready Queue

Batch Queue

Suspended ReadyQueue

CPU

Penjadwalan jangka pendek

Program-program interaktif

Gambar Tipe-tipe Penjadwalan

Page 15: KONSEP THREAD

Gambar Tipe Penjadwalan dikaitkan dengan State Proses