On Tue, 02 Nov 2004 00:35:33 PST, Aaron Yang said: > I'm using glade 2, running on redhat 9. For realtime, it's rtlinux-3.2-pre2 > running with linux kernel-2.4.20-rtl. You almost certainly don't need rtlinux here because... > 2. entry box has a real-time counter counting from 0 onwards in 1 second interval > e.g. 0...1...2...3... If your update gets the in 1.001 seconds rather than 1.000 or 0.999 seconds, nothing *breaks*. You need rtlinux or similar stuff when *stuff breaks* if you don't make the scheduling deadline. I mean, *literally* breaks, as in you have to throw stuff in the trash bin. For instance: If you're burning a CD at 24x and don't have Burn-Free enabled, you *have* to have the next several blocks to write into the FIFO in time, or what you get is a coaster, not a CD. If you're doing high-end audio work, you *have* to feed the audio card the required number of 96khz samples every second, or you get an over-run or a drop-out. Clicks and pops when you're trying to do professional quality audio are *not* considered acceptable. If you're doing robotic control or something similar, you *have* to measure, compute, and adjust the settings on servo motors every N milliseconds, or risk dangerous oscillations. http://www.moog.com/noq/_capabilities__c478/ Yes, it's tossing 15 tons around on those pistons, because you build stuff like this on it: http://www.mfs.com.au/MFS_Motion_Platforms.htm See those 6 pistons? You *have* to send orders to all 6, *in order*, several hundred times a second - and each time you usually need to read the status of all 6 actuators, do some involved matrix computations (you can't change the length of just one piston, or you *will* break something), and output the new commands. And if you get it wrong, a piston able to move 15 tons will try to put itself through the floor of your airplane cockpit simulation.... *Those* are examples of actual "real time" programming.... You may have an easier time of it if you *get rid* of rtlinux if you don't *need* it - the flip side of "hard real time" is that it can be *very* wasteful of resources, and even cause total starvation of other processes - hard real time means that if one process has announced that it *has* to run every 50 milliseconds, the kernel may very well decide "Well, it's only 9ms till it will want to run again, and there's no realtime processes waiting to run, so we're going to just *not* run those non-realtime processes just in case one of them will make a system call that takes 11ms to return - and we *cant* allow that because somebody else *has* to run 9ms from now". And yes, when you're doing hard real-time, the kernel *is* allowed to drop your GUI dead in its tracks if it feels the need, because the X server isn't a real-time process.
Attachment:
pgpGWCqVoAGtq.pgp
Description: PGP signature
_______________________________________________ gtk-list@xxxxxxxxx http://mail.gnome.org/mailman/listinfo/gtk-list