NetBSD/doc/roadmaps/system

115 lines
3.5 KiB
Plaintext
Raw Normal View History

$NetBSD: system,v 1.6 2009/09/15 21:07:58 agc Exp $
NetBSD System Roadmap
=====================
This is a small roadmap document, and deals with the main system
aspects of the operating system.
The following projects are expected to be included in NetBSD 6.0
1. 64-bit time values supported
2. Better Kernel Modules support
3. Full kernel preemption for real-time threads
4. POSIX shared memory
5. namei() tactical changes
6. Better resource controls
7. Improved observability: online crashdumps, remote debugging
8. Processor and cache topology aware scheduler
9. namei() strategic changes
We currently expect to branch 6.0 in the March 2010 timeframe, with a view
to a 6.0 release later in 2010.
We'll continue to update this roadmap as features and dates get firmed up.
Some explanations
=================
1. 64-bit time_t support
-------------------------
The Unix 32-bit time_t value will overflow in 2037 - any mortgage calculations
which use a time_t value are in danger of overflowing at the present time -
and to address this, 64-bit time_t values will be used to contain the number
of seconds since 1970.
Responsible: christos
2. Better Kernel Module Support
-------------------------------
Starting with 5.99.2, the kernel support for modules was enhanced by
ad, and GENERIC was switched over to be a MODULAR kernel. Support
from booting from modules, like ffs, was introduced at the same time.
Some work has been done by Luke Mewburn in this area to define module
locations and paths so that effective kernel development can be done
using modules.
Responsible: ad, lukem
3. Full kernel preemption for real-time threads
-----------------------------------------------
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.
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.
Responsible: rmind
5. Incremental namei improvements, Phase 1
------------------------------------------
In NetBSD 5.99.15, some changes were made to split the namei() routine
up into logical parts, so that changes can be made to the constituent
parts in a less intrusive way.
Responsible: dholland
6. Better resource controls
---------------------------
A resource provisioning and control framework that extends beyond the
traditional Unix process limits.
7. Improved observability: online crashdumps, remote debugging
--------------------------------------------------------------
XXX crashdumps while the system is running
XXX firewire support in libkvm
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.
Responsible: rmind
9. Incremental namei improvements, Phase 2
------------------------------------------
Implement the rest of the changes to namei outlined in Message-ID:
<20080319053709.GB3951@netbsd.org>. Simplify the locking and behavior
of namei() calls within the kernel to resolve path names within file
systems.
Responsible: dholland
Alistair Crooks
Tue 15 Sep 2009 08:02:11 PDT