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