Hurd
The Hurd is a whole of programs and libraries being used as a basis for the Operating system GNU. It is a Free software, subjected to the license LPG.
The sought-after goal is to replace the functionalities of a core of the type UNIX, while maintaining a broad compatibility with those. It respects as much as possible the specifications POSIX, while avoiding the restrictions of action arbitrarily imposed on the user.
The name “ Hurd ” is a double recursive Acronyme, “ Hurd ” meaning “ Hird off Unix-Replacing Demons ”, and “ Hird ” “ Hurd off Interfaces Representing Depth ”.
Structure with micronucleus
Contrary to traditional the UNIX cores, primarily monolithic, Hurd is based on a Micro-noyau, which provides only the basic functions (basic access to the material and the memory, management of the tasks and the communication between those). It is composed of a series of services (called waiters ), providing functions and abstractions moreover high level (filesystem, Unix process, management of the permissions, comfort, advanced pilots…). This design is thus more modular and easier to make develop dynamically. However, these independent waiters must frequently communicate, which affects the performances of the system.Currently, the micronucleus used is GNU Mach, but the efforts are directed towards the bearing of Hurd on the micronucleus L4.
There exists of other systems of the UNIX type using Mach, such OSF/1, NeXTSTEP, Lites and MkLinux. They in common have an architecture based on the model waiter : the monolithic core of the traditional UNIX system is thus replaced by two distinct components, the micronucleus and a monolithic waiter which provides compatibility Unix (BSD generally, except obviously for MkLinux). Mac OS X also uses Mach as bases of its monolithic core Xnu.
Specificities of Hurd
Hurd is thus composed of a whole of waiters functioning in interaction. Instead of only one imposing program including absolutely all, of the management of synchronism until the network, each one of its components is managed by an independent waiter. Each waiter provides a certain number of services, in the forms of calls (RPC). These calls are organized in interfaces. These interfaces are defined independently of the waiters provided by Hurd: they are supposed being stable (they changed only once since 1999) and documented.That returns in theory the development of easier Hurd. To replace a component, it is enough to create a waiter establishing these same interfaces. One can also replace and/or modify the nonessential components (majority) without stopping the system. Moreover, if one of the components plants, it should not involve the whole of the system.
In the initial development of Mach, this idea of an interacting whole of waiters was regarded as one of the principal goals relating to the design, but Hurd seemed being the first system based on Mach, functioning in this manner. At all events, it appeared that the group developing Mach was well too occupied working on Mach to think of the operating system in its globality.
A certain number of concepts having course on UNIX are implemented or extended in Hurd.
In particular, it endorses the maxim Unixienne “ all is file ” and extends it to answer current problems of the systems multi-waiters: identification of the waiters and access control to those. Indeed, two waiters, to communicate between them, must be able to be contacted. On Internet, in fact the IP addresses and the DNS fill this role. In the world CORBA, they are the IOR. MachOS proposed a service of naming which makes it possible to contact a waiter by its name. However, this system adds an element critical with the system (the waiter of names) and the question of the access control does not regulate. Hurd takes the party to use the filesystem like system of naming: with each file, it associates a program. These programs are ordinary waiters which establish a particular interface: that of the access files (reading, writing, change of the rights and owner, etc): they are called translators ( translator ). All the waiters of Hurd are translators, excluded auth and proc (for which any task created automatically has a means of communicating with these waiters). The filesystems are an example of translator: they are associated with all the files provided by this filesystem. What corresponds to the assembly under UNIX is the launching of a translator of file under GNU/Hurd. The nature of the translators (ordinary programs) makes easier the design of specific services as the translator ftpfs allows the user to sail on a site distant ftp as in a local tree structure, or mirrorfs , which makes it possible the user to assemble several filesystems the ones on the others.
Under Unix, each program has an associated identifier, User id or ID, which correspond normally to that of the user who launched it. This ID dictates the actions permitted by this program. No external process can change the ID of a program into memory, and no process can (normally) obtain a privilege which it does not have with starting. Under GNU/Hurd, a process turns under a whole of identifiers, this unit which can be null (no associated ID) or containing several ID. a process having sufficient privileges can add or withdraw ID with another process. For example, there exists a waiter password which turns over a ID when the login is validated.
The most interesting aspect of Hurd lies in the capacity that at the user of launching his own system of services. Any user can attach any translator to a filesystem for his personal use: a user can even replace waiters systems, like the waiter of authentification, by that of his choice. All that can be done without assigning the other users, thanks to well defined privileges. In fact, it is even possible, always for the simple user, to start again a GNU/Hurd system, which will be then under-Hurd (Hurd in Hurd).
Distributions
Richard Stallman, founder of project GNU, had announced that he hoped for the release of an official version of GNU OS (also called GNU/Hurd) before the end of the year 2002 (declaration which had much surprised the developers!). There exists only one distribution based on Hurd, still with the developmental stage, but which it is possible to use for certain noncritical tasks: Debian GNU/Hurd . A LiveCD based on Debian GNU/Hurd also, realized by Ben Asselstine with the assistance of Alfred Szmidt. This LiveCD provides a sufficient basic system to discover and show the functionalities of GNU/Hurd. L4, Gnuppix. -->These distributions use a whole a Chargeur of starting (bootloader) which can manage the specification multiboot, like GRUB, which is necessary to use Hurd.
Taking into account the availability of other cores of operating system which allow a use of the whole of tools GNU, the development is slow. This core still suffers from important limitations related to the material support. There does not exist thus any support for the charts its.
Quotation
( To make, known as short quite simply NOT WITH DRUGS and perhaps which you will not finish like people of Hurd. )-- Linus Torvalds, originator of Linux
See too
Internal bonds
- Free Software Foundation | GNU
- Debian GNU/Hurd
External bonds
- Official site
- Debian GNU/Hurd
- GNU Mach
- L4-Hurd
- Wiki of the project Hurd
- HurdFR
- HurdFR - Documentation
- Wiki d' HurdFR
- Interview of Marcus Brinkmann
| Random links: | Sensitive Homonculus | Lucinasco | Os cuboïde | International airport of Nội Bài | KTM 250 sx |