[HN Gopher] The QNX Demo Disk: a full xNix OS, with GUI and brow... ___________________________________________________________________ The QNX Demo Disk: a full xNix OS, with GUI and browser, on just 1 1.4MB floppy Author : lproven Score : 154 points Date : 2022-10-07 16:40 UTC (6 hours ago) (HTM) web link (qnx.puslapiai.lt) (TXT) w3m dump (qnx.puslapiai.lt) | helf wrote: | I love how this gets rediscovered by people every few years :) | | I still have a floppy set somewhere. I loved it. I ran it in a | 486 IBM all in one I had with a compatible NIC for a long time as | a conversation piece and guest light surfing machine. Amazing how | well it ran up till fairly recently when standards outstripped | its browser too much | duffyjp wrote: | I still have the Pentium box I used to run it on. Was that | really 20+ years ago? How did that happen... I should boot it | up and see how well frogfind.com works. | lproven wrote: | I was there at the time. I just amuse myself digging up | obscure, mostly-forgotten languages and OSes and posting them | on HN to blow the kids' minds. :-D | helf wrote: | Doing the Lord's Work lol. | | I need to rebuild my Ccmp collection. I ended up selling or | giving it all away due to having to move. _sniff_ | | I ran a NeXTstation Turbo Color as my daily driver up till | around 2010. Me and some friends ported over newer line and | what not for openstep 4.2. | | 33mhz 040 with 128mb of 60ns EDO RAM, SCSI HDD. Amazing what | you could do with adequate performance on that. | | Also ran a BeOS r5 system with massive amounts of hacks and | updates for way longer than was really reasonable lol | taviso wrote: | I once made an fvwm config designed to look like QNX photon (this | was early 2000s). I got dozens of emails about it from people who | had found the screenshot and wanted to try it! | | Here is an old screenshot from ~2003: | http://www.xwinman.org/screenshots/fvwm2-taviso.png | | All the panels and menus were all fwvm, it's highly configurable. | I dunno, it kinda holds up! | bluedino wrote: | I remember being impressed by the Geoworks environment that was | contained in America Online 1.0 (?) for DOS. | | So snappy and smooth compared to Windows 3.11 on the same 2MB | 386. | lproven wrote: | Now FOSS: | | https://github.com/bluewaysw/pcgeos | marcodiego wrote: | Here the same, but done with linux: | https://news.ycombinator.com/item?id=28515025 | lproven wrote: | I suspect the functionality is rather less, but still, that is | impressive. | AceJohnny2 wrote: | I have fond memories of QNX. | | We used QNX in my last company as the foundation for our router. | It was a "tandem" HA system (at least one of our lead architects | were formerly from Tandem, the company). It had 2x Control Plane | (1 Active, 1 Standby) boards, and 3x Data Plane boards (2 Active, | 1 Standby). QNX was an important part of our architecture. | | Some features I loved in QNX: process control across the network. | I could control processes on any of the processors (running QNX) | on any of the boards of the system. Launch a program on a | different processor with just the appropriate command prefix | (which I forget). Also, driver restart: by the nature of being a | microkernel, drivers were "just another process", and if they | crashed or hung I could just restart/kill the process. Also, | tighter coupling between drivers and files under /dev, unlike | whatever Linux is doing, especially for networking devices! | AceJohnny2 wrote: | While I'm at it, I want to write down the lifecycle of that | company. | | The router served as a "security endpoint", meaning it could | "terminate" (decode), thousands of IPSec connections. Thus it | would serve as the "border router" for a network operator. | | The company's big hit was providing this product to NTT Docomo | for its LTE infrastructure. NTT had the (turned out unique) | architectural challenge where they controlled the base | stations, the core network... _but not the backhaul_ | (connection between the base stations and core)! So all | "their" traffic coming from their base-station was on leased | network, so they needed to encrypt, hence the IPSec, and hence | the need for a "router" that could receive all these | connections and decode them to feed into their Core Network. | | I joined the company shortly after they scored that huge | contract, when they were flush with money and looking to grow. | | NTT Docomo was a pioneer in LTE deployment, so our company | tried to sell this operating model to the rest of the world... | but no-one took it. Turns out most operators just own their | backhaul, so didn't feel the need to encrypt, or at least have | the same architecture as NTT. | | So our company tried for a while to adapt our router (really, | network middle-box) for other emerging use-cases, but it was | hard to get a grip both in emerging network architectures and | against the incumbents (lol the number of times we had bugs | with Cisco equipment which _we proved was Cisco 's fault_ but | nope we just had to work around it). | | The company was eventually bought at fire sale price by one | that did cheap Software-Defined Networking on commodity | hardware. Our expensive router was discontinued. | | (Also, fuck Broadcom) | zuminator wrote: | You can kind of play around with QNX by going here: | | https://copy.sh/v86/?profile=qnx | | If you're on a Windows system, you may have to go to C:\Windows | and temporarily rename the HelpPane.exe system application in | order to stop it from hijacking the F1 keypress that QNX expects. | varispeed wrote: | Ages ago I had original QNX Demo Disk. I was impressed that they | could fit so much on a floppy. | lproven wrote: | This is the original QNX Demo Disk. That's why I posted it. :-) | | Downloads here: | | https://winworldpc.com/product/qnx/144mb-demo | | Screenshots here: | | http://toastytech.com/guis/qnxdemo.html | varispeed wrote: | Oh the memories. Thank you! | lproven wrote: | :-) | | Glad you enjoyed it! | yamtaddle wrote: | In high school I'd extensively used Windows from 3.1-98se, Linux | (Debian, Mandrake), and dabbled a ton with BeOS and QNX (hampered | from making either my main OS only by software support). | | BeOS and QNX (Photon) were my two favorite desktop experiences of | the bunch. They were _so_ much better than the others--yes, very | much including Linux. And BeOS was even _at least_ as "friendly" | and polished as Windows was at the time. | | Here we are and neither's on the desktop and their closest modern | equivalent that _is_ prevalent is probably macOS, which is... | fine as a consolation prize, I guess, but I still wish I could | see a world where either of those made a real splash in the | desktop world (I know QNX wasn 't really trying to, but man, it | performed _so_ much better as a desktop OS than Windows or | Linux). | MonkeyClub wrote: | > yes, very much including Linux | | That makes perfect sense for that period, the Linux desktop | experience was, well, not _atrocious_ , but definitely left | things to be desired. | yamtaddle wrote: | It wasn't just that: it was much worse at handling multi- | tasking and keeping the UI responsive, than either of those. | But so was Windows, to be fair. | | I'm pretty sure it's not much better now but hardware's | powerful enough to make that less-painful. | blablabla123 wrote: | Well a lot had to be configured especially for non-standard | hardware. But generally it was far more stable and snappy | than Windows. Also constant reinstalling and rebooting wasn't | necessary. The QNX demo was nice but to be fair you couldn't | do much with it unless you wrote your own software I guess... | agumonkey wrote: | For quite a while, watching 1997 BeOS demo brought tears to my | eyes. It was so sweetly designed in every way. Maybe except the | regular multithreading issues. Even the source code, at least | the small bit I saw [0], was utterly brilliant. | | [0] part of the FS query language, so you could select/filter | through file metadata for free. | aliqot wrote: | George Washington once said "The best time to become a Haiku | contributor is yesterday. The second best time to become a | Haiku contributor is today." | | You know, I think he was right. | mdaniel wrote: | Do you have experience running Haiku and if so what's the | current hardware story like? IOW, could a reasonably | determined person get it running as a daily driver on a | modern laptop? | dleslie wrote: | I've used it just fine on a number of older laptops. | | The rule of thumb is if FreeBSD supports it then Haiku | will, as a number of important drivers were ported from | FreeBSD. | basementcat wrote: | Reminds me of tomsrtbt | | http://www.toms.net/rb/ | lproven wrote: | I used that back when it was current. It was an impressive bit | of kit, but TBH, what QNX did on a single floppy made -- and | more than ever still makes -- Linux look very _very_ bloated. | | Tom's Root-and-Boot just about got you a working command line | on one floppy. | | For comparison, using FOSS equivalents, QNX got that, plus all | of X.org, plus Firefox, onto one floppy. | | And if you used the status bar to find your IP address, and | went to another machine and put that in a browser's URL box, | you found that _as well as_ all that, it was also a live | webserver, serving live performance stats to the Internet. | | So, kernel, busybox, X server, desktop, web browser AND WEB | SERVER on one (very heavily compressed) floppy. | | Sadly, the genius who built it died young. Cancer. Fsck cancer. | | https://openqnx.com/node/298 | bumblebritches5 wrote: | FL410 wrote: | Is there any good way to play with QNX on a workstation/VM to get | familiar with it? | IncRnd wrote: | You can go to qnx.com and click the "FREE 30-DAY TRIAL" button | to download. | agumonkey wrote: | I wonder what could be improved with todays knowledge while | keeping it under 2MB. | CyberDildonics wrote: | Why would you keep it under 2MB? | [deleted] | flenserboy wrote: | For one, to put retro systems to great use. For another, to | keep as much cruft/unnecessary bells & whistles from being | present as possible. Just because the space is there doesn't | mean it has to be used. | CyberDildonics wrote: | What specific retro systems have a 2MB limit? | bombcar wrote: | 2.88 for Extra High Density - pretty rare outside of | Japan iirc. | | http://209.68.14.80/ref/fdd/formatKB2880-c.html | tssva wrote: | 3COM NETBuilder II routers had 2.88MB floppies. I once | spent an entire day tracking down a local supplier with a | 2.88MB floppy drive and floppies in stock, so we could | upgrade the software on a few routers being affected by a | Vines/IP bug. | Findecanor wrote: | A "1.44 MB floppy" has that capacity for _files_ when | formatted with the FAT file system from MS-DOS. The | _unformatted_ capacity is actually closer to 2 MB but a | proper file system has disk-space overhead for metadata | and check sums. | | You could have a file system with much less disk-space | overhead than FAT, and there are many out there. A demo | disk would typically be read-only, and in particular | there are some read-only file-systems that are really | space-optimised, | | Another option would be to treat the disk sectors as a | single compressed file which the bootloader decompresses | into a RAM-disk image which the OS then boots from, but | that would require a bit more than 2 MB of RAM. | flenserboy wrote: | It's not 2 mb in particular; honestly, I'd say 4 mb is | the practical starting limit once you're into 16/32 bit | CPUs -- a Mac Plus / Classic would go to 4, for instance, | and every speck of memory free under that made a | difference in performance. 2 is a nice limit for total | system size, as it allows for (as can be seen in QNX) a | very capable, flexible OS, while leaving headroom for | programs to run. | agumonkey wrote: | I restricted myself, I wanted to say 1MB. | | I can't help but to find the min-max of everything. Well at | least fantasize about what could be. | lproven wrote: | I don't think there is anything today that comes close to | equalling it, and very definitely nothing that can improve on | it. | agumonkey wrote: | Even without knowing it, I'm sure it's far from perfect and | may enjoy a few tweaks here and there. | lproven wrote: | The QNX demo, from 25Y ago? Oh, yes. The miracle is that it | worked at all, not that it's very complete. | | The full OS was a ~100MB download: | | https://archive.org/details/qnx-neutrino-rtos-x86-runtime- | ki... | [deleted] | senko wrote: | QNX was (is?) such a great OS. This was my first encounter with a | microkernel based OS that actually worked, and well. | | If I remember correctly, they were moving towards OSS at some | point (or at least toward opening it to a wider community). I had | it installed in a VM, did some packaging of open source stuff to | QNX (bash and irssi, I think), was fun. | | At some point they focused on industry/enterprise and that was | the end of that for me, but led me to discover L4 later on, and I | still have a soft spot for microkernels. | lproven wrote: | Indeed. I submitted this partly because I get so very tired of | Linux zealots claiming that the HURD "proves" that microkernels | can't work, or that Minix 3 shows that, OK, they _can_ work, | but they 're crippled. | flobosg wrote: | (2008) | snvzz wrote: | Closest thing we have today (microkernel multiserver OS with a | desktop) is Genode[0]. | | 0. https://www.genode.org | forgotpwd16 wrote: | Why Genode over Hurd and Minix considering those are also Unix- | like same as QNX (which still exists btw)? | snvzz wrote: | Hurd is still stuck using Mach, unfortunately. The issues | from the Hurd critique paper haven't been addressed either. | | Minix, as cool as it is, does not have a maintainer, and | hasn't seen activity for years. There's a lot of out-of-tree | work that's just sitting there. It is a shame, because it is | a really cool system architecture. | | Genode is a modern, proper multiserver OS that has a good | architecture, frequent releases and quite solid overall | direction. And it has POSIX compatibility, so a lot of | software runs, including modern web browser engines. | sloppycee wrote: | I remember buying a magazine with this floppy disk attached, blew | my mind back then. Great marketing from QNX at the time. | | How they did it: | http://web.archive.org/web/20011106140711/http://www.qnx.com... | MonkeyClub wrote: | That bit of web archaeology was very helpful, much appreciated! | myself248 wrote: | This needs a [1999] or a [2008] in the title. (Original release, | modification date.) | Animats wrote: | Around 2003 there was a demo CD. This brings up a nice system | with a GUI and browser.[1][2] | | QNX started closed source with a free version, went open source, | went closed source, went open source after an acquisition, and | then went closed source when RIM (Blackberry) acquired them. Then | RIM dropped the GUI to focus on whatever it is Blackberry still | does. | | As I once told one of their sales execs, "quit worrying about | people pirating your system and worry about people ignoring it". | During the first free version period, people were porting open | source software such as GCC, Eclipse, and browsers to QNX. With | all the licensing changes, the open source community got fed up | with QNX and stopped making versions for it. | | We used QNX for our DARPA Grand Challenge vehicle. All our | desktop machines ran QNX, and we could run the real-time program | on them as well as the vehicle. The real time features were so | good that we could have the entire real-time vehicle system | running, at hard real time priority, and run a browser or compile | without missing a time check. | | [1] http://toastytech.com/guis/qnx621.html | | [2] https://archive.org/details/qnx_momentics_6.2.1 | [deleted] | GekkePrutser wrote: | It is a shame yes. There is no current desktop RTOS at all | afaik. | | I know an RTOS does not guarantee smooth desktop performance | but I just would love to try it out to compare. | MisterTea wrote: | > There is no current desktop RTOS at all afaik. | | Plan 9 has deadline scheduling out-of-the-box for real-time. | It runs on x86-64, 386, Arm v7 and AArch64 (And more): | http://doc.cat-v.org/plan_9/real_time/ (mostly obsolete but | describes the motivation and implementation) | | See proc(3) man page for deadline scheduling (towards the | bottom real-time i described): http://man.9front.org/3/proc | (I always recommend the actively maintained 9front fork) | | The best part is you don't need special patches or libraries. | You simply configure the process/group by writing messages to | the procs ctl file using the command line, a script, or from | within your program. | GekkePrutser wrote: | Interesting. Is that a desktop OS though? I'll have a play | with it soon. Thanks for the heads-up. | [deleted] | PaulDavisThe1st wrote: | Linux with a kernel built with RT_PREEMPT ? | jcelerier wrote: | this demo cd is my benchmark of how a computer is supposed to | feel like. if UI interactions are in any way slower than what | this provides (on, say, 2008-era hardware), it's basically poop | ducktective wrote: | 1- What's the FOSS alternative that is as good as QNX nowadays? | FreeRTOS, NuttX, Zephyr etc are used for MCUs not general | purpose computation AFAIK | | 2- What tech stack (language) you used for those challenges? | | 3- Your idea on Lisp (for these applications)? | beagle3 wrote: | QNX was a true microkernel architecture that worked, and | worked well. The basic building block was called IIRC | Send/Receive/Reply: Every "system" call looked like a regular | function call, but would "Send" a message to a different | process, and (usually) suspend the caller; The other process | would "Receive", do whatever was requested, and "Reply", at | which point control went back (with the response) to the | calling process. IIRC it was also possibly to do async calls, | but in that case the other process would call ("Send") the | response back, rather than "Reply". I might be confusing this | with another system though. | | device drivers weren't privileged - they were just another | process you called into, and could be restarted in the case | of a fault (rather than kernel panic or blue screen). | | A system that doesn't provide this is not an alternative to | QNX; It's just another operating system (which are all, in | some ways, alternative to each other and thus QNX, but ...) | snvzz wrote: | >What's the FOSS alternative that is as good as QNX nowadays? | FreeRTOS, NuttX, Zephyr etc are used for MCUs not general | purpose computation AFAIK | | SeL4 with CAmkES, or Genode. | jonny_eh wrote: | How about WindRiver Linux? | https://www.windriver.com/products/linux | snvzz wrote: | Excluded, because it's Linux, with all its issues. | | Huge TCB being the main one. | mise_en_place wrote: | Dunno if it's an alternative but Linux had RT_PREEMPT and you | can build a kernel that's fully preemptable. | PaulDavisThe1st wrote: | It's good, but ... there's "fully preemptable" and there's | "fully preemptable". QNX is one of those, RT_PREEMPT | kernels are the other. | [deleted] | Animats wrote: | 1. Nothing. Someone was writing a QNX-type kernel in Rust. | What happened to that? There's L4, but it's too low-level. | It's more of a hypervisor. People usually run another OS, | usually a stripped-down Linux, on top of L4. QNX offers a | POSIX API, so you can run applications directly. | | 2. C++. Here's the source code. [1] | | 3. No. | | [1] https://github.com/John-Nagle/Overbot/ | snvzz wrote: | >People usually run another OS, usually a stripped-down | Linux, on top of L4. | | Look into Genode. | MonkeyClub wrote: | > 3. No. | | Why? No hope for real RT? (Or otherwise more generally due | to the GC?) | wakeupcall wrote: | I was using it at that time as my main desktop OS. I ported and | wrote several tools of it. The gui itself was simple, nice to | use and to program for. | | Driver support wasn't extensive, but the available drivers were | working fine. With qnxstart.com at the time and all the oss | tooling I didn't have anything missing. | | I was in love in a way that only beos gave me before. | | This was the last commercial/closed-source OS I ever used in no | small part due to the license change. | wslh wrote: | SqueakNOS was a project to build a complete operating system via | Squeak. In this way you can quickly hack it. There is a great | page about these initiatives here: | http://wiki.squeak.org/squeak/5727 | | Prior to SqueakNOS we implemented this: | http://swain.webframe.org/squeak/floppy/ (using Linux and | modifying Squeak to work with SVGALib instead of X) in just 900mb | inspired in this QNX Demo Disk. | lproven wrote: | I think you meant 900 _kB_ not _MB_. | | TBH, even now, 900 meg isn't very impressive. ;-) | h2odragon wrote: | QNX always sounded interesting, until one saw just how much | effort the company was going to to prevent people from actually | using it. Vaguely recall a story about someone trying to buy 50 | licenses from them for a prototype kiosk thing but they wanted | something like 1,000 minimum for a reseller account; and that | killed the project. | gbin wrote: | Now it is basically a company just as predatory as Oracle. It | is just sad. | FpUser wrote: | I did some demo projects with QNX in the 90s and I thought it | was the best OS ever. Unfortunately trying to license it for | use with our company products was a nightmare and after a while | I just said the fuck with it. | panick21_ wrote: | Being proprietary killed such an huge large amount of great | technology in the 90 and early 2000s. | [deleted] | [deleted] | danuker wrote: | It also made a large amount of money for those who knew how | to walk the fine line between profitability and adoption. | [deleted] | userbinator wrote: | Somewhat similar to MenuetOS: | https://news.ycombinator.com/item?id=31290789 | sedatk wrote: | "xNix", really? I thought we'd settled on using Unix as a generic | name for all Unix-like operating systems. | lproven wrote: | Unix is very much not generic, and is (r), (tm) and (c) to the | Open Group. | | Novell donated the trademark to them when it bought Bell Labs | in 1993. | | 1 Linux is currently a registered UNIX(tm): Huawei EulerOS | | https://www.opengroup.org/openbrand/register/brand3622.htm | | Formerly Inspur K-UX was, too: | | https://www.opengroup.org/openbrand/register/brand3617.htm | | You can view the list here: | | https://www.opengroup.org/openbrand/register/ | | Apple macOS, IBM AIX, HP-UX, the 2 old SCO OSes, and -- oddly | -- IBM z/OS. | | But no, UNIX is very much not generic, and I generally find | Linux people get very upset when I call it a UNIX. Which it is, | but even 29 years on, people still think that "Unix" means | "based on AT&T code". | jakemauer wrote: | This brings back memories. I remember marveling at this with my | best friend when it came out. I got into BeOS around the same | time. | | I used to use those ad-supported dial up ISP's and found one that | worked with a standard PPP dialer so I didn't need their | software. I remember carrying around the QNX disk and login info | so I could get online with basically any computer. | grendelt wrote: | I got into these back in the late 90s because of the hackable | 3Com Audrey "internet appliance" (remember _that_ term?) | | I never hear about QNX anymore, so this is def a blast from the | past. | Scoundreller wrote: | > I used to use those ad-supported dial up ISP's and found one | that worked with a standard PPP dialer so I didn't need their | software | | Juno? Netzero? | basementcat wrote: | A touching tribute to the creator of the demo. | https://openqnx.com/node/298 | haunter wrote: | Something similar: https://pupngo.dk/xwinflpy/xwoaf_rebuild.html | | The 4.0 version works perfectly, 2.2.26 kernel though which was | released in 1999 | | Discussed before here | https://news.ycombinator.com/item?id=28515025 | tibbydudeza wrote: | I used to code a system that ran QNX 4 - it was great - not quite | Linux but fast and responsive. | | The only issue was the file system and driver support - if it | crashed there was not good recovery tools. | oidar wrote: | Back when QNX was distributed on floppy, my work locked down | their computers so that I couldn't dial out to the internet. So I | booted up the QNX off the floppy and was browsing within minutes. | My boss walked in on me browsing the internet and I nearly got | fired over it. He was worried because he thought he might get in | trouble for it. Once I explained how it worked, he was less | worried. | | It was amazing that they could fit a semi-functional browser on a | floppy. | bedast wrote: | A while back, Ford used QNX for their infotainment. Not sure if | they still do. | svorakang wrote: | Other automotive OEMs are using it also for other use cases, | such as compute nodes doing plenty of crunching mixed with | real-time control. | mdaniel wrote: | Must be "old OS week" seeing this and the recent OS/2 post: | https://news.ycombinator.com/item?id=33107065 | glonq wrote: | I remember attending the Embedded Systems Conference frequently | during the late 90s and early 2000s. QNX always had a strong | presence there. | | It always seemed too "big" (too capable, too complex, too pricey) | for my projects so I never took it for a spin. | whartung wrote: | Ok, so skipping the kernel bit, where can I download the source | to a GUI and a browser that runs off of 1.44MB binary? | | Why can't we run one of those on a generic Linux kernel? | robertheadley wrote: | This is one of my favorite things in computing. | ncmncm wrote: | I have long wondered... How was it possible to construct this? Is | it just extreme self-discipline, omitting everything not strictly | essential? Or is there an underlying formalism that makes a very | small amount of code do a very great deal? | | It seems like the only way is for most of the code in the system | to contribute to a multitude of different uses... Maybe an | interpreter with especially powerful, composable operations and a | very compact representation, and most of the system coded to that | interpreter? (That got Apollo 11 from orbit to the moon and | back.) | Animats wrote: | > I have long wondered... How was it possible to construct | this? Is it just extreme self-discipline, omitting everything | not strictly essential? Or is there an underlying formalism | that makes a very small amount of code do a very great deal? | | Two really good designers, Gorden Bell and Dan Dodge. | | Here are the key design decisions: | | - All the kernel does is manage memory, dispatch processes, | handle interrupts and timers, and pass messages from process to | process. No device drivers, no file systems. Everything else is | in user space. The kernel is small (about 60KB of code in some | versions), very well written, and rarely changed. It's so | small, so heavily used, and so rarely changed that it reached | an essentially bug-free state. | | - All non-preemptable kernel operations have fixed upper bounds | on how long they can take, worst case. That upper bound is in | microseconds. That's why real time works. | | - Message passing and CPU scheduling are integrated and very | efficient. In particular, the case of sending a message to | another process and getting a reply message is not only low | overhead, but does not involve losing your turn for the CPU. | The two systems are designed together. So calling another | process can be used almost like a subroutine call. Most | interprocess message systems botch this, and calling another | process means two or more trips through the CPU scheduler and | may cost you your CPU quantum. Which means a "microservice | architecture" runs too slowly. Which means people work around | making interprocess calls, putting too much in one process. | | - There is no swapping or paging. This is essential for real- | time. It simplifies other things. Message passing is copying | user space to user space, and can't page fault. The destination | area has to be in memory. So there is no need for kernel data | buffers. | | - At boot time, the boot program loads the kernel, a user space | utility process called "proc", plus any user space drivers or | programs you want at startup. That's how it gets started with | no device drivers in the kernel. More drivers can be loaded | later, if desired. Having a file system or disk is optional. | The minimal configuration is a CPU, boot ROM with the software, | and memory. That's a common configuration for small embedded | systems. | | - File systems, networking, and drivers are all user programs. | Some have the privilege of writing to device space. The kernel | turns interrupts into interprocess messages. | | It's a nice architecture for small and medium real-time systems | that have to Just Work. | Kenji wrote: | mwcampbell wrote: | > So calling another process can be used almost like a | subroutine call. | | Any numbers on the overhead of a message send/reply round | trip compared to a subroutine call? I always assumed it was | just axiomatic that the difference in latency between those | two options would be orders of magnitude. | SirLJ wrote: | I had one of those in another life :-) ___________________________________________________________________ (page generated 2022-10-07 23:00 UTC)