Home | History | Annotate | Line # | Download | only in roadmaps
system revision 1.6
      1  1.6   agc $NetBSD: system,v 1.6 2009/09/15 21:07:58 agc Exp $
      2  1.1   agc 
      3  1.1   agc NetBSD System Roadmap
      4  1.2  jmmv =====================
      5  1.1   agc 
      6  1.1   agc This is a small roadmap document, and deals with the main system
      7  1.1   agc aspects of the operating system.
      8  1.1   agc 
      9  1.6   agc The following projects are expected to be included in NetBSD 6.0
     10  1.1   agc 
     11  1.6   agc 1. 64-bit time values supported
     12  1.6   agc 2. Better Kernel Modules support
     13  1.6   agc 3. Full kernel preemption for real-time threads
     14  1.6   agc 4. POSIX shared memory
     15  1.6   agc 5. namei() tactical changes
     16  1.6   agc 6. Better resource controls
     17  1.6   agc 7. Improved observability: online crashdumps, remote debugging
     18  1.6   agc 8. Processor and cache topology aware scheduler
     19  1.6   agc 9. namei() strategic changes
     20  1.1   agc 
     21  1.6   agc We currently expect to branch 6.0 in the March 2010 timeframe, with a view
     22  1.6   agc to a 6.0 release later in 2010.
     23  1.1   agc 
     24  1.1   agc We'll continue to update this roadmap as features and dates get firmed up.
     25  1.1   agc 
     26  1.1   agc 
     27  1.1   agc Some explanations
     28  1.1   agc =================
     29  1.1   agc 
     30  1.6   agc 1. 64-bit time_t support
     31  1.1   agc -------------------------
     32  1.1   agc 
     33  1.1   agc The Unix 32-bit time_t value will overflow in 2037 - any mortgage calculations
     34  1.1   agc which use a time_t value are in danger of overflowing at the present time -
     35  1.1   agc and to address this, 64-bit time_t values will be used to contain the number
     36  1.1   agc of seconds since 1970.
     37  1.1   agc 
     38  1.1   agc Responsible: christos
     39  1.1   agc 
     40  1.6   agc 2. Better Kernel Module Support
     41  1.6   agc -------------------------------
     42  1.6   agc 
     43  1.6   agc Starting with 5.99.2, the kernel support for modules was enhanced by
     44  1.6   agc ad, and GENERIC was switched over to be a MODULAR kernel.  Support
     45  1.6   agc from booting from modules, like ffs, was introduced at the same time. 
     46  1.6   agc Some work has been done by Luke Mewburn in this area to define module
     47  1.6   agc locations and paths so that effective kernel development can be done
     48  1.6   agc using modules.
     49  1.6   agc 
     50  1.6   agc Responsible: ad, lukem
     51  1.6   agc 
     52  1.6   agc 3. Full kernel preemption for real-time threads
     53  1.6   agc -----------------------------------------------
     54  1.5   agc 
     55  1.5   agc With the revamp of the kernel concurrency model, much of the kernel is fully
     56  1.5   agc multi-threaded and can therefore be preempted at any time. In support of
     57  1.5   agc lower context switch and dispatch times for real-time threads, full kernel
     58  1.5   agc preemption is being implemented.
     59  1.5   agc 
     60  1.6   agc 4. POSIX shared memory
     61  1.6   agc ----------------------
     62  1.1   agc 
     63  1.1   agc Implement POSIX shared memory facilities, which can be used to create the
     64  1.1   agc shared memory objects and add the memory locations to the address space of
     65  1.1   agc a process.
     66  1.1   agc 
     67  1.1   agc Responsible: rmind
     68  1.1   agc 
     69  1.6   agc 5. Incremental namei improvements, Phase 1
     70  1.6   agc ------------------------------------------
     71  1.1   agc 
     72  1.6   agc In NetBSD 5.99.15, some changes were made to split the namei() routine
     73  1.6   agc up into logical parts, so that changes can be made to the constituent
     74  1.6   agc parts in a less intrusive way.
     75  1.1   agc 
     76  1.1   agc Responsible: dholland
     77  1.1   agc 
     78  1.6   agc 6. Better resource controls
     79  1.6   agc ---------------------------
     80  1.1   agc 
     81  1.1   agc A resource provisioning and control framework that extends beyond the
     82  1.1   agc traditional Unix process limits.
     83  1.1   agc 
     84  1.6   agc 7. Improved observability: online crashdumps, remote debugging
     85  1.6   agc --------------------------------------------------------------
     86  1.1   agc 
     87  1.1   agc XXX crashdumps while the system is running
     88  1.1   agc XXX firewire support in libkvm
     89  1.1   agc 
     90  1.6   agc 8. Processor and cache topology aware scheduler
     91  1.6   agc -----------------------------------------------
     92  1.1   agc 
     93  1.1   agc Implement the detection of the topology of the processors and caches. 
     94  1.1   agc Improve the scheduler to make decisions about thread migration
     95  1.1   agc according to the topology, to get better thread affinity and less
     96  1.1   agc cache thrashing, and thus improve overall performance in modern SMP
     97  1.1   agc systems.
     98  1.1   agc 
     99  1.1   agc Responsible: rmind
    100  1.1   agc 
    101  1.6   agc 9. Incremental namei improvements, Phase 2
    102  1.6   agc ------------------------------------------
    103  1.1   agc 
    104  1.1   agc Implement the rest of the changes to namei outlined in Message-ID: 
    105  1.1   agc <20080319053709.GB3951 (a] netbsd.org>.  Simplify the locking and behavior
    106  1.1   agc of namei() calls within the kernel to resolve path names within file
    107  1.1   agc systems.
    108  1.1   agc 
    109  1.1   agc Responsible: dholland
    110  1.1   agc 
    111  1.1   agc 
    112  1.1   agc 
    113  1.5   agc Alistair Crooks
    114  1.6   agc Tue 15 Sep 2009 08:02:11 PDT
    115