Slashdot Mirror


EROS 1.1 relased under GPL

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.

143 comments

  1. Re:_|_ persistance?? by Ian+Bicking · · Score: 1
    "Orthogonal" as used here means something like "independant". That is, the persistance is independant of any other coding issues.

    Normally, you get persistance by doing
    FILE *myfile;
    myfile=open("somefile.txt", "w");
    put(myinfo, myfile);

    And, of course put is some complicated procedure that converts any information into a string, and God help you if you have pointers in that data. Persistance here is not independant of other issues, but is deeply involved with the internals of your code.

    With orthogonal persistance you simply create an object (i.e., a bit of data) and it is persistant -- it exists until destroyed, not until the process is killed, not until the computer is rebooted, until you actually get rid of it (garbage collection and other language constructs can make the destruction easy). More importantly, if you have a pointer to an object you don't have to worry about it just disapearing out from under you, or making a local copy that your process controls, or whatever.

  2. Re:Yes, but those people are shallow. by Anonymous Coward · · Score: 0

    all the people who force themselves to do "the different thing" have already jumped ship to FreeBSD.

  3. Please... by Betcour · · Score: 1

    DON'T port X11 to this OS. They have a clean start with good foundation, so don't ruin it with the bloated buggy X11. This OS deserve a little better than mistakes from the past, and a good UI with fast and efficient graphics.

    1. Re:Please... by Anonymous Coward · · Score: 0

      Wow, thank you for your insanely well thought out and informative post. While you're at it, why don't you say "Don't port EMACS to this OS! Don't ruin it with a bloated buggy EMACS!"

      s/EMACS/anything.

      Now, had you pointed out faults in X11, especially in how they apply to this system (e.g. X11 needs to be suid root on a Linux box, yet there is no root on this system) and maybe be kind enough to offer a solution to the mess, then you'd have a REAL post. What you made was a waste of electron and my time to respond to.

      Yet I did. My loss =)

    2. Re:Please... by Mr.+Piccolo · · Score: 1

      Bah.

      What does X11 need root access for besides changing video modes?

      As I understand it, on EROS you would just give X11 the capability to write the video hardware and use the network.

      Assuming the kernel can grant that capability, of course...

      As for wanting X11, EROS may actually have its own GUI, as the release notes mention that it does not _yet_ have a bitmapped interface and support is planned for Mach64 cards, along with some others.

      In that case, X would probably work somewhat like the fbcon driver currently does: just make calls to the kernel driver.

      --
      Glückwünsche, haben Sie Slashdot ermordet, indem Sie zum korporativen Druck beugten und Subskriptionen einlei
  4. Re:AS/400 by Anonymous Coward · · Score: 0

    Tell me how you really feel :P

  5. Re:Double-edged sword. by jcr · · Score: 1

    "EROS does provide checkpointing, but at too coarse a granularity to be useful for a transaction database. "

    As it happens, EROS does provide the ability to explicity append pages to the most recent checkpoint, so you can get the transaction assurance you need. MOst apps don't need to do this, but if you have to have it, you can get it.

    -jcr

    --
    The only title of honor that a tyrant can grant is "Enemy of the State."
  6. Funding from DARPA by jshapiro · · Score: 1
    While DARPA did indeed fund some of the work we did, all of that funding was related to active networking research rather than the secure operating system per se. Several years later someone at CIA expressed interest in the system as a way to solve some internal concerns they have, but it never went anywhere.

    I think my observation here is that conspiracy theories are usually oversubscribed.

  7. Re:No root... Credential downward spiral? by jshapiro · · Score: 1
    It is certainly possible for erroneous programs to "forget" authorities that they need to have to function. The critical system software is carefully written to avoid doing this, and it's the sort of problem that is unlikely to spread beyond the scope of a single, ailing program.

    See my answer about killing programs, as that is also relevant.

  8. Re:Don't Panic(tm) by jshapiro · · Score: 1
    Anonymous Coward has it right.

    More generally, you don't even need root authority in UNIX to kill your own processes, so the question was a bit confused to begin with.

    In EROS, the model is that you provide the storage and the CPU time that your programs execute with. While you can't examine the storage these programs allocate without their permission, you can shoot the storage allocator from which they were obtained, which reclaims all of the storage (including the processes).

  9. Re:Realtime? by jshapiro · · Score: 1
    The current EROS system is not real time, though the real time design is complete and could easily be implemented. The kernel currently has a real time scheduler, but the disk system needs to be enhanced a bit to really do the job well, and a model for exemption from checkpoint is probably called for.

    This is a case of drift between the web site and what has so far been completed.

  10. Re:Double-edged sword. by jshapiro · · Score: 1
    There is a designed means for applications to pre-initiate the fault-in of data. It's not yet implemented, but it's a trivial change to the existing capability load/store logic. Think of it as a load instruction that returns no result.

    There is also a designed mechanism for keeping objects in memory. Regrettably also not yet implemented. As I said in an earlier response, the real-time features of EROS are not really there yet.

  11. Re:One of the coolest things about EROS: persisten by jshapiro · · Score: 1

    Card state and external connections are not persistent. In the case of your example, it is the responsibility of the display manager to be able to recreate the state of the display when the system restarts.

  12. Re:One of the coolest things about EROS: persisten by jshapiro · · Score: 1
    First, memory is a cache, not all of the system. Thus, there is no limitation. Current EROS systems are happily running with 10s of gigabytes of storage, and the object space design in the research version will support very large stores indeed: 70,368,744,177,664 Gbytes. I believe this is somewhat larger than the total world output of disk storage since the start of the computer industry.

    Just so you know, the 2Gbyte limit is a Linux limit rather than an x86 limit. In EROS, every process gets up to 3Gbytes of virtual address space, and this could be raised to 3.5Gbytes without a lot of work. The 3Gbyte space is potentially a window onto a much larger space.

  13. Re:Licensing terms by jshapiro · · Score: 1
    Actually, it was always planned that this project would be open sourced. I made that commitment to Norm Hardy in 1991. If you looked at the copyright assignments my students gave for their work, you'll find that they explicitly mentioned that this work might be open sourced.

    The original research release occurred before EROS was ready for other people to work on it. A lot of people were wanting to look at the code, and I wanted to make it possible without getting flooded by reaction. The result was a lot of flack from bratty college kids claiming that they were entitled to EROS for free because they said so. This was taking a lot of my time, and led me to put up the $$$ figure (which is accurate, by the way) to get them to go away.

    The second license (a modified MPL) was open source, with the qualifier that I had reserved rights to everything. The purpose of this was to get a few early people to help check things out without being overwhelmed while I finished my dissertation. Also, I wanted to figure out how to deal with the security branding issue.

    I am now done with my dissertation, and the branding issue has been resolved, thus GPL.

    Indeed the FAQ hasn't been updated, which is an error on my part in cutting the GPL release. It should be fixed very shortly.

  14. Off-topic Eros Meaning by firstnevyn · · Score: 1

    Initialy I thought this was a joke due to EROS being a erotica lobby group here in australia

  15. Re:Orthogonal Persistence, AS/400 and the Web by Ian+Bicking · · Score: 1
    The very little I've read about AS/400 looks quite interesting. It seems like they've quite a lot of layers of abstraction ontop of the raw hardware -- more than traditional Unix and friends.

    But I've almost never seen any real information on it -- probably because of the proprietary thing. Do you know of any good resources/papers/descriptions of AS/400 on the web?

  16. Re:Realtime? by AME · · Score: 1
    I'm not sure how they can call this a real-time environment.

    I thought that "real-time" had to do with getting raw access to resources. This way, I can know *exactly* when data arrives at my serial port, for example.

    Everything in EROS, on the other hand, seems hyper-abstracted. No users; no files; no filesystems, for that matter; only objects.

    Doesn't this make me somewhat at that object's mercy with regard to when exactly something happens? Can I be sure my data is actually written to disk? How can I be sure that there even is a disk? Did this stream arrive at the serial port just now, or was it 60ms ago and I'm just now being told about it?

    Perhaps I'm just clueless here, or missing something obvious in my sleepy stupor. But their claims to being real-time just seem spurious to me.

    --
    "I have a good idea why it's hard to verify programs. They're usually wrong." --Manuel Blum, FOCS 94
  17. Any GUI for EROS by jcr · · Score: 1

    Is a pretty long way off.

    Keep in mind though, that any app that leaks memory in EROS is going to have to be FIXED, because when you use up the memory you've been given, you STOP. X would certainly benefit from being ported to EROS, but EROS would be better off with something like Berlin or Display Postscript.

    -jcr


    --
    The only title of honor that a tyrant can grant is "Enemy of the State."
    1. Re:Any GUI for EROS by sjames · · Score: 2

      Keep in mind though, that any app that leaks memory in EROS is going to have to be FIXED

      That problem (though very real) can be mitigated through a good garbage collection system. (sweep for unreferenced objects etc.) Hopefully, by greatly simplifying object management, there will be less such leaks in the first place (though there will be leaks).

  18. Re:Realtime? by jcr · · Score: 2

    >I'm not sure how they can call this a real-time environment.

    In EROS, you need a start capability to invoke an object, and when you ask an object to do something for you, the time allotment comes out of your pocket, not the system's.

    The time-slicing is quite rigid, and you simply can't get any more of the CPU cycles than your capabilities allow you to take. Even the time if takes to context-switch to your thread, is charged (if you will) to your thread's time allotment. (I believe it's the case that you may get more time than you expect, but there's no way to get more time than your limit.)

    -jcr


    --
    The only title of honor that a tyrant can grant is "Enemy of the State."
  19. Re:Realtime? by James+Lanfear · · Score: 1

    According to the Programmer's Intro, you can get direct access to the hardware via keys. Very direct in fact; the kernel just confirms that it won't get toasted, then lets you loose. I'm not sure how close to real-time it gets--the key itself is still in the way--but it's better than nothing.

  20. Heh. by Wakko+Warner · · Score: 2
    What happens when FreeBSD reaches "critical mass" in terms of popularity? :)

    I imagine OS/2 will start to see better sales.

    - A.P.
    --


    "One World, one Web, one Program" - Microsoft promotional ad

    --
    "Remember when the U.S. had a drug problem, and then we declared a War On Drugs, and now you can't buy drugs anymore?"
    1. Re:Heh. by Anonymous Coward · · Score: 0

      next up is NetBSD. The BSDs provide a clear 'upgrade' path as each one in turn becomes more popular.

    2. Re:Heh. by Anonymous Coward · · Score: 0

      Well that would be cool only if OS/2 went open source...

  21. Linux trustees project? by mattbee · · Score: 1

    This project is one to improve the Linux security model if reading that stuff about Capabilities made you feel inadequate :-)

    --
    Matthew @ Bytemark Hosting
  22. Quality of Service by cd-w · · Score: 2

    Capabilities are good, but I prefer the Quality-of-Service ideas implemented in nemesis. This is an even more radical OS - it does away completely with traditional OS concepts like virtual memory and priorities. The result is an OS that can perform tasks like multimedia with blistering performance. A prerelease version is available for downloading here. It has a BSD style license.

    1. Re:Quality of Service by Anonymous Coward · · Score: 0


      . Nemesis therefore has an extremely small lightweight kernel, and performs most operating system functions in shared libraries which execute in the user's process. This leads to a vertically-structured operating system.



      Sounds sorta like the old AmigaOS, actually...
      Hey... the amiga had "blistering multimedia performance" too... What I'd like to see is the AmigaOS 3.5 opensourced under the LGPL, so all the nifty AmigaOS tricks that BeOS rips off could be folded into linux - to make a god-like MediaLinux distro...



  23. Re:how do you upgrade persistent objects? by jshapiro · · Score: 1
    First, the object has to have been designed with upgrade in mind, so that you can transfer data from the old object to the new. Given that, here's how the upgrade occurs:
    1. The upgrader stuns the old object by waiting until the old object is idle and demanding a fault capability to it. At this point, the old object is frozen and cannot be invoked by anyone else.

    2. The upgrader now clones the process nodes of the old object's process. In effect, we have just copied the old object into a new process.

    3. The upgrader now installs into the old process a new address space: the address space for the new object. It then sets the old process registers to the appropriate startup values to give the new object a chance to initialize itself. It also places a capability to the old object into a well-defined register in what is now the new object's process. Note that we've now effectively done a complete brain transplant on the original process. All holders of the old object still have capabilities to this process, which is now obeying new code.

    4. The upgrader now lets the transplanted process start running. During initialization, the new object uses its capability to the old object to transfer any necessary data from the old object and then tells the old object to destroy itself.

    5. Finally, the new object returns to the null capability, becoming available for new invocations.

    It all sounds much more complicated than it is. Most of this can be built in a library.

  24. Old News by whig · · Score: 1

    Didn't that happen back in April?

    --
    Peace and love, y'all
  25. Quick! by Kitsune+Sushi · · Score: 2
    This might make a nice project for people who feel Linux is too "mass market" for them these days.

    We're becoming too popular! Jump ship now, before it's too late! Don't risk assimilation! Argh...

    --

    ~ Kish

    1. Re:Quick! by j+a+w+a+d · · Score: 1

      A *LOT* of people pride themselves in being into underground bands or whatever. But once the band hits the mainstream, "they've sold out."

      Same thing with a lot of linux users: they used it because it set them apart from the crowd. Now? "Linux has sold out."

      --
      i dont display scores, and my threshhold is -1. post accordingly.
      Discuss /. policies
  26. Linux Capabilities FAQ 0.1 by whig · · Score: 1

    This FAQ was written and is maintained by:
    Alexander Kjeldaas

    1) What is a capability?

    The name "capabilities" as used in the Linux kernel can be confusing.
    First there are Capabilities as defined in computer science. A
    capability is a token used by a process to prove that it is allowed to
    do an operation on an object. The capability identifies the object
    and the operations allowed on that object. A file descriptor is a
    capability. You create the file descriptor with the "open" call and
    request read or write permissions. Later, when doing a read or write,
    the kernel uses the file descriptor as an index into a datastructure
    that indicates what operations are allowed. This is an efficient way
    to check permissions - you create the necessary datastructures to
    check permissions once during the "open" call. Later read and write
    calls only have to do a table lookup. Other operations on
    capabilities include copying capabilities, giving a capability to
    another process, modifying a capability, and revoking a capability.
    Modifying a capability can be something like taking a read-write
    filedescriptor and making it read-only. A capability often has a
    notion of an "owner" which is able to invalidate all copies and
    derived versions of a capability. Entire OSes are based on this
    "capability" model, with varying degrees of purity. There are other
    ways of implementing capabilities than the file descriptor model -
    traditionally special hardware has been used, but recently the memory
    management unit of the CPU is often used.

    Then there is something quite different called "POSIX capabilities"
    which is what Linux uses. Capabilities here are a partitioning of the
    all powerful root privilege into a set of distinct privileges. Users
    familiar with VMS or "Trusted" versions of other UNIX variants will
    know this under the name "privileges". The reason we use the name
    "capabilities" in Linux is that this is what the POSIX draft uses.

    2) So what is a "POSIX capability"?

    A process has three sets of bitmaps called the Inheritable(I),
    Permitted(P), and Effective(E) capabilities. Each capability is
    implemented as a bit in each of these bitmaps which is either set or
    unset. When a process tries to do a privileged operation, the
    operating system will check the appropriate bit in the Effective set
    of the process (instead of checking whether the effective uid of the
    process i 0 as is normally done). The Permitted set of the process
    indicates the capabilities the process can use. The process can have
    capabilities set in the permitted set that are not in the effective
    set. This means that the process has temporarily lowered this
    capability. A process is allowed to set a bit in its Effective set
    only if it is available in the Permitted set. The distinction between
    Effective and Permitted exists so that processes can "bracket"
    operations that need privilege. The Inheritable capabilities are the
    capabilities of the current process that should be inherited by child
    processes. The Permitted set of a process is masked against the
    Inheritable set before being transferred to another process. "Another
    process" means a process image after an exec() call. Capabilities are
    copied to child processes or threads. The capability rules (see own
    question) are only enforced during exec().

    3) What about other entities in the system? Users, Groups, Files?

    Files have capabilities. Conseptually they have three bitmaps just as
    processes, but we call them by other names to avoid confusion. Only
    executable files have capabilities, libraries don't have capabilities
    (yet). They three sets are called the Allowed set, the Forced set, and
    the Effective set. The Allowed set indicates what capabilities the
    executable is allowed to receive from an execing process. The Forced
    set is a set of capabilities created out of thin air and given to the
    process after execing the executable. The forced set is similar in
    nature to the setuid feature. In fact, the setuid bit from the
    filesystem is "read" as a full Forced set by the kernel. The
    Effective set is acutally not a set, but a single bit. It indicates
    which bits set in the permitted set of the new process should be set
    in the effective set of the new process. However, transferring only a
    few bits from the Permitted set to the Effective bit doesn't seem to
    be useful. The Effective set is best thought of as a "capability
    aware" bit. Only if the executable is aware of the capability API can
    it start with an empty Effective set.
    NOTE: Filesystem support for capabilities is not part of Linux 2.2

    Users and Groups don't have associated capabilities from the kernel's
    point of view, but it is entirely reasonable to associate users with
    capabilities. By letting the "login" program set some capabilities it
    is possible to make a "backup" user for example. This could be
    implemented as a PAM module. However, this is not done yet. Also see
    question about capability policies.

    4) What capabilities exist?

    The capabilities available in Linux are listed and documented in the
    file /usr/src/linux/include/linux/capability.h.

    5) Are Linux capabilities hierarchical?

    No, you cannot make a "subcapability" out of a Linux capability as in
    capability-based OSes.

    6) What about passing capabilities between processes?

    Currently this is done by a systemcall setcap which can set the
    capability of another process. This requires the CAP_SETPCAP
    capability which you will only grant to a _few_ processes.
    CAP_SETPCAP was intended as a workaround to be able to implement
    filesystem support for capabilities using a daemon outside the kernel.

    There has been discussions about implementing socket-level capability
    passing. This means that you can pass a capability over a socket. No
    support for this exists in the normal kernel however.

    7) I see securelevel has been removed from 2.2 and are superceeded by
    capabilities. How do I emulate securelevel using capabilities?

    The setcap system call can remove a capability from _all_ processes on
    the system in one atomic operation. The setcap utility from the
    libcap distribution will do this for you. The utility requires the
    CAP_SETPCAP privilege to do this. The CAP_SETPCAP capability is not
    enabled by default.

    libcap is available from
    ftp://ftp.kernel.org/pub/linux/libs/security/lin ux-privs/kernel-2.1/

    8) Seems I need a CAP_SETPCAP capability that I don't have to make use
    of capabilities. How do I enable this capability?

    Well no, but for some uses such as emulating securelevel you need it.
    What you do is you change the definition of CAP_INIT_EFF_SET and
    CAP_INIT_INH_SET to the following in include/linux/capability.h:

    #define CAP_INIT_EFF_SET { ~0 }
    #define CAP_INIT_INH_SET { ~0 }

    This will start init with a full capability set and not with
    CAP_SETPCAP removed.

    9) How do I start a process with a limited set of capabilities?

    Get the libcap library and use the execcap utility. The following
    example starts the update daemon with only the CAP_SYS_ADMIN
    capability.

    execcap 'cap_sys_admin=eip' update

    10) How do I start a process with a limited set of capabilities under
    another uid?

    Use the sucap utility which changes uid from root without loosing any
    capabilities. Normally all capabilities are cleared when changing uid
    from root. The sucap utility requires the CAP_SETPCAP capability.
    The following example starts updated under uid updated and gid updated
    with CAP_SYS_ADMIN raised in the Effective set.

    sucap updated updated execcap 'cap_sys_admin=eip' update

    [ Sucap is currently available from
    ftp://ftp.guardian.no/pub/free/linux/capabilitie s/sucap.c. It is
    intended to be put in the progs directory of libcap.]

    11) What are the "capability rules"

    The capability rules are the rules used to set the capabilities of the
    new process image after an exec. They work like this:

    pI' = pI
    (***) pP' = fP | (fI & pI)
    pE' = pP' & fE [NB. fE is 0 or ~0]

    I=Inheritable, P=Permitted, E=Effective // p=process, f=file
    ' indicates post-exec().

    Now to make any sense of the equations think of fP as the Forced set
    of the executable, and fI as the Allowed set of the executable.
    Notice how the Inheritable set isn't touched at all during exec().

    12) What are the laws for setting capability bits in the Inheritable,
    Permitted, and Effective sets?

    Bits can be transferred from Permitted to either Effective or
    Inheritable set.

    13) Where is the standard on which the Linux capabilities are based?

    There used to be a POSIX draft called POSIX.6 and later POSIX 1003.1e.
    However after the committee had spent over 10 years, POSIX decided
    that enough is enough and dropped the draft. There will therefore not
    be a POSIX standard covering this aspect anytime soon. This may lead
    to that the POSIX draft is available for free, however.

    --
    Peace and love, y'all
    1. Re:Linux Capabilities FAQ 0.1 by Anonymous Coward · · Score: 0

      And may I please ask how this is entirely relevant to this OS? The definiton of Capability seems to shift, EROS doesn't even have users.

      This is a very long winded post that could have been a link.

    2. Re:Linux Capabilities FAQ 0.1 by Anonymous Coward · · Score: 0

      That was a link in the orginal article

  27. cupid? by Anonymous Coward · · Score: 0

    Why is Cupid the macot for Eros?

    1. Re:cupid? by Knos · · Score: 1

      Eros is just cupid's name in greek.

      --
      . . . . . . . .. . . . . . . .
      may u!sh 2 sm!le at dz!z bad nn.!m!tat!ion
  28. I'm Uncomfortable With This... by ewhac · · Score: 4

    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

    1. Re:I'm Uncomfortable With This... by rmull · · Score: 1

      Heehee, look at the bottom of the page:
      This research was supported by DARPA under Contracts #N66001-96-C-852,
      #MDA972-95-1-0013, and #DABT63-95-C-0073. Additional support was provided
      by the AT&T Foundation, and the Hewlett-Packard, Tandem Computer, and Intel
      Corporations.

      --
      See you, space cowboy...
    2. Re: I'm Uncomfortable With This... by Pseudonym · · Score: 5
      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.

      --
      sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
    3. Re:I'm Uncomfortable With This... by CryptdotX · · Score: 1
      Don't forget the other BIG BIG BIG probable use for this type of system: military / intelligence.

      People like the pentagon and the CIA and the NSA and the FBI need to have computer systems that people can access, but they can't allow their people to give away information to others. They CANNOT allow Bob to give away his access to secret data to some other user on the system.

      Anyway, where do you think the research money for this came from? My guess is DARPA, the Defense Advanced ResearchProjects Agency.

      Crypt.x

  29. eCos vs. EROS by Real+Timer · · Score: 2

    Anyone seriously considering using an OSS RTOS should look at eCos and RTEMS, as well as EROS. Search /. for more info, and check out eCos at http://www.cygnus.com. And no, I don't work for Cygnus. Here are some facts about eCos:
    1. Open sourced under the ECPL, whose terms are quite like the
    LGPL. Since RTOS's normally get linked with the application,
    this is important for commercial users.
    2. Ported to many hardware platforms. Many of the ports are
    supported by Cygnus, and there are additional user contributed
    ports.
    3. A TCP/IP stack has been contributed. Last time I checked,
    this still hasn't made it to the FTP site yet.
    4. Cygnus has some pretty good people supporting the open source
    on the mailing list, in addition to paid support.
    5. There is a simulator which runs on top of Linux. This
    allows you to debug the OS (except the hardware
    abstraction layer, or HAL) and your application
    using GNU tools.

    --
    Changes aren't permanent, but change is.
  30. Realtime free OS by Pseudonym · · Score: 2

    Finally, a free realtime OS which is useful for more than embedded applications. I've been waiting for something like it for a couple of years now.

    BeOS has shown us all that realtime quality of service guarantees are important for modern media applications, which sadly is something that other free OS projects haven't realised. (Not a criticism of them; it's also important to achieve lots of raw speed in web and database serving. At least their approach is better than Microsoft's. "Multimedia performance not good enough, eh? Let's just stick the GDI into the kernel. It still counts as a microkernel if it's 14Mb in size, right?")

    Maybe finally I can use a free OS to burn a CD and watch an animation while waiting for that compile to finish without fear of the CD being ruined. Maybe finally I can use a free OS to mix 16 channel audio. I can hardly wait for EROS to get POSIX support.

    --
    sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
  31. Re:Orthogonal Persistance by Anonymous Coward · · Score: 0

    Sandboxing is a sensible optimization. Why pay the firmware cost for checking on the fly that every operation is allowed in the security model, if you can statically prove that they all must be?

  32. Disk Mirroring in EROS. by jcr · · Score: 4

    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

    --
    The only title of honor that a tyrant can grant is "Enemy of the State."
    1. Re:Disk Mirroring in EROS. by Anonymous Coward · · Score: 1

      This sounds alot like a vaxft cluster running vms. It can take a bullet and keep going, kinda nifty. I'm in a hurry so i won't go into more detail, but does anybody care to compare this type of system to what the previous post was talking about?

    2. Re:Disk Mirroring in EROS. by sjames · · Score: 2

      Another nice feature is that nearly ALL disk access is sequential (when the transaction log is comitted, the writes are ordered so that the head basically sweeps across the disk, ending up at the beginning of the log area. VERY NICE.

  33. Nemesis is for a different class of problem. by jcr · · Score: 1

    EROS is a system that address how you and I can share a machine without trusting each other. Nemesis is an OS for getting the ultimate performance out of the hardware.

    EROS does a far better job performance-wise than UNIX, but it doesn't go as far down that road as the single address-space approach of Nemesis and some other approaches like ExoKernal.

    -jcr

    --
    The only title of honor that a tyrant can grant is "Enemy of the State."
  34. I've been net nannied! by Anonymous Coward · · Score: 3

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

    1. Re:I've been net nannied! by Anonymous Coward · · Score: 0

      WHOOO-HAHAHAHAHAH!!!!!! That's great. Someone should tell the EROS guys this.

    2. Re:I've been net nannied! by renoX · · Score: 1

      ROFL

      Why I am not a moderator when I would like to be ?

      Moderator, please moderate the precedent post as funny (or sad if you are this poor guy)

  35. Re:Not GPL by jcr · · Score: 1

    Shap doesn't have any philosophical problem with free software, and he certainly realizes that EROS has to be open source if it's going to get anywhere.

    He had some issues with certain details of the GPL, but I know he's been talking with ESR about it for several months now.

    -jcr

    --
    The only title of honor that a tyrant can grant is "Enemy of the State."
  36. Not only that, but.. by Kitsune+Sushi · · Score: 1

    ..jawad explicitly stated that he was talking about lusers (er, I mean users), not developers (which was what ``Roblammo'' over there was ostensibly insinuating). The luser base (as opposed to the user base, which uses GNU/Linux stuff because it's sensible to do so, not so they can be ``hip and trendy'') isn't going to matter a whole lot to the hacker contingent that is central to GNU/Linux development (or any other developers, really, because obviously companies /want/ to make it big, not cater to lusers who will only support them if their popularity rating are under such and such %). Those developers aren't going to drop what they're doing just because yet another OS came out. Unlike ``underground bands'', most of the core developers aren't out to make a buck, so how many ``groupies'' they have.. doesn't matter much.. Edging upward in status amongst their peers, however, is a much more widespread goal. =P (along with the various moral imperative and other gift culture rationales)

    Of course, if you were to believe the media, you'd think that no one used Linux for any reason /other/ than to ``be cool'' (well, along with a number of other things.. like ``Linux is insecure, doesn't scale /at all/" etc. and that ``Microsoft kicks ass, you should buy their stock'' etc. or some other random nonsense, depending on which media outlet you're talking about). The problem with that assertation is this: if you're stupid enough to use an /OS/ just to ``be cool'', you're probably not intelligent enough to use Linux properly, and will be running back to Windows or whatever in no time flat. =P

    --

    ~ Kish

  37. Bad comparison spotted again :) by smoke · · Score: 1

    It's easy to start a new rockband that produces music. It's a lot harder to start a new OS that plays a prerecorded mp3.

  38. Bit rot by XNormal · · Score: 1

    Orthogonal persistence is a wonderful concept but if taken to its logical extreme it could have some problems.

    "Bit rot" is a fact of life in big systems. Lots of interconnected components sometimes develop internal inconsistencies in their state and fail. Being able to reboot the system is often the only way to recover.

    You can't really reboot a persistent system - it just restores the last state and continues from there. Essentially, it lives forever.

    It is true that software today wastes a lot of resources in translating back and forth between the tranisent memory image and the persistent filesystem state, but it gives you the ability to reboot if something goes wrong.

    I don't know about EROS but in KeyKOS (EROS's predecessor) there was no way to initialize the system - it was shipped as the memory image of a running copy which was somehow created manually by the deveopers and after that it lives forever. If you experience bit rot the only thing you can do is hope you know when it really started and restore a backup made prior to that time, losing all changes done since.


    ----

    --
    Stop worrying about the risks of nuclear power and start worrying about the risks of not using nuclear power.
  39. Re:Double-edged sword. by cd_smith · · Score: 1

    Smaller and simpler, sure. But, then, you can do that today just by calling mmap() on the database under most Unix systems. Well, no. Certainly you could use mmap() to get a memory mapped file, but there are a couple of deficiencies associated with that approach. First, the page table isn't saved across a reboot or restart of the process, so you can't be sure you'll get back that mmap in the same place. That means you can't use pointers, which means that you are either doing without them (and getting bad performance issues) or keeping data elsewhere before copying it to the mmap'ed segment. That's not a lot better than writing occasionally to a file. Second, EROS has checkpointing to ensure that saved state of many different objects are all saved at an identical time and are consistent with each other. That consistency is very hard to guarantee except at the operating system level. I'm not yet sure what I think of this, but it definitely is something new and unique. It provides some concepts and abilities that just can't reasonably happen under a traditional RAM/disk model a la UNIX, Windows, Mac, VMS, etc. Chris

  40. The point of a capability model by John+Allsup · · Score: 1

    Anything that can be done with an ACL model can be done with a capability model. The reverse is not true.

    A number of papers on the EROS page illustrate the problem with ACL's -- since a process MUST have a user ID, it isn't necessarily possible for a process to have only the permissions it needs for a particular job, and NO MORE.
    John

    --
    John_Chalisque
  41. Licensing terms by Lejade · · Score: 2

    Check out these two points in the availability section of the FAQ :


    - Is EROS Free Software? What are the terms of use?
    EROS is not free software. EROS is being made widely available for personal, research, and certain non-profit use. All such use must be non-commercial. It will also be made available under reasonable licensing terms for commercial use.
    Draft versions of the license agreements can be found here. The draft licenses are an attempt to compromise between making the system widely available and not losing my shirt. These drafts can be taken as a reasonable indication of intent, but please note that they are not yet final.
    Many people seem to have the idea that EROS should be given away in the style of Linux or the various BSD-like systems. These people are entitled to their opinions. I do not share them.
    I have put a large amount of effort and my own money into this project -- teetering on seven figures, when last I sat down to calculate it. I have absolutely no sympathy for the idea that writing a few hundred lines of driver code should give you the right to free use of this work, so please don't delay the release by trying
    to convince me with an argument of this form.
    If you build a good driver, I'll gladly incorporate it into the system and redistribute it for you. If you want that driver to have the BSD copyright so that others can derive from it, that is fine. For the present, I am not incorporating GNU-copyrighted materials into the core system.


    - How about Open Source?
    It may prove, in the end, that the Open Source model is the best way to advance a commercial EROS effort. We are tentatively leaning that way. If so, that decision will be taken as a strategic marketing choice. When the time comes to make that decision, we'll solicit input from the community. Please don't distract us from getting the release out by pressing the matter now.
    If we do go the Open Source route, we will do so with at least one modification:
    Because EROS is a secure system, there needs to be a central source that ``vets'' and ``brands'' the distribution. When somebody asks ``secure according to whom?'' There needs to be an answer. Also, people need to know if they are running the vetted version or some modification of that.
    This means that we will be fairly strict about the use of the name ``EROS.'' If you distribute a modified system, you will be able to call it ``EROS derived,'' but you will not be able to call it ``EROS.'' The official release will also be digitally signed or one-way hashed so that users can verify its authenticity.
    The implications of this issue have not yet been thought out. As I said before, we will solicit input at the appropriate time.



    Obviously the FAQ hasn't been updated, but I still think it gives us insight on their attitude. Considering how the author felt like a the time, I don't quite understand how he finally went to release EROS under the GPL. It seems like a big turn around...

    1. Re:Licensing terms by bakert · · Score: 1

      The guy clearly feels strongly enough about his project to put teetering on seven figures into it so maybe he was 'forced' into GPL-ing it in order to get some of the Open Source crowd in to help and make it work. He doesn't want to see his baby fail so he bit the bullet that would get more people involved. And it worked too - I bet he gets at least one contributor on the basis of the /. article alone.

      --

      "Don't open the gates, who the hell needs a wooden horse that size?"

    2. Re:Licensing terms by Anonymous Coward · · Score: 0

      Rather simple, I believe. By branding the ass of this beauty with a GPL-like license, they can get a hell of a lot more developer support than if they were to keep the source to themselves. And with a slightly tighter leash, they can coordinate these efforts to a maximum degree without having everyone and their grandmother going every which way with applications and modifications to the base OS. It seems to be the best way to get a full-blown release out in the shortest amount of time without spending extraordinary amounts of money on professional coders.

  42. Re:Orthogonal Persistance by Anonymous Coward · · Score: 1

    For people interested in learning about persisence in real life situations, there is a paper entitled A Persistent System in Real Use - Experiences of the First 13 Years.

  43. No files? by Anonymous Coward · · Score: 0

    OK, how do I share data with my friends? What about sharing data across multiple architectures with different endianness?

    Has the EROS programmer dude ever heard of object serialisation and why it's a good idea?

    1. Re:No files? by Anonymous Coward · · Score: 0

      "OK, how do I share data with my friends? What about sharing data across multiple architectures with different endianness?"

      Presumably, you would have a method similar to Corba to call methods on objects on other machines. Lisp machines have done this sort of thing for years.

      "Has the EROS programmer dude ever heard of object serialisation and why it's a good idea?"

      No, probably not. I'm certain he or she hasn't thought about this at all. In the interest of completeness, you should write up your ideas and email them to the project lead.

  44. Re:Think of what this can mean to kernal developme by proj_2501 · · Score: 1

    You can do this now with MkLinux, which uses the Mach microkernel. Just be careful that you don't give both kernels the same root directory.
    --
    "I was a fool to think I could dream as a normal man."
    B. B. Buick

  45. Re:Another lame Intel OS by renoX · · Score: 0

    Flamebait and stupid

  46. Re:Cut out the autogenerated text already. by renoX · · Score: 0

    Offtopic and stupid

  47. What do HURD guys think about EROS ? by renoX · · Score: 1

    EROS seems to have a nice security model and have automic persistency support, it is GPL, small and seems to be quite fast according the small benchmark which has been made.

    I don't know about it's real time capabilities though...

    The guys who are working on HURD could, may be take a look at EROS, and report here what they think about it, this should be very interesting.

  48. Re:One of the coolest things about EROS: persisten by The+Wookie · · Score: 1


    One thing that bothers me about this persistence is that they would need to save the state of various cards on your machine, too, which I doubt that they do. I would imagine that some of these 3D accelerator cards require a good bit of initialization.. so you're playing some cool 3D game, the power goes off.. 15 seconds later your game starts up again and you can't see anything anymore.

    For a server, I think it would be really cool, though.

  49. Re:System info by segmond · · Score: 1

    If you don't want attackers to get to them, posting it on slashdot is a bad idea then.

    --
    ------ Curiosity killed the cat. {satisfaction brought it back | it didn't die ignorant | lack of it is killing mankind
  50. Re:An end to viruses. -- Unix has no viruses. by segmond · · Score: 1

    do we cry about viruses in the unix world? Of course not, although possibly, the are not a problem. So an end to virus cry is a blah statement.

    --
    ------ Curiosity killed the cat. {satisfaction brought it back | it didn't die ignorant | lack of it is killing mankind
  51. Re:General Purpose Versus Embedded Servers by sjames · · Score: 2

    Also consider, a completely different sort of networked cluster system (made possable by the security model, where connecting to the net means that your node joins a world cluster. Some of your objects are marked for your access only, and others are world accessable.

    I'm not expecting to see that next week, but eventually, it could happen.

  52. What about the HURD? by David+A.+Madore · · Score: 1

    It seems to me that the HURD already has this concept of capabilities: Mach port rights are exactly that, capabilities. The Hurd ``auth'' server emulates users using these capabilities, so the OS can function as Unix (with multiple UIDs per process), but you have all the libraries and stuff to bypass this and use the basic Mach mechanisms.

    HURD is admittedly not very advanced, but it is still more so than EROS right now.

    1. Re:What about the HURD? by Anonymous Coward · · Score: 0

      Yeah but Mach's a dog... The single most important reason for the bad reputation of microkernels is Mach AFAICS.

  53. Re:General Purpose Versus Embedded Servers by Anonymous Coward · · Score: 0

    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.

    If we stuck with this attitude from the beginning, we'd still be using JCL and COBOL for everything. It's a new system, how about new tools?

  54. I love the concept but... by Yarn · · Score: 2

    I cant get it to compile. It freaks out with awk somehow, and I have NO idea why. I will of course keep trying.

    The persistant objects is probably what I like the most about it, altho' memory leaks could be a killer. I hope theres a 'reset object' call that reinitialises an object from its original template (or whatever it has).

    I think I like the idea because its so unlike anything I've used before, except my Psion 3a, which is lying in bits on my desk.

    --
    -Yarn - Rio Karma: Excellent
    1. Re:I love the concept but... by jcr · · Score: 1

      If you're having trouble with compiling EROS, go to the mailing lists page on eros-os.org. The list you want is called cap-talk, and I know Shap reads it regularly.

      -jcr

      --
      The only title of honor that a tyrant can grant is "Enemy of the State."
  55. how do you upgrade persistent objects? by sethg · · Score: 2

    Let's say that I have a service within EROS that could be invoked at any time, and many other processes have the capabilities to invoke that service. Now, let's say I want to upgrade to a new version of that service that has a backwards-compatible interface, without disturbing any other process in the system. How does EROS handle this? Do system utilities have a "replace me" capability? Is there some kind of package manager that stands as an abstraction barrier between a service and the processes that use it?

    --
    send all spam to theotherwhitemeat@ropine.com
  56. Gotta Start Somewhere by Christopher+B.+Brown · · Score: 2
    I wrote:
    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.
    Anonymous Coward wrote:
    If we stuck with this attitude from the beginning, we'd still be using JCL and COBOL for everything. It's a new system, how about new tools?

    And if we want to accomplish anything with the new system any time soon, what are we to do?

    UNIX has been remarkably persistent over the year as a useful environment for prototyping.

    If there's nothing in common between EROS and Linux, and, in particular, if there are practically no tools available for EROS, there's going to be little merit to making a leap over to EROS.

    The point here is that there are two particularly relevant outcomes:

    • EROS starts from scratch, having no tools with which users would already have any familiarity.

      That makes for a challenging transition, and, for a would-be newcomer, they may say

      This EROS system isn't even as functional as Linux. Why should I consider using it?
    • EROS provides some familiar UNIX tools, thus gaining a rich development environment, which makes it a more attractive transition.

    Since EROS is different, it is obviously appropriate to add new tools in support of that. That is not synonymous with the contention that

    We ought to throw away absolutely everything that we've found useful up until now.
    --
    If you're not part of the solution, you're part of the precipitate.
  57. Re:General Purpose Versus Embedded Servers by Mr.+Piccolo · · Score: 1

    From the FAQ:


    2.Is it possible to run binaries from Linux or other UNIX systems under EROS?

    Short Answer: Not yet, but it will be.

    Longer Answer:

    It's possible to build a UNIX environment that runs on top of EROS, and we intend to do so. That
    environment will run both conventional UNIX binaries and will also be able to access EROS-based services.

    In fact, it will be possible to run multiple UNIX environments at once. If desired, each user can be given a
    UNIX system that they fully control and adminster, without compromising the security of the other UNIX
    environments on the machine.


    So they're actually planning on doing this themselves. Actually, the interesting part is the last bit where you can give each user "root" without danger of them wrecking other people's work.

    --
    Glückwünsche, haben Sie Slashdot ermordet, indem Sie zum korporativen Druck beugten und Subskriptionen einlei
  58. A UNIX Environmont atop EROS by Christopher+B.+Brown · · Score: 2
    My point would be that it's not enough merely to have "a UNIX environment;" that makes it a natural next step to have "some form of distribution" in the manner of a Debian/EROS that would parallel the existent Debian/Linux and Debian/Hurd systems.

    That buys you not merely a somewhat familiar environment, but also a goodly chunk of the sizable toolset that people are accustomed to using on Linux.

    --
    If you're not part of the solution, you're part of the precipitate.
  59. Re:Yes, but those people are shallow. by Anonymous Coward · · Score: 0

    oooohhh, and the get defensive about it when you point it out! LOL!

  60. General Purpose Versus Embedded Servers by Christopher+B.+Brown · · Score: 3

    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 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

    The major alternative that, based on the deployment of predecessor systems like KeyKOS, 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
    • Building a secure and fast database server

      Which would parallel what Oracle has been working on with the "Raw Iron" Oracle 8i Appliance

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

    --
    If you're not part of the solution, you're part of the precipitate.
    1. Re:General Purpose Versus Embedded Servers by PigleT · · Score: 1

      Just an idea too... will it run on my palm pilot? ;)

      Semi-serious point, anyway. It occurred to me that there are one or two applications out there where
      (a) the distinction between RAM and disk is blurry, to say the least
      (b) things stay in a running or runnable state between power-cycles.

      I've acquired Zipdisks; Eros is going home tonight to be played with :)

      --
      ~Tim
      --
      .|` Clouds cross the black moonlight,
      Rushing on down to the circle of the turn
    2. Re:General Purpose Versus Embedded Servers by Mr.+Slippery · · Score: 2
      In fact, it will be possible to run multiple UNIX environments at once. If desired, each user can be given a UNIX system that they fully control and adminster, without compromising the security of the other UNIX environments on the machine.
      Trusted Mach had something like this - the idea was that not only could you have multiple Unix environments running, you could simultaneously have Dos/Windows, OS/2 (this was around 1993-96), etcetera. Some cool ideas, but the project never really went anywhere; TIS ramped it down shortly after going public.
      --
      Tom Swiss | the infamous tms | my blog
      You cannot wash away blood with blood
  61. Re:Orthogonal Persistance by Anonymous Coward · · Score: 0

    Unfortunately saving the entire state of a machine would probably be impossible because of hardware design. There are plenty of hardware devices that will allow you to set a state, but not query that state back. They assume you know what you set up.

  62. Re:Orthogonal Persistance - be careful by Anonymous Coward · · Score: 0

    Watch out about "orthogonal" persistence. It is almost never so easy when the machine is talking to the outside world. You often can't "rollback" the state of the other machines you're talking to. And if you could, each one needs to be notified in its own way about how to rollback. That will always be the application's responsibility, it will never be "orthogonal". On the whole, though, I think this is all very exciting and I hope this goes far.

  63. Not yet. by jcr · · Score: 1

    EROS today does not have a self-hosted development system. To make a program to run under EROS, you write it under linux or FreeBSD, generate an ELF binary, and then use EROS' process builder to make an EROS domain out of the ELF binary.

    -jcr

    --
    The only title of honor that a tyrant can grant is "Enemy of the State."
  64. Re:System info by Kiwi · · Score: 1
    RedHat 4.2 is still being maintained by RedHat, in the sense that when a security patch is released by RedHat, they release three patched RPMs, one each for 4.2, 5.2, and 6.1 systems.

    - Sam

    --

    The secret to enjoying Slashdot is to realize that it should not be taken too seriously.

  65. high-level languages on EROS? by sethg · · Score: 1
    I wish I'd known about this yesterday -- I read some of the papers on EROS a few months ago, and it looked like a very, very cool design.

    I had to reinstall Linux on my machine last night (moral: when the RH6.0 upgrade program says you don't have enough free space on /, don't click on the "Continue Upgrade Anyway" button ... but I digress), and if I'd known I could get a GPL'd EROS, I'd have set up a partition for it.

    Despite my interest in EROS, though, I don't have a lot of experience in C programming (and virtually none in C++), so I'm not sure how much I could accomplish by fumbling around in a completely new OS. Are there any high-level languages that run under EROS and that allow one to manipulate its special features? (A crude but standards-compliant Scheme implementation shouldn't take too long to write ... unless, of course, I'm the one writing it.... :-)

    --
    send all spam to theotherwhitemeat@ropine.com
  66. Re:Orthogonal Persistance by sjames · · Score: 2

    If your driver maintains state information, and knows how to move the hardware from reset to any given state, You effectively (more or less) have persistant hardware states.

  67. Still time to consider a still better option by Brett+Glass · · Score: 1
    While the home page suggests that the code might be licensed under some other open source license, such as BSD, licensing under the GPL potentially excludes the code permanently from commercial use. All that is sufficient for this to happen is for one developer to submit code which he or she insists can ONLY be released under the GPL, and the code is consigned to the GPL exclusively and forever.

    Which is a shame. It means that innovations in this OS (which I hear incorporates some novel ideas) will never become industry standards, because publishers of commercial operating systems cannot adopt them. The same would not be true if a business-friendly license such as the BSD license were used. (The ability of developers to reuse BSD licensed code without "giving away the farm" is responsible for the standardization of the TCP/IP protocol -- and, in turn, for the success of the Internet.)

    As developers, we must consider the long term results of our actions and the effects they have in the real world (in which, whether we like it or not, self-interest has an important role to play). If we remain sheltered, we will make bad decisions. Sad to say, I think that stamping the GPL on yet another major work is exactly this sort of bad decision.

    There is probably still a short period of time in which the leaders of the project can save the day by licensing the code under a BSD-style license rather than the GPL, and I would urge them to do that. If they would like to see their ideas propagate, become standard, and benefit the largest possible number of people, this is by far the best course of action. There is no downside; projects with BSD-like licenses, including Apache and FreeBSD, have ample numbers of developers. And the upside is fantastic. If the developers of EROS are reading this list, and care about the future of their code and of the software world in general, I urge them to make it so.

    --Brett Glass

    1. Re:Still time to consider a still better option by Anonymous Coward · · Score: 0

      Hey Brett, have you ever heard of Red Hat? It's a commercial GPL'ed operating system.

      Besides, if somebody wants to use innovations from EROS in a closed-source operating system, they can always write their own code instead of leeching off of Shapiro's work.

  68. Needed for Orange Book Security to get A,B,C Level by Anonymous Coward · · Score: 1

    The concept of "root" doesn't exist in capability based computers for ultra high security levels at A and B. Presently, no ones ever developed an OS that meets security level A. The reason is is because at this level it is more paper than s/w and centers around Security Threat risks. There have been actual hardware computers built around descriptor-based capabilities vs. what we have now as address-based capabilities. This will be the direction Linux will have to take to get into lets say Banking and "Trusted" systems and to achieve the different levels of the Orange book levels to be certified.

  69. Basically, you use a stand-in. by jcr · · Score: 1

    The way this works in EROS, is that you would have another object whose purpose is just to take your capability invocation and forward it to whatever process is actually going to do the work.

    That forwarder, BTW, can also do tricks like send all invocations to both version A and version B, so that a voting module can watch for deviations in behaviour.

    Check out Norm Hardy's paper on the "factory" object, which you should be able to find somewhere in the KeyKOS material on the www.eros-os.org web site.

    -jcr

    --
    The only title of honor that a tyrant can grant is "Enemy of the State."
    1. Re:Basically, you use a stand-in. by sethg · · Score: 1

      What if you want to upgrade or replace the forwarder? (yeah, I'm just being difficult....)

      --
      send all spam to theotherwhitemeat@ropine.com
    2. Re:Basically, you use a stand-in. by jcr · · Score: 1

      You tell the space bank to reclaim the forwarder's pages, you make a new one, and turn all of the existing capabilities to talk to the old one into zero number keys.

      Capabilities to talk to the new object are then handed out according to whatever mechanism you used to hand out the capabilities to the old object.

      -jcr

      --
      The only title of honor that a tyrant can grant is "Enemy of the State."
  70. Re:Yes, but those people are shallow. by Electric+Keet · · Score: 1

    > Most of us use Linux because it works, I hope, not because it's not what the status quo uses.

    This has truth, but am I correct in stating that much of the city of Linux was built with bricks forged in the desire to develop a great idea into a working idea?

    Programmers are like those of us who play with Lego blocks. They start with a notion of what to build, work it into a finished model... it is zoomed around the room with engine noises, then sits briefly on the shelf, and then the pieces are turned to another idea shortly afterwards. The point is the development of the bold new idea.

    There are indeed those who try simply to be counter-culture and grasp at a new OS for the sake of being such. There are also those who grasp a new OS for the intellectual pursuit of making it work. The latter sort are for whom this article is posted, yes?

    --
    A digital picture is worth 0x01F4 dwords. - Jessie Tracer / Electric Keet
  71. Ive been excited about this OS for a while by On+Lawn · · Score: 1

    Like four years now. Its one of the things that might actually motivate me to finish my CS degree or at least take an OS class. This OS I really like.

    But I see two things really. The first works off of a comment someone told me when I was shouting that 1.0 came out. He said "Linux getting a little usable and featured for you?"

    I see two reasons to get excited about this, one is that the design is new and exciting, the other is the chance to pioneer.

    The names in Linux are pretty set in infamy. And they should be they've earned it. But some of us are wanting to do a little pioneering of our own. I think of "Support Your Local Sheriff on this one"

    sherrif: "I'm going to Australia, last of the frontier to do a little pioneering."

    Town Father:"I thought this was frontier and we was pioneers."

    Its a real land of opportunity for people who already feel a little population pressure in Linux.

    And the OS design is just great enough to be a real opportunity. Some real avanues to invent some real interesting possibilities.
    ^~~^~^^~~^~^~^~^^~^^~^~^~~^^^~^^~~ ^~~~^~~^~

  72. Persistence in Linux? by uluckas · · Score: 1
    In the early nineties I have been working with an OS called L3 which was based, among other things, on persitstence. Even thoug L3 now is a thing of the past the idea of persistance still seems ahead of even today's OS technologie.

    If your system was powered down in the middle of a database update after reboot the update continued, where it was interrupted. No DB curruption!

    L3's persistence implementaiton was based on two 'lazy' copies of the virtual memory. One of a consisten state and the ther one was the working copy. That is the first time you change a memory page, it is copied. The after a fixed interval, an new lazy copy of working memory becomes the new 'consisten' state copy.

    My question to the public is wouldn't this be a desirable thing to have in Linux? And the question do the developers does that seem a hard thing to implement?

    It seems like a simple concept. But there seems to be a huge pile of implications for the kernel drivers. A process might even be in a system call when the system wakes up again.

    I am verry ecited to hear your comments.

    Uli Luckas

    1. Re:Persistence in Linux? by Anonymous Coward · · Score: 0

      I believe the best option for Linux would be a "standard" (or close as possible) library for persistence. Keep in mind many applications don't need it (such as mp3/cd players, screensavers, various other things). Then you just compile applications w/ the persistence support.

      IMO, its probably too difficult to implement at the kernel level.. but who knows.

      I also believe that with Unix/ANSI C calls there would be no "reasonable" or "smart" way to do persistence (but then again I know little about the kernel).

  73. It must be good! by Anonymous Coward · · Score: 0

    Anything that's as hard to install as Linux 0.02 is going to be damn good!!!

  74. Not cupid, Eros. by jcr · · Score: 0


    Cupid is the Roman name for the Greek god Eros.

    -jcr

    --
    The only title of honor that a tyrant can grant is "Enemy of the State."
  75. Orthogonal Persistance by Ian+Bicking · · Score: 4
    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 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 :)

  76. System info by yist · · Score: 1

    --
    telnet www.eros-os.org
    Trying 158.130.6.119...
    Connected to www.eros-os.org.
    Escape character is '^]'.

    Red Hat Linux release 4.2 (Biltmore)
    Kernel 2.0.30 on an i586
    login:
    ---

    Spot the mistake here. Talk about old huh? I hope they upgrade before attackers get to them..

    Ohh well

    - Yiango

  77. a little wordiness by Lonesmurf · · Score: 0

    we also get a lot of 'sweet lovin' words from the greek god eros.

    -erotic
    -eroticism

    --

  78. Hot d*mn! by Anonymous Coward · · Score: 1

    It's possible to build a UNIX environment that runs on top of EROS, and we intend to do so. That environment will run both conventional UNIX binaries and will also be able to access EROS-based services.

    In fact, it will be possible to run multiple UNIX environments at once. If desired, each user can be given a UNIX system that they fully control and adminster, without compromising the security of the other UNIX environments on the machine.

    Soon, I too can have a Beowulf cluster...
    ... and I won't even have to get another computer!!!
  79. Re:Yes, but those people are shallow. by Anonymous Coward · · Score: 0

    Three words for your ingrate carcass: fast, stable, and organized. I could care less about being some limp dicked rebel geek.

  80. Re:Needed for Orange Book Security to get A,B,C Le by gorilla · · Score: 1
    The SCOMP, a Multics based system built by Honeywell Aerospace (Now Bull) in Tampa, Florida was the first to get A1 rating. The NSA document of the evalulation is CSC-EPL-85/001, $3 using this order form.

    In practical terms, there isn't must difference between B3 & A1, they have the same security setup, but A1 has been formally proven to be secure, while that's not a requirement for B3. However, I'm pretty sure that most B3 systems have been formally proven, just not in the documentation & verbosity to get certified for A1.

  81. Re:One of the coolest things about EROS: persisten by sjames · · Score: 2

    One thing that bothers me about this persistence is that they would need to save the state of various cards on your machine, too

    That can be a hard problem, but it is NOT an impossable one. What it amounts to is that the checkpoint recovery code must understand that hardware is only half way in the persistant universe, and that the driver must have recovery code that can re-init the driver, and play back a transaction log in order to bring the hardware to the correct (checkpointed) state.

    If OS design moves more in this direction, customers will demand (and eventually get) checkpoint friendly hardware.

  82. Re:Another lame Intel OS by Anonymous Coward · · Score: 0

    offtopic and stupid.

  83. Re:Cut out the autogenerated text already. by Anonymous Coward · · Score: 0

    offtopic and stupid...

  84. the selfish case for the GPL by sethg · · Score: 1
    If the fellow who owns the EROS copyright wants to be friendly to other businesses, then yes, he should use the BSD license. But maybe he doesn't want to be friendly. If he wants to turn EROS-related services into some kind of commercial venture, then the GPL acts as a "poison pill".

    Anyone can now take EROS and add features to it, but they can't use those added features to gain a competitive advantage over EROS's creator, because he has access to the same source code that they use. This is an especially important trump-card if a company with deep pockets decides that they like EROS, but they don't like it enough to give its creator a piece of their action.

    I agree that BSD-style licenses have a practical value when it comes to networking standards, and one could argue that the BSD is more altruistic than the GPL. However, if you don't want other people to prosper from your code at your expense, and both the proprietary route and a Mozilla-style license have failed to get you the financial benefits you hoped for, then the GPL is a better fallback position than the BSD. (I think this is why Red Hat puts all the software it writes under the GPL.)

    --
    send all spam to theotherwhitemeat@ropine.com
  85. Linux too mass market? Then try OS/2! by LordNimon · · Score: 1

    If you're looking for an alternative operating system that will probably never have the problem of being too mass market, then consider OS/2. Yeah, it's not open source, but there's quite a bit of source code and easily-expandable published interfaces for it. Plus, almost every Unix/Linux app will compile under it with only minor changes.

    --
    And the men who hold high places must be the ones who start
    To mold a new reality... closer to the heart
    1. Re:Linux too mass market? Then try OS/2! by MassacrE · · Score: 1

      The nice thing about Linux and even EROS with respect to OS/2 is that while they don't have the lion's share of developer support, at least the individuals who CREATED it like it, support it, and are planning to improve it in the future.

      Get IBM to OpenSource OS/2 :) They obviously are currently trying to kill it internally.

  86. SMP is unsexy but important by BIFFSTER · · Score: 1

    SMP is decidedly unsexy in a lot of ways, but it's _hard_ to do right and in a sane way. One of the reasons I like BeOS is because not only does it have fine-grained SMP, but it also encourages - nay, requires - threading in all sorts of places, thus vastly boosting the benefits of having multiple processors.

    When we hit the limits of Moore's law, we'll _have_ to scale to more processors - and then SMP will be horribly important to even casual users.

  87. Don't Panic(tm) by Anonymous Coward · · Score: 0

    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.

    Don't worry; you can always deallocate all the storage that a process is using (by deleting its space bank), and obviously it won't be able to continue running. Also, whenever you start a new process, the system gives you a capability to that process. You can then use that capability to kill the process if you want. Just make sure you don't lose it!

    Disclaimer: I'm not an EROS hacker, so this is all AFAIK.

  88. Re:One of the coolest things about EROS: persisten by Anonymous Coward · · Score: 0

    Unfortunately you have to keep most of the serialization code if you wish to communicate, browse the Web... And communications are even less reliable than file systems.

  89. More like, there *is* no file system. by jcr · · Score: 1

    ...the line between the filesystem and memory seems nonexistant...

    Actually, as far as the EROS kernal is concerned, thre is no such thing as a "file", in the sense of something with a name, that lives on the disk, etc.

    There are pages, and ranges, and domains, but basically it's all VM. None of the "copy from the disk to kernal memory, copy from kernal memory to userland, etc. All memory access is page faults.

    Now, if you want to set up a program that does what a conventional file system does, you can, but that's not something that concerns the Kernal.

    -jcr

    --
    The only title of honor that a tyrant can grant is "Enemy of the State."
  90. Not really new by uluckas · · Score: 1
    >I'm not yet sure what I think of this, but it definitely is something new and unique.

    >Chris



    This conecpt has been implemented before in L3.

    Uli Luckas

  91. Re:One of the coolest things about EROS: persisten by uluckas · · Score: 1
    Then, when every thing is in vritual memory, doesn't that mean for x86 processors you have a limit of 2GB per process for all data and code?

    Oh, you have the same limit on linux, but you can hold extra data in files.

    Wouldn't that render the whole thing useless for fullblown database servers?


    Uli Luckas

  92. L3 URL: http://os.inf.tu-dresden.de/L4/l3.html by uluckas · · Score: 1

    The L3 URL should have read: http://os.inf.tu-dresden.de/L4/l3.html

  93. Squeak by betamax_ · · Score: 1

    Honestly, I don't see this going anywhere. For people who want a more innovative OS I recomend Squeak running on top of Linux kernel. I think that Smalltalk basicly perfected object orientation, after all they are the people who invented it!

    1. Re:Squeak by The+Other+JoshG · · Score: 1

      As much as I think Squeak is absolutely the coolest thing around right now, I think that EROS is designed for things that Squeak isn't prepared to handle in the near future. For example, multithreading. Multiuser security. Etc.

      As far as saying that Dan I., Alan K., etc. perfected OO, since they invented it, I might just as well say that Babbage perfected computers, since he invented them. Smalltalk doesn't have many features that some would argue are very desirable, such as multi-method dispatch.

      That said, I think I'm going to fire up my image and take a look at Squeak's 3d code tonight!


      Later,
      Josh
  94. One of the coolest things about EROS: persistence. by jcr · · Score: 3

    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.

    --
    The only title of honor that a tyrant can grant is "Enemy of the State."
  95. Yes, but those people are shallow. by Wakko+Warner · · Score: 2
    Anyone who forces themselves to do "the different thing" to maintain an image of rebelliousness, or of "being apart from the crowd" generally is self-important and pretty shallow. Anyone who sees success as a failure, of sorts, really doesn't have it all going on upstairs, IMO. Most of us use Linux because it works, I hope, not because it's not what the status quo uses. - A.P.
    --


    "One World, one Web, one Program" - Microsoft promotional ad

    --
    "Remember when the U.S. had a drug problem, and then we declared a War On Drugs, and now you can't buy drugs anymore?"
  96. An end to viruses. by jcr · · Score: 3

    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

    --
    The only title of honor that a tyrant can grant is "Enemy of the State."
  97. No root... Credential downward spiral? by Mr+Z · · Score: 3

    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
    --
  98. _|_ persistance?? by Anonymous Coward · · Score: 0

    For some, this may be an inane question, but wth is orthogonal persistance. I was a mathematics major but I do not understand the concept of orthogonality in this context.

    1. Re:_|_ persistance?? by jcr · · Score: 1

      The term "orthogonal" in this context, just means that the persistence happens with no effort on the part of the processes. You don't have "save" anything. Anything in memory just persists.

      -jcr

      --
      The only title of honor that a tyrant can grant is "Enemy of the State."
    2. Re:_|_ persistance?? by epopt · · Score: 4
      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!

      --
      -- Remember that we live in a world where all the really big decisions are made by people with short attention spans.
  99. Realtime? by Anonymous Coward · · Score: 0


    Where exactly does it say it is realtime?

    Microkernel, I think, though.

    P.

    1. Re:Realtime? by Pseudonym · · Score: 1
      I thought that "real-time" had to do with getting raw access to resources. This way, I can know *exactly* when data arrives at my serial port, for example.

      Raw access to resources is a speed concern, not a real-time concern. If there is a guaranteed maximum time that you have to wait between sending data to the serial port and it arriving, then that is a real-time operation, no matter how long that guaranteed time is.

      Of course, speed will probably make the difference between choosing one real-time system over another, but it's the guarantee which makes the system real-time, not the speed.

      --
      sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
    2. Re:Realtime? by Pseudonym · · Score: 1
      Where exactly does it say it is realtime?

      From the FAQ:

      The result is a small, secure, real-time operating system that provides orthogonal persistence.

      Admittedly this point is not stressed on the EROS web site nearly as much as the capability system is.

      --
      sub f{($f)=@_;print"$f(q{$f});";}f(q{sub f{($f)=@_;print"$f(q{$f});";}f});
  100. EROS doesn't do TCP/IP yet. by jcr · · Score: 2

    EROS today, just runs its own benchmarks and regression tests. It needs about six man-months of work before it's ready to host any network-based services, and AFAIK, getting a self-hosted development environment on EROS has the higher priority.

    Today, to create an EROS process, you generate an ELF binary under Linux, and then transmogrify that into an EROS domain.

    -jcr

    --
    The only title of honor that a tyrant can grant is "Enemy of the State."
  101. Re:Orthogonal Persistence, AS/400 and the Web by Anonymous Coward · · Score: 0

    The as/400 is a very cold, dark thing, best stayed away from. Although full of some good ideas, many old bad ideas remain(from it's system 38 roots). It is not sexy like unix, not good for hacking on and it is the pinnacle of proprietary, high price tagged, old IBM way of doing things. Using one is like being chained to an iron maiden day in and day out. It's primary language(RPG) is decadant and a perfect match for the operating system it runs on. Stay away, you have been warned.

    Joe Rice
    jlrice@crosswinds.net

  102. Comment from the man himself by Anonymous Coward · · Score: 0

    Strange you'd mentioned it, I browsed their mailing list archive a couple of days ago and mr. Shapiro wrote something on just this subject...

    http://www.eros-os.org/~majordomo/cap-talk/0116. html

  103. Comment from the man himself by Anonymous Coward · · Score: 0

    Strange you'd mentioned it, I browsed their mailing list archive a couple of days ago and mr. Shapiro wrote something on just this subject... http://www.eros-os.org/~majordomo/cap-talk/0116.ht ml

  104. Re:Double-edged sword. by Mr+Z · · Score: 2
    Well, no. Certainly you could use mmap() to get a memory mapped file, but there are a couple of deficiencies associated with that approach. [...] Second, EROS has checkpointing to ensure that saved state of many different objects are all saved at an identical time and are consistent with each other. That consistency is very hard to guarantee except at the operating system level.

    EROS does provide checkpointing, but at too coarse a granularity to be useful for a transaction database. (That is, unless I missed something.) You still need to implement a two-phase commit that you know has committed to some non-volatile storage.

    Consider an EROS-based transaction database that's sitting between two other entities in a transaction. (For example, suppose it's running bank software at your bank and you're doing an Electronic Funds Transfer.) Just as you initiate the EFT, the EROS box "sends" the money to the remote bank and updates the ledger, and tells everyone that all updates are successful. Now suppose the power goes out at your bank. The remote bank has updated its ledger, you've updated your ledger, but has the EROS box flushed the changes to disk yet?

    This problem exists whether or not you've abstracted away RAM vs. disk as EROS does. For certain classes of application, you must know that a given object is committed to non-volatile storage as part of the transaction protocol. (In fact, that's the reason many high-end transaction systems use solid-state "disks" to store transaction journals.) Does EROS provide for this need?

    --Joe
    --
  105. Alas, anon... by Deus+Ex+Machina · · Score: 1

    These OS's all sound neat... not just EROS either, but also the Nemesis mentioned and ExoKernel that I've read of before.

    Unfortunately, there still seems to be a bit of confusion about how to introduce a bit of nifty tech. What I wanted to know, from reading all these wonderful releases of info and such, was, "What difference this will make to my computing experience, should I try one of these new OS's?"

    Now you don't have to mention it - it is a callous and greedy thing to say, I realize that. But frankly, isn't this what it all comes down to? What good is it for you on the desktop if it can't run a web browser, the GNU tools, art programs, etc? At least EROS mentioned, albiet with a great deal of obscurity, that they would be supporting UNIX binaries - which is a good thing. But when these babies are ready for public consumption, let us know what they can do for us as well... not just what we can do for them.

    Ah well. I'm not coder, so I probably don't have any right making these spurious and trite observations. Flames, commence!

    --
    Know ye not that ye are Gods???
  106. Not GPL by Anonymous Coward · · Score: 0


    It was released several months ago, but under a different license. I got the impression that the main author was not keen on free software, but he seems to have changed his mind.

    P.

  107. Double-edged sword. by Mr+Z · · Score: 1
    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.

    Smaller and simpler, sure. But, then, you can do that today just by calling mmap() on the database under most Unix systems. What you lose in this design is control. The database software probably has a better picture of what it's going to access, and in what order than does the OS's generic VM/buffer cache. Because it knows this, it can schedule reads and writes much more efficiently (at least in theory) than the OS could. (That's why a number of database engines support a "raw device" mode which bypasses the OS and filesystem altogether.)

    This brings up an interesting, related point: Real-time programming has got to be more difficult in such a machine, unless there's a set of APIs (and associated capabilities) for ensuring a set of objects is in memory at a particular time. Otherwise, you have little control over when you fetch data from disk, because as an object, you don't see the disk -- it's abstracted away.

    --Joe
    --
  108. Think of what this can mean to kernal development. by jcr · · Score: 1

    Under EROS, you could have multiple instances of the Linux kernal running, and automatically watch for differences in their behaviour.

    Imagine if you're writing a driver, and you could do A/B comparisons between versions of your code, in situ, without restarting the machine.

    -jcr

    --
    The only title of honor that a tyrant can grant is "Enemy of the State."
  109. Re:Orthogonal Persistence, AS/400 and the Web by Cato · · Score: 2

    You might like to look at IBM's AS/400, and its predecessor System/38 - both have orthogonal persistence, i.e. everything is an object and some are just persistent.

    Despite its proprietary nature, the AS/400 has an interesting architecture, and is highly popular as a mid-range system.

    The rise of web-based applications (e.g. www.opendesk.com, an open sourced web desktop, and desktop.com, as well as the handy web-based database, www.flashbase.com) may make it much easier for radically different OS architectures to flourish. It also makes it easier for older architectures to do well - e.g. IBM's OS/390 mainframes remain a good way to do truly enormous amounts of back-end transactional processing, and they can run web applications just like anything else.

    To paraphrase the New Yorker cartoon, "on the Web, nobody knows you're an AS/400."