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