Home | History | Annotate | Line # | Download | only in roadmaps
      1 $NetBSD: system,v 1.14 2025/05/19 18:02:53 nia Exp $
      2 
      3 NetBSD System Roadmap
      4 =====================
      5 
      6 This is a roadmap document dealing deals with core system aspects of
      7 the operating system.
      8 
      9 The following elements, projects, and goals are considered strategic
     10 priorities for the project:
     11 
     12 1. Tickless timing and scheduling (discussed in the mobile roadmap)
     13 2. Long-term graphics architecture (discussed in the desktop roadmap)
     14 8. Processor and cache topology aware scheduler
     15 
     16 The following elements, projects, and goals are not strategic
     17 priorities but are still important undertakings worth doing:
     18 
     19 3. Full kernel preemption for real-time threads on non-x86
     20 4. POSIX shared memory
     21 6. Better resource controls
     22 7. Improved observability: online crashdumps, remote debugging
     23 
     24 The following elements, projects, and goals are perhaps less pressing;
     25 this doesn't mean one shouldn't work on them but the expected payoff
     26 is perhaps less than for other things:
     27 
     28 
     29 Some explanations
     30 =================
     31 
     32 3. Full kernel preemption for real-time threads on non-x86
     33 ----------------------------------------------------------
     34 
     35 With the revamp of the kernel concurrency model, much of the kernel is
     36 fully multi-threaded and can therefore be preempted at any time.  In
     37 support of lower context switch and dispatch times for real-time
     38 threads, full kernel preemption is being implemented.  This has been
     39 implemented already for i386 and x86_64 (and is in 5.0), but needs to
     40 be extended to support ARM and other ports.  MIPS has this, as does
     41 PowerPC, but it is not yet enabled.
     42 
     43 Responsible: rmind
     44 
     45 
     46 4. POSIX shared memory
     47 ----------------------
     48 
     49 Implement POSIX shared memory facilities, which can be used to create
     50 the shared memory objects and add the memory locations to the address
     51 space of a process.  Changes were proposed on tech-kern, although
     52 there were some concerns with the kernel implementation, and so a
     53 different approach using wrapper functions on tmpfs is being aimed at
     54 for 6.0.
     55 
     56 XXX: what's the current state?
     57 
     58 Responsible: rmind
     59 
     60 
     61 6. Better resource controls
     62 ---------------------------
     63 
     64 A resource provisioning and control framework that extends beyond the
     65 traditional Unix process limits.
     66 
     67 Responsible: TBD
     68 
     69 
     70 7. Improved observability: online crashdumps, remote debugging
     71 --------------------------------------------------------------
     72 
     73 XXX crashdumps while the system is running
     74 XXX firewire support in libkvm
     75 
     76 Responsible: TBD
     77 
     78 
     79 8. Processor and cache topology aware scheduler
     80 -----------------------------------------------
     81 
     82 Work was done by various people to make the Arm64 port support
     83 big.LITTLE well, ad@ did the final bits to improve the scheduler
     84 to make it aware of CPU topology and mixtures of slow and fast
     85 cores.
     86 
     87 This made it into NetBSD 10.0.
     88 
     89 Alistair Crooks
     90 Sat Jan 14 11:40:49 PST 2012
     91