Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10 beta 3/9/83; site desint.UUCP Path: utzoo!linus!decvax!ittvax!dcdwest!sdcsvax!sdcrdcf!trwrb!desint!geoff From: geoff@desint.UUCP (Geoff Kuenning) Newsgroups: net.unix-wizards Subject: Re: unix & real time -- is a rewritten UNIX still UNIX? Message-ID: <225@desint.UUCP> Date: Sun, 18-Nov-84 19:41:04 EST Article-I.D.: desint.225 Posted: Sun Nov 18 19:41:04 1984 Date-Received: Tue, 20-Nov-84 07:11:27 EST References: <39@uwvax.UUCP> <5633@brl-tgr.ARPA> <9785@watmath.UUCP> <5727@brl-tgr.ARPA> <4630@utzoo.UUCP> Organization: his home computer, Manhattan Beach, CA Lines: 45 Summary: In article <4630@utzoo.UUCP> henry@utzoo.UUCP (Henry Spencer) writes: >Furthermore, anyone who thinks that manufacturer X's Wonderful Realtime >Operating System is going to do *exactly* what he wants is dreaming. >Real-time applications vary too much; the user (or his programmer) is >going to have to write some code no matter what he does. Doing this >for Unix is no harder than doing it on other systems. Gee, Henry, I worked on a 5-person-year project running under RSX-11M, and the only mods I had to make to the OS were the installation of drivers for our optional hardware. I know of many, many, many other cases where a real-time application was written successfully under a manufacturer's OS without making modifications. The obvious example is VRTX, which comes in ROM (though, to be fair, you have to add a lot of drivers). But I have seen this done on operating systems from DEC, IBM, Intel, and many others. I might believe that UNIX/RTR for the 3B20S, or DMERT for the 3B20D, is a reasonable real-time operating system. (I haven't had a chance to read the BSTJ on them yet.) As has been pointed out before, there is nothing in the UNIX system call repertoire that requires non-real-time code in the kernel. (Although there are *many* missing features, such as asynchronous I/O, that real-time programmers would consider necessary). But UNIX/RTR is available only for the 3B20 as I understand it, and ordinary UNIX is a long way from being usable for real time. Bill Shannon's excellent discussion of interrupt latency covers one of the biggest, though not the only, reasons. If the "real-time" task that you want to perform involves replacing your wall thermostat with your computer, a PC running UNIX with a load average of 80 is probably sufficient. The response-time requirements just aren't that large. In fact, you can come up with hypothetical control applications (lighting control for a greenhouse, perhaps?) slow enough to run on a batch machine. The things that make a real-time operating system real-time are twofold: low and predictable overhead, and a complement of system services that serves the needs of the real-time applications programmers (an excellent summary of the latter can be found in the ISA standard for process control; UNIX System V provides many but not all of the required functions). Yes, all of these features can be added to UNIX with some effort. That means it can be turned into a real-time operating system, not that it already is one. -- Geoff Kuenning First Systems Corporation ...!ihnp4!trwrb!desint!geoff