Ted Leung on the air
Ted Leung on the air: Open Source, Java, Python, and ...
Ted Leung on the air: Open Source, Java, Python, and ...
Tue, 09 Mar 2004
Capability-Based Computer Systems
One of the issues that we are working on for the 0.4 release of Chandler is what we call sharing -- the ability to share Chandler Items with other people. As soon as you start talking sharing, you need to start thinking about authentication and access control. Before I got to OSAF, there was some talk of doing this sort of thing by using capabilities, a technology that people have seen in an OS textbook but never really been exposed to. Fellow ASF member Ben Laurie is a big advocate of this approach. So as we started into sharing, I took some time to look through my (paper) copy of Henry Levy's Capability-Based Computer Systems which details the evolution of capability oriented systems. In these pages you encounter the Burroughs B5000, the MIT PDP-1, the CAL-TSS, the Plessey 250 and its descendent the Cambridge CAP. You'll also find the CMU Hydra and StarOS systems. The IBM System/38 (now known as the AS/400) appears as the only commercially successful capability based system (and most people don't really know about it). The last system described is the ill fated Intel iAPX 432. I was quite enamored of this system -- I think the original Intel databooks are still in a file cabinet in my parents house.
Even if you're not up for a tour of computer architecture, you'll benefit by looking at the first and last chapters to learn more about capabilities and the problems they are trying to solve. It's worth it. As time passes the knowledge of these systems' designers will slowly fade away, and the lessons they learned will be lost, dooming us to insecure C-based hardware forever.
[21:22] |
[computers] |
# |
TB |
F |
G |
3 Comments |
Apparently we are also starting to forget that capability-based systems were over-engineered, under-performing commercial disasters.
Posted by Chris Maeda at Thu Mar 11 06:29:56 2004
Posted by Chris Maeda at Thu Mar 11 06:29:56 2004
Saything that some thing is a commercial success or failure isn't much of a critique. We all know that commercial success and technical merit are unrelated.
The number in this page are old
http://www.eros-os.org/project/status.html
But they do show that someone has found a way to make capabilities perform decently on modern hardware.
When you have enough transistors to put two whole CPU's on a chip, then maybe you can find a way to accelerate things previously thought to be hopelessly inefficient.
Posted by Ted Leung at Thu Mar 11 18:44:41 2004
The number in this page are old
http://www.eros-os.org/project/status.html
But they do show that someone has found a way to make capabilities perform decently on modern hardware.
When you have enough transistors to put two whole CPU's on a chip, then maybe you can find a way to accelerate things previously thought to be hopelessly inefficient.
Posted by Ted Leung at Thu Mar 11 18:44:41 2004
Viewing capabilities from an Operating System perspective is only taking half a look at capabilitie, I feel. The E Language (a sister project to EROS) has done interesting work to use capabilities as an underlying mechanism in a distributed scripting language and YURL is designed to bring capabilities to the web.
Posted by steve jenson at Sun Mar 14 00:44:47 2004
Posted by steve jenson at Sun Mar 14 00:44:47 2004
You can subscribe to an RSS feed of the comments for this blog:
Add a comment here:
You can use some HTML tags in the comment text:
To insert a URI, just type it -- no need to write an anchor tag.
Allowable html tags are:
You can also use some Wiki style:
URI => [uri title]
<em> => _emphasized text_
<b> => *bold text*
Ordered list => consecutive lines starting spaces and an asterisk
To insert a URI, just type it -- no need to write an anchor tag.
Allowable html tags are:
<a href>
, <em>
, <i>
, <b>
, <blockquote>
, <br/>
, <p>
, <code>
, <pre>
, <cite>
, <sub>
and <sup>
.You can also use some Wiki style:
URI => [uri title]
<em> => _emphasized text_
<b> => *bold text*
Ordered list => consecutive lines starting spaces and an asterisk