Changes between Version 16 and Version 17 of FAQ


Ignore:
Timestamp:
2015-11-21T22:31:17Z (9 years ago)
Author:
Jakub Jermář
Comment:

Update info on the Hurd.

Legend:

Unmodified
Added
Removed
Modified
  • FAQ

    v16 v17  
    5151=== How is HelenOS different from GNU Hurd? ===
    5252
    53 [http://hurd.gnu.org GNU Hurd] reimplements Unix in a multi-server environment on top of the Mach microkernel. The Hurd runs on single-processor ia32 systems. Port to amd64 is underway. Some of the Hurd's components, such as parts of the ```etx2fs``` file server and the ```pfinet``` networking server are in fact borrowed from ancient versions of Linux, while some other components are original. NIC and disk drivers are also taken from Linux, but run as part of Mach in kernel mode. There are experimental versions of the Hurd with support for running Linux 2.6.x networking and disk drivers in user mode (via DDE).
     53[http://hurd.gnu.org GNU Hurd] reimplements Unix in a multi-server environment on top of the Mach microkernel. As of version 0.7, the Hurd runs on single-processor ia32 systems. Port to amd64 is underway. Some of the Hurd's components, such as parts of the ```etx2fs``` file server and the ```pfinet``` networking server are in fact scavenged from ancient versions of Linux, while some other components are original. NIC and disk drivers are also taken from Linux, but run as part of Mach in kernel mode. There are experimental versions of the Hurd with support for running Linux 2.6.x networking and disk drivers in user mode via the DDE compatibility layer. The Hurd's hardware support is rather limited. As of version 0.7, it did not support USB or sound. The Hurd is a multiuser system and a huge emphasis is put on structuring it in such a way that unprivileged users can work with the computer without needing to acquire the administrator's privileges for certain tasks (e.g. making untrusted/experimental file systems accessible in the filesystem namespace). The Hurd offers great flexibility in the dynamic configuration of the system through the translator mechanism. Users can modify behavior for a file system path by interposing their own functionality (i.e. setting a translator) that gets activated on open. There are two GNU Hurd distributions: Debian GNU/Hurd and Arch Hurd. The former includes about 80% of the Debian packages, which is still in the very much respectable order of tens of thousands of packages.
     54
     55HelenOS, on the other hand, is a multi-server environment which does not reimplement any legacy system. It has its own microkernel called SPARTAN. Besides ia32, it also supports amd64, arm32, ia64, mips32, ppc32, sparc32 and sparc64 to varying degrees, some of them in multiprocessor configurations. An overwhelming majority of HelenOS components such as file systems, networking stack, device drivers and GUI have been written specifically for HelenOS, so there is virtually no bloat introduced by various compatibility and glue layers, neither there is any additional maintenance burden associated with maintaining aging third-party components. Essentially all HelenOS drivers run in user mode, the exception being kernel drivers used for debugging purposes and the timer and interrupt controller drivers. HelenOS supports both USB and sound (sb16 and Intel HDA). HelenOS is a single user operating system, even though there has been some experimental work done on multiuser support. HelenOS does not have a direct analogy to the translator mechanism, but the system configuration can be dynamically changed by spawning/killing userspace servers that implement certain IPC protocols. HelenOS currently does not support very many user applications as the development focus is on sybsystems, frameworks and drivers. A very limited support exists for running a few standard development tools inside HelenOS (e.g. binutils, gcc, python and some others).
    5456
    5557=== How is HelenOS different from MINIX 3? ===