Newsgroups: | comp.compilers |
From: | pardo@cs.washington.edu (David Keppel) |
Keywords: | registers, optimize |
Organization: | Computer Science & Engineering, U. of Washington, Seattle |
References: | 92-05-123 92-06-006 |
Date: | Wed, 3 Jun 1992 01:59:54 GMT |
preston@dawn.cs.rice.edu (Preston Briggs) writes:
>[An OS that knows a type system seems wrong.
> Levine says the OS could just compare tags w/o knowing types,
> but that only works for simple type systems. For more interesting
> type schemes you want more complex approaches.]
Hm, It's been a year or so since I caused trouble with my ``efficiency is
overrated'' soapbox, so I'll just rummage around, find it, dust it off,
and here we go...
We already have numerous OSs that support typing: Unix being one, with a
type set of ``stream of bytes'' and nothing else[*]. Each client of Unix
is responsible (or, in most cases, irresponsible) for assuring type
security at client interfaces. That existing systems do so poorly says to
me we need improvement, but not in the OS; I believe good typing can be
done voluntarily. I belive existing systems fail because they lack simple
and useful facilities for managing types: identification, checking,
conversion, and exchange. (David Lamb, is now probably either laughing or
crying).
My opinion is that we can solve type problems without putting types in the
OS; indeed, that there is nothing magic about putting types in the OS. If
you're worried about priviliges, add capabilities and make the type
manager use capabilities. I think putting types in the OS causes
problems. Locking everybody in to one model of typing seems as
restrictive, single-minded, and special-purpose as a system that can't
multi-task: there are reasons for such a system but they don't fit what I
believe are the needs of today's average users.
I agree with Preston about the variety of typing systems, and to me it
follows also that that OSs should not have types built in to them.
[*] Lest somebody point out that Unix uses argument lists, buffers,
etc., I will respond that yes, I lied, but in the good spirit of
trying to make a point: in Unix, typing is enforced at client
boundaries, and Unix *does* have a notion of type, albeit one not
well-mated to most programming language type systems.
;-D on ( Pardon, sir, what type is your soapbox? ) Pardo
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.