<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Wed, Jun 17, 2015 at 12:09 PM, Stephen Potter <span dir="ltr">&lt;<a href="mailto:spp@unixsa.net" target="_blank">spp@unixsa.net</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div id=":bvy" class="a3s" style="overflow:hidden">The point is to remove the necessity for the security and management<br>
tools.  If you are dealing with virtual applications that have a single<br>
function, where do you need much of this?  Think of the specialized<br>
hardware appliances we have - network functions, security functions,<br>
telephony, digital signage, cameras, satellite receivers.  Many of them<br>
are based on embedded Windows or Linux distributions, but do they truly<br>
need all the complexity of a complete kernel and OS, or would it be<br>
possible to embed that functionality directly into the application.</div></blockquote></div><br>I think there is a major difference of definition for &quot;OS&quot; going on here -- over the past few decades, I&#39;ve developed/supported/used those embedded systems you mention (from telephone switches to session border controllers to medical devices).  My definition of the &quot;OS&quot; is the kernel, section 2, and [most of] section 3 of the man pages (with whatever from section 8 might be required to get things going).  All that windowing stuff, web stack (beyond bare-bones TCP and whatever other friends are in the kernel), shells (and virtually all other section 1 stuff), fancy management tools, etc. -- that&#39;s not what I consider to be the operating system.  That&#39;s app/user space and add-ons.</div><div class="gmail_extra"><br></div><div class="gmail_extra">So (using my definition of OS), yeah, embedded applications of any complexity (say, beyond just simply blinking a light) benefit greatly from the complete kernel/OS (from being able to develop/emulate/debug them on any linux/unix laptop to having a standard programming/operating environment to all the other things that an operating system gives you).  OK, so some of the esoteric kernel modules could probably be left out but the penalty for including them is relatively low (and you can always hand-roll a distro without them).</div><div class="gmail_extra"><br></div><div class="gmail_extra">And embedded applications developed on/for linux/unix also benefit from a lot of the app/user stuff (shells/debuggers/most section 1 stuff) when it comes to doing development and support -- let me tell you about the joy of being able to &quot;log in&quot; to your telephone switch (or firewall or cellular operations system or satellite telemetry station or medical analyzer or what have you) to trouble-shoot, especially from 10,000 km away, without having to use some fancy/proprietary IDE/hardware harness or-- worse-- having to get on a transport and fly to the bottom of the world (Ethan, can I get an &quot;Amen!1!11&quot; ?). </div><div class="gmail_extra"><br></div><div class="gmail_extra">Not to mention the joy of slapping a python script into place as a workaround for some hardware deficiency (that wasn&#39;t discovered until the systems shipped).</div><div class="gmail_extra"><br></div><div class="gmail_extra">Heck, speaking of Ethan, take a look at the Pi, BeagleBoard, etc.  Quintessential open-source embedded development environment -- running linux!</div><div class="gmail_extra"><br></div><div class="gmail_extra">Jeff</div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div><div class="gmail_extra"><br></div></div>