Konsep Thread
Konsep Thread
Anggota Kelompok 1. Genta Moerita (A 0606104265) 2. Yuan Hanif Syaniardi (B 0606031603) 3. Yunus Kuntawi Aji (B 0606031616) Komentar Umum Secara umum menurut kami bab 11 mengenai konsep thread ini sudah cukup jelas dalam menggambarkan multithreading. Gambar yang tersedia juga sudah cukup memberikan pemahaman terhadap konsep model-model multithreading. Beberapa hal yang perlu ditambahkan adalah kerugian dari multithreading dan contoh thread pada Sistem Operasi lain. Hubungan dengan bab sebelumnya/selanjutnya Bab ini menerangkan tentang multithreading dimana dalam suatu waktu bisa terjadi lebih dari satu proses yang konsepnya telah dijelaskan pada bab sebelumnya, yaitu bab 10 tentang Konsep Proses. Bab selanjutnya membahas tentang penggunaan thread pada java, thread bisa memiliki status new, runnable, block, dead. Komentar kelengkapan per bagian 11.1 Bagian ini sudah lengkap karena sudah menerangkan definisi dari multithreading dan alasan membuat thread 11.2 Bagian ini masih kurang lengkap, sebaiknya ditambah dengan kekurangan multithreading
11.3 Ilustrasi gambar pada bab ini sudah cukup menjelaskan secara lengkap tentang model multithreading 11.4 11.5 11.6 Bab ini perlu ditambah lagi tentang penjelasan pustaka thread Pada penjelasan cara pemberhentian thread perlu sedikit pengubahan redaksi kalimat Di dalam bab ini perlu ditambahkan definisi mengenai Thread Pools
11.7 - Terdapat kesalahan penulisan pada paragraf dua baris pertama pada kata multithreading - Untuk memperjelas pemahaman mungkin perlu ditambahkan ilustrasi gambar 11.8 Perlu diberi contoh thread dari sistem operasi yang lain untuk memperkaya pemahaman dan pengetahuan. 11.9 Di dalam kesimpulan perlu ditambahkan rangkuman tentang pustaka thread
Usulan kelengkapan 11.1 11.2 Perlu ada sedikit pengubahan redaksi Bagian ini sebaiknya ditambah dengan kekurangan multithreading
11.3 - Perlu ditambahkan contoh pada model many-to-many - Perlu penjelasan lebih mengenai kelebihan dan kekurangan tiap model 11.4 11.5 11.6 11.7 Perlu diberikan definisi atau penjelasan lebih tentang pustaka thread Perlu dilakukan perubahan redaksi kalimat dalam cara pemberhentian thread Perlu ditambahkan definisi mengenai Thread Pools Tambahkan ilustrasi gambar
11.8 Perlu diberi contoh thread dari sistem operasi yang lain untuk memperkaya pemahaman dan pengetahuan. 11.9 Di dalam kesimpulan perlu ditambahkan rangkuman tentang pustaka thread
2. 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. 3. Multithreading menghasilkan program yang lebih kompleks. Menggunakan multiple thread sendiri tidak akan menciptakan kerumitan, tapi interaksi antar thread-lah yang mengakibatkan kompleksitas tersebut. 4. Thread yang banyak bisa saling berinterferensi ketika saling berbagi sumber daya hardware seperti cache.
Model-Model MultiThreading: a. 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. b. 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.
c. 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.
11.9. Rangkuman
Thread adalah alur kontrol dari suatu proses. Keuntungan menggunakan Multithreading: a. Meningkatkan respon dari pengguna. b. Pembagian sumber daya. c. Ekonomis. d. Mengambil keuntungan dari arsitektur multiprosessor. Tiga model Multithreading: a. Model Many-to-One. b. Model One-to-One. c. Model Many-to-Many. Pustaka Thread bertugas untuk menyediakan API untuk programmer dalam menciptakan dan memanage thread. Cara untuk mengimplementasikannya yaitu: a. Menyediakan API dalam level pengguna tanpa dukungan dari kernel. b. Menyediakan API di level kernel yang didukung secara langsung oleh sistem operasi.
Pembatalan Thread: Tugas untuk membatalkan Thread sebelum menyelesaikan tugasnya. Pembatalan Thread terdiri dari 2 jenis: 1. Asynchronous cancellation. 2. Deffered cancellation. Thread Pools menciptakan sejumlah Thread yang ditempatkan di dalam pool dimana Thread menunggu untuk dipanggil. Thread Schedulling ada 2 macam: 1. Local Schedulling. 2. Global Schedulling. Istilah thread di Linux adalah task. Pembuatan Thread di Linux menggunakan system call clone(). Sedangkan di Mac sekumpulan thread yang ada akan mengerjakan tugas bergantian dengan menggunakan siklus.
Rujukan
[Silberschatz2005] Avi Silberschatz, Peter Galvin, dan Grag Gagne. 2005. Operating Systems Concepts. Seventh Edition. John Wiley & Sons. [WEBFSF1991a] Free Software Foundation. 1991. GNU General Public License http://gnui.vLSM.org/ licenses/ gpl.txt . Diakses 29 Mei 2006. [WEBWIKI2007] Wikipedia. 2007. Thread_(computer_science) http://en.wikipedia.org/ wiki/Thread_(computer_science) . Diakses 16 Februari 2007. [WEBWIKI2007] Wikipedia.. 2007. Multiprocessing http://en.wikipedia.org/ wiki/ Multiprocessing . Diakses 16 Februari 2007. [WEBWIKI2007] Wikipedia.. 2007. Computer_multitasking http://en.wikipedia.org/ wiki/ Computer_mutitasking . Diakses 16 Februari 2007. [WEBIBM] IBM.. 2007. linux_threading http://www-128.ibm.com/ developerworks/ java/ library/j-prodcon . Diakses 16 Februari 2007. [WEBWIKI2008] Wikipedia.. 2008. Thread_pool_pattern http://en.wikipedia.org/ wiki/ Thread_pool_pattern . Diakses 8 April 2008. [WikiCH2008] Wikipedia, The Free Encyclopedia. 2008. Computer Hardware http://en.wikipedia.org/wiki/Multithreading Diakses 7 April 2008 [WikiCS2008] Wikipedia, The Free Encyclopedia. 2008. Computer Science http://en.wikipedia.org/wiki/Thread Diakses 7 April 2008 [TechnicalNote] Technical Note 2028. 2008. Threading Architectures http://developer.apple.com/technotes/tn/tn2028.html. Diakses 9 April 2008
Hak Cipta Mahasiswa Fakultas Ilmu Komputer Universitas Indonesia, peserta mata kuliah Sistem Operasi semester genap 2008 1. Genta Moerita (A 0606104265) 2. Yuan Hanif Syaniardi (B 0606031603) 3. Yunus Kuntawi Aji (B 0606031616) Silakan menyalin, mengedarkan, dan/atau memodifikasi dokumen ini