Thursday, December 25, 2008

Sinkronisasi Proses Linux

SMP (Symetric MultiProcessing)

 Mulai digunakan pada Kernel 2.0
 Multiprocessing artinya kernel code dapat dijalankan dalam dua atau lebih processor
 Untuk menjaga agar dua thread tidak mengakses resources yang sama dalam waktu yang sama, maka SMP menerapkan aturan dimana hanya ada satu processor yang dapat menjalankan thread dalam kernel mode dengan cara spin lock tunggal
 Spin lock tunggal ini tidak memunculkan permasalahan untuk proses yang banyak menghabiskan waktu untuk menunggu proses komputasi, tapi untuk proses yang banyak melibatkan banyak aktifitas kernel, spin lock menjadi sangat mengkhawatirkan
 Dalam pengembangan kernel LINUX 2.1, kernel spin lock tunggal menjadi banyak lock yang masing-masing melindungi terhadap masuknya kembali sebagian kecil data struktur kernel sehingga mengizinkan banyak processor untuk dieksekusi oleh kernel mode secara bersamaan.
 Pada Linux 2.6, kernel mendukung adanya konsep preemptive, scheduler dalam kernel dapat menginterrupt kernel code yang sedang berjalan untuk memberi kesempatan bagi kernel code lain untuk dijalankan.

No comments:

Post a Comment