NetBSD November 2010
Introduction Almost 18 years old. Over 250 developers. Has a core team and a board of directors. 57 ports and 15 CPU types
Xen dom0 support since 2004 Suboptimal for cloud computing since NetBSD doesn’t support multiple CPUs in paravirtualised mode. We are funding development to add Xen Paravirtualized Multi Processor Support to NetBSD.
RUMP and ATF Run typical kernel tasks in userland. Automatic nightly test runs in virtual machines. See jmmv’s presentation.
NPF New NetBSD packet filter Optimized for multicore systems. Designed for high performance. Network Address Port Translation (NAPT). Stateful N-Code processor for packet inspection Familiar configuration syntax and utilities. Extendable by loading a kernel module. Rules can embed a hook than invokes an extension. Planned by January: IPv4 reassembly support Bi-directional NAT and port forwarding (re-direction) FTP proxy support IP header flags cleansing ICMP packets and TCP RST packet blocking Save/restore state Packet logging, configurable using filter rules
Logical Volume Manager dm(4) – device-mapper disk driver Port of Red Hat’s lvm2 tools. Admin can dynamically adjust size of a disk.
eMIPS “The ‘extensible MIPS’ is a dynamically extensible processor for general-purpose, multi-user systems. The reconfigurable logic (Extensions) dynamically load/unload application-specific circuits. Extensions add specialized instructions to the processor, security monitors, debuggers, new on-chip peripherals. Extended Instructions dramatically speedup application programs, just by patching their binaries. eMIPS runs NetBSD on the Xilinx ML401/2 (Virtex V4) XUP (V5), and on the BEE3(4xV5).” Donated code Includes new architecture, and machine independent accelerator framework and some MI object format changes
Lua Imported into base Kernel interface Lunatik is the port of interpreter to the kernel Google Summer of Code project kernel interface for extending subsystems (like npf, power management, and QoS algorithms) user space interface for loading scripts into the kernel
New style kernel modules “The kernel module files will be loaded dynamically by the kernel to support various kernel options (including file systems) on demand, rather than linking all necessary (but possibly unused) object files into the kernel binary.” So various file systems aren’t in kernel... new bootloader will load a module for the file system Use in-kernel linker.
Other BSDs Thank you OpenBSD: upgt(4) – Conexant/Intersil PrismGT SoftMAC USB IEEE 802.11b/g wireless network device support for LSI’s newer (GEN2) RAID controller added to mfi(4). uthum(4) – TEMPer and TEMPerHUM USB temperature and humidity sensor cas(4) – Cassini/Cassini+ (GigaSwift) Ethernet device driver udl(4) – DisplayLink DL-1x0/1x5 based USB LCDs and USB-VGA adaptors m4(1) Thank you FreeBSD: drm updates fdim, fdimf, fdiml, fmax, fmaxf, fmaxl, fmin, fminf, fminl to libm
pkgsrc DESTDIR installation using staging directory for binary package. Haiku support Official for MINIX Over 950 new packages added in 2010 Over 75 developers maintaining pkgsrc in 2010 ruby 1.9, perl 5.12, gnome 2.32, kde 4.5.3, texlive, ... Quarterly branches
netpgp Originally a heavily-modified version of OpenPGP SDK. libnetpgp provides the digital signing, verification, encryption and decryption functions. netpgp(1) tool for signing, verification, encryption and decryption. Can use existing gpg pubring.gpg and secring.gpg files. netpgpkeys(1) handles key management. netpgpverify(1) is a single, standalone utility for verifying signatures.
Quality Google Summer of Code this year mandoc -Tps SASL client library Lua kernel interface mathlib improvements and mathlib testing booting via http kernel debugging via ethernet
Other things zfs raidframe parity sync improvements negative library cache for the runtime linker file system snapshot (fss) support for msdosfs SheevaPlug support UltraSparcIII support MIPS64 support i386 PAE support Mesa and DRM support for r600/r700 (Radeon HD 3xxx/4xxx) compat linux kernel 2.6.18 support libarchive dtrace terminfo instead of termcap 64bit time t mdnsd
What do we want to do? Complete NPF Even better ACPI namei cleanup Xen MP building selected archs with pcc, clang, and other compilers KMS (Kernel Mode Switching) GEM (Graphics Execution Manager) Update GCC to 4.5 (GPLv3 import, binutils is already GPLv3)
Thank you
Recommend
More recommend