DragonFly BSD


Chapter 1 Introduction

*Restructured, reorganized, and parts rewritten by Jim Mock. *


Thank you for your interest in DragonFly! The following chapter covers various aspects of the DragonFly Project, such as its history, goals, development model, and so on.

After reading this chapter, you will know:

Welcome to DragonFly!

DragonFly is a 4.4BSD-Lite-based Unix operating system for the AMD64 (x86_64) architecture.

What Can DragonFly Do?

Work on BSD-flavor Unix systems running on PC compatible hardware started as a fork of the 4.4BSD-Lite release from Computer Systems Research Group (CSRG) at the University of California at Berkeley. One of the variants that became quite popular became known later as FreeBSD. DragonFly BSD started out as a fork and continuation of FreeBSD 4.8.

Like all other modern PC-compatible BSD variants, it carries on the distinguished tradition of BSD systems development. In addition to the fine work provided by CSRG, the DragonFly Project has put in many thousands of hours in fine-tuning the system for maximum performance and reliability in real-life load situations.

As many of the commercial giants struggle to field PC operating systems with such features, performance and reliability, DragonFly can offer them now!

For example the HAMMER filesystem, the default in DragonFly BSD, is the most powerful and reliable filesystem available on any operating system. It can handle up to an exbibyte of files (or, 1048576 tebibytes) and can automatically recover without the need for a fsck.

The applications to which DragonFly can be put are truly limited only by your own imagination. From software development to factory automation, inventory control to azimuth correction of remote satellite antennae; if it can be done with a commercial UNIX product, it is more than likely that you can do it with DragonFly, too! DragonFly also benefits significantly from literally thousands of high-quality applications developed by research centres and universities around the world, often available at little to no cost. Commercial applications are also available and appearing in greater numbers every day.

Because the source code for DragonFly itself is generally available, the system can also be customized to an almost unheard-of degree for special applications or projects, and in ways not generally possible with operating systems from most major commercial vendors. Here is just a sampling of some of the applications in which people are currently using DragonFly:

The robust TCP/IP networking built into DragonFly renders it an ideal platform for a variety of Internet services such as:

With DragonFly, you can install on almost any PC, from Pentium chips, to modern 64 bit Intel Core or AMD X64 desktop CPUs, and even up to and including high end Xeon CPUs. All of these CPUs share a common ancestry and instruction set, going back to the original Intel 80386 CPU, the first fully 32-bit desktop CPU for "IBM PC compatible" computers.

Here are some of the fields where people are using Dragonfly BSD, and the reasons that they find that DragonFly BSD fits their needs:

DragonFly is available via anonymous FTP or GIT. Please see Mirrors for more information about obtaining DragonFly.

For more help on installing, see the appropriate sections of this handbook.

About the DragonFly Project

The following section provides some background information on the project, including a brief history, project goals, and the development model of the project.

A Brief History of DragonFly

Matthew Dillon, one of the developers for FreeBSD, was growing increasingly frustrated with the FreeBSD Project's direction for release 5. The FreeBSD 5 release had been delayed multiple times, and had performance problems compared to earlier releases of FreeBSD. DragonFly was announced in June of 2003. The code base was taken from the 4.8 release of FreeBSD, which offered better performance and more complete features. Development has proceeded at a very quick rate since then, with Matt Dillon and a group of developers fixing longstanding BSD bugs and modernizing the new DragonFly system.

DragonFly Project Goals

DragonFly is an effort to maintain the traditional BSD format -- lean, stable code -- along with modern features such as lightweight threads, a workable packaging system, and a revised VFS. Underpinning all this work is efficient support for multiple processors, something rare among open source systems. Because DragonFly is built on an existing very stable code base, it is possible to make these radical changes as part of an incremental process.

The DragonFly Development Model

*Written by Justin Sherrill. *

DragonFly is developed by many people around the world. There is no qualification process; anyone may submit own code, documentation, or designs, for use in the Project. Here is a general description of the Project's organizational structure.

Source for DragonFly is kept in git, available with each DragonFly install. The primary git repository resides on a machine in California, USA. Documentation on obtaining the DragonFly source is available elsewhere in this book. The best way of getting changes made to the DragonFly source is to mail the submit mailing list. Including desired source code changes (unified diff format is best) is the most useful format. A certain number of developers have access to commit changes to the DragonFly source, and can do so after review on that list. The DragonFly development model is loose; changes to the code are generally peer-reviewed and added when any objections have been corrected. There is no formal entry/rejection process, though final say on all code submissions goes to Matt Dillon, as originator of this project.

The Current DragonFly Release

DragonFly is a freely available, full source 4.4BSD-Lite based release for almost all Intel and AMD based computer systems. It is based primarily on FreeBSD 4.8, and includes enhancements from U.C. Berkeley's CSRG group, NetBSD, OpenBSD, 386BSD, and the Free Software Foundation. A number of additional documents which you may find very helpful in the process of installing and using DragonFly may now also be found in the /usr/share/doc directory on any machine.

DragonFly Origin

Matthew Dillon happened to take a picture of a dragonfly in his garden while trying to come up with a name for this new branch of BSD. Taking this as inspiration, "DragonFly" became the new name.