Re: O/S design implementation - was Re: FPGA tricks - Re: using new technology on old machines

2015-06-16 Thread Paul Koning

 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

2015-06-16 Thread Paul Koning

 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

2015-06-16 Thread Paul Koning

 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

2015-06-16 Thread ben

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

2015-06-16 Thread Sean Caron
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

2015-06-16 Thread ben

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

2015-06-15 Thread Toby Thain

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

2015-06-15 Thread Toby Thain

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

2015-06-15 Thread ben

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

2015-06-15 Thread ben

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

2015-06-15 Thread Paul Koning

 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

2015-06-15 Thread Toby Thain

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.