system revision 1.6 1 $NetBSD: system,v 1.6 2009/09/15 21:07:58 agc Exp $
2
3 NetBSD System Roadmap
4 =====================
5
6 This is a small roadmap document, and deals with the main system
7 aspects of the operating system.
8
9 The following projects are expected to be included in NetBSD 6.0
10
11 1. 64-bit time values supported
12 2. Better Kernel Modules support
13 3. Full kernel preemption for real-time threads
14 4. POSIX shared memory
15 5. namei() tactical changes
16 6. Better resource controls
17 7. Improved observability: online crashdumps, remote debugging
18 8. Processor and cache topology aware scheduler
19 9. namei() strategic changes
20
21 We currently expect to branch 6.0 in the March 2010 timeframe, with a view
22 to a 6.0 release later in 2010.
23
24 We'll continue to update this roadmap as features and dates get firmed up.
25
26
27 Some explanations
28 =================
29
30 1. 64-bit time_t support
31 -------------------------
32
33 The Unix 32-bit time_t value will overflow in 2037 - any mortgage calculations
34 which use a time_t value are in danger of overflowing at the present time -
35 and to address this, 64-bit time_t values will be used to contain the number
36 of seconds since 1970.
37
38 Responsible: christos
39
40 2. Better Kernel Module Support
41 -------------------------------
42
43 Starting with 5.99.2, the kernel support for modules was enhanced by
44 ad, and GENERIC was switched over to be a MODULAR kernel. Support
45 from booting from modules, like ffs, was introduced at the same time.
46 Some work has been done by Luke Mewburn in this area to define module
47 locations and paths so that effective kernel development can be done
48 using modules.
49
50 Responsible: ad, lukem
51
52 3. Full kernel preemption for real-time threads
53 -----------------------------------------------
54
55 With the revamp of the kernel concurrency model, much of the kernel is fully
56 multi-threaded and can therefore be preempted at any time. In support of
57 lower context switch and dispatch times for real-time threads, full kernel
58 preemption is being implemented.
59
60 4. POSIX shared memory
61 ----------------------
62
63 Implement POSIX shared memory facilities, which can be used to create the
64 shared memory objects and add the memory locations to the address space of
65 a process.
66
67 Responsible: rmind
68
69 5. Incremental namei improvements, Phase 1
70 ------------------------------------------
71
72 In NetBSD 5.99.15, some changes were made to split the namei() routine
73 up into logical parts, so that changes can be made to the constituent
74 parts in a less intrusive way.
75
76 Responsible: dholland
77
78 6. Better resource controls
79 ---------------------------
80
81 A resource provisioning and control framework that extends beyond the
82 traditional Unix process limits.
83
84 7. Improved observability: online crashdumps, remote debugging
85 --------------------------------------------------------------
86
87 XXX crashdumps while the system is running
88 XXX firewire support in libkvm
89
90 8. Processor and cache topology aware scheduler
91 -----------------------------------------------
92
93 Implement the detection of the topology of the processors and caches.
94 Improve the scheduler to make decisions about thread migration
95 according to the topology, to get better thread affinity and less
96 cache thrashing, and thus improve overall performance in modern SMP
97 systems.
98
99 Responsible: rmind
100
101 9. Incremental namei improvements, Phase 2
102 ------------------------------------------
103
104 Implement the rest of the changes to namei outlined in Message-ID:
105 <20080319053709.GB3951 (a] netbsd.org>. Simplify the locking and behavior
106 of namei() calls within the kernel to resolve path names within file
107 systems.
108
109 Responsible: dholland
110
111
112
113 Alistair Crooks
114 Tue 15 Sep 2009 08:02:11 PDT
115