On Tue, Nov 09, 1999 at 04:57:06PM +0200, Adam Morrison wrote:

> > This figure is misleading anyway. Pure Unix has 5 system calls - open(),
> > read(), write(), close() and fcntl(). And fcntl() hides 700 different
> > things.
> 
> Uh, no.  (Btw, what's ``pure Unix''?)

'Pure Unix' - the Unix you read about in books, and learn about in
introductory courses.

> I'll ASSUME that you meant that you can abstract anything as a file, and
> thus lose most of the API; you'd still be wrong, since you've missed many
> file-related system calls (e.g. lseek(), truncate(), unlink(), etc.)

You can abstract anything as a 'void *data', and have one system call,
'syscall (void *data)'. You see what I mean.

> The `everything is a file' architecture is present in the Plan 9 operating
> system from Bell Labs, and even that OS has a lot more than 5 system calls.
> 
> I can imagine how you'd implement much of the UNIX API in terms of open()
> and friends, but that would not only be a very complex implementation, it'd
> in a very ugly API.  That API wouldn't be any less complex than the 
> `standard' UNIX API.

That was exactly my point. The number of system calls is not an indication
for too much, unless you also consider the complexity of these system calls,
the methods they provide (as in 'ways of doing things'), their usability and
so on.
Saying that 'Linux is simpler than NT because it has far fewer system calls'
is just as misleading as saying that 'NT is superior to Linux because it has
much more system calls'...

                                                   Nimrod

=================================================================
To unsubscribe, send mail to [EMAIL PROTECTED] with
the word "unsubscribe" in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]

Reply via email to