1 $NetBSD: system,v 1.14 2025/05/19 18:02:53 nia 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 Work was done by various people to make the Arm64 port support 83 big.LITTLE well, ad@ did the final bits to improve the scheduler 84 to make it aware of CPU topology and mixtures of slow and fast 85 cores. 86 87 This made it into NetBSD 10.0. 88 89 Alistair Crooks 90 Sat Jan 14 11:40:49 PST 2012 91