"Anak-anak minggu depan laporannya dikumpulin.. dan presentasi yaa "
Dosen gue nutup kuliah hari ini.. mungkin sebelum jadi dosen, beliau sempet jadi guru TK.. Udah jenggotan gini gue masih dibilang anak-anak. Tapi goodnewsnya gue bisa pulang.. fiuuh
"Gilak.. tugas baru aja dikumpulin udah dapet tugas lagi.. santai-santai dululah.. toh juga masih minggu depan"
Gak kerasa minggu depan udah lewat.. Wanjirr baru juga selese boker, Eh, udah main lewat aja waktu gue.
Dan pas selese boker gue langsung inget tugas dosen.. njiir
Seketika gue langsung ke warnet langganan
" Bang.. PC gue dah siap? paket malamnya diaktifin bang"
" Tong.. Yang kemaren aja belum lo bayar !!.."
" Ya elah Bang belum bayaran nih.. penting ni Baaang.." gue melas
" Okeh.. okeh!! f*ck.."
Browsing-browsing.. ceklik.. ceklik, cetak cetak cebreeet..
" Hm.. gitu-gitu oke gue ngerti sekarang.."
Setelah baca-baca di internet, copas sana sini, Gue merasa gak puas.. Yang ada di internet tentang thread itu masih seperti pecahan-pecahan puzzle, absurd dan belum jelas. Hal ini membuat jiwa pharaoh gue bangkit untuk menyatukan puzzle-puzzle itu dan setelah digabungin walaupun gak ada tanda mata di jidat gue tapi kira-kira akhirnya jadi seperti ini:
Sebelum mulai Thread.. Lo harus tau dulu tentang "Proses" vrroh
What The F with prosess?
What The F with prosess?
Proses itu ada 2 macem :
1. Proses berat (heavyweight) disebut proses tradisional
2. Proses ringan (lightweight) disebut THREAD
Thread adalah unit dasar dari utilitas CPU. Di dalamnya terdapat ID thread, program counter, register, dan stack. Dan saling berbagi dengan thread lain dalam proses yang sama.
Keuntungan memakai Thread:
* Tanggap: Multi-threading mengizinkan program untuk terus berjalan walaupun pada bagian program tersebut diblock atau sedang dalam keadaan menjalankan operasi yang lama/panjang. Contohnya multithread web browser dapat mengizinkan pengguna berinteraksi dengan suatu thread ketika suatu gambar sedang diload oleh thread yang lain.
* Pembagian sumber daya: Secara default, thread membagi memori dan sumber daya dari proses. Keuntungan dari pembagian kode adalah aplikasi mempunyai perbedaan aktifitas thread dengan alokasi.
* Ekonomis: Mengalokasikan memori dan sumber daya untuk membuat proses itu sangat mahal. Alternatifnya thread membagi sumber daya dari proses, Jadi lebih ekonomis.
* Pemberdayaan arsitektur multiprosesor: Keuntungann dari multithreading dapat ditingkatkan dengan arsitektur multiprosesor, dimana setiap thread dapat berjalan secara parallel pada prosesor yang berbeda. Pada arsitektur prosesor tunggal, CPU biasanya berpindah-pindah antara setiap thread dengan cepat, sehingga terdapat ilusi paralelisme, tetapi pada kenyataannya hanya satu thread yang berjalan di setiap waktu.
Selain itu lo juga musti tau:
1. User thread adalah pengelolaan thread yang dilakukan oleh user level (pengguna)
2. Kernel thread adalah pengelolaan thread yang dilakukan oleh kernel komputer sehingga user tidak dapat menginterupsi.
Macem-macem Thread
Single threading : proses hanya mengeksekusi satu thread dalam satu waktu.
Multi-threading : proses dapat mengeksekusi sejumlah thread dalam satu waktu.
Model MultiTrading:
Kelebihan: Model one-to-one lebih sinkron daripada model many-to-one karena mengizinkan thread lain untuk berjalan ketika suatu thread membuat pemblokingan terhadap sistem pemanggilan, hal ini juga membuat multiple thread bisa berjalan secara parallel dalam multiprosesor .
Kekurangan: Dalam pembuatan user thread diperlukan pembuatan korespondensi thread pengguna. Karena dalam proses pembuatan kernel thread dapat mempengaruhi kinerja dari aplikasi, maka kebanyakan dari implementasi model ini membatasi jumlah thread yang didukung oleh sistem.
Model ini ada pada Windows NT dan OS/2.
One to Many: memetakan beberapa tingkatan thread user hanya ke satu buah kernel thread.
Kelebihan: Managemen proses thread dilakukan oleh (di ruang) pengguna, sehingga menjadi lebih efisien.
Kekurangan: multi thread tidak dapat berjalan atau bekerja secara paralel di dalam multiprosesor karena hanya satu thread saja yang bisa mengakses kernel dalam suatu waktu.
Model ini ada pada Solaris Green dan GNU Portable.
Kelebihan:
* Developer dapat membuat user thread sebanyak yang diperlukan dan kernel thread yang bersangkutan dapat berjalan secara parallel pada multiprocessor.
* Developer dapat membuat user thread sebanyak yang diperlukan dan kernel thread yang bersangkutan dapat berjalan secara parallel pada multiprocessor.
* Dan ketika suatu thread menjalankan blocking system call maka kernel dapat menjadwalkan thread lain untuk melakukan eksekusi.
Kekurangan:
* Developer dapat membuat user thread sebanyak mungkin, tetapi konkurensi tidak dapat diperoleh karena hanya satu thread yang dapat dijadwalkan oleh kernel pada suatu waktu.
Model ini ada pada Solaris, IRIX, dan Digital UNIX.
Gimana? paham anak-anak..? :)
Gimana? paham anak-anak..? :)
Paham Om.. Trus laporan lo gimana ka'?
Laporan gue? Tenang udah gue kumpulin.. nilai temen-temen bejat gue juga terselamatkan..
Ilmu kepepet gue emang ampuh..
Selain thread materi gak jelas yang lain adalah Sinkronisasi
Lo bisa baca : Sinkronisasi Sistem Operasi
Selain thread materi gak jelas yang lain adalah Sinkronisasi
Lo bisa baca : Sinkronisasi Sistem Operasi
-fin-
Sign up here with your email
11 comments
Write commentsThanks Bro.. Sebenernya itu post belum kelar tapi gak sengaja ke klik publish hehehe
Replygokil! nice one
Replybisa jadi referensi tugas kuliah ane nih, thanks bro
ReplyMantap, Gan. Sangat Rinci Penjelasannya ... Cukup Memuaskan Dahaga ane Terhadap Materi Ini
ReplyKeren gan & kocak mantAb
ReplyMudah dipahami bang
Replyartikel ini sangat membantu
Replyjangan lupa kunjungi
My blog
Penjelasan yang sangant rinci
ReplySALAM ANAK KULIAH
My blog
Terima kasih atas pencerahan nya
Replydi mengrti bang
Replymakasih i
Replyalat buka lcd
ConversionConversion EmoticonEmoticon