> Maksudnya loop besar gimana ya? 

Maksudnya program dengan state yang sangat panjang dan
tidak bisa dipisah/dipecah menjadi proses terpisah.

> Di POSIX Thread ada cara untuk ini, namanya
> condition variable atau
> objek sinkronisasi/ objek messaging. Thread yang
> nungguin kondisi
> variabel tertentu tinggal waiting saja, sampai
> variabel itu di set/ di
> signaled oleh thread lainnya.

Oh.. yang ini kan datangnya dari user mode ke user
mode, apakah ada datang dari kernel mode dan bisa
sampai ke user mode?

> 
> > 
> > sejak linux menggunakan metode file system untuk
> > mengakses driver termasuk socket. Metode ini
> > menggunakan cara polling. Polling berarti
> menghabiskan
> Wah ini kesimpulan atau baca dari mana mas :) 

dari kesimpulan saya sendiri. Setahu saya interrupt,
DMA dan resource hardware hanya berlaku di kernel
mode. Di user mode, kita cuman bisa akses device
dengan file system (open, read, write, etc). Nah itu
kan polling, dan linux menyediakan 2 metode untuk itu,
yaitu blocking dan non-blocking. kalo blocking berarti
prosesnya bakalan nunggu sampai permintaannya
terpenuhi. sedangkan kalo non-blocking, proses segera
kembali bila keadaan tidak terpenuhi. mirip seperti
yang anda jelaskan.

> Fungsi select() bisa digunakan untuk tujuan di atas.
> Atau kalau pakai
> multithread, fungsi read() dengan blocking methoda
> juga bisa memnuhi
> spesifikasi di atas.

Yah, dari pengalaman saya. Saya menggunakan select
untuk akses device dengan metoda non-blocking. dan
menggunakan multithread bila memakai metoda blocking.
karena meskipun nge-block tapi ada context switching
sehingga proses lain nggak harus nunggu.
Tapi kedua cara itu belumlah memuaskan untuk system
yang perlu real-time. :(


=====
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

Kirim email ke