In article <12...@star.cs.vu.nl> a...@cs.vu.nl (Andy Tanenbaum) writes:All right: a real technical point, and one that made some of my comments
>The limitations of MINIX relate at least partly to my being a professor:
>An explicit design goal was to make it run on cheap hardware so students
>could afford it.
inexcusable. But at the same time you shoot yourself in the foot a bit:
now you admit that some of the errors of minix were that it was too
portable: including machines that weren't really designed to run unix.
That assumption lead to the fact that minix now cannot easily be
extended to have things like paging, even for machines that would
support it. Yes, minix is portable, but you can rewrite that as
"doesn't use any features", and still be right.
>A multithreaded file system is only a performance hack.Not true. It's a performance hack /on a microkernel/, but it's an
automatic feature when you write a monolithic kernel - one area where
microkernels don't work too well (as I pointed out in my personal mail
to ast). When writing a unix the "obsolete" way, you automatically get
a multithreaded kernel: every process does it's own job, and you don't
have to make ugly things like message queues to make it work
Besides, there are people who would consider "only a performance hack"
>I still maintain the point that designing a monolithic kernel in 1991 isWell, I probably won't get too good grades even without you: I had an
>a fundamental error. Be thankful you are not my student. You would not
>get a high grade for such a design :-)
argument (completely unrelated - not even pertaining to OS's) with the
person here at the university that teaches OS design. I wonder when
I'll learn :)
>My point is that writing a new operating system that is closely tied to anyBut /my/ point is that the operating system /isn't/ tied to any
>particular piece of hardware, especially a weird one like the Intel line,
>is basically wrong.
processor line: UNIX runs on most real processors in existence. Yes,
the /implementation/ is hardware-specific, but there's a HUGE
difference. You mention OS/360 and MS-DOG as examples of bad designs
as they were hardware-dependent, and I agree. But there's a big
difference between these and linux: linux API is portable (not due to my
clever design, but due to the fact that I decided to go for a fairly-
well-thought-out and tested OS: unix.)
If you write programs for linux today, you shouldn't have too many
In fact the /whole/ linux kernel is much smaller than the 386-dependent
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.