Unblocking The Main Thread Solving ANRs and Frozen Frames
BSD for Linux Users
1. BSD For Linux Users
Dru Lavigne
Editor, Open Source Business Resource
Ohio LinuxFest 2009
2. This presentation will cover...
What is this BSD you speak of? (frame of
reference)
How is it different? (will I like it?)
Release engineering? (behind the scenes)
Any features unique to BSD? (am I missing
out on anything cool?)
Books (some recommended reading)
8. Back to BSD....
Since we only have 45 minutes.....
We'll start with an overview of the BSD
projects
Then concentrate on some differences
between (mostly) PC-BSD and (mostly)
Ubuntu
9. Back to BSD....
Differentiated by focus:
NetBSD: clean design and portability (57
supported platforms)
FreeBSD: production server stability and
application support (20,715 apps)
OpenBSD: security and dependable release
cycle
Dragonfly BSD: filesystem architecture
PC-BSD: anyone can install and use BSD
23. Release Engineering
Complete operating system, not kernel +
distro: one source for security advisories,
less likelihood of incompatible libraries
Integration of features not limited by
copyleft: e.g. drivers are built-in
High “bus factor”
Consistent separation between operating
system and third party and between BSD
and GPL'd code
24. Release Engineering
● While each BSD project has a separate
focus, the communities share ideas/code
● Mentorship process to earn commit bit
● FreeBSD 408 commit bits
● NetBSD 259 commit bits
● OpenBSD 122 commit bits
● plus thousands of contributors for
software, docs, translations, bug fixes, etc
● Linux has 1 committer, 547 maintainers
25. Release Engineering
Principles used by the BSD projects reflect
their academic roots:
● well defined process for earning a
“commit bit” includes a period of working
under a mentor
● code repository from Day 1 and can
trace original code back to CSRG days
● no “leader”, instead well defined release
engineering, security, and doc teams
26. Release Engineering
● development occurs on CURRENT which is
frozen in preparation for a RELEASE
● nightly builds (operating system and
apps) help ensure that upgrades and
installs don't result in library
incompatibilities (safe for production)
● documentation considered as important
as code
28. Features Unique to BSD
● system securelevels
● FreeBSD jails
● NetBSD build.sh for crosscompiling
● pkgsrc for cross-platform pkg mgmt
● PC-BSD PBIs for one-click installing
● VuXML or audit-packages
● NetBSD veriexec file integrity subsystem
● binary emulation (linux, solaris, sco, etc.)
● FreeBSD netgraph networking framework
29. Features Unique to BSD
● ZFS and dtrace support (FreeBSD)
● CARP for failover redundancy
● FreeBSD superpages for speed
● BSM audit framework (Solaris compatible)
● freebsdupdate (working snapshots)
● ALTQ for QoS
● Dragonfly HAMMER for high availability
30. Books:
BSD Hacks
Best of FreeBSD Basics
Definitive Guide to PC-BSD (early 2010)
Absolute BSD
Absolute FreeBSD
Absolute OpenBSD
31. Questions:
dru@osbr.ca
Stop by the BSD booth and say hi!