From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=unavailable autolearn_force=no version=3.4.4 Path: eternal-september.org!reader01.eternal-september.org!feeder.eternal-september.org!aioe.org!.POSTED.koYgfxLajbTgNrEOdJ5AgQ.user.gioia.aioe.org!not-for-mail From: russ lyttle Newsgroups: comp.lang.ada Subject: Re: Why couldn't an operating system be written in ada Date: Sun, 3 Mar 2019 17:14:55 -0500 Organization: Aioe.org NNTP Server Message-ID: References: <4s8rud$9j3@tribune> <2a397e8f-efb7-417c-b119-cf7357e5c539@googlegroups.com> NNTP-Posting-Host: koYgfxLajbTgNrEOdJ5AgQ.user.gioia.aioe.org Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Complaints-To: abuse@aioe.org User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.5.1 X-Notice: Filtered by postfilter v. 0.9.2 Content-Language: en-US Xref: reader01.eternal-september.org comp.lang.ada:55775 Date: 2019-03-03T17:14:55-05:00 List-Id: On 3/2/19 11:07 AM, Optikos wrote: > On Monday, July 15, 1996 at 3:00:00 AM UTC-4, Jon S Anthony wrote: >> In article <4s8rud$9j3@tribune> Mark McKinney writes: >> >>> liability. Besides the OS could perform most of work that the language >>> runtime does. So why not build an OS in ADA? >> >> A neat idea whose time is long since gone. The OS "wars" have been fought >> and largely lost.... :-( > > As true today in 2019 as it was in 1996, when Linux was just starting to dominate over the incumbent Unixes for mindshare. > > If one seeks to write an operating system that mimics the behavior of other existing OSes but is merely rewritten in Ada as minor implementation nit, then it is an effort doomed to failure unless you are a billionaire looking for a fascinating hobby project. > > The OS wars in recent years has reached a truce of sorts with everyone converging on Linux (for now). What a next-gen OS must do is solve one or more pernicious problems faced by today's OS+cloud that is ill served by today's OS's and orchestration. Don't solve the same problem again (but done right). Rather solve a new problem that obsoletes Linux and today's haphazard cloud infrastructure and today's AI and today's self-driving automobile neural nets and today's telecom networking and ubiquitous FPGAs everywhere and ubiquitous physics-modeling-processors (i.e., GPUs) everywhere and software-defined networking (SDN) and software-defined WAN (SD-WAN) and software-defined data center and … and … and. > > The old Sun Microsystems' advertising tagline is more true today than it was back in the 1990s when their ads plastered it everywhere: “The network is the computer.” Today, in the microcosm, we have a many-core confederation of cache-coherent NUMA processors & cores therein in an all-hardware-protocol network. Plus in the macrocosm, we have cloud computing based on either VMs (KVM mainly, with a smattering of VMware). A new OS would focus on doing all of these things differently than today and better than today in one over-arching well-thought-out vision. > > We don't need a new OS per se. We need an entirely different OS with an entirely different mission. > > We don't need a new successor to Ada per se (that placates troglodyte syntax preferences). We need Ada to have a new mission. Randy's Ada2020 interest in bringing a Rust-esque borrow checker to Ada is a hint in this direction of a drastically new mission for Ada. > > Once your mind's eye sees the new unified mission clearly (as Francis Corbató did for General Electric in Multics during the late 1960s), the gaps to fill to get us there become far less mysterious and, more importantly, far less mundane & pedestrian. Then expandedAda has a newMegaOS to go solve well to eclipse the incumbent Linux+orchestration+cobbled-together-self-driving-automobile+AI+GPUs+ubiquitous-FPGAs hodgepodge that is the current lackluster state of disarray in computing. The expandedAda as the implementation language of newOS could marshal far more than Linux does today. And that is what an OS does: •marshaling complexity•, whether it is called scheduling or orchestration or I/O or impeccably-perfect resource lifetime. > Exactly! Even though the current buzz-word is "cloud", an OS is needed for massively networked heterogeneous CPUs. To mis-quote Bruce Schneier, a car is a computer with wheels. In fact, it is a big computer composed of many smaller computers interconnected as nodes on networks. An OS is needed that is native to that environment and treats all nodes as part of itself. As far as I can tell, the only language available today in which that OS could be written is Ada with (perhaps) Ravenscar and Spark. That is, if the Ada team decides to accept the mission.