> Waktu menggunakan select() atau read(), ini sudah
> memakai konsep objek
> messaging. Kedua fungsi di atas tidak dilakukan
> dengan methode polling.
> Scheduler OS akan selalu melihat queue list sewaktu
> context switching,
> dan begitu ada data yang diinginkan, proses atau
> thread yang
> bersangkutan akan diaktifkan. Ini kan sama dengan
> modelnya condition
> variable.
Ok..lah, apa yang anda katakan di atas memang benar.
manajemen kernel emang kayak gitu. Tapi coba anda liat
dari aplikasi, misalnya:
kalau saya pake non-blocking,
dev = open("/dev/blah", O_RDONLY|O_NONBLOCK, arg);
ret = read(dev, buffer, size);
process(buffer);
apakah anda bisa menjamin bahwa ret = size hanya
dengan sekali read()?
dengan blocking,
dev = open("/dev/blah", O_RDONLY, arg);
ret = read(dev, buffer, size);
process(buffer);
di sini bisa yakin ret = size, namun seberapa lama
fungsi process() harus menunggu hingga buffer menjadi
penuh?
Nah, kalo kita nggak bisa mengisi buffer dalam sekali
read() pada non-blocking dan harus menunggu read()
pada blocking, itu namanya apa? apakah itu bukan
termasuk polling? apakah nggak buang waktu?
=====
Salam,
I.B. Darmasakti
DSP Engineer
__________________________________________________
Do You Yahoo!?
Everything you'll ever need on one web page
from News and Sport to Email and Music Charts
http://uk.my.yahoo.com
--
Utk berhenti langganan, kirim email ke [EMAIL PROTECTED]
Informasi arsip di http://www.linux.or.id/milis.php3