Article View: comp.sys.intel
Article #160380286 vs. 432
From: kong
Date: Tue, 12 May 1987 03:31
Date: Tue, 12 May 1987 03:31
53 lines
3289 bytes
3289 bytes
Here is a interesting issue,
What are the pros and cons of object based (or capability based) systems, say
iAPX 432, in terms of protection mechanisms compared to the contentional system,say 80286, from the architecture's point of view ?
Here are some comparisons between them,
1. protection granularity
80286 uses segments as the basic protection unit.
432 uses objects.
2. protection implementation
80286 uses global and local descriptor tables(GDT and LDT) to define
the rights to access the segments. Each memory reference has to check
those access rights.
432 uses Access Descriptors (actually, capabilities) to define the
access right the user's process has.
3. protection hierarchy
80286 uses ring structured protection hierarchy. The inner most ring is
the most trusted OS kernel, the outer ring is the user's process. Each
ring has a privilege level which defines the current process privilege,
the privilege level will change as the process call a function which
resides at the inner ring.
432 uses plain object spaces. There is no hierarchical structure. User
can access every objects as long as he has the right capability.
4. instruction set
80286 has certain privileged instructions which can only be executed
in the kernel mode. This is the direct consequence of the ring structure and use the segment as the basic protection unit.
in 432, you can execute every instructions as long as you have the right capability to access the instruction object.
5. sharing
80286 uses some sharable LDT or aliases to share some data or
instructions between some processes. Or you can put them into GDT to be
shared by every processes in the system.
432 sharing is achieved by passing capabilities to the sharable object.
*** It seems the conventional architecture such as 80286 has different
approaches for different problems (i.e. privilege level, ring,...).
Sometimes it seems that the conventional architecture can't guarantee
a true protection. On the other hand, the architecture of 432 is very
uniform; it solves each problems by using the same approach (I.e.
the object model), but it has severe ovehead for object access. As we
know, the 432 suffers from the slow performance problems which is a
direct consequence of this "safest" object model. As a matter of fact,
every object based systems has this kind of problems. So, what should
be our choice ? a conventional architecture whose performance is
acceptable but sometimes has protection problems, or a object based
system which has less protection problems but an (unacceptable ?) poor
performance ?
'Kong
UUCP : ..!{sdcrdcf,ihnp4,cepu,trwspp,ucbvax}!ucla-cs!kong
ARPA : kong@cs.ucla.edu
Technical Details
Message-ID:
<5981@shemp.UCLA.EDU>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!water!watmath!clyde!rutgers!ucla-cs!kongShow Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: arc1-ca.pugleaf.net!utzoo!utgpu!water!watmath!clyde!rutgers!ucla-cs!kong From: kong@ucla-cs.UUCP Newsgroups: comp.sys.intel Subject: 80286 vs. 432 Message-ID: <5981@shemp.UCLA.EDU> Date: Mon, 11-May-87 23:31:56 EDT Article-I.D.: shemp.5981 Posted: Mon May 11 23:31:56 1987 Date-Received: Thu, 14-May-87 01:48:15 EDT Sender: root@CS.UCLA.EDU Reply-To: kong@CS.UCLA.EDU Distribution: world Organization: UCLA Computer Science Department Lines: 53 Keywords: 432, 80286