blob: 1a2718565a3d9bfaf161029e74d960239ce2eb7e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
|
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:
[[microkernel/mach/gnumach/open_issues/resource_management_problems]]
* [[Issues_with_L4_Pistachio]]
* [[Limitations_of_the_original_Hurd_design]]
* History of the [[history/port_to_L4]]
# 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.
|