system revision 1.13 1 $NetBSD: system,v 1.13 2017/01/13 10:14:58 dholland Exp $
2
3 NetBSD System Roadmap
4 =====================
5
6 This is a roadmap document dealing deals with core system aspects of
7 the operating system.
8
9 The following elements, projects, and goals are considered strategic
10 priorities for the project:
11
12 1. Tickless timing and scheduling (discussed in the mobile roadmap)
13 2. Long-term graphics architecture (discussed in the desktop roadmap)
14 8. Processor and cache topology aware scheduler
15
16 The following elements, projects, and goals are not strategic
17 priorities but are still important undertakings worth doing:
18
19 3. Full kernel preemption for real-time threads on non-x86
20 4. POSIX shared memory
21 6. Better resource controls
22 7. Improved observability: online crashdumps, remote debugging
23
24 The following elements, projects, and goals are perhaps less pressing;
25 this doesn't mean one shouldn't work on them but the expected payoff
26 is perhaps less than for other things:
27
28
29 Some explanations
30 =================
31
32 3. Full kernel preemption for real-time threads on non-x86
33 ----------------------------------------------------------
34
35 With the revamp of the kernel concurrency model, much of the kernel is
36 fully multi-threaded and can therefore be preempted at any time. In
37 support of lower context switch and dispatch times for real-time
38 threads, full kernel preemption is being implemented. This has been
39 implemented already for i386 and x86_64 (and is in 5.0), but needs to
40 be extended to support ARM and other ports. MIPS has this, as does
41 PowerPC, but it is not yet enabled.
42
43 Responsible: rmind
44
45
46 4. POSIX shared memory
47 ----------------------
48
49 Implement POSIX shared memory facilities, which can be used to create
50 the shared memory objects and add the memory locations to the address
51 space of a process. Changes were proposed on tech-kern, although
52 there were some concerns with the kernel implementation, and so a
53 different approach using wrapper functions on tmpfs is being aimed at
54 for 6.0.
55
56 XXX: what's the current state?
57
58 Responsible: rmind
59
60
61 6. Better resource controls
62 ---------------------------
63
64 A resource provisioning and control framework that extends beyond the
65 traditional Unix process limits.
66
67 Responsible: TBD
68
69
70 7. Improved observability: online crashdumps, remote debugging
71 --------------------------------------------------------------
72
73 XXX crashdumps while the system is running
74 XXX firewire support in libkvm
75
76 Responsible: TBD
77
78
79 8. Processor and cache topology aware scheduler
80 -----------------------------------------------
81
82 Implement the detection of the topology of the processors and caches.
83 Improve the scheduler to make decisions about thread migration
84 according to the topology, to get better thread affinity and less
85 cache thrashing, and thus improve overall performance in modern SMP
86 systems. Code has been written, but did not show any performance
87 improvement. We will continue to monitor this area.
88
89 Responsible: rmind
90
91
92 Alistair Crooks
93 Sat Jan 14 11:40:49 PST 2012
94