Sistem Operasi_Thread campur sari

897 views

Published on

thread

Published in: Education, Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
897
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
30
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Sistem Operasi_Thread campur sari

  1. 1. SISTEM OPERASI STHREAD, MP, &MICROKERN Member:1. ArifELKurnia Indra 2. Earlan Brillianto 3. Eka Ariyansyah 4. Jakti Kinayung Prasojo
  2. 2. OUTLINE MATERI• Pengertan thread• State pada thread• Prioritas thread• Perbedaan thread dengan proses• Multithreading & model-modelnya• Keuntungan & Kerugian multithreading• Pembatalan thread
  3. 3. .OUTLINE MATERI• Thread pools• Penjadwalan thread• Symmetrics Multiprocessing (SMP)• Microkernel
  4. 4. APA ITUTHREAD. THREAD .??
  5. 5. Pengeqtian Thqead• THREAD adalah sebuah mini proses dari sebuah proses.• Jadi bisa dikatakan bahwa Thread merupakan bagian dari sebuah proses.
  6. 6. State Pada Thqead1. Running, sebuah thread yang pada saat ini sedang dieksekusi dan di dalam control dari CPU.2. Ready to run, thread yang sudah siap untuk dieksekusi, tetapi masih belum ada kesempatan untuk melakukannya.3. Resumed, setelah sebelumnya di block atau diberhentikan sementara, state ini kemudian siap untuk dijalankan.
  7. 7. State Pada Thqead4. Suspended, sebuah thread yang berhenti sementara, dan kemudian memperbolehkan CPU untuk menjalankan thread lain bekerja.5. Blocked, sebuah thread yang di- block merupakan sebuah thread yang tidak mampu berjalan, karena ia akan menunggu sebuah resource tersedia atau sebuah event terjadi.
  8. 8. Pqioqitas Thqead• Untuk menentukan thread mana yang akan menerima control dari CPU dan akan dieksekusi pertama kali, setiap thread akan diberikan sebuah prioritas.• Sebuah prioritas adalah sebuah nilai integer dari angka 1 sampai dengan 10, dimana semakin tinggi prioritas dari sebuah thread, berarti semakin besar kesempatan dari thread tersebut untuk dieksekusi terlebih dahulu.
  9. 9. Peqbedaan Thqead dengan• Pqoses yang artiya Thread berbeda dengan proses karena thread memiliki address space yang sama mereka berbagi variable global.• Karenanya masing2 thread dapat saling mengakses virtual address, membaca, menulis bahkan menghentikan thread lain.• sedangkan proses bisa dimiliki oleh user dan kemungkinan proses tersebut menunggu atau ditahan proses yang lain. • Proses selalu dimiliki oleh satu user sehingga mereka dapat saling bekerja sama tidak saling berbenturan.
  10. 10. PeqbedaanThqead dengan Pqoses
  11. 11. MULTITHR EADING
  12. 12. Definisi• Multithreadhing adalah kemampuan OS untuk menjalankan 2 atau lebih thread dalam waktu yang bersamaan dalam sekali eksekusi proses tunggal.
  13. 13. Model-ModelMultitqeadhing Model Many to one
  14. 14. Model Many to one
  15. 15. Model Many to Many
  16. 16. an &Kequgia nMultithq eading
  17. 17. KeuntunganMultithqeadhinga. Responsifb. Berbagi Sumber Dayac. Ekonomisd. Utilisasi Arsitektur Multiprosesor
  18. 18. KeuntunganMultithqeadhinga. Responsif Aplikasi interaktif menjadi tetap responsif meskipun sebagian dari program sedang diblok atau melakukan operasi lain yang panjang. Umpamanya, sebuah thread dari web browser dapat melayani permintaan pengguna sementara thread yang lain berusaha menampilkan gambar.
  19. 19. KeuntunganMultithqeadhingb. Berbagi Sumber Daya Beberapa thread yang melakukan proses yang sama akan berbagi sumber daya. Keuntungannya adalah mengizinkan sebuah aplikasi untuk mempunyai beberapa thread yang berbeda dalam lokasi memori yang sama.
  20. 20. KeuntunganMultithqeadhingc. Ekonomis Pembuatan sebuah proses memerlukan pengalokasian memori dan sumber daya. Alternatifnya adalah dengan menggunakan thread, karena thread membagi memori dan sumber daya yang dimilikinya sehingga lebih ekonomis untuk membuat thread dan context switching thread.
  21. 21. KeuntunganMultithqeadhingd. Utilisasi Arsitektur Multiprosesor Keuntungan dari multithreading dapat sangat meningkat pada arsitektur multiprosesor, dimana setiap thread dapat berjalan secara paralel di atas procesor yang berbeda.
  22. 22. KequgianMultithqeadhinga. Pemborosan resource dan CPU yang dialokasikan untuk switching threads, jika digunakan berlebihanb. Sistem yang memiliki kecepatan prosesor dan memory yang cenderung sama, sehingga tidak ada efisiensi yang hilang (mengacu kepada latency), tidak akan memperoleh peningkatan bandwidth yang signifikan jika menggunakan multithreading.
  23. 23. KequgianMultithqeadhingc. Multithreading menghasilkan program yang lebih kompleks. Menggunakan multiple thread sendiri tidak akan menciptakan kerumitan, tapi interaksi antar thread-lah yang mengakibatkan kompleksitas tersebut.d. Thread yang banyak bisa saling berinterferensi ketika saling berbagi sumber daya hardware seperti cache.
  24. 24. Pembata lan Thqead
  25. 25. • Merupakan pembatalan thread sebelum tugasnya selesai.• Misalnya hendak mematikan Java Virtual Machine (JVM) pada program Java, maka sebelum JVM dimatikan, seluruh thread yang berjalan harus dibatalkan terlebih dahulu. • Contoh lain adalah pada masalah search. Apabila sebuah thread mencari sesuatu dalam database dan menemukan serta mengembalikan hasilnya, thread sisanya akan dibatalkan. Thread yang akan diberhentikan biasa disebut Target Thread.
  26. 26. Pembeqhentian Taqget ThqeadPemberhentian target Thread dapat dilakukan dengan 2 cara:a. Asynchronous cancellation. Suatu thread seketika itu juga membatalkan target thread.b. Deferred cancellation. Suatu thread secara periodik memeriksa apakah ia harus batal, cara ini memperbolehkan target thread untuk membatalkan dirinya secara terurut.
  27. 27. • Hal yang sulit dari pembatalan thread ini adalah ketika terjadi situasi dimana sumber daya sudah dialokasikan untuk thread yang akan dibatalkan. Selain itu kesulitan lain adalah ketika thread yang dibatalkan sedang meng- update data yang ia bagi dengan thread lain. Hal ini akan menjadi masalah yang sulit apabila digunakan asynchronous cancellation. Sistem operasi akan mengambil kembali sumber daya dari thread yang dibatalkan tetapi seringkali sistem operasi tidak mengambil kembali semua sumber daya dari thread yang dibatalkan.
  28. 28. • Alternatifnya adalah dengan menggunakan deffered cancellation. Cara kerja dari deffered cancellation adalah dengan menggunakan satu thread yang berfungsi sebagai pengindikasi bahwa target thread hendak dibatalkan. Tetapi pembatalan hanya akan terjadi jika target thread memeriksa apakah ia harus batal atau tidak. Hal ini memperbolehkan thread untuk memeriksa apakah ia harus batal pada waktu dimana ia dapat dibatalkan secara aman yang aman.• Pthread merujuk sebagai cancellation points.
  29. 29. • Pada umumnya sistem operasi memperbolehkan proses atau thread untuk dibatalkan secara asynchronous. Tetapi Pthread API menyediakan deferred cancellation. Hal ini berarti sistem operasi yang mengimplementasikan Pthread API akan mengizinkan deferred cancellation.
  30. 30. Thqead Pool
  31. 31. • Pada web server yang menerapkan multithreading ada dua masalah yang timbul:a. Ukuran waktu yang diperlukan untuk menciptakan thread yang melayani permintaan yang diajukan pada kenyataannya thread dibuang seketika sesudah ia menyelesaikan tugasnya.b. Pembuatan thread yang tidak terbatas jumlahnya dapat menurunkan performa dari sistem.
  32. 32. • Solusinya adalah dengan penggunaan Thread Pools, yaitu sekumpulan thread yang mengantri untuk mengerjakan tugas. • Cara kerjanya adalah dengan membuat beberapa thread pada proses startup dan menempatkan mereka ke pools, dimana mereka duduk diam dan menunggu untuk bekerja. • Jadi, ketika server menerima permintaan, ia akan membangunkan thread dari pool dan jika thread tersedia maka permintaan tersebut akan dilayani.• Ketika thread sudah selesai mengerjakan tugasnya maka ia kembali ke pool dan menunggu pekerjaan lainnya. Bila tidak ada thread yang tersedia pada saat dibutuhkan maka server menunggu sampai ada satu thread yang bebas.
  33. 33. Keuntungan thqead poola. Biasanya lebih cepat untuk melayani permintaan dengan thread yang ada dibandingkan menunggu thread baru dibuat.b. Thread pool membatasi jumlah thread yang ada pada suatu waktu. Hal ini penting pada sistem yang tidak dapat mendukung banyak thread yang berjalan secara concurrent. Jumlah thread dalam pool dapat tergantung dari jumlah CPU dalam sistem, jumlah memori fisik, dan jumlah permintaan klien yang concurrent.c. Pembuatan jumlah thread yang tepat dapat meningkatkan performa serta sistem yang lebih stabil.
  34. 34. Penjadw alanThqead
  35. 35. • Begitu dibuat, thread baru dapat dijalankan dengan berbagai macam penjadwalan. Kebijakan penjadwalanlah yang menentukan setiap proses, di mana proses tersebut akan ditaruh dalam daftar proses sesuai proritasnya dan bagaimana ia bergerak dalam daftar proses tersebut.
  36. 36. • Untuk menjadwalkan thread, sistem dengan model multithreading 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 satu dari banyak thread, kemudian menjadwalkannya ke satu thread tertentu (CPU / Kernel).
  37. 37. SimetqicPqocessin g Unit
  38. 38. • Symetric multiprocessing (SMP) sangat diharapkan dapat mencapai efisiensi & reabilitas maksimum• Sistem operasi SMP menjadwalkan proses & thread di seluruh prosesor.• Kelebihan SMP : kinerja, ketersediaan, pertumbuhan, pengskal aan
  39. 39. Thankou Wassalam

×