94 lines
2.9 KiB
Plaintext
94 lines
2.9 KiB
Plaintext
$NetBSD: system,v 1.13 2017/01/13 10:14:58 dholland Exp $
|
|
|
|
NetBSD System Roadmap
|
|
=====================
|
|
|
|
This is a roadmap document dealing deals with core system aspects of
|
|
the operating system.
|
|
|
|
The following elements, projects, and goals are considered strategic
|
|
priorities for the project:
|
|
|
|
1. Tickless timing and scheduling (discussed in the mobile roadmap)
|
|
2. Long-term graphics architecture (discussed in the desktop roadmap)
|
|
8. Processor and cache topology aware scheduler
|
|
|
|
The following elements, projects, and goals are not strategic
|
|
priorities but are still important undertakings worth doing:
|
|
|
|
3. Full kernel preemption for real-time threads on non-x86
|
|
4. POSIX shared memory
|
|
6. Better resource controls
|
|
7. Improved observability: online crashdumps, remote debugging
|
|
|
|
The following elements, projects, and goals are perhaps less pressing;
|
|
this doesn't mean one shouldn't work on them but the expected payoff
|
|
is perhaps less than for other things:
|
|
|
|
|
|
Some explanations
|
|
=================
|
|
|
|
3. Full kernel preemption for real-time threads on non-x86
|
|
----------------------------------------------------------
|
|
|
|
With the revamp of the kernel concurrency model, much of the kernel is
|
|
fully multi-threaded and can therefore be preempted at any time. In
|
|
support of lower context switch and dispatch times for real-time
|
|
threads, full kernel preemption is being implemented. This has been
|
|
implemented already for i386 and x86_64 (and is in 5.0), but needs to
|
|
be extended to support ARM and other ports. MIPS has this, as does
|
|
PowerPC, but it is not yet enabled.
|
|
|
|
Responsible: rmind
|
|
|
|
|
|
4. POSIX shared memory
|
|
----------------------
|
|
|
|
Implement POSIX shared memory facilities, which can be used to create
|
|
the shared memory objects and add the memory locations to the address
|
|
space of a process. Changes were proposed on tech-kern, although
|
|
there were some concerns with the kernel implementation, and so a
|
|
different approach using wrapper functions on tmpfs is being aimed at
|
|
for 6.0.
|
|
|
|
XXX: what's the current state?
|
|
|
|
Responsible: rmind
|
|
|
|
|
|
6. Better resource controls
|
|
---------------------------
|
|
|
|
A resource provisioning and control framework that extends beyond the
|
|
traditional Unix process limits.
|
|
|
|
Responsible: TBD
|
|
|
|
|
|
7. Improved observability: online crashdumps, remote debugging
|
|
--------------------------------------------------------------
|
|
|
|
XXX crashdumps while the system is running
|
|
XXX firewire support in libkvm
|
|
|
|
Responsible: TBD
|
|
|
|
|
|
8. Processor and cache topology aware scheduler
|
|
-----------------------------------------------
|
|
|
|
Implement the detection of the topology of the processors and caches.
|
|
Improve the scheduler to make decisions about thread migration
|
|
according to the topology, to get better thread affinity and less
|
|
cache thrashing, and thus improve overall performance in modern SMP
|
|
systems. Code has been written, but did not show any performance
|
|
improvement. We will continue to monitor this area.
|
|
|
|
Responsible: rmind
|
|
|
|
|
|
Alistair Crooks
|
|
Sat Jan 14 11:40:49 PST 2012
|