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