Another EROS milestone
Jonathan S. Shapiro
shap@eros.cis.upenn.edu
Thu, 7 Nov 1996 15:24:52 -0500
The eros-announce list receives about one mailing every two
months. We anticipate that the next mailing will announce the
availability of a very early alpha release.
Requests for addition or removal should be send to
eros-announce-request@eros.cis.upenn.edu
Since last we left our saga:
THANKS
The EROS effort has received a donation from Tandem of a MIPS
R4400-based machine. We expect to start a 64-bit RISC port in a few
months.
FORTHCOMING
We are planning to do an early-access release (I won't even call it an
"alpha" release) by mid-April. The principle goal of this release is
to allow others to reproduce our experiments and examine how the
system is constructed. This release will provide:
1. Real-time scheduling
2. Diskless operation (while we have an early IDE driver
working, it seems unlikely that checkpointing will make it
into this release). This release *is* suitable for
embedding.
3. The core security architecture.
4. TCP/IP support for a very limited number of network
interface cards.
We *hope* to include a source-level UNIX compatibility environment,
but that may get deferred.
This release will cross-build from linux. Until we have a working
checkpoint mechanism, there's no point to doing a native build.
NATIVE-CONSTRUCTED DOMAINS
EROS has hit a major milestone. Until yesterday, all of our running
programs have been crafted on linux and a cross-tool has been used to
generate the running image.
Yesterday, we crafted the first new domain from within the EROS system
itself. Our test involved successfully running five domains in
collaboration:
Domain Purpose (role)
------ --------------
DomCreTest The test shell
DCC a primordial domain, the grandfather of most domains
Space Bank the disk space allocator
Domain Creator fabricated by DCC, a domain creator fabricates
"unpopulated" domains
Hello A domain that says "hello world" (running this
is the goal of the test).
The test consists of:
DomCreTest calls DCC to obtain a new domain creator
DCC buys space from the space bank
DCC fabricates a new domain creator from this space
DCC returns an "entry capability" to the new domain
creator to the test shell
DomCreTest calls the new domain creator to obtain an
unpopulated domain
The domain creator buys space from the space bank
The domain creator fabricates a new domain from this space
The domain creator returns a "domain capability" to
the new domain to the test shell
DomCreTest installs the "hello world" program segment, which
was built under linux.
DomCreTest initializes the startup registers of the hello
making it callable
DomCreTest calls the hello domain
The hello domain prints "hello from hello" and returns
DomCreTest exits
This test is significant for two reasons:
1. In order for this test to succeed, a great part of the kernel code
must be working correctly:
Simple and short-circuit segments
The domain control interface
The IPC mechanism
The pagein mechanism (object fault-in)
All of the state caching architecture.
2. We have built a program using the essential mechanisms of the EROS
security model. While the rest is not simple, it is straightforward.
Regards
Jonathan