[mod.computers.68k] Some initial comparisons of Amiga's Exec and MINIX

mwm@VIOLET.BERKELEY.EDU.UUCP (02/15/87)

ulowell!info-minix is the mailing list used by the group working on
the Minix port to the Amiga. Spectators are allowed, and I'm one.
Given the discussion of Minix here, I thought the following would be
of general interest.

Also, since Amiga Exec is related to (is identically?) Tripos Exec,
I'll take this chance to ask if anyone out there is running Tripos
(Stride & similar companies offfer it as an option), and if so to tell
us aobut it.

	<mike

------- Forwarded Message

Date: Sat, 14 Feb 87 00:58:25 est
From: Jeff Kelley <ames!harvard!wanginst!decvax!watmath!watdragon!jvkelley@cad.berkeley.edu>
Message-Id: <8702140558.AA06093@watdragon.uucp>
To: ulowell!amiga-minix
Subject: Some initial comparisons of Amiga's Exec and MINIX


After perusing the first couple of chapters of Tanenbaum's book, I've
got a few comparisons to make between Amiga's Exec and MINIX.

Processes:

	- If you want more than (NR_TASKS+NR_PROCS), you get to change
	  those constants and recompile a portion of the OS and link it.
	  I prefer Exec's flexible approach, with no absolute limit
	  on the number of processes, even though it does mean a *little*
	  overhead in terms of CPU usage and memory.
	  
	- THREE, count them, THREE different priority levels!  (And only
	  one available for user processes.)  What if I've got a CPU
	  intensive job that I want to finish in the next day or two?
	  If I run it in the background, it will split time equally
	  with any short jobs I want done NOW.  Give me Exec's 256
	  priority levels any day.

Message Passing:

	- On the 68000,
	  with its large linear address space, it may be best to use
	  Exec's approach of passing pointers to messages around, rather
	  than copying them.  Does this result in a less secure system?
	  Probably, but I'd like to hear comments about how to make
	  any OS on the Amiga secure.

	- MINIX doesn't have an asynchronous send. (Well, I suppose you
	  could fork() a child and have it do the send, but that's a lot
	  of overhead...)
	  
Memory Management:

	- Is fork() really necessary?  This seems to be the main reason
	  why it is necessary to restrict code and data/stack to be in
	  contiguous 64k regions.  Wouldn't it be better to support
	  vfork(), which would just create a new process from an 
	  executable file, with a few environment variables preset
	  (i.e. stdin, stdout, stderr).

	- If Amiga-MINIX doesn't restrict processes to 64K of code and 64K
	  of data/stack, will it be possible to kill() processes?

I don't want to give the impression that I don't like MINIX, I'm just
trying to bring up a few topics for discussion. (And point out how good
Exec is.)  There's an awful lot I like about MINIX, I'm just not
mentioning it here.

No (sane) Amiga user is going to be willing to give up Intuition.
Just what are the ramifications of trying to integrate this with
Amiga-MINIX?  (Legal and technical)

Comments, questions, answers, *FLAMES* and donations(:-) are welcomed.

	Jeff Kelley
	jvkelley@watdragon.UUCP

UUCP  :	...!{decvax|ihnp4|clyde|allegra|utzoo}!watmath!watdragon!jvkelley   
ARPA  :	jvkelley%watdragon%waterloo.csnet@csnet-relay.arpa 
CSNET :	jvkelley%watdragon@waterloo.csnet

------- End of Forwarded Message