system revision 1.6
11.6Sagc$NetBSD: system,v 1.6 2009/09/15 21:07:58 agc Exp $
21.1Sagc
31.1SagcNetBSD System Roadmap
41.2Sjmmv=====================
51.1Sagc
61.1SagcThis is a small roadmap document, and deals with the main system
71.1Sagcaspects of the operating system.
81.1Sagc
91.6SagcThe following projects are expected to be included in NetBSD 6.0
101.1Sagc
111.6Sagc1. 64-bit time values supported
121.6Sagc2. Better Kernel Modules support
131.6Sagc3. Full kernel preemption for real-time threads
141.6Sagc4. POSIX shared memory
151.6Sagc5. namei() tactical changes
161.6Sagc6. Better resource controls
171.6Sagc7. Improved observability: online crashdumps, remote debugging
181.6Sagc8. Processor and cache topology aware scheduler
191.6Sagc9. namei() strategic changes
201.1Sagc
211.6SagcWe currently expect to branch 6.0 in the March 2010 timeframe, with a view
221.6Sagcto a 6.0 release later in 2010.
231.1Sagc
241.1SagcWe'll continue to update this roadmap as features and dates get firmed up.
251.1Sagc
261.1Sagc
271.1SagcSome explanations
281.1Sagc=================
291.1Sagc
301.6Sagc1. 64-bit time_t support
311.1Sagc-------------------------
321.1Sagc
331.1SagcThe Unix 32-bit time_t value will overflow in 2037 - any mortgage calculations
341.1Sagcwhich use a time_t value are in danger of overflowing at the present time -
351.1Sagcand to address this, 64-bit time_t values will be used to contain the number
361.1Sagcof seconds since 1970.
371.1Sagc
381.1SagcResponsible: christos
391.1Sagc
401.6Sagc2. Better Kernel Module Support
411.6Sagc-------------------------------
421.6Sagc
431.6SagcStarting with 5.99.2, the kernel support for modules was enhanced by
441.6Sagcad, and GENERIC was switched over to be a MODULAR kernel.  Support
451.6Sagcfrom booting from modules, like ffs, was introduced at the same time. 
461.6SagcSome work has been done by Luke Mewburn in this area to define module
471.6Sagclocations and paths so that effective kernel development can be done
481.6Sagcusing modules.
491.6Sagc
501.6SagcResponsible: ad, lukem
511.6Sagc
521.6Sagc3. Full kernel preemption for real-time threads
531.6Sagc-----------------------------------------------
541.5Sagc
551.5SagcWith the revamp of the kernel concurrency model, much of the kernel is fully
561.5Sagcmulti-threaded and can therefore be preempted at any time. In support of
571.5Sagclower context switch and dispatch times for real-time threads, full kernel
581.5Sagcpreemption is being implemented.
591.5Sagc
601.6Sagc4. POSIX shared memory
611.6Sagc----------------------
621.1Sagc
631.1SagcImplement POSIX shared memory facilities, which can be used to create the
641.1Sagcshared memory objects and add the memory locations to the address space of
651.1Sagca process.
661.1Sagc
671.1SagcResponsible: rmind
681.1Sagc
691.6Sagc5. Incremental namei improvements, Phase 1
701.6Sagc------------------------------------------
711.1Sagc
721.6SagcIn NetBSD 5.99.15, some changes were made to split the namei() routine
731.6Sagcup into logical parts, so that changes can be made to the constituent
741.6Sagcparts in a less intrusive way.
751.1Sagc
761.1SagcResponsible: dholland
771.1Sagc
781.6Sagc6. Better resource controls
791.6Sagc---------------------------
801.1Sagc
811.1SagcA resource provisioning and control framework that extends beyond the
821.1Sagctraditional Unix process limits.
831.1Sagc
841.6Sagc7. Improved observability: online crashdumps, remote debugging
851.6Sagc--------------------------------------------------------------
861.1Sagc
871.1SagcXXX crashdumps while the system is running
881.1SagcXXX firewire support in libkvm
891.1Sagc
901.6Sagc8. Processor and cache topology aware scheduler
911.6Sagc-----------------------------------------------
921.1Sagc
931.1SagcImplement the detection of the topology of the processors and caches. 
941.1SagcImprove the scheduler to make decisions about thread migration
951.1Sagcaccording to the topology, to get better thread affinity and less
961.1Sagccache thrashing, and thus improve overall performance in modern SMP
971.1Sagcsystems.
981.1Sagc
991.1SagcResponsible: rmind
1001.1Sagc
1011.6Sagc9. Incremental namei improvements, Phase 2
1021.6Sagc------------------------------------------
1031.1Sagc
1041.1SagcImplement the rest of the changes to namei outlined in Message-ID: 
1051.1Sagc<20080319053709.GB3951@netbsd.org>.  Simplify the locking and behavior
1061.1Sagcof namei() calls within the kernel to resolve path names within file
1071.1Sagcsystems.
1081.1Sagc
1091.1SagcResponsible: dholland
1101.1Sagc
1111.1Sagc
1121.1Sagc
1131.5SagcAlistair Crooks
1141.6SagcTue 15 Sep 2009 08:02:11 PDT
115