Wie denkt aan een BSD-besturingssysteem zal denken aan een van de drie bekende varianten: FreeBSD, OpenBSD of NetBSD. Er zijn echter nog diverse andere BSD-versies, zoals PC-BSD en DragonFly BSD. Deze laatste is een afsplitsing van FreeBSD 4.8, die rond juni 2003 is onstaan omdat Matthew Dillon, de projectleider van DragonFly BSD, het destijds oneens was met de gekozen ontwikkelstrategie en de aandachtsgebieden van FreeBSD 5. Voor een overzicht van zijn doelstellingen voor DragonFly BSD kan je deze pagina doorspitten. DragonFly BSD 1.12.0 is sinds kort beschikbaar en is over de gehele linie verbeterd. De aankondiging en lijst met veranderingen zien er als volgt uit:
DragonFly 1.12 Released!
Hello everyone! We are happy to say that the 1.12 release is now available! This release is primarily a maintainance update. A lot of work has been done all over the kernel and userland. There are no new big-ticket items though we have pushed the MP lock further into the kernel.
The 2.0 release is scheduled for mid-year.
Of the current big-ticket item work, the new HAMMER filesystem is almost to the alpha stage of development and is expected to be production ready by the mid-year 2.0 release.
- Support for the 386 CPU was abandoned.
- Added the Hardware sensors framework. Ported from OpenBSD via FreeBSD Google SoC port. This framework retrieves motherboard information such as fan speed, temperature, and voltage via sysctl.
- Major work on ipfw2, switch ipfw from ipfw1 to ipfw2.
- Sync the ACPI code with recent changes from FreeBSD.
- Syscall and trap entry code run MPSAFE by default now (most syscalls still get the MP lock when they hit the I/O path, though).
- Fix memory leak in execve()
- Many LWP related issues cleaned up.
- Add support to CAM for 16-byte read and write commands.
- Major update of the CAM code.
- kmalloc() use cases cleaned up.
- Updated rxcsum/txcsum offload support for network drivers.
- mbuf leak fixed. Some use-after-free cases in if_ethersubr.c have been fixed.
- Greatly simplify the vnode_pager*() code.
- The kernel (and virtual kernel) now saves and restores the FP state for signal stack frames. Related libc_r hacks have been removed.
- Ownership check added when dumping core (security fix).
- Fix a possible weakness in the random number generator.
- Fix a weakness in the 'random' IP sequence number generator and turn random IP id's on by default.
- Correct a cpu routing bug in the TCP stack.
- Power management updates.
- Adjust getdirentries to support 64 bit directory position cookies. Also adjust libc. Unconditionally use seek (with its 64 bit offset range).
- Add pselect() syscall.
- Fix an objcache bug, improving objcache performance.
- Numerous security related sysctls have been moved to a new sysctl category called 'security'.
Hardware changes (Networking):
- Add SATA ATAPI support for AHCI controllers.
- Update the agp code to the latest one from FreeBSD HEAD. This brings in a lot of newer hardware support.
- Add several drivers for sensorsd: coretemp driver for Intel Core on-die digital thermal sensor from FreeBSD and lm and it drivers for hardware sensors used in many motherboards.
- Major sound system update. Added drivers, IDs, and fixes from FreeBSD.
- AGP support greatly improved, changes primarily taken from FreeBSD.
- Sync the bktr driver with FreeBSD.
Hardware changes (USB):
- Add experimental bluetooth stack.
- Add many new network adapter IDs.
- Many network drivers updated & improved.
- Import msk from FreeBSD which supports the Marvell Yukon II based NICs (both GE and FE).
- Add et which supports Agere ET1310 based Ethernet chips (PCIe only).
- Add support for newer devices used with ICH9 chipset motherboards.
- 802.11 support greatly improved.
- Add many new USB device IDs.
- Ported uftdi.
- USB device attachment sped up considerably.
- Geode companion support added to OHCI probe code.
- ISA attachment for Adaptec 284X controllers and other significant aic7xxx work.
- Improved reliability for high speed USB modems
- Improved operation for USB based CD/DVD writers.
- Improved operation of USB based serial devices.
- Add moscom from OpenBSD, supporting MosChip based serial adapters.
- Add uark from OpenBSD, supporting Arkmicro tech serial adapters.
- Add uchcom from NetBSD. A driver for WinChipHead CH341/CH340 chips.
- Add uslcom from OpenBSD, supporting Silicon Laboratories serial USB.
- Add uticom driver for Texas Instruments TUSB3410 USB to serial chips.
- Switch to gcc41 (4.1.x) as the default compiler. gcc 3.4.x is still available via 'setenv CCVER gcc34'. Scrap binutils 215.
- libthread_xu is now the default threading library for the userland.
- Threading-related header files moved out of emulation/posix4 and into sys.
- Add pkg_search to the base system. pkg_search queries the pkgsrc index for a given package name and display the results.
- Add pkg_radd. pkg_radd acts as a wrapper for pkg_add and install binary pkgsrc packages.
- Add a pkg_search script to simplify pkgsrc searches.
- Add getent() from FreeBSD which retrieves and displays entries from the administrative database like passwd.
- Add pam_nologin from FreeBSD.
- Add bluetooth libraries and various Bluetooth tools to configure and manipulate Bluetooth devices. btconfig, bthcid, btpin, sdpd, sdpquery, and rfcomm_sppd. Mostly from NetBSD.
- Fix minor bugs in hog partition ('*') specifications in disklabel.
- Add /usr/Makefile containing easy-to-use targets for users to install and maintain DragonFly source and pkgsrc subtrees.
- traceroute can now handle MPLS reporting.
- Many documentation updates.
- DPMS support added to the vesa console module.
- Allow VESA mode numbers > 512.
- Add lldiv_t, lldiv(), llabs(), imaxdiv() to libc.
- Update the 'at' command.
- Switch from libreadline to libedit.
- vnconfig enhanced.
- kdump enchanced to output more human readable information by default, from FreeBSD.
- ARCnet, FDDI and Token Ring support was removed.
- The fla driver was removed. It's known to be buggy, supports very limited set of obsolete devices with limited set of firmware versions, is removed from FreeBSD more than 3 years ago and is not supported any more more than 4 years.
- Remove nv driver, it is replaced by nfe.
- xntpd removed. dntpd is now our official client-side ntpd.
- acxcontrol removed. Firmware files have been automated (see man acx).
- The ray driver was removed. raycontrol removed.
- wicontrol was removed. ifconfig has taken over most of its functionality.
Sub-project progress report:
- less was updated to version 416
- libarchive was updated to version 2.4.8
- libpcap was updated to version 0.9.8
- OpenSSL was updated to version 0.9.8g
- OpenSSH was updated to version 4.7p1
- sendmail was updated to version 8.14.2
- tcpdump was updated to version 3.9.8
- tcsh was updated to 6.15.00
- zoneinfo database was synced with tzdata2007k (merged to DragonFly 1.10)
- bind was updated to 9.3.4-P1
- diffutils was updated to 2.8.7
- sync libfetch with FreeBSD
- wpa_supplicant and hostapd were updated to version 0.5.8 (for 802.11)
- gcc was updated to 4.1.x
- gdb was updated to 6.7.1
- file was updated to 4.23
- libevent was updated to 1.3e
- Progress has been made on making more of the kernel MP safe. The network path has a good chance of getting there by the end of the year. The I/O path still needs a lot of work.
- A great deal of 64-bit support infrastructure has been brought in but 64-bit isn't operational yet.
- The HAMMER filesystem is not quite alpha yet, but well on its way.
- DMA introduced - currently in an alpha state. This subsystem will provide local mail delivery and simple outgoing/smarthost mail delivery and allow us to remove sendmail from base.