Path: utzoo!utgpu!attcan!uunet!lll-winken!lll-lcc!ames!mailrus!tut.cis.ohio-state.edu!bloom-beacon!gatech!rutgers!bellcore!texbell!uhnix1!sugar!peter From: peter@sugar.uu.net (Peter da Silva) Newsgroups: comp.sys.amiga.tech Subject: Re: IRQ virus (and a personal note to Steve) Message-ID: <3222@sugar.uu.net> Date: 6 Jan 89 12:23:07 GMT References: <10788@s.ms.uky.edu> <1410014@hpcvca.HP.COM> Organization: Sugar Land Unix - Houston, TX Lines: 59 In article <1410014@hpcvca.HP.COM>, charles@hpcvca.HP.COM (Charles Brown) writes: > The "almost" is because we really should say "demand paged VM" rather > than "virtual memory". There is NOTHING which prevents virtual memory > without demand paging to be used in real-time. Oh goodie, are we going to get into the Virtual Memory Terminology Wars all over again? You know, the one where some people talk about VM versus Mapped Memory, and others talk about DPVM versus VM? > From what I understand of Hewlett-Packard's implementation of > Real-Time Un*x (yes, HP has real-time also.) the real-time program > must be locked into physical RAM and be given high priority. It's not enough, unless you have enough hardware contexts for the memory manager that you don't have to reload the MMU to switch to the realtime tasks. Again, this is exotic hardware. the other alternative is to have the real-time tasks running with the MMU turned off, but that's not UNIX any more... at least for the realtime stuff. > So Amiga could be modified to use VM and even demand paging and still > have provisions for real time. Yes, so long as the virtual tasks are strictly second-class citizens. I wrote up an article about this some months back... basically the idea was that you make UNIX a shared library and a bit of normal Amiga runtime, and have the tc_Switch entry in the task turn the MMU on and off as you entered and left UNIX. UNIX under AmigaDOS. Because the Amiga is the best user environment I have ever seen in a real-time machine. It's NOT as good as UNIX, but it's damn good. > 1. All processes will fit into physical RAM. > Not demand paged: Runs fast. > Demand paged: No paging. Runs just as fast. You still have the overhead of reloading the MMU on every context switch. Right now an Amiga switch has about the same overhead as a non- optimised procedure call. I've seen a multi-stage midi.library pipeline handle 600 MIDI events per second, with PM running, and CPU utilization hardly budged. That's 1200 context switches per second, minimum, plus a non-trivial amount of work within the programs. So, no, it does not run just as fast. > 2. Processes will NOT fit into physical RAM. > Not demand paged: WILL NOT RUN. Either fails to load or crashes. > Demand paged: Pages. Runs slow, but at least it still runs. Yep. Just great for timeshared users. There are dozens of timeshare systems much better suited to the job. UNIX, for example. There are no other real-time systems that let ordinary people, not control systems professionals, work with and write non-trivial programs with a $1500 investment. I think the cheapest real realtime with any sort of decent user environment would have to be something like an LSI-11 with RSX-11. I think DEC used to sell a rather pricey PC like that (PRO-350?). It certainly wasn't a $1500 box. More like $5K-$15K. -- Peter "Have you hugged your wolf today" da Silva `-_-' Hackercorp. ...texbell!sugar!peter, or peter@sugar.uu.net 'U`