Re: O/S design implementation - was Re: FPGA tricks - Re: using new technology on old machines
On Jun 15, 2015, at 9:21 PM, ben bfranc...@jetnet.ab.ca wrote: On 6/15/2015 7:11 PM, Paul Koning wrote: On Jun 15, 2015, at 8:09 PM, ben bfranc...@jetnet.ab.ca wrote: On 6/15/2015 4:42 PM, Toby Thain wrote: I think Tanenbaum should be fine? A lot of it is fairly timeless. The latest version is *useless*. The racoons on the cover tells alot. Or you could just read “The structure of the THE operating system” by E.W.Dijkstra, and follow its principles. a) Not online to my knowledge http://www.cs.utexas.edu/users/EWD/ewd01xx/EWD196.PDF — the same site that has the full archive of all EWD papers (except for some very early ones that have been lost) — a total of 1300 or so. b) Most likely in German None are in German, naturally, since Dijkstra was Dutch. Some early ones are in Dutch, but this one is in English. c) and the most important thing ... I do not have any Mag Tape Not relevant; the THE OS does not rely on magtapes. It uses drum for paging and spooling, but the design is nicely layered so the system also works without drum (this is explicitly mentioned in one of the reports on its development). In any case, I did not point to this paper as a specific OS to implement, but rather as a demonstration of how to design a modest size but quite useful OS, with very modest effort and extremely high reliability. EWD1303 (http://www.cs.utexas.edu/users/EWD/ewd13xx/EWD1303.PDF) is another note about that effort, looking back from 2000. paul
Re: O/S design implementation - was Re: FPGA tricks - Re: using new technology on old machines
On Jun 16, 2015, at 2:49 AM, ben bfranc...@jetnet.ab.ca wrote: ... Since the computer I designed is a *small* computer, 8 16 bit operating systems is what I am looking at for ideas. This is a 18 bit cpu with the concept, byte access of memory needs true 18 bit addressing and 16 bits is bit small for general 1970's data. Think of it as a something like a 9 bit 6800 cpu. If you’re looking at 1960s designs, you should be fine even if the machine had wider words. By the standards of that era, any modern computer (probably including the one in your microwave oven) is *large*. For example, the THE OS memory footprint is about 16k words (48k bytes), and that includes not just what we think of as a kernel but also all the device drivers and a bunch of language support library code. Other designs from that era are smaller still. paul
Re: O/S design implementation - was Re: FPGA tricks - Re: using new technology on old machines
On Jun 15, 2015, at 7:10 PM, Sean Caron sca...@umich.edu wrote: ... 4. Madnick/Donovan Operating Systems or Donovan's Systems Programming ... were, I imagine, the canon of the 70s and early 80s ... these are written mostly with the S/360 in mind … If it’s written with 360 operating systems in mind, I’d steer clear. I don’t know of much in the way of valuable OS design principles to be found there (except perhaps the lessons reported in “the mythical man month” or in Tom Watson’s famous anecdote about the size of the CDC 6600 development effort). paul
Re: O/S design implementation - was Re: FPGA tricks - Re: using new technology on old machines
On 6/16/2015 8:56 AM, Paul Koning wrote: On Jun 16, 2015, at 2:49 AM, ben bfranc...@jetnet.ab.ca wrote: ... Since the computer I designed is a *small* computer, 8 16 bit operating systems is what I am looking at for ideas. This is a 18 bit cpu with the concept, byte access of memory needs true 18 bit addressing and 16 bits is bit small for general 1970's data. Think of it as a something like a 9 bit 6800 cpu. If you’re looking at 1960s designs, you should be fine even if the machine had wider words. By the standards of that era, any modern computer (probably including the one in your microwave oven) is *large*. For example, the THE OS memory footprint is about 16k words (48k bytes), and that includes not just what we think of as a kernel but also all the device drivers and a bunch of language support library code. Other designs from that era are smaller still. There is *NO* computer in my MICROWAVE! I have the good kind! ( I need to fix the the defrost and half power settings someday). Timer dings when food is cooked. paul 16K words seems right, for that era as core was swapped in and out to run system and program threads. Since TIME SHARING was the big development feature of that era, I am ignoring most main frame operating systems. Single user with small memory and disk I/O as similar to the mid 1970's is my goal. But this is all I have to say, as I want stick to real hardware on this list. Ben.
Re: O/S design implementation - was Re: FPGA tricks - Re: using new technology on old machines
I thought I'd take a quick spin through the operating systems section of my library now that I'm at home just to give you some titles that you might want to check out. 1. Toby mentions Tanenbaum's Minix book and that's a fairly canonical text ... there is a lot of great information in there but IMO some parts can be a little opaque and overly verbose ... it can be nice to have some supplementary sources; see (2) :O 2. For more illumination on UNIX, I find both Maurice Bach's Design of the UNIX Operating System and McKusick's 4.4 BSD book to be well-written. 3. There's a design example (source with walkthrough) for a simple task scheduler for the PDP-11 in Eckhouse's Minicomputer Systems: Organization and Programming (PDP-11 edition). 4. Madnick/Donovan Operating Systems or Donovan's Systems Programming ... were, I imagine, the canon of the 70s and early 80s ... these are written mostly with the S/360 in mind ... 5. For something maybe less academic and a bit more practical, look for the MMURTL book; I believe the title is Developing your own 32-bit Operating System by Burgess ... neat book ... I've leafed through it but I down own a copy. Platform is i386. 6. There are also a lot of practicals on Merrill Press that are very good i.e. The 68000 Micrporocessor by Antonakos ... that will demonstrate the implementation of a basic ROM monitor from scratch ... I found these books very illuminating and I think they can be a good bridge between the more theoretical treatment given in a lot of textbooks and the actual nitty-gritty of writing some code on bare-metal hardware. You can pick up a used copy of any of these books for a buck or two on the used market; that's hard to beat. That's pretty much all I got ... always looking for interesting books on this topic contemporary or historic; if anyone else has titles to share that they could recommend, I'm always happy to hear. Best, Sean On Mon, Jun 15, 2015 at 6:42 PM, Toby Thain t...@telegraphics.com.au wrote: On 2015-06-15 12:18 PM, ben wrote: On 6/15/2015 9:08 AM, Toby Thain wrote: On 2015-06-15 9:35 AM, Dave G4UGM wrote: I don't think it is over kill. If you want over kill try this:- https://www.youtube.com/watch?v=ALXax3Gydl8 and FPGA implementation of the Baby or SSEM which had 32x32 bits of RAM. The implementation uses around 1% of the Spartan 3E 1200K gates, and that includes the logic to generate the VGA which is around 50% of the circuit. I expect to get it on a 100K gate chip but that’s still over-kill. Speaking of VGA, you might like this: http://www.fpgarelated.com/showarticle/42.php --Toby But alas the software does *not* support the older chips. You want to make a mod 5 years down the road, sorry we do not support that model any more. TTL needs to be stock piled now for the next +50 years. I finally got 18 bit FPGA computer (DE1) design I like, that is early 70's speed. 1.5 us core. What I am having problems is finding a good book on Operating Systems from that Era that is online, any one know a good book? I have software that I need to write. I think Tanenbaum should be fine? A lot of it is fairly timeless. https://archive.org/details/OperatingSystemsDesignImplementation --Toby Ben.
Re: O/S design implementation - was Re: FPGA tricks - Re: using new technology on old machines
On 6/15/2015 5:10 PM, Sean Caron wrote: I thought I'd take a quick spin through the operating systems section of my library now that I'm at home just to give you some titles that you might want to check out. 1. Toby mentions Tanenbaum's Minix book and that's a fairly canonical text ... there is a lot of great information in there but IMO some parts can be a little opaque and overly verbose ... it can be nice to have some supplementary sources; see (2) :O 2. For more illumination on UNIX, I find both Maurice Bach's Design of the UNIX Operating System and McKusick's 4.4 BSD book to be well-written. 3. There's a design example (source with walkthrough) for a simple task scheduler for the PDP-11 in Eckhouse's Minicomputer Systems: Organization and Programming (PDP-11 edition). 4. Madnick/Donovan Operating Systems or Donovan's Systems Programming ... were, I imagine, the canon of the 70s and early 80s ... these are written mostly with the S/360 in mind ... 5. For something maybe less academic and a bit more practical, look for the MMURTL book; I believe the title is Developing your own 32-bit Operating System by Burgess ... neat book ... I've leafed through it but I down own a copy. Platform is i386. 6. There are also a lot of practicals on Merrill Press that are very good i.e. The 68000 Micrporocessor by Antonakos ... that will demonstrate the implementation of a basic ROM monitor from scratch ... I found these books very illuminating and I think they can be a good bridge between the more theoretical treatment given in a lot of textbooks and the actual nitty-gritty of writing some code on bare-metal hardware. You can pick up a used copy of any of these books for a buck or two on the used market; that's hard to beat. That's pretty much all I got ... always looking for interesting books on this topic contemporary or historic; if anyone else has titles to share that they could recommend, I'm always happy to hear. Best, Sean Since the computer I designed is a *small* computer, 8 16 bit operating systems is what I am looking at for ideas. This is a 18 bit cpu with the concept, byte access of memory needs true 18 bit addressing and 16 bits is bit small for general 1970's data. Think of it as a something like a 9 bit 6800 cpu. Ben.
Re: O/S design implementation - was Re: FPGA tricks - Re: using new technology on old machines
On 2015-06-15 8:09 PM, ben wrote: On 6/15/2015 4:42 PM, Toby Thain wrote: I think Tanenbaum should be fine? A lot of it is fairly timeless. The latest version is *useless*. The racoons on the cover tells alot. I figured, although I haven't seen it. My copy is 1987. https://archive.org/details/OperatingSystemsDesignImplementation I was looking all over for this version, online. Glad I could help. --Toby Ben.
Re: O/S design implementation - was Re: FPGA tricks - Re: using new technology on old machines
On 2015-06-15 9:11 PM, Paul Koning wrote: On Jun 15, 2015, at 8:09 PM, ben bfranc...@jetnet.ab.ca wrote: On 6/15/2015 4:42 PM, Toby Thain wrote: I think Tanenbaum should be fine? A lot of it is fairly timeless. The latest version is *useless*. The racoons on the cover tells alot. Or you could just read “The structure of the THE operating system” by E.W.Dijkstra, and follow its principles. Another essential read in this vein is Classic Operating Systems by Per Brinch Hansen[1], which is really an anthology of papers satisfyingly meaty. Perhaps like me you will be left feeling that we were so much better at this stuff 40 years ago. Also that many modern operating system ideas were invented much earlier than we might be tempted to think. (Multics is the usually cited case, but this book has dozens of other examples.) --Toby [1] http://www.amazon.ca/dp/038795113X paul
Re: O/S design implementation - was Re: FPGA tricks - Re: using new technology on old machines
On 6/15/2015 7:58 PM, Toby Thain wrote: It's also one of the papers in the Brinch Hansen book cited earlier in the thread. (Google books: http://ur1.ca/mu61v ) Too much $$ for me at the moment (even online version). --Toby Ben.
Re: O/S design implementation - was Re: FPGA tricks - Re: using new technology on old machines
On 6/15/2015 7:55 PM, Toby Thain wrote: (The Structure of the THE-Multiprogramming System) Are you sure? http://ur1.ca/mu60x --Toby I saw that paper before. Ben.
Re: O/S design implementation - was Re: FPGA tricks - Re: using new technology on old machines
On Jun 15, 2015, at 8:09 PM, ben bfranc...@jetnet.ab.ca wrote: On 6/15/2015 4:42 PM, Toby Thain wrote: I think Tanenbaum should be fine? A lot of it is fairly timeless. The latest version is *useless*. The racoons on the cover tells alot. Or you could just read “The structure of the THE operating system” by E.W.Dijkstra, and follow its principles. paul
Re: O/S design implementation - was Re: FPGA tricks - Re: using new technology on old machines
On 2015-06-15 9:21 PM, ben wrote: On 6/15/2015 7:11 PM, Paul Koning wrote: On Jun 15, 2015, at 8:09 PM, ben bfranc...@jetnet.ab.ca wrote: On 6/15/2015 4:42 PM, Toby Thain wrote: I think Tanenbaum should be fine? A lot of it is fairly timeless. The latest version is *useless*. The racoons on the cover tells alot. Or you could just read “The structure of the THE operating system” by E.W.Dijkstra, and follow its principles. (The Structure of the THE-Multiprogramming System) a) Not online to my knowledge Are you sure? http://ur1.ca/mu60x b) Most likely in German What Mouse said, but it's actually in English. --Toby c) and the most important thing ... I do not have any Mag Tape paul Ben.