summaryrefslogtreecommitdiff
path: root/Hurd/NextHurd.mdwn
blob: 544df414cdf38848c2a40c0aea3b85926029b06b (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
# <a name="Next_Hurd"> Next Hurd </a>

There is work on progress to design a new Hurd, which started by trying to port the Hurd to the L4 �-kernel. As L4 itself is now deprecated and it's successors, L4.sec and L4ng, are not ready yet, efforts are directed toward designing from scratch this new Hurd.

There are discussions on the desired features, and discussions about it's design principles and core properties.

## <a name="Why_ngHurd"> Why ngHurd </a>

This section should give an idea why we think a new Hurd is needed.

* [[WhyWeDoNotWantMach]]
* [[WhyWeDoNotWantPistachio]]
* [[WhatIsWrongWithTheCurrentHurd]]

## <a name="Work_already_done"> Work already done </a>

A [draft specification](http://www.marcus-brinkmann.org/hurd-ng.pdf) of the ngHurd iterfaces by Marcus Brinkmann and Neal H. Walfield can be found. NOTE: This is **very early** draft work and cannot be expected to be anything near complete.

A position paper is in work but no draft has been made public, yet.

## <a name="Subjects"> Subjects </a>

### <a name="Design_processus"> Design processus </a>

* [[DesignGoals]]
* [[RequirementsForUser]]
* [[DesignPrinciples]]

### <a name="Concepts"> Concepts </a>

* [[CapabilityBasedMicrokernel]]
* [[FirstClassReceiveBuffer]]
* [[PowerBox]]
* [[WhatIsACapability]]
* [[WhatIsAConstructor]]
* [[CopyVsRevocableCopy]]
* [[SetuidVsConstructor]]
* [[HurdishApplicationsForPersistence]]
* [[WhatsInAGroup]]
* [[ThePolycastInterface]]

### <a name="Problems_to_solve"> Problems to solve </a>

* [[PermissionBits]]
* [[CancellationForwarding]]
* [[HowMuchConfinementDoWeWant]]
* [[ReliabilityOfRPCServices]]
* [[SharedLibraries]]
* [[PathMax]]

### <a name="Implementation"> Implementation </a>

* [[ChoiceOfMicrokernel]]
* [[HurdInterafaces]]
* [[PosixLayer]]

### <a name="Organization"> Organization </a>

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.

-- [[Main/NowhereMan]] - 21 Apr 2006