%deffont "standard" xfont "helvetica-medium-r", tfont "arial.ttf", tmfont "wadalab-gothic.ttf" %deffont "thick" xfont "helvetica-bold-r", tfont "arialbd.ttf", tmfont "wadalab-gothic.ttf" %deffont "typewriter" xfont "courier-medium-r", 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 "cyan" 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" The NetBSD project %newimage -xscrzoom 30 "NetBSD-smaller.jpg" %size 4, font "standard" Christos Zoulas, NetBSD Core %font "typewriter" %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page Outline What is NetBSD? Status Recent improvements Structure of NetBSD Project Future Directions %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page What is NetBSD? One of 4 major open-source BSD projects Darwin, FreeBSD, NetBSD, OpenBSD Goals Architecturally clean Highly portable Highly interoperable State-of-the-art security BSD license %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page Of course it runs NetBSD! 13 CPU families, 53 architectures (ports): %size 3, prefix " " %font "typewriter" %fore "grey66" alpha alpha %fore "white" arm26 acorn26 arm32 acorn32 cats evbarm hpcarm netwinder shark %fore "grey66" hppa hp700 %fore "white" i386 i386 amd64 amd64 %fore "grey66" m68000 sun2 m68k amiga atari cesfic hp300 luna68k mac68k mvme68k news68k next68k sun3 x68k %fore "white" mipseb mipsco newsmips sgimips mipsel algor arc cobalt evbmips hpcmips playstation2 pmax sbmips %fore "gray66" pc532 pc532 %fore "white" powerpc amigappc bebox ibmnws macppc mvmeppc ofppc prep sandpoint walnut %fore "gray66" sh3eb evbsh3 mmeye sh3el dreamcast evbsh3 hpcsh %fore "white" sparc sparc sparc64 sparc64 %fore "gray66" vax vax %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page Open Source Project Challenges Lack of financial backing Project resources depend on the graciousness of donators Volunteer work Projects do not have reliable deadlines Unbalanced resource allocation People work on what they need/like, not what is good for the project Geographical/cultural diversity %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page NetBSD Specific Challenges Too many architectures: Toolchain changes affect every platform Some platforms are too slow Binary distributions are large Difficult to coordinate far-reaching changes such as shared library major bumps Difficult to coordinate and test releases %fore "red" Infrequent releases %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page Release status: 1.4.3: No further releases 1.5.3: Due out any time 1.6: In beta. Release expected in 4-8 weeks %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page The 1.6 Release Hits and Misses: Hits: SMP on alpha, vax Faster pipe(2) Improved installation tools Pkg-ized base system Gcc 2.95 integration ELF migration on remaining platforms Unified Buffer Cache %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page The 1.6 Release Hits and Misses: Misses: Release date (scheduled before 1/1/2002) SMP on i386, sparc, sparc64 Scheduler activations (kernel assisted user threads) {get,set}context(2) support Kernel queues (kqueue(2), kevent(2)) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page Structure of NetBSD Project Approximately 220 Developers (16 new developers this year) Management via Board and Core Port maintainers Security officers Release engineers (releng) Internal System Administrators Website maintainers %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page Project re-organization NetBSD bylaws have been unanimously ratified Non-Com structure similar to IETF; is voting for the first board Trademark application status pending US non-profit organization tax status - 501(c)3 pending %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page Recent improvements Userland Kernel Devices Emulations Platforms %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page Userland New cross-build system, allows bootstraping from foreign systems Package system allows multiple versions of the same package to co-exist Upgraded many 3rd party tools (bzip, ssh, ipf, file, less, pkill, pgrep, tcpdump, postfix, nvi, groff, lots more) New programs (stat, etcupdate, sunlabel, lots more) Switched to ELF: all remaining ports except pc532 MI installboot framework %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page Kernel Zero copy TCP/UDP on the transmit path EPASSTHROUGH error introduction New pmap for the arm32 and XScale support Elf core file support both for native and emulated binaries %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page Devices (1/2) aac: Adaptec FSA RAID audio: Add sampling rate and mono-stereo conversion audiocs: sparc64 support playback and recording bktr: Add support for radio cards esa: Add support for ESS Allegro-1/Maestro-3 and recording esiop: ncr53c825, ncr53c875, and newer boards suport eso: Support for game port icp: ICP-Vortex GDT, Intel Storage RAID mly: mylex AcceleRAID and eXtremeRAID drivers nell: sparc pcmcia support [8 bit cards only] %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page Devices (2/2) pms: Intellimouse support/multibutton support pppoe: Kernel support for PPP over ethernet tlp: NWay support for 2114[23], Macronix 98713A, 98715, 98715A, 98725, and Lite-On 82C115. New support for the SMC 9332DST, the Adaptec ANA-6911, ANA-6911A, ANA-6922, ANA-6944 uirda: Support for USB IrDA bridges url: Support for Realtek RTL8150L USB-Ether bridge chip wi: Support for Symbol 802.11b CF wm: Driver for the Intel i82542, i82543, and i82544 Gigabit Ethernet interfaces %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page Emulations compat-linux: New system calls have been added, and the kernel emulates 2.4.18 system calls instead of 2.0.x support for mips binaries compat-irix: support for executing irix binaries %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page Platforms New platforms evbarm: ARM-based eval boards (arm) evbmips: MIPS-based eval boards (mips) hp700: Hewlett Packard 700-series machines (hppa) ibmnws: IBM Network Station Thin Clients (powerpc) mvmeppc: Motorola's VMEbus PowerPC based single board computers (powerpc) playstation2: SONY PlayStation 2 (mips) sbmips: Broadcom's SiByte processor evaluation boards (mips) %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page Immediate Goals Integrate scheduler activations code Integrate kqueue Integrate SMP support for platforms that support it Integrate new devsw code %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page Future directions (1/2) Improved wscons and X11 support on all platforms More crypto/security work Hardware crypto cards More removal of set_id Crypto file system More CPU architectures IA-64, m88k, SH64, MIPS64, POWER, ... Improve support for embedded environments, including MMU-less systems Support devfs %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page Future directions (2/2) Performance enhancements Improve responsiveness by reducing interrupt latencies Kernel and library profiling Multi-lingual improvements console driver Kernel linker for enhanced LKM support "Doors" for faster localhost RPC GCC-3.x integration Newlock Implement Solaris style kernel locks %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %page Contact details... ftp://ftp.NetBSD.org/pub/NetBSD/ http://www.NetBSD.org/ AnonCVS from anoncvs.NetBSD.org http://cvsweb.NetBSD.org %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%