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