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,FREEMAIL_FROM autolearn=unavailable autolearn_force=no version=3.4.4 X-Received: by 10.66.101.104 with SMTP id ff8mr5012153pab.33.1447922308538; Thu, 19 Nov 2015 00:38:28 -0800 (PST) X-Received: by 10.182.196.9 with SMTP id ii9mr87015obc.7.1447922308501; Thu, 19 Nov 2015 00:38:28 -0800 (PST) Path: eternal-september.org!reader01.eternal-september.org!reader02.eternal-september.org!news.eternal-september.org!mx02.eternal-september.org!feeder.eternal-september.org!news.glorb.com!i2no4956820igv.0!news-out.google.com!l1ni2265igd.0!nntp.google.com!i2no4956814igv.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail Newsgroups: comp.lang.ada Date: Thu, 19 Nov 2015 00:38:28 -0800 (PST) In-Reply-To: <87oaeqlojm.fsf@nightsong.com> Complaints-To: groups-abuse@google.com Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=82.216.245.129; posting-account=21X1fwoAAABfSGdxRzzAXr3Ux_KE3tHr NNTP-Posting-Host: 82.216.245.129 References: <87oaeqlojm.fsf@nightsong.com> User-Agent: G2/1.0 MIME-Version: 1.0 Message-ID: <03bdf331-6a54-4abe-9643-f4fc60ccadc9@googlegroups.com> Subject: Re: Stanford's Pintos Course From: Hadrien Grasland Injection-Date: Thu, 19 Nov 2015 08:38:28 +0000 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Xref: news.eternal-september.org comp.lang.ada:28452 Date: 2015-11-19T00:38:28-08:00 List-Id: Le jeudi 19 novembre 2015 03:18:38 UTC+1, Paul Rubin a =E9crit=A0: > > I haven't looked through it terribly thoroughly, but I'd like to know i= f any > > of the venerable here have experience with this system, or can recommen= d > > any other "frameworks" for developing OS-level code in Ada. >=20 > I don't know that course you describe, but the basic features you > mentioned are pretty standard in OS's, and you could read an OS book and > implement in Ada (with some intrinsics for raw memory access etc). > Tanenbaum's old book about OS's and Minix is pretty readable, describing > a simple message passing OS written in C. You could do something > similar in Ada. Of course I'm sure there's newer books now as well. Also from Tanenbaum, I would strongly recommend "Modern Operating Systems".= It's the single most useful book I've ever read on the theory and architec= ture behind operating systems. Couple that with a general reference book on hardware architecture, and mor= e detailed reference materials on the specific hardware you're targeting (e= .g. wiki.osdev.org is a pretty good start for anything x86), and you should= be all set. The most tricky part will be, in my experience, to learn how to make your f= avorite programming language implementation produce suitable binaries, with= a specific memory layout and without any dependence on underlying runtime = services. This is usually the part of compilers and linkers that is most po= orly documented, because it is not used very often. Thankfully, if you're u= sing a reasonably popular language, someone has already done that and docum= ented the process somewhere on the Web. See, for example, the "bare bones" = tutorials of the OSdev wiki. Once you've gone through that tricky part, it's really programming as usual= , except that you have to write all the runtime services you need yourself.= Quite an enlightening experience!