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