Stories
Slash Boxes
Comments

News for nerds, stuff that matters

Slashdot Log In

Log In

[ Create a new account ]

EROS 1.1 relased under GPL

Posted by Roblimo on Thu Oct 28, 1999 01:15 AM
from the yet-another-operating-system dept.
ROSE writes "EROS: The Extremely Reliable Operating System, is now released under GPL. See EROS web site for details. For those who don't know what is EROS, read FAQ for details." Cute lil' Cupid mascot, too. This might make a nice project for people who feel Linux is too "mass market" for them these days.
This discussion has been archived. No new comments can be posted.
EROS 1.1 relased under GPL | Log In/Create an Account | Top | 143 comments (Spill at 50!) | Index Only | Search Discussion
Display Options Threshold:
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
(1) | 2
  • Re:_|_ persistance?? by Ian Bicking (Score:1) Wednesday October 27 1999, @10:05PM
  • Please... by Betcour (Score:1) Wednesday October 27 1999, @10:11PM
  • Re:Double-edged sword. by jcr (Score:1) Friday October 29 1999, @09:43AM
  • Funding from DARPA by jshapiro (Score:1) Wednesday November 03 1999, @05:13AM
  • Re:No root... Credential downward spiral? by jshapiro (Score:1) Wednesday November 03 1999, @05:16AM
  • Re:Don't Panic(tm) by jshapiro (Score:1) Wednesday November 03 1999, @05:18AM
  • Re:Realtime? by jshapiro (Score:1) Wednesday November 03 1999, @05:21AM
  • Re:Double-edged sword. by jshapiro (Score:1) Wednesday November 03 1999, @05:26AM
  • Re:One of the coolest things about EROS: persisten by jshapiro (Score:1) Wednesday November 03 1999, @05:27AM
  • Re:One of the coolest things about EROS: persisten by jshapiro (Score:1) Wednesday November 03 1999, @05:33AM
  • Re:Licensing terms by jshapiro (Score:1) Wednesday November 03 1999, @05:42AM
  • Off-topic Eros Meaning by ^nevyn^ (Score:1) Wednesday October 27 1999, @10:12PM
  • Re:Orthogonal Persistence, AS/400 and the Web by Ian Bicking (Score:1) Wednesday October 27 1999, @10:14PM
  • Re:Realtime? by AME (Score:1) Wednesday October 27 1999, @10:47PM
  • Any GUI for EROS by jcr (Score:1) Wednesday October 27 1999, @11:03PM
  • Re:Realtime? by jcr (Score:2) Wednesday October 27 1999, @11:09PM
  • Re:Realtime? by James Lanfear (Score:1) Wednesday October 27 1999, @11:11PM
  • Heh. by Wakko Warner (Score:2) Wednesday October 27 1999, @11:17PM
  • Linux trustees project? by mattbee (Score:1) Wednesday October 27 1999, @11:17PM
  • Quality of Service by cd-w (Score:2) Wednesday October 27 1999, @11:21PM
  • Re:how do you upgrade persistent objects? by jshapiro (Score:1) Wednesday November 03 1999, @05:53AM
  • Old News by whig (Score:1) Wednesday October 27 1999, @08:38PM
  • Quick! by Kitsune Sushi (Score:2) Wednesday October 27 1999, @08:39PM
  • Linux Capabilities FAQ 0.1 by whig (Score:1) Wednesday October 27 1999, @08:43PM
  • Re:cupid? by Knos (Score:1) Wednesday October 27 1999, @09:00PM
  • by ewhac (5844) on Wednesday October 27 1999, @09:03PM (#1582198) Homepage Journal

    EROS looks like an excellent foundation for, as an example, an electronic funds transfer system, where you absolutely do not want errant/hostile code running around in the system. However, I'm not sure about its utility on more "traditional" desktop systems.

    The EROS FAQ mentions that there is no such thing as 'root'; there is no user who has total authority. This is a double-edged sword. While the absence of root makes compromising a system difficult (since there's no Obvious Target to gain access to), it also prevents a legitimate user from manipulating or killing processes that simply refuse to grant the capability.

    The scenario I'm envisioning here is an EROS-based Web Terminal. An unethical vendor could supply a terminal which, among other things, transmits your bookmarks and passwords to a central database to be analyzed and resold to telemarketroids. (Or, insert your favorite Dark Scenario here.) In an EROS-based system, there would be no way for a user to Do The UNIX Thing and kill the offending process.

    Perhaps it's just my Type-A personality, but I find I'm uncomfortable with the idea of a program or system that could potentially refuse to do what I want, just because some $(EXPLETIVE) programmer thought it was none of my business.

    Schwab

  • eCos vs. EROS by Real Timer (Score:2) Wednesday October 27 1999, @09:03PM
  • Realtime free OS by Pseudonym (Score:2) Wednesday October 27 1999, @09:03PM
  • by jcr (53032) <jcr@idi[ ]com ['om.' in gap]> on Wednesday October 27 1999, @11:33PM (#1582202) Journal
    I'm not sure if Shap's FAQ mentions this, but I will.

    In EROS, there is the VM. In the VM, there are ranges. Disks have storage that provides backup for ranges. If I attach a 4 gig disk to an EROS system, the moral equivalent of "mount" tells the kernal that there is backing store on this controller, for the range from X to X + 4 gigs. Now the space bank can hand out read and write capablities for another 4 gigs worth of memory pages.

    If I then attach another 4 gig disk, and advise the kernal that this second disk is to cover the same range, then the kernal says "Oh! I have additional backing storage for this range, and look: It's not up to date!" The paging logic will then take care of copying the pages in the range from VM to this additional backing store.

    Now, consider the checkpoint. The checkpoint is the set of pages that have changed since the last checkpoint. They get written all at once. The pages in the checkpoint are the most recently used pages. If you fault on reading a page, it is most likely to be in the checkpoint,therefore, probably right under the head.

    Effectively, RAM is just a cache for the disk. The checkpoint range on the disk is a cache for the normal range on the disk. migration of pages from the checkpoint to the normal ranges is done by a normal task, which doesn't interrupt your other processes.

    Now, picture this: Instead of writing checkpoints only to the disk, you can also write them to a tape. Now you have an audit trail. (Maybe you don't care about knowing the historical state of your EROS server to five-minute increments, so you coalesce checkpoints, and your tape can reconstruct the state of the machine for say, every hour for the last week.)

    Or, you can send them across the ethernet to another machine. Now you have a hot backup. See where this is going? EROS can do full-blown TANDEM-style multiple-hardware redundancy on commodity machines joined only by ethernet.

    EROS is the coolest thing in OS's since Multics, IMNSHO.

    -jcr
  • Nemesis is for a different class of problem. by jcr (Score:1) Wednesday October 27 1999, @11:39PM
  • by Anonymous Coward on Wednesday October 27 1999, @11:40PM (#1582204)

    I can't access the er*os-os site! Dumb filtering software.

  • Re:Not GPL by jcr (Score:1) Wednesday October 27 1999, @11:42PM
  • Not only that, but.. by Kitsune Sushi (Score:1) Wednesday October 27 1999, @11:51PM
  • Bad comparison spotted again :) by smoke (Score:1) Thursday October 28 1999, @12:02AM
  • Bit rot by XNormal (Score:1) Thursday October 28 1999, @12:16AM
  • Re:Disk Mirroring in EROS. by Anonymous Coward (Score:1) Thursday October 28 1999, @12:29AM
  • Re:I'm Uncomfortable With This... by rmull (Score:1) Thursday October 28 1999, @01:36AM
  • Re:Double-edged sword. by cd_smith (Score:1) Thursday October 28 1999, @01:45AM
  • The point of a capability model by John Allsup (Score:1) Thursday October 28 1999, @01:46AM
  • Licensing terms by Lejade (Score:2) Thursday October 28 1999, @02:06AM
  • Re:Orthogonal Persistance by Anonymous Coward (Score:1) Thursday October 28 1999, @02:09AM
  • Re:Think of what this can mean to kernal developme by proj_2501 (Score:1) Thursday October 28 1999, @02:12AM
  • Re:I've been net nannied! by renoX (Score:1) Thursday October 28 1999, @02:30AM
  • What do HURD guys think about EROS ? by renoX (Score:1) Thursday October 28 1999, @02:39AM
  • Re:One of the coolest things about EROS: persisten by The Wookie (Score:1) Thursday October 28 1999, @03:04AM
  • Re:System info by segmond (Score:1) Thursday October 28 1999, @03:21AM
  • Re:Disk Mirroring in EROS. by sjames (Score:2) Thursday October 28 1999, @07:02AM
  • Re:An end to viruses. -- Unix has no viruses. by segmond (Score:1) Thursday October 28 1999, @03:24AM
  • Re:General Purpose Versus Embedded Servers by sjames (Score:2) Thursday October 28 1999, @07:13AM
  • What about the HURD? by David A. Madore (Score:1) Thursday October 28 1999, @03:33AM
  • I love the concept but... by Yarn (Score:2) Thursday October 28 1999, @03:46AM
  • how do you upgrade persistent objects? by sethg (Score:2) Thursday October 28 1999, @07:59AM
  • Gotta Start Somewhere by Christopher B. Brown (Score:2) Thursday October 28 1999, @08:00AM
  • Re:General Purpose Versus Embedded Servers by Mr. Piccolo (Score:1) Thursday October 28 1999, @08:19AM
  • Re:Please... by Mr. Piccolo (Score:1) Thursday October 28 1999, @08:34AM
  • A UNIX Environmont atop EROS by Christopher B. Brown (Score:2) Thursday October 28 1999, @09:34AM
  • The key to making EROS useful to people running Linux would be to build a "GNU System" atop EROS, parallelling building a "GNU System" atop the Linux kernel.

    (Note that I usually call "systems based on the Linux kernel" by the moniker Linux; the use of the RMS term happens to be usefully descriptive here; I'm not trying to do any politically-motivated Newsspeak here.)

    I would tend to think that the Debian [debian.org] folks would be the most prepared to create an overall system atop EROS, as they have both

    • A set of automated tools for constructing and (to some extent) validating sets of packages, and
    • Some experience trying to fit Debian to a non-Linux kernel, namely Hurd [hex.net]

    The major alternative that, based on the deployment of predecessor systems like KeyKOS, [upenn.edu] is likely to take place quite a bit, is that EROS might instead be largely used to construct "somewhat embedded systems" rather than the general purpose system that comes from installing the typical Linux distribution.

    This might include:

    • Building a really secure little web server package
    • Building a really secure little file server package
    • Building a really secure network firewall system
    • Building a really secure Network Computer [hex.net]
    • Building a secure and fast database server [hex.net]

      Which would parallel what Oracle has been working on with the "Raw Iron" Oracle 8i Appliance [oracle.com]

    I'd kind of like to see both approaches, as that is the most likely way for EROS to become more widely used.

  • Re:General Purpose Versus Embedded Servers by PigleT (Score:1) Thursday October 28 1999, @05:25AM
  • Not yet. by jcr (Score:1) Thursday October 28 1999, @10:54AM
  • Re:System info by Kiwi (Score:1) Thursday October 28 1999, @11:00AM
  • high-level languages on EROS? by sethg (Score:1) Thursday October 28 1999, @05:40AM
  • Re:Orthogonal Persistance by sjames (Score:2) Thursday October 28 1999, @06:13AM
  • Re:I love the concept but... by jcr (Score:1) Thursday October 28 1999, @11:02AM
  • Still time to consider a still better option by Brett Glass (Score:1) Thursday October 28 1999, @11:03AM
  • Needed for Orange Book Security to get A,B,C Level by Anonymous Coward (Score:1) Thursday October 28 1999, @06:14AM
  • Re:General Purpose Versus Embedded Servers by Mr. Slippery (Score:2) Thursday October 28 1999, @11:07AM
  • Basically, you use a stand-in. by jcr (Score:1) Thursday October 28 1999, @11:10AM
  • Re:Yes, but those people are shallow. by Electric Keet (Score:1) Thursday October 28 1999, @11:10AM
  • Ive been excited about this OS for a while by On Lawn (Score:1) Thursday October 28 1999, @11:14AM
  • Re:Basically, you use a stand-in. by sethg (Score:1) Thursday October 28 1999, @11:20AM
  • Persistence in Linux? by uluckas (Score:1) Thursday October 28 1999, @11:40AM
  • by Pseudonym (62607) <ajb@spamcop.net> on Wednesday October 27 1999, @09:13PM (#1582258)
    The EROS FAQ mentions that there is no such thing as 'root'; there is no user who has total authority. This is a double-edged sword. While the absence of root makes compromising a system difficult (since there's no Obvious Target to gain access to), it also prevents a legitimate user from manipulating or killing processes that simply refuse to grant the capability.

    EROS has no concept of root because the kernel has no concept of a user at all. In a capability-based OS with POSIX, users are part of the executive (or the Hird of Unix-Replacing Daemons). There's no reason why the executive can't implement a root user, i.e. one with the capability to do anything.

    One benefit of using capabilities rather than users and groups is that it's possible to restrict your own access. Suppose I want to run a program which I don't necessarily trust. I can drop myself into a "sub-user" with all my previous permissions, except that I have no rights to write to the file system, and run it safe in the knowledge that nothing is going to be trashed. Just like chroot() only much more flexible.

  • Re:I'm Uncomfortable With This... by CryptdotX (Score:1) Wednesday October 27 1999, @09:19PM
  • I think orthogonal persistance is the most important thing to happen in operating systems since multitasking.

    Most of the other things people are doing are boring at best. SMP? Anything but new -- so you stick a few more processors in a box. Security? Capabilities are definately the right way to do stuff (EROS uses them), but they don't change computers that much. They just fine tune and generalize security, and would allow information to be more easily shared -- plus getting rid of all the dumb sandbox efforts -- but they wouldn't change what computing meant.

    Microkernels were only really important on the implementation side, even if they were to have succeded. Distributed computing is still a long way off in any meaningful manner -- resource farms aren't too interesting. I can't think of much really exciting... maybe OO, CORBA, and the like have some interesting possibilities in extending the basic infrastructure on a computer.

    Orthogonal persistance doesn't seem all that interesting -- persistance already exists, after all, but you just have to explicitly save (in an app), or open a file (from code). But when persistance comes for free everything is just so much easier -- and making it easier to program stuff really is important. Objects become something tangible, not attached to a process or a session. If you added OS-level garbage collection then you'd have something really powerful. Objects would finally subsume processes and algorithms and the computer would be an environment instead of a machine.

    My head is in the clouds at the moment, excuse me. Anyway, if you feel like reading other clouded thoughts on OS design (none of it by me), you might be interested in the all-talk TUNES [tunes.org] OS. Less code makes room for more talk! But you got to give them credit, at least they don't pretend to be anything but what they are :)

  • System info by yist (Score:1) Wednesday October 27 1999, @09:22PM
  • Re:Quick! by j a w a d (Score:1) Wednesday October 27 1999, @09:23PM
  • Hot d*mn! by Anonymous Coward (Score:1) Wednesday October 27 1999, @09:25PM
  • Re:Licensing terms by bakert (Score:1) Thursday October 28 1999, @06:30AM
  • Re:Needed for Orange Book Security to get A,B,C Le by gorilla (Score:1) Thursday October 28 1999, @06:43AM
  • Re:One of the coolest things about EROS: persisten by sjames (Score:2) Thursday October 28 1999, @06:44AM
  • the selfish case for the GPL by sethg (Score:1) Thursday October 28 1999, @11:47AM
  • Linux too mass market? Then try OS/2! by LordNimon (Score:1) Thursday October 28 1999, @06:48AM
  • SMP is unsexy but important by BIFFSTER (Score:1) Thursday October 28 1999, @11:59AM
  • Re:Any GUI for EROS by sjames (Score:2) Thursday October 28 1999, @06:51AM
  • Re:Basically, you use a stand-in. by jcr (Score:1) Thursday October 28 1999, @12:45PM
  • More like, there *is* no file system. by jcr (Score:1) Thursday October 28 1999, @12:53PM
  • Not really new by uluckas (Score:1) Thursday October 28 1999, @12:58PM
  • Re:One of the coolest things about EROS: persisten by uluckas (Score:1) Thursday October 28 1999, @01:05PM
  • L3 URL: http://os.inf.tu-dresden.de/L4/l3.html by uluckas (Score:1) Thursday October 28 1999, @01:18PM
  • Squeak by betamax_ (Score:1) Thursday October 28 1999, @01:52PM
  • Most of the discussion here so far ahs been about EROS's security model, but I'd like to point out also that EROS has GLOBAL, ORTHOGONAL PERSISTENCE.

    What this means, is that in EROS, anything you put in memory stays there, across power losses or what have you, until and unless you change it.

    When you start up an EROS machine, in effect, it re-mounts its previous swap space. Everything is where it was. This includes all of the running processes!


    In EROS, to start a program, (invoke a start capability) there's none of the copy-copy-copy run bsuiness like you have in UNIX. An EROS domain has the very same memory map, whether it's running or not. As far as the kernal is concerned, the only difference between an running process and a not-running process, is that the running process has an entry in the thread table.

    Think about how much of the code we've written exists just to deal with the unreliability of file systems, or to translate between in-memory and on-disk representation of the same data.

    Imagine if you will, how much smaller a database engine could be, if it could simply keep everything it wants to remember in virtual memory.
  • Yes, but those people are shallow. by Wakko Warner (Score:2) Wednesday October 27 1999, @09:33PM
  • An end to viruses. (Score:3)

    by jcr (53032) <jcr@idi[ ]com ['om.' in gap]> on Wednesday October 27 1999, @09:35PM (#1582289) Journal
    In EROS, the capablity to read, write and execute are separate and distinct.

    There's no reason for your word processing app to have a write capability to its own code segment. If a program gets confused due to a stack-smashing attack, it doesn't matter *what* you push on the stack, the process can't maunfacture any new capabilities.

    Consider also that in EROS, if you don't have a capability for something, your code can't even detect its existence. It's just not in your memory map, period.

    -jcr
  • by Mr Z (6791) on Wednesday October 27 1999, @09:35PM (#1582290) Homepage Journal

    One interesting aspect of EROS' model is that the line between the filesystem and memory seems nonexistant. RAM is merely a cache for objects, and the "state of the universe" is held on the HD. Everything's an object, and the system embodies the continual evolution of those objects. (If I misunderstood, someone please correct me.)

    What's interesting about this model is that there is no clear beginning, end, or reboot, just as there isn't any clear concept of a "user" or anything else. The whole system is a collection of objects that are interacting with each other in various ways.

    Unless I've missed something, this could lead to an interesting problem wherein the existing pool of objects lacks sufficient capabilities to continue to function. Since the whole system is persistent, how do you recover?

    If there is a means to "restart" the system (and bring the system back to a reasonable continuum of objects), how is access to this mechanism controlled? Can you accidentally drop the capability to invoke the "restart"? I don't count the Big Red Button as a reasonable answer for restarting the system...

    --Joe
    --
  • EROS doesn't do TCP/IP yet. by jcr (Score:2) Wednesday October 27 1999, @09:45PM
  • Re:Linux too mass market? Then try OS/2! by MassacrE (Score:1) Thursday October 28 1999, @02:00PM
  • Re:Double-edged sword. by Mr Z (Score:2) Thursday October 28 1999, @02:15PM
  • Re:Realtime? by Pseudonym (Score:1) Thursday October 28 1999, @02:50PM
  • Alas, anon... by Deus Ex Machina (Score:1) Thursday October 28 1999, @05:39PM
  • Re:Squeak by The Other JoshG (Score:1) Thursday October 28 1999, @06:22PM
  • Double-edged sword. by Mr Z (Score:1) Wednesday October 27 1999, @09:51PM
  • Re:_|_ persistance?? by jcr (Score:1) Wednesday October 27 1999, @09:52PM
  • Think of what this can mean to kernal development. by jcr (Score:1) Wednesday October 27 1999, @09:55PM
  • Re:Realtime? by Pseudonym (Score:1) Wednesday October 27 1999, @09:56PM
  • by epopt (33963) on Wednesday October 27 1999, @09:58PM (#1582309) Homepage
    It's not an inane question at all. It's a bit of obscure jargon that threw me the first time I heard it, too. I'm sure one of the EROS or KeyKOS folks can explain this better than I can, but since I don't see any of them wandering around here at the moment...

    The idea is that the mechanisms that make a program persistent are orthogonal to the mechanisms that let the program do whatever it actually does. No file writes (no files, yeah!), no "save to disk", none of that. The program runs under the illusion that it is running on a 100% non-stop machine, regardless of actual stoppages of the underlying hardware.

    Some installations of EROS' predecessor, KeyKOS, have had processes running literally for years, in the face not only of hardware failures but in some cases complete replacements of the underlying hardware with newer generation machines. The only reason EROS can't make this claim is that it hasn't been around long enough to accumulate the track record!

  • Re:Orthogonal Persistence, AS/400 and the Web by Cato (Score:2) Wednesday October 27 1999, @09:59PM
  • 37 replies beneath your current threshold.
(1) | 2