diff options
Diffstat (limited to 'hurd/ng.mdwn')
-rw-r--r-- | hurd/ng.mdwn | 93 |
1 files changed, 93 insertions, 0 deletions
diff --git a/hurd/ng.mdwn b/hurd/ng.mdwn new file mode 100644 index 00000000..22613f54 --- /dev/null +++ b/hurd/ng.mdwn @@ -0,0 +1,93 @@ +Hurd-ng is an effort to build a new operating system that preserves +the main design goals of the Hurd while fixing some of the Hurd's +shortcomings. There is not yet an official roadmap or a concrete +specification; indeed, much of the work is research oriented. + +These pages try to summarize the major discussions and ideas. + + +# Why ngHurd + +This section explains the motivations behind the new design: + + * [[Issues_with_Mach]] + * [[Issues_with_L4_Pistachio]] + * [[Limitations_of_the_original_Hurd_design]] + + * [[History]] + + +# Work already done + +A [[position_paper]] by Marcus Brinkmann and Neal H. Walfield can be found. + +A draft specification of the Hurd-NG interfaces has been, but is no longer, +available. + +A [[critique]] of the original Hurd is available. + +# Subjects + +## Design processus + +* [[DesignGoals]] +* [[RequirementsForUser]] +* [[DesignPrinciples]] +* [[Philosophy]] + + +## Concepts + +* [[security]] +* [[CapabilityBasedMicrokernel]] +* [[FirstClassReceiveBuffer]] +* [[PowerBox]] +* [[WhatIsACapability]] +* [[WhatIsAConstructor]] +* [[WhatIsASpacebank]] +* [[TrivialConfinementVsConstructorVsFork]] +* [[CopyVsRevocableCopyVsMap]] +* [[SetuidVsConstructor]] +* [[HurdishApplicationsForPersistence]] +* [[WhatsInAGroup]] +* [[ThePolycastInterface]] +* [[PermissionBits]] +* [[CancellationForwarding]] + + +## Problems to solve + +* [[HowMuchConfinementDoWeWant]] +* [[SharedLibraries]] +* [[PathMax]] + + +## Implementation + +* [[ChoiceOfMicrokernel]] +* [[HurdInterafaces]] +* [[PosixLayer]] +* [[SystemStructure]] + + +## Use Cases + +_please move me somewhere better! [[SamMason]]_ + +* [[UseCaseUserFileSystem]] +* [[UseCasePrivateKeys]] + + +## Organization + +Summaries should obey the following structure: + +* if there is a consensus, it is clearly described +* if controversial points remain, there are also described after the consenus +* if no choice has been clearly made, all valid positions are descrbied +* withdrawed and invalid positions (prooved wrong, unrealistic, contradictory + to some design principle, etc.) should be described only very briefly, and + developed in a separate article + +Each time a point seems to be overly long with respect to the rest of the +article, it should be summarized in place and developed in a separate article. |