%% $Id: bsdcon.mgp,v 1.2 2000/11/02 21:24:22 lukem Exp $ %% %% This document was written by: %% Luke Mewburn %% with input from: %% Charles Hannum %% Erik Berls %% Jun-ichiro Itojun Hagino %% %deffont "standard" xfont "helvetica-medium-r", vfont "goth", tfont "arial.ttf", tmfont "wadalab-gothic.ttf" %deffont "thick" xfont "helvetica-bold-r", vfont "goth", tfont "arialbd.ttf", tmfont "wadalab-gothic.ttf" %deffont "typewriter" xfont "courier-medium-r", vfont "goth", tfont "courbd.ttf", tmfont "wadalab-gothic.ttf" %% %default 1 leftfill, size 2, fore "white", back "black", font "thick" %default 2 size 7, vgap 10, prefix " " %default 3 size 2, bar "gray70", vgap 10 %default 4 size 5, fore "white", vgap 30, prefix " ", font "standard" %% %tab 1 size 6, vgap 60, prefix " ", icon box "green" 50 %tab 2 size 5, vgap 60, prefix " ", icon arc "yellow" 50 %tab 3 size 4, vgap 60, prefix " ", icon delta3 "white" 40 %% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page %nodefault %font "standard", fore "white", back "black" %center %size 7, font "thick" NetBSD: platform for the future %newimage -xscrzoom 30 "NetBSD-smaller.jpg" %size 4, font "standard" Luke Mewburn, NetBSD Core Erik Berls, NetBSD Developer %font "typewriter" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page Outline What is NetBSD? Structure of NetBSD Project Portability comparison Interesting products and services Other interesting developments Future directions %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page What is NetBSD? One of 3 major open-source BSD projects NetBSD, FreeBSD, OpenBSD Goals Architecturally clean Highly portable Highly interoperable State-of-the-art security BSD license About to release NetBSD 1.5 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page Structure of NetBSD Project Approximately 150 Developers Management via Board and Core Port maintainers "Port" = machine architecture Security officers Release engineers (releng) Internal System Administrators Website maintainers ... In the process of clarifying the structure, role and assignment of Board and Core %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page Portability comparison (1/3) Traditional "copy and modify" approach (SVR4, BSD) Leads to major maintenance headaches Different feature sets between platforms Much harder to support odd hardware combinations #ifdef approach (Mach) Less headaches than above, but $till difficult to support odd hardware Abstractions tend to be driver specific %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page Portability comparison (2/3) "Glue layer" approach (NT HAL, NetBSD) Single abstraction used by most drivers Small amount of code to write for new platform Small learning curve Time to port the OS is much shorter Bugs that occur rarely on one platform are often found quickly on other platforms, resulting in more robust code everywhere NetBSD currently supports 12 CPU families and 32 system families from a single source tree %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page Portability comparison (3/3) Pros of "Glue Layer" Driver library of supported hardware minimizes work via code reuse Minimal API differences between platforms Single source tree minimises unnecessary code replication Allows developers to easily move between platforms Cons of "Glue Layer" Extra computational overhead, which is minimized by modern processor design %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page Interesting products and services (1/2) IBM NetStation series (x86 and PowerPC) Ships with commercial application software (Communicator, Applixware) Approximately 200,000 sold at last known point Geocast Personal Broadband Server (MIPS) Broadband media delivered to a PC Has donated some work back to the project Panix Largest and second oldest ISP in New York Uses NetBSD {x86,SPARC,Alpha} for most services %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page Interesting products and services (2/2) Coventus network access point Ethernet and DSL connectivity for hotel rooms SiByte Next-generation MIPS network processor - 1 GHz, dual core, quad-issue NetBSD is bringup and development platform SAMS-II on the International Space Station Distributed set of single-board computers Will record microgravity data for scientific research Mission length is expected to be minimum 10 years %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page Other interesting developments Pen-based WinCE handhelds Ports to proprietary platforms (SGI, Dreamcast, Cobalt Qube/RAQ, ...) Full crypto support with OpenSSL and SSH Almost all network tools have IPv6 support IPsec, including with AES/Rijndael pkgsrc - Thirdparty package source & binary management Commercial consulting (Wasabi Systems) Specialize in NetBSD-specific consulting Donates most work back to NetBSD %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page Future directions (1/3) Multi-platform SMP Alpha, x86, PowerPC, SPARC, VAX, ... Still needs performance and scalability work Unified Buffer Cache More crypto/security work Hardware crypto cards More removal setuid Internationalisation %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page Future directions (2/3) Enhanced installation and upgrade mechanism Lightweight kernel and user threads Improve support for embedded environments, including MMU-less systems New CPU architectures IA-64, m88k, PA-RISC, POWER, ... %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page Future directions (3/3) Performance enhancements Improve responsiveness by reducing interrupt latencies Kernel and library profiling Java VM and JDK "Doors" for faster localhost RPC Dynamic support in nsswitch %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page Comments ?