sister 05 - proses

12

Upload: febriyani-syafri

Post on 18-Dec-2014

368 views

Category:

Technology


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Sister   05 - proses
Page 2: Sister   05 - proses

Thread

Thread adalah sebuah alur kontrol dari sebuah proses.Kontrol thread tunggal ini hanya memungkinkan proses untukmenjalankan satu tugas pada satu waktu. Banyak sistemoperasi modern telah memiliki konsep yang dikembangkanagar memungkinkan sebuah proses untuk memiliki eksekusimulti-threads, agar dapat secara terus menerus mengetik danmenjalankan pemeriksaan ejaan didalam proses yang sama,maka sistem operasi tersebut memungkinkan proses untukmenjalankan lebih dari satu tugas pada satu waktu.

Suatu proses yang multithreaded mengandung beberapaperbedaan alur kontrol dengan ruang alamat yang sama.

Page 3: Sister   05 - proses

Keuntungan dari multithreaded meliputipeningkatan respon dari pengguna, pembagian sumberdaya proses, ekonomis, dan kemampuan untukmengambil keuntungan dari arsitektur multiprosesor.

Perbedaan antara proses dengan thread tunggaldan proses dengan thread yang banyak adalah prosesdengan thread banyak dapat mengerjakan lebih darisatu tugas pada satu satuan waktu.

Page 4: Sister   05 - proses

Perbandingan thread & multithread

Page 5: Sister   05 - proses

Keuntungan

1. Responsi: Membuat aplikasi yang interaktif menjadi multithreadingdapat membuat sebuah program terus berjalan meski pun sebagian dariprogram tersebut diblok atau melakukan operasi yang panjang, karenaitu dapat meningkatkan respons kepada pengguna. Sebagai contohnyadalam web browser yang multithreading, sebuah thread dapatmelayani permintaan pengguna sementara thread lain berusahamenampilkan image.

2. Berbagi sumber daya: thread berbagi memori dan sumber daya denganthread lain yang dimiliki oleh proses yang sama. Keuntungan dariberbagi kode adalah mengizinkan sebuah aplikasi untuk mempunyaibeberapa thread yang berbeda dalam lokasi memori yang sama.

Page 6: Sister   05 - proses

3. Ekonomi: dalam pembuatan sebuah proses banyak dibutuhkanpengalokasian memori dan sumber daya. Alternatifnya adalahdengan penggunaan thread, karena thread berbagi memori dansumber daya proses yang memilikinya maka akan lebih ekonomisuntuk membuat dan context switch thread.

4. Utilisasi arsitektur multiprocessor: Keuntungan dari multithreadingdapat sangat meningkat pada arsitektur multiprocessor, dimanasetiap thread dapat berjalan secara pararel di atas processor yangberbeda. Pada arsitektur processor tunggal, CPU menjalankansetiap thread secara bergantian tetapi hal ini berlangsung sangatcepat sehingga menciptakan ilusi pararel, tetapi pada kenyataannyahanya satu thread yang dijalankan CPU pada satu-satuan waktu(satu-satuan waktu pada CPU biasa disebut time slice atauquantum).

Page 7: Sister   05 - proses

Model Multithreading

a. Model Many-to-One. Model ini memetakan beberapathread tingkatan pengguna ke sebuah thread. tingkatankernel. Pengaturan thread dilakukan dalam ruangpengguna sehingga efisien. Hanya satu thread penggunayang dapat mengakses thread kernel pada satu saat.Contoh: Solaris Green Threads dan GNU Portable Threads.

b. Model One-to-One. Model ini memetakan setiap threadtingkatan pengguna ke setiap thread. Ia menyediakanlebih banyak concurrency dibandingkan model Many-to-One. Keuntungannya sama dengan keuntungan threadkernel. Kelemahan model ini ialah setiap pembuatanthread pengguna memerlukan tambahan thread kernel.Contoh: Windows NT/XP/2000 , Linux, Solaris 9.

Page 8: Sister   05 - proses

c. Model Many-to-Many. Model ini memultipleks banyakthread tingkatan pengguna ke thread kernel yang jumlahnyasedikit atau sama dengan tingkatan pengguna.

Page 9: Sister   05 - proses

Pembatalan Thread

Thread Cancellation ialah pembatalanthread sebelum tugasnya selesai. Umpamanya,jika dalam program Java hendak mematikan JavaVirtual Machine (JVM). Sebelum JVM dimatikan,maka seluruh thread yang berjalan harusdibatalkan terlebih dahulu.

Page 10: Sister   05 - proses

Pemberhentian target Thread dapatdilakukan dengan 2 cara:

a. Asynchronous cancellation. Suatu threadseketika itu juga membatalkan target thread.

b. Deferred cancellation. Suatu thread secaraperiodik memeriksa apakah ia harus batal,cara ini memperbolehkan target threaduntuk membatalkan dirinya secara terurut

Page 11: Sister   05 - proses

Penjadwalan Thread

Begitu dibuat, thread baru dapat dijalankan dengan berbagaimacam penjadwalan. Kebijakan penjadwalanlah yang menentukansetiap proses, di mana proses tersebut akan ditaruh dalam daftarproses sesuai proritasnya dan bagaimana ia bergerak dalam daftarproses tersebut.

Untuk menjadwalkan thread, sistem dengan modelmulithreading many to many atau many to one menggunakan:a. Process Contention Scope (PCS). Pustaka thread menjadwalkan

thread pengguna untuk berjalan pada LWP (lightweight process)yang tersedia.

b. System Contention Scope (SCS). SCS berfungsi untuk memilih satudaribanyak thread , kemudian menjadwalkannya ke satu threadtertentu(CPU / Kernel).

Page 12: Sister   05 - proses