Greetings from the BSD Super BOF
by Chuck Toporek06/29/2001
Thursday evening at the USENIX Annual Technical Conference in Boston brought what seemed like a lightning round of BSD-related Birds-of-a-Feather (BOF) sessions. There were presentations by all of the BSD's, including NetBSD, OpenBSD, FreeBSD, BSD/OS, and from an Apple representative talking about Mac OS X. The presentations were short but packed with lots of information, with most ending in a brief Q & A session.
Here are some of the bullet-by-bullet highlights:
The NetBSD Project BOF
- Presenters: Christos Zoulas, NetBSD Core (Christos); and Luke Mewburn, NetBSD Core (Luke).
- Goal: Highly portable
- Subsystems are designed with a high level of abstraction
- Available on 16 CPU families and 44 architectures (ports)
- Binary compatible
- State-of-the-art security
- Approximately 250 developers
- Management via Board and Core
- Project Reorganization:
- In the process of clarifying the structure, role and assignment of Board and Core
- New bylaws have been accepted by the Core; to be released to and ratified by the NetBSD developer community
- U.S. nonprofit organization status 501(c)3; waiting on bylaws to be ratified
- 9,923K lines of code in release 1.5 (4751K for the kernel) with 212 developers
- Currently 15,362K lines of code, 5,052K LOC for the kernel with 252 developers
- Ran through a list of supported platforms and improved machine support for the various platforms
- Performance enhancements include multiplatform symmetric multiprocessing, high-performance user threads via scheduler activation support in the kernel (on branch), and virtual memory improvements
- Lots of new drivers, with sound and RAID support for SCSI and IDE
- Networking, Universal serial bus (USB)
- Miscellaneous Kernel stuff
- Supports ISDN, 802.1Q (VLANs), 802.11 wireless, etc.
- Userland:
- native port of the Sun JVM in progress
- internationalization
- X11
- Packages: bzip2 support, sonsolidate package build information to save time and space; better xpkgwedge support
- Release schedule:
- 1.5.1 available now
- 1.6 (end of year)
- SMP on alpha, i386, sparc, sparc64, vax
- Scheduler activations
- kernel queues
- faster pipe
- improved installation tools
- package-ized base system
- gcc 2.95 integration
- ELF integration
- Future directions:
- more crypto /security work
- performance enhancements
- multilingual improvements
- kernel linker for enhanced LKM support
- "Doors" for faster localhost RPC
- Dynamic support in switch
- Ran through 40 slides in less than 20 minutes. Presentation will be available online at some point.
The OpenBSD Group BOF
- Also titled "The TiredBSD BOF"
- 30 developers in Boston since last Thursday
- Used space at the PDOS group in LCS at MIT:
- Gratefully appreciate assistance from Kevin Fu
- Thanks to Nate Binkert who helped with local hardware
- Very productive
- Tired, tired, tired, tired, tired, tired...
- DARPA:
- OpenBSD received a DARPA grant to continue the security work its been doing
- Thanks to Jonathan M. Smith and Angelos Keromytis for negotiating this
- This is a great opportunity for OpenBSD
- Licenses:
- ssh
- ipf
- multicast toolsets:
- Xerox, USC, Stanford
- tcpdump, ppp, pppd
- Many others
- We are attempting to clear up the remaining issues now.
- OpenSSH:
- Received a legal threat from SSH.com, demanding that they change the OpenBSD name, which they refused (good for you!)
- IETF SecSH working group rejected a name change
- SSH.com have not followed up on its legal threats
- SSH deployment on the Net is increasing:
- of protocol 2 (greater than 50 percent)
- of OpenSSH (greather than 30 percent)
- Smart card support (using code developed by CITI Umich); showed chart of SSH protocols and SSH versions
- Login authentication:
- login.conf and BSD Auth support
- KerberosV support has been added
- Still work in progress
- Packet Filtering:
- We respected Darren Reed's wishes and removed ipf from our source tree:
- first OS to integrate a packet filter (pf)
- first OS to remove ipf
- Daniel Hartmeier wrote a NAT + stateful filter in about three weeks:
- short and simple
- integrated into the source tree on Friday
- over 100 commits to improve it further, since then
- over 20 people have helped improve it since
- Work happening on packet normalization:
- Described in upcoming USENIX Security paper by Mark Handly, Vern Paxton, and Christian Kreibich
- Complete IP reassembly before filtering and forwarding
- Remove ambiguities in interpretation
- Code remains short; less than 3,000 lines total
- Crypto hardware:
- Work progressing on supporting more:
- Hi/FN 7751, 7951, 6500
- Broadcom 58xx
- Ises
- Preliminary userland crypto support via /dev/crypto working
- OpenSSL components for automatic use "working"
- 2.5 MB/sec scp performance 3DES; one percent CPU utilization
- Starting work on PKI crypto support
- Networking changes:
- IPSEC stability has improved significantly
- working on support for $62USD 3cr990 Ipsec + 100Mbit ethernet card
- PMTU over IPSec
- hardware checksumming
- we received diffs for IPComp chnages early this morning
- ALTQ
- Per-Architecture improvements:
- PowerPC (Titanium, iBook, Native X11 support, Airport/wavelan)
- Alpha (shared libraries, X11 almost working)
- Many other device drivers for all architectures continued effort to improve the driver support
- Snort folks are looking at their new packet-filtering program to help further its development
- Why did DARPA fund the OpenBSD Project?
Answer:
"I was at this DARPA meeting months ago, and my sense is that we're looking at a situation where improving security on the Internet has never been integrated into operating systems. The government is using more open operating systems, so he thinks that if DARPA funds open source security development that they'll ask other OS creators to build security into their systems as well. The OpenBSD project was already working on some of this stuff anyway, so getting the DARPA funding worked out to their advantage as a means of furthering development by putting it on a fast track."
The FreeBSD Project BOF
- Presentation by Jordan Hubbard, now of Apple Computer, Inc.
- Showed off his new Titanium PowerBook, stating it was one of the benefits of his new job. (Mentioned he was working on speeding up the boot process...hey, that'd be nice!)
- Launched into Mac OS X ("Hey, isn't this a talk on FreeBSD?!")
- Jordan's presentation was titled, "State of the Union 2001"
- 274 committers as of this morning
- between 2 and 3 million users
- still running the internet's top sites
- "BSD is dying" posts on Slashdot up 75%
- Ports collection passes 5000 mark
- AMD and Intel step up FreeBSD efforts
- WindRiver acquires BSDi
- BSDCon becomes USENIX event
- OS X goes mainstream
- Microsoft renounces evil, switches to FreeBSD ;^)
- Apple has been good about mentioning FreeBSD in their press info and on their site
- Microsoft is rumored to be porting C# to FreeBSD
- 4.3 released in April 2001:
- 4.4 on Aug. 20, 2001
- 5.0 on Nov. 11 (EARLY ACCESS)
- 4.5 on Dec. 15, 2001
- 5.1 on March 15, 2002
- 4.6 on April 20, 2002
- 5.2 on Jul. 15, 2002 (when they will encourage mainstream users to adopt the 5.x release)
- Coming in 5.x:
- SMPng first implementation
- SMP for Alpha
- Background fsck / snapshots
- DEVFS
- "NEWCARD" supports Cardbus; supports newbus architecture
- PowerPC / Ultra SPARC 64 pports
- IA64/x86-64 Hammer
- Also have stuff from Wasabi to look at
- IA64 is up as single user
- Questions/responses:
- No plans to support IRDA in FreeBSD any time soon; there is code out there to support it, but more needs to be done to build in support
- It is Jordan's job at Apple to integrate BSD into OS X, so there will not be a code fork
- OS X will be based on Darwin, so there will be no code fork
- MS port of C# might force Sun to do a native port of Java to FreeBSD
- 5.x will fork in November, but won't really be available to users for a year afterward
BSD/OS Report
- WindRiver Systems now owns BSD/OS:
- Embedded systems:
- Virtuoso (DSP)
- VxWorks, VxWorks AE
- BSD/OS
- Server OS
- Developer tools:
- Tornado visual suite of debuggers, etc.
- BSDi Acquisition:
- What went to WindRiver:
- BSD OS and related software
- FreeBSD-related work
- BSDi name
- Who went to WindRiver:
- Software engineering
- Software support and sales
- Who didn't go:
- Management
- Marketing
- Hardware staff
- Transition issues:
- Most things work as before
- Support: 800-usa-4wrs
Email: Support - new engineering office in Minneapolis
- transitioning from Colorado Springs to Alameda and Minnesota
- Web sites remain: www.bsdi.com and www.windriver.com
- Upcoming Release: BSD/OS 4.3
- Hardware support:
- Up to 4GB memory
- SCPI
- Gigabit Ethernet
- IDE/ATAPI DMA, larger disk support
- Network booting: PXE
- Compiler/tool upgrades: binutils, gcc, C++ exceptions
- Linux environment: _clone() implemented (sfork)
- Upgraded KAME IPv6, IPSec
- Upgraded lots of utilities: BIND, sendmail, Apache, XFree86, hylafax, nmh
- Fixed-priority scheduling (not documented; uses POSIX scheduling interface)
- Trailing slashes "work" on directories
- Now entering beta
- Expecting new release to ship sometime in the Fall 2001
- Technology in Process: SMPng/BSDng:
- Medium-grained symmetric multiprocessing
- Approach:
- Lock data structures as needed
- Interrupts as threads
- spl calls are gone
- Kernel is preemptible
- Originally started with BSD/OS 4.0/4.1
- Now merging with 4.3 (giant-lock)
- Status:
- Now on front burner
- Running multiuser
- Process support, filesystems, network done
- Some sections left to do
- "Not a product announcement...no schedule"
- "spl calls are available as macros, so they're not all out"
- need to get things like ppp finished
- not on a real schedule, but that'll happen down the road
- Ports/Platforms:
- Intel/IA32
- SPARC:
- PCI-based systems almost done (but haven't figured out how it fits into the strategy)
- On hold
- PowerPC:
- "These chips are all over the place in the embedded world"
- IBM system controller (CPC700)
- Galileo system controller in progress
- Each board is different!
- release strategy not determined
Unix Goes Transluscent: BSD and Mac OS X
- "Mac OS X has the power and openness of Unix, with the simplicity and friendliness of a Mac"
- "Unix is very friendly, it's just picky about who its friends are"
- Mac OS X Goals:
- Open Source Unix Core
- Standads-based Graphics APIs
- Rapid application development
- scalable internet services
- consistent user interface
- Developer Tools are bundled with every copy of Mac OS X and can be freely downloaded from Apple's site.
- Mac OS X is based on:
- Darwin:
- full preemptive multitasking
- complete memory protection
- advanced virtual mmeory
- modern networking
- Mach 3, BSD Unix 4.4
- Open Source
- Darwin APIs:
- User Environments: XFree86 4.1, XTools; command line interface; network services
- Kernel Environment: filesystem, networking, AppleTalk, IP, BSD Kernel; Mach Kernel; I/O Kit; Drivers
- Support for X11, but not recommended for writing new applications
- Key Darwin Features:
- loadable kernel extensions:
- Filesystems (VFS)
- Networking (NKE)
- Drivers (IOKit; allows for subclassing to work in real-time and SMP)
- Power management
- Dynamic Network Configuration
- The goal of the Darwin project is not to replace Unix, but to support OS X:
- Darwin is Open Source:
- Darwin 1.3 basis of Mac OS X
- Source code available live via CVS
- Binary download available now:
- Easy-to-use installer
- Runs on PowerPC and x86
- CDs available from third parties
- NO PLANS TO PORT OS X TO x86 HARDWARE!
- Darwin Community:
- Over 80,000 registered developers:
- Students
- Governent and corporations
- Darwin Developers:
- Apple Engineering
- Entire Core OS Team (Brett Halle)
- Largest GCC Group (Stan Shebs)
- New BSD Group (Jordan Hubbard)
- External Committers "Darwin Developers"
- Around a dozen (and growing)
- Key university partners
- You?
- Killer Graphics APIs
- Quartz: 2-D system based on PDF; rendering, compositing, and anti-aliasing
- OpenGL: Industry standard 3D graphics technology
- QuickTime: The standard for Internet multimedia
- Carbon:
- The easiest way to bring existing Mac applciations to OS X
- Modernize Mac OS 9 APIs
- Most apps are 90-percent compliant
- CarbonLib allows those same apps to run on Mac OS 9
- Used by leading software developers to support Mac OS X
- Cocoa:
- Next-generation object-oriented app frameworks
- accessible from Objective-C or Java
- Proven developer benefits (productivity, consistency, reliability, maintainability)
- Java 2:
- Only desktop OS to bundle Java 2 Standard Edition with Hotspot VM
- Fully integrated JDK 1.3
- Java apps can deliver Aqua GUIs
- Great development tools:
- Project Builder from Apple
- JBuilder from Borland
- Diverse Languages:
- Programming:
- ANSI C
- C++, Embedded C++
- Objective-C, Objective-C++
- Java
- Scripting:
- Shells (tcsh is the default, but korn wasn't on their list)
- Perl
- AppleScript
- Mac OS X is the Future Desktop Unix
- Largest distributor of Unix systems (shipping with every Mac)
- Key productivity applications (MS Office, Quake III Arena -- yeah, you can be really productive with Quake ;^)
- Rapid graphical development (Cocoa and Java front-ends
- Links:
And so the night ended for me as both batteries for my laptop gave up the ghost and there were no power outlets in sight. You'd think someone from the conference planning group would see all these folks walking around with laptops, searching for a power outlet, and get a clue. Yes, how about powerbars in conference rooms so people can plug in?
So, I left the room and the BSD free-for-all before the tomatoes started flying and headed off to catch the Green line to make my way home. And thanks to a Red Sox loss to the <cough>Devil Rays</cough>, I didn't make it home until around midnight.
And that's all for sports, thankyou!
Chuck Toporek is an editor in O'Reilly's Open Source and XML editorial group. He has recently edited CVS Pocket Reference, GIMP Pocket Reference, and the recently released Beyond Contact: A Guide to SETI and Communicating with Alien Civilizations. Chuck and his wife, Kellie Robinson, coauthored Hydrocephalus: A Guide for Patients, Families, and Friends, as part of O'Reilly's Patient-Centered Guides series. When not working, he can be found playing Marathon, doing laundry, or playing elephant games with his cat, Max. Write to him at Chuck Toporek.