<div dir="auto"><div>Ken,<br><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Aug 9, 2021, 5:20 PM  <<a href="mailto:ken.dickey@whidbey.com" target="_blank" rel="noreferrer">ken.dickey@whidbey.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 2021-08-09 09:53, Phil B via Cuis-dev wrote:<br>
<br>
> While I appreciate the dream of a Smalltalk NOS environment, I don't <br>
> think most people who embark on it really think through the reality of <br>
> the limitations the resulting environment will end up with (both in <br>
> terms of device support and resulting image capabilities) or the amount <br>
> of work required to get there and keep it running on modern hardware.<br>
<br>
Note that there is a huge, and confusing, range of literature on "bare <br>
metal OS" design.<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">I've typically stuck with the traditional 'no host OS of any kind' as that's basically what people seem to be longing to recreate (i.e. an Alto or Lisp Machines type of experience).  You'd still have microcode and firmware as that's unavoidable on most modern hardware unless you build your own (i.e. FPGA etc.)</div><div dir="auto"><br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
I found a fairly clean and small open-source microkernel with good<br>
explanatory documentation.<br>
<br>
<a href="http://phoenix-rtos.com/documentation/README.md" rel="noreferrer noreferrer noreferrer" target="_blank">http://phoenix-rtos.com/documentation/README.md</a><br>
<br>
It only runs on a few embedded systems (arm 32 and risc-v 64), but the <br>
code base is compact and looks clean.<br></blockquote></div></div><div dir="auto"><br></div><div dir="auto">I wouldn't consider a RTOS a 'NOS' but see why it might be viewed as a fine compromise vs a 'full' OS.  However, it still leaves you with most of the same portability and device driver issues.  They wrote it for architecture X and you need to run it on Y?  Have fun porting.  Having a predefined device driver model doesn't really help you get your wifi device working if no driver for it has previously been written.  IMO, that's probably what kills most NOS initiatives: the platform and device driver support (even for a 'minimal' subset of devices) is a hideous amount of low level work and there's a lot more of it than most people think especially if one is starting from fond memories of the 80s where the hardware was much less complex.<br></div><div dir="auto"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
When I find the explanations confusing, I find it helpful to read the <br>
code, and vise versa.<br>
<br>
FYI,<br>
-KenD<br>
<br>
</blockquote></div></div></div>