DragonFly BSD

An operating system and environment designed to be the logical continuation of the FreeBSD-4.x OS series.
Download

DragonFly BSD Ranking & Summary

Advertisement

  • Rating:
  • License:
  • BSD License
  • Price:
  • FREE
  • Publisher Name:
  • The DragonFly Team
  • Publisher web site:
  • http://www.dragonflybsd.org/main/

DragonFly BSD Tags


DragonFly BSD Description

An operating system and environment designed to be the logical continuation of the FreeBSD-4.x OS series. DragonFly is an Linux operating system and environment designed to be the logical continuation of the FreeBSD-4.x OS series. These operating systems belong in the same class as Linux in that they are based on UNIX ideals and APIs. DragonFly is a fork in the path, so to speak, giving the BSD base an opportunity to grow in an entirely new direction from the one taken in the FreeBSD-5 series.It is our belief that the correct choice of features and algorithms can yield the potential for excellent scalability, robustness, and debuggability in a number of broad system categories. Not just for SMP or NUMA, but for everything from a single-node UP system to a massively clustered system. It is our belief that a fairly simple but wide-ranging set of goals will lay the groundwork for future growth.The existing BSD cores, including FreeBSD-5, are still primarily based on models which could at best be called 'strained' as they are applied to modern systems. The true innovation has given way to basically just laying on hacks to add features, such as encrypted disks and security layering that in a better environment could be developed at far less cost and with far greater flexibility.We also believe that it is important to provide API solutions which allow reasonable backwards and forwards version compatibility, at least between userland and the kernel, in a mix-and-match environment. If one considers the situation from the ultimate in clustering... secure anonymous system clustering over the internet, the necessity of having properly specified APIs becomes apparent.Finally, we believe that a fully integrated and feature-full upgrade mechanism should exist to allow end users and system operators of all walks of life to easily maintain their systems. Debian Linux has shown us the way, but it is possible to do better.DragonFly is going to be a multi-year project at the very least. Achieving our goal set will require a great deal of groundwork just to reposition existing mechanisms to fit the new models. The goals link will take you to a more detailed description of what we hope to accomplish.1.2.0 is our second major DragonFly release and the first one which we have created a separate CVS branch for. DragonFly's policy is to only commit bug fixes to release branches.This release represents a significant milestone in our efforts to improve the kernel infrastructure. DragonFly is still running under the Big Giant Lock, but this will probably be the last release where that is the case.The greatest progress has been made in the network subsystem. The TCP stack is now almost fully threaded (and will likely be the first subsystem we remove the BGL from in coming months). The TCP stack now fully supports the SACK protocol and a large number of bug and performance fixes have gone in, especially in regard to GigE performance over LANs.The namecache has been completely rewritten and is now considered to be production-ready with this release. The rewrite will greatly simplify future filesystem work and is a necessary precursor for our ultimate goal of creating a clusterable OS.This will be last release that uses GCC 2.95.x as the default compiler. Both GCC 3.4.x and GCC 2.95.x are supported in this release through the use of the CCVER environment variable ('gcc2' or 'gcc34'). GCC 2.95.x is to be retired soon due to its lack of TLS support. The current development branch will soon start depending heavily on TLS support and __thread both within the kernel and in libc and other libraries. This release fully supports TLS segments for programs compiled with gcc-3.4.x.It goes without saying that this release is far more stable then our 1.0A release. A huge number of bug fixes, performance improvements, and design changes have been made since the 1.0A release. What's New in This Release: Kernel changes: · acpi(4): Import acpica-unix-20090521. · acpi(4): Improved power & frequency management for cpus. · acpi(4): Significantly improved APIC support. · buf/bio: New read-prioritizing bioq sort algorithm. The new algorithm does a much better job prioritizing reads over writes and also contains features to avoid starving-out writes. It works best with CAM based drivers but NATA uses some of its functionality too. · buf/bio: Make biowait(), getpbuf(), and most other buf/bio functions MPSAFE. · buffer-cache: Improved pipe-lining for writes. · bpf(4): Add autocloning support · devfs(5): Replaced the static /dev directory with a dynamic device file system written by Alex Hornung during the Google Summer of Code 2009. · ddb(4): Fix an IPI messaging lockup which can occur while in ddb(4). · disklabel64(5): Add UFS + HAMMER boot support (was previously just HAMMER boot support). · drm(4): Sync code with latest from FreeBSD. · ext2fs: Support variable inode size (from FreeBSD). · mountctl/mount -v: New infrastructure for reporting mount flags. · NFS improvements · msdos(5): Fixed a number of bugs. · pci(4): Sync code with FreeBSD 7.2. · Bring iscsi_initiator(4) from FreeBSD. · pipe(2): Pipes are now 100% MPSAFE. · Add new cred/privilege infrastructure for jail and general use. · Consolidate VOP access tests in vop_helper_access(). · usched_set: Add USCHED_CPU_GET for retrieving the current CPU. · revoke(2): Reimplemented the revoke code. · pty: Add Unix98 ptys (/dev/ptmx and /dev/pts/*). · sound: add autocloning support for dsp devices. · tcp: Fixed a reestablishment bug for TCP connections if one side reboots without closing the connection. A port pair could wind up becoming unusable for upwards of an hour or longer. · tcp: Improve performance by implementing an automatic high-water mark when it is not otherwise specified, allowing hysteresis between the kernel and the tcp protocol stack. · tsleep: New tsleep interlock mechanics implemented to fix races. · vkernel(7) improvements · vn(4): Add autocloning support · Fixed permissions check for utimes() - owner can call even if u-w. · Replace the old BSD malloc code with a port of our slab allocator. · Fix various clang compile issues · Add HPET cputimer. · Add lapic timer and enable it by default. · Add kernel-layer support for chflags checks, remove (most) from the VFS layer. HAMMER changes: · Return shorter-form softlinks "@@-1:d" when appropriate. · Add a B-Tree rebalancing feature (hammer rebalance). · Fixed improper cred checks for utimes(). · Fixed edge case in mirroring code. · Fixed nohistory mounts and a rare lost inode issue. · Fixed sticky bit directory handling for deletions. · Break-up initial mirroring batch so restarts do not start from scratch. · Better CRC handling, bad-file handling. · Refactor merged search function to try to avoid missed entries. · Limit recursion for long directory chains, update mtime/ctime. · Improve performance for large write loads. · Improve directory layout (in-place upgrade to version 2). · Allow hammer -b to specify bytes per second if no suffix is supplied. · Extract PFS null mounts from anywhere in the filesystem, instead of just from the /pfs subdirectory. · Add hammer info directive which prints useful info about a hammer filesystem. Hardware changes (non-networking): · ath(4): Add open source HAL code (from FreeBSD) and make it possible to build it into the kernel. · cxm(4): Add new driver for Hauppauge PVR-250/350 video capture cards (from FreeBSD). · kbdmux(4): Add multiple keyboards on the console via keyboard multiplexer (from FreeBSD). · mpi(4): Sync the driver with the latest version from FreeBSD. · mpt(4): Sync the driver with the latest version from FreeBSD. · ahci(4): Implement a native AHCI driver with full hot-plug and port multiplier support. Also implement ATA pass-through. Uses CAM. · sili(4): Implement a native Silicon Image 3132 driver with full hot-plug and port multiplier support. Also implement ATA pass-through. Uses CAM. · Hardware changes (networking) · ae(4): Add driver for Attansic/Atheros L2 FastEthernet (from FreeBSD). · em(4): Synced with Intel's em-6.9.6 (from FreeBSD). · emx(4): Copy of em(4) which supports only 8257{1,2,3} parts. · iwi(4): Upgrade to use 3.0 firmware and use firmware(9) API to load firmware. · mxge(4): Add driver for mxge 10GigE (from FreeBSD + minor adjustments) · tap(4): Add ifclone support and autoclone support. · vke(4): Convert from kqueue API to cothread API. · Turn on adaptive MPSAFE for network threads, and MPSAFE for IP and ARP. · RSS: Add Toeplitz hash function. · Split ifnet serializer. · Add ifpoll, which support hardware TX/RX queues based polling. Userland changes: · Fixed a huge number of compiler warnings for various userland utilities. · battd(8): Fix some errors and improve the man page · compilers.conf(5): This file allows to configure ''external'' compilers (e.g. LLVM/clang) for usage with the DragonFly build(7) system. · cpdup(1): Allow uid/gid/flags changes to fail if running as user. · env(1): unbreak build of 2.2 release branch under HEAD. · expr(1): Add support for -- as required by POSIX. · fetch(1): Synced with FreeBSD. · devtab: As devfs(5) support access to devices via serial numbers, /etc/devtab can be used to map serial number to human readable labels. · devfsctl(1): New utility to add/remove/control devfs(5) rules. · dma(1): The DragonFly Mail Agent is now more robust and reliable. · ifconfig(8): Add static ARP support. · installer: Fix the bug when used from console with the LiveDVD. · installer: Fixed various bugs and cleaned the code. · iscontrol(8): Brought from FreeBSD. · libc updates · libfetch(3): Synced with FreeBSD. · libiconv: Add support for static binaries. · libm improvements · magic(3): Fix program name extraction from core dumps. · mount_msdos(8): Add UTF8 support. · mount_ntfs(8): Add UTF8 support. · ncal(1): Highlight current day (from FreeBSD). · pax(1): Add a -O option: force one volume (from NetBSD). · pkgsrc: pkgsrc GIT repo now shipped instead of CVS repo. · telnetd(8): Apply FreeBSD-SA-09:05.telnet - fix environment based code execution vulnerability. · window(1): Synced with NetBSD. · vknetd(8): Add features, allow IP address to be set in unsecure mode, allow address 0. · smbfs(8): Add UTF8 support. · syslogd(8): Sync with FreeBSD. · telnet(1): Autologin is now disabled by default. · undo(1) improvements · vinum(8): Support for geometries larger than 2 TB was added. · A pkgsrc git repo is now available on the CD. You can copy it to /usr/pkgsrc and then use standard GIT commands to do an incremental update to the latest pkgsrc. · amd64 related changes · From Jordan Gordeev's Google Summer of Code 2009 project. · Kernel can now map 512G if KVA space. · Kernel now supports the entire user VM space. · Signal stacks, handlers, dynamic binaries, compiler warnings, etc. · Misc fixes for cross-building amd64. · Add a build system for amd64 build/test environments. · Both cross-build and native world/kernel builds work. · Pkgsrc builds are ramping up. · Load testing using parallel pkgsrc bulk builds succeeded! · SMP now works! Removals: · GNU cpio(1) was removed. The BSD licensed rewrite based on libarchive(3) is now default. · GNU GCC 3.4 was removed. GCC 4.1.2 and 4.4.1 remain in base. · Kerberos/heimdal was removed. Use the version from pkgsrc (security/heimdal). · iwicontrol(8) was removed. The iwi(4) firmware is now loaded automatically. Contributed Software: · Update file to version 5.03. · GCC 4.4.1 was added to base, but is not enabled by default. · Update less to version 429. · Update OpenSSH to version 5.2p1. · Update OpenSSL to version 0.9.8k. · Sync zoneinfo database with tzdata2009l.


DragonFly BSD Related Software