summaryrefslogtreecommitdiff
path: root/hurd/ng.mdwn
diff options
context:
space:
mode:
Diffstat (limited to 'hurd/ng.mdwn')
-rw-r--r--hurd/ng.mdwn93
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.