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