nordu / usenix february 14, 2003 freebsd 5.0 murray stokely freebsd mall, inc....

23
NordU / Usenix NordU / Usenix February 14, 2003 February 14, 2003 FreeBSD 5.0 Murray Stokely FreeBSD Mall, Inc. murray@FreeBSD .org

Upload: lesley-matthews

Post on 29-Jan-2016

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: NordU / Usenix February 14, 2003 FreeBSD 5.0 Murray Stokely FreeBSD Mall, Inc. murray@FreeBSDmurray@FreeBSD.org

NordU / UsenixNordU / UsenixFebruary 14, 2003February 14, 2003

FreeBSD 5.0

Murray StokelyFreeBSD Mall, Inc.

[email protected]

Page 2: NordU / Usenix February 14, 2003 FreeBSD 5.0 Murray Stokely FreeBSD Mall, Inc. murray@FreeBSDmurray@FreeBSD.org

OutlineOutline(1/2)(1/2)

● FreeBSD Development Model●Branches and Releases.●Project Organization.

● Release Process Overview● FreeBSD 5.0

● Initial Plans● Progress● New Technologies in 5.0

Page 3: NordU / Usenix February 14, 2003 FreeBSD 5.0 Murray Stokely FreeBSD Mall, Inc. murray@FreeBSDmurray@FreeBSD.org

OutlineOutline(2/2)(2/2)

● FreeBSD 5.0● New Architectures in 5.0● Organizational Changes

● Conclusion / Q & A

Page 4: NordU / Usenix February 14, 2003 FreeBSD 5.0 Murray Stokely FreeBSD Mall, Inc. murray@FreeBSDmurray@FreeBSD.org

FreeBSD Development ModelFreeBSD Development Model

● FreeBSD development continues along two parallel branches; FreeBSD-CURRENT and FreeBSD-STABLE.

● FreeBSD-CURRENT is the main trunk of our CVS repository. All

new development should happen here.● FreeBSD-STABLE is the branch from which major releases are made.

Changes enter this branch at a different pace, and with the general

assumption that they have been well tested by our user community

running -CURRENT.

Page 5: NordU / Usenix February 14, 2003 FreeBSD 5.0 Murray Stokely FreeBSD Mall, Inc. murray@FreeBSDmurray@FreeBSD.org

FreeBSD Development ModelFreeBSD Development Model

Page 6: NordU / Usenix February 14, 2003 FreeBSD 5.0 Murray Stokely FreeBSD Mall, Inc. murray@FreeBSDmurray@FreeBSD.org

FreeBSD Development ModelFreeBSD Development Model

● Thousands of developers around the world contribute code to FreeBSD.

● Only the "committers" have write access to the CVS repository● 324 total committers in FreeBSD (includes source, documentation,

and ports committers).● 212 active committers to src/ in the last 12 months.● 160 active committers to src/sys in the last 12 months.

(active is loosely defined as making a single commit.)

Page 7: NordU / Usenix February 14, 2003 FreeBSD 5.0 Murray Stokely FreeBSD Mall, Inc. murray@FreeBSDmurray@FreeBSD.org

FreeBSD Development ModelFreeBSD Development Model

● Users and external developers should submit bug fixes, enhancements, or problem reports with GNATS.

● Online submission forms, send-pr command installed by default on

FreeBSD systems, etc..

Page 8: NordU / Usenix February 14, 2003 FreeBSD 5.0 Murray Stokely FreeBSD Mall, Inc. murray@FreeBSDmurray@FreeBSD.org

Release Process OverviewRelease Process Overview

●"Stable" releases are made from the -STABLE development branch at

approximately 4 month intervals.●Major new versions (3.0, 4.0, 5.0, etc..) are released at much longer

intervals when the main goals for that release have been realized.●3.0 - October 1998●4.0 - March 2000●5.0 - January 2003

●Minor point releases (e.g. 4.8) are still released even after the next major

new version (5.0) is available.

Page 9: NordU / Usenix February 14, 2003 FreeBSD 5.0 Murray Stokely FreeBSD Mall, Inc. murray@FreeBSDmurray@FreeBSD.org

Committees / GroupsCommittees / Groups

● A number of committees with special responsibilities have been created within the FreeBSD Project to ensure that the project continues to move in a positive direction.

● The FreeBSD Core Team is a group of 9 developers elected by the

committers for 2 year terms.● The FreeBSD Release Engineering Team is a small group of developers

responsible for managing the release process.● The Architecture Review Board is a group of senior developers appointed by

core to arbitrate technical debates, ensure the sanctity of our development

branch, and evaluate the merits of large new code or design proposals.

Page 10: NordU / Usenix February 14, 2003 FreeBSD 5.0 Murray Stokely FreeBSD Mall, Inc. murray@FreeBSDmurray@FreeBSD.org

Release Engineering TeamRelease Engineering Team

● The RE team has the following responsibilities :●Maintaining release schedules.●Coordinating with the package-building and security-officer teams to

provide a useful assortment of third party packages and to ensure that all

known vulnerabilities are patched.●Reviewing MFC requests from developers during the code freeze and

granting approval for changes to the release branches.●Interacting with the web-team, and public relations people to set the

right expectations for upcoming releases.

Page 11: NordU / Usenix February 14, 2003 FreeBSD 5.0 Murray Stokely FreeBSD Mall, Inc. murray@FreeBSDmurray@FreeBSD.org

5.0 - Initial Plans5.0 - Initial Plans

● Initial planning for FreeBSD 5.0 coincided with the merger of Walnut Creek CDROM and BSDI.

● An ambitious re-design of the SMP implementation for BSD/OS was

underway, and a developer meeting was setup to share this design with

FreeBSD developers.● Original goals were to implement fine-grained locking, interrupt threads, etc..● For a more detailed view of the early stage of 5.0 Development, see the notes

from the original BSDI SMP meeting and the various presentations and

papers that John Baldwin and other developers have written since that time:● http://www.freebsd.org/projects/smp

Page 12: NordU / Usenix February 14, 2003 FreeBSD 5.0 Murray Stokely FreeBSD Mall, Inc. murray@FreeBSDmurray@FreeBSD.org

The Road to 5.0The Road to 5.0

● FreeBSD 5.0-SNAPshots.

● Formalization of Release Engineering Procedures.● Developer Meetings at Usenix in Boston, Usenix in Monterey, and BSDCon

in San Francisco.● FreeBSD Developer Preview #1 - CDs published for widespread testing.● Weekly RE telecons.● FreeBSD Developer Preview #2 - CDs published for widespread testing.● FreeBSD 5.0 Todo List. Weekly mailing to developers@ of must have

features, highly desirable features, etc..

Page 13: NordU / Usenix February 14, 2003 FreeBSD 5.0 Murray Stokely FreeBSD Mall, Inc. murray@FreeBSDmurray@FreeBSD.org

FreeBSD 5.0 "SMPng" ProjectFreeBSD 5.0 "SMPng" Project

● One of the main goals of SMPng ("SMP Next Generation") is to allow more processes to run in kernel, without the need for spin locks that can dramatically reduce the efficiency of multiple processors. Interrupt handlers now have contexts associated with them that allow them to be blocked, which reduces the need to lock out interrupts.

● A robust framework is in place, but more locking and optimization needs to

be done. See mutex(9), lockmgr(9), and the Developer's Handbook.● Many subsystems need to be taken out under the "Giant" kernel lock and

locked properly with mutexes. This work is underway and 5.1 and 5.2 should

yield significantly better multiprocessor performance over 5.0.

Page 14: NordU / Usenix February 14, 2003 FreeBSD 5.0 Murray Stokely FreeBSD Mall, Inc. murray@FreeBSDmurray@FreeBSD.org

New Technologies in 5.0New Technologies in 5.0(1/5)(1/5)

● The FreeBSD kernel now supports Kernel-Scheduled Entities (KSEs), which provides suport for multiple threads of execution per process similar to Scheduler Activations. At this point, the kernel changes have been implemented, but the new pthreads library has is not complete.

● Support for FireWire and Bluetooth adapters and peripheral devices has been

added.● A device filesystem, devfs(5), is now enabled by default to provide greater

flexibility for system administrators. Devfs(8) and rulesets provide a

mechanism for policy configuration.

Page 15: NordU / Usenix February 14, 2003 FreeBSD 5.0 Murray Stokely FreeBSD Mall, Inc. murray@FreeBSDmurray@FreeBSD.org

New Technologies in 5.0New Technologies in 5.0(2/5)(2/5)

● Mandatory Access Controls (Subject of yesterday's talk)

●Provides a framework for kernel extensions to augment the native security

policy.●Supports userland secure environment enhancements.●Allows security policies to be loaded in as kernel modules.

● UFS2●The inode has been expanded to 256 bytes to make space for 64-bit block-

pointers.●A file-creation time field has been added.● A native extended attributes implementation has been added.

Page 16: NordU / Usenix February 14, 2003 FreeBSD 5.0 Murray Stokely FreeBSD Mall, Inc. murray@FreeBSDmurray@FreeBSD.org

New Technologies in 5.0New Technologies in 5.0(3/5)(3/5)

● GEOM - modular disk I/O transformation framework. (See Poul-Henning Kamp's talk at 15:20 today)

● A new devd(8) userland daemon has been added to monitor the device tree

and run arbitrary commands when devices are added or removed to the

system. This program is a generalization of some of the functionality of

pccardd(8).● PAM authentication has been added throughout the system.● The system compiler has been updated to GCC 3.2.1 (released version).● Perl has been removed from the base system (but is still usually installed by

default as a package)

Page 17: NordU / Usenix February 14, 2003 FreeBSD 5.0 Murray Stokely FreeBSD Mall, Inc. murray@FreeBSDmurray@FreeBSD.org

New Technologies in 5.0New Technologies in 5.0(4/5)(4/5)

● In kernel cryptographic framework imported from OpenBSD. Adds support for hardware crypto-cards.

● Lomac(4), a low-watermark mandatory access control security facility, has

been added as an optional kernel module. ● The random(4) device has been rewritten to use the Yarrow algorithm. It

harvests entropy from a variety of interrupt sources, including the console

devices, Ethernet and point-to-point network interfaces, and mass-storage

devices.● SoftUpdates, filesystem snapshots, and background fsck have been added to

FFS.

Page 18: NordU / Usenix February 14, 2003 FreeBSD 5.0 Murray Stokely FreeBSD Mall, Inc. murray@FreeBSDmurray@FreeBSD.org

New Technologies in 5.0New Technologies in 5.0(5/5)(5/5)

● A number of utilities and libraries have been enhanced to improve their conformance with the Single UNIX Specification (SUSv3) and IEEE Std 1003.1-2001 ("POSIX.1").

● A third floppy image is now created for users installing via floppy or over the

network. This third image, drivers.flp, contains loadable kernel modules for

devices that didn't fit on either of the first two floppies.

Page 19: NordU / Usenix February 14, 2003 FreeBSD 5.0 Murray Stokely FreeBSD Mall, Inc. murray@FreeBSDmurray@FreeBSD.org

New Architectures in 5.0New Architectures in 5.0More 64-bit platformsMore 64-bit platforms

● FreeBSD 5.0 supports i386, alpha, pc98, sparc64, and IA64.

● FreeBSD/sparc64 is rapidly becoming (or is already) the 64-bit FreeBSD

platform of choice.● The FreeBSD Core Team has recently clarified the stance on upcoming

platfoms by introducing the notion of supported tiers.●Tier 1 platforms are fully supported, such as i386, PC98, and Alpha.●Tier 2 platforms are usable ports with the relevant code checked into CVS,

such as Sparc64 and IA64. These platforms may not use the standard

FreeBSD installation program, sysinstall.●Tier 3 platforms are not fully supported.

Page 20: NordU / Usenix February 14, 2003 FreeBSD 5.0 Murray Stokely FreeBSD Mall, Inc. murray@FreeBSDmurray@FreeBSD.org

New ArchitecturesNew Architectures& New Solutions& New Solutions

● The release engineering team created a sub-group for each architecture so that the build aspects of the RE responsibilities may be delegated to architecture-specific re teams (re-sparc64, re-ia64, etc.).

● Automated tinderbox scripts have been setup to alert developers when

changes break the build on a specific architecture.● The cross-building infrastructure has dramatically improved, so that

developers may cross-build "world" or entire releases to ensure that a given

change will not break the build on alternate architectures.

Page 21: NordU / Usenix February 14, 2003 FreeBSD 5.0 Murray Stokely FreeBSD Mall, Inc. murray@FreeBSDmurray@FreeBSD.org

CaveatCaveat

● FreeBSD 5.0 introduces a number of significant new features to FreeBSD. It should not be considered for most production servers or conservative sites.

● The Release Engineering Team has created a "5.0-Early Adopter's Guide" to

assist administrators in determining when 5.X will be ready for their site.

Page 22: NordU / Usenix February 14, 2003 FreeBSD 5.0 Murray Stokely FreeBSD Mall, Inc. murray@FreeBSDmurray@FreeBSD.org

Upcoming ReleasesUpcoming Releases

● FreeBSD 4.8

●Some of the more stable new technologies in 5.0 have been backported for

4.8. This release is a much better candidate for most servers than 5.0

currently is. 5.0 is for early adopters. FreeBSD 4.8 is scheduled for a

March 15 release (code freeze starts in 24 hours).● FreeBSD 5.1

●FreeBSD 5.1 will see performance and stability improvements over 5.0.

Current release estimate is for Spring 2003.

http://www.FreeBSD.org/releng has more scheduling details.● FreeBSD 4.9? 4.10? - More 4.X releases may still be on the horizon.

Page 23: NordU / Usenix February 14, 2003 FreeBSD 5.0 Murray Stokely FreeBSD Mall, Inc. murray@FreeBSDmurray@FreeBSD.org

Additional InformationAdditional Information

● FreeBSD 5.0 Early Adopters Guide http://www.FreeBSD.org/releases/5.0R/early-adopter

● FreeBSD 5.0 Release Notes

http://www.FreeBSD.org/releases/5.0R/relnotes.html● FreeBSD 4.8 Release Schedule

http://www.FreeBSD.org/releases/4.8R/schedule.html● Release Engineering Website http://www.FreeBSD.org/releng