system revision 1.7
1$NetBSD: system,v 1.7 2009/09/21 19:41:23 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. This was completed in 5.99.7 by Christos (with no libc 37major bump - kudos and respect), and will be in 6.0. 38 39Responsible: christos 40 412. Better Kernel Module Support 42------------------------------- 43 44Starting with 5.99.2, the kernel support for modules was enhanced by 45ad, and GENERIC was switched over to be a MODULAR kernel. Support 46from booting from modules, like ffs, was introduced at the same time. 47Some work has been done by Luke Mewburn in this area to define module 48locations and paths so that effective kernel development can be done 49using modules. 50 51Responsible: ad, lukem 52 533. Full kernel preemption for real-time threads on non-x86 54---------------------------------------------------------- 55 56With the revamp of the kernel concurrency model, much of the kernel is 57fully multi-threaded and can therefore be preempted at any time. In 58support of lower context switch and dispatch times for real-time 59threads, full kernel preemption is being implemented. This has been 60implemented already for i386 and x86_64 (and is in 5.0), but needs to 61be extended to support the ARM, MIPS and SuperH ports. 62 63Responsible: rmind 64 654. POSIX shared memory 66---------------------- 67 68Implement POSIX shared memory facilities, which can be used to create the 69shared memory objects and add the memory locations to the address space of 70a process. 71 72Responsible: rmind 73 745. Incremental namei improvements, Phase 1 75------------------------------------------ 76 77In NetBSD 5.99.15, some changes were made to split the namei() routine 78up into logical parts, so that changes can be made to the constituent 79parts in a less intrusive way. This is in the repository now, and will 80be in 6.0. 81 82Responsible: dholland 83 846. Better resource controls 85--------------------------- 86 87A resource provisioning and control framework that extends beyond the 88traditional Unix process limits. 89 907. Improved observability: online crashdumps, remote debugging 91-------------------------------------------------------------- 92 93XXX crashdumps while the system is running 94XXX firewire support in libkvm 95 968. Processor and cache topology aware scheduler 97----------------------------------------------- 98 99Implement the detection of the topology of the processors and caches. 100Improve the scheduler to make decisions about thread migration 101according to the topology, to get better thread affinity and less 102cache thrashing, and thus improve overall performance in modern SMP 103systems. 104 105Responsible: rmind 106 1079. Incremental namei improvements, Phase 2 108------------------------------------------ 109 110Building on the namei() split which was introduced in 5.99.15 (see (5) 111above), further changes will be introduced: see the changes to namei 112outlined in Message-ID: <20080319053709.GB3951@netbsd.org> for more 113information. This will simplify the locking and behavior of namei() 114calls within the kernel to resolve path names within file systems. 115 116Responsible: dholland 117 118 119 120Alistair Crooks 121Mon 21 Sep 2009 08:39:16 BST 122