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