FACTOID # 146: There are 11 countries where the average woman has more than six children. Ten of them are in Africa.
 
 Home   Encyclopedia   Statistics   Countries A-Z   Flags   Maps   Education   Forum   FAQ   About 
 
WHAT'S NEW
RECENT ARTICLES
More Recent Articles »
 

SEARCH ALL

FACTS & STATISTICS   

Search encyclopedia, statistics and forums:

 

 

(* = Graphable)

 

 


Encyclopedia > DragonFly BSD

DragonFly BSD
DragonFlyBSD Logo with Fred, the dragonfly.
Website: dragonflybsd.org
Company/
developer:
Matt Dillon
OS family: BSD
Source model: Open source
Latest stable release: 1.10.1 / August 22, 2007
Kernel type: Hybrid kernel
Default user interface: tcsh (root) / sh (users)
License: BSD
Working state: Current

DragonFly BSD is a free Unix-like operating system created as a fork of FreeBSD 4.8. Matt Dillon, a FreeBSD and Amiga developer since 1994, began work on DragonFly BSD in June 2003 and announced it on the FreeBSD mailing lists on July 16, 2003.[1] Image File history File links DragonFly_BSD_Logo. ... A website (alternatively, Web site or web site) is a collection of Web pages, images, videos and other digital assets that is hosted on one or several Web server(s), usually accessible via the Internet, cell phone or a LAN. A Web page is a document, typically written in HTML... It has been suggested that software publisher be merged into this article or section. ... A software developer is a person who is concerned with one or more facets of the software development process, a somewhat broader scope of computer programming or a specialty of project managing. ... Matt Dillon is a computer scientist, born July 1, 1966 in the Bay Area and living in Berkeley, California. ... Berkeley Software Distribution (BSD, sometimes called Berkeley Unix) is the Unix derivative distributed by the University of California, Berkeley, starting in the 1970s. ... Open source refers to projects that are open to the public and which draw on other projects that are freely available to the general public. ... is the 234th day of the year (235th in leap years) in the Gregorian calendar. ... Year 2007 (MMVII) is the current year, a common year starting on Monday of the Gregorian calendar and the AD/CE era. ... A kernel connects the application software to the hardware of a computer. ... Graphical overview of a hybrid kernel Hybrid kernel is a kernel architecture based on combining aspects of microkernel and monolithic kernel architectures used in computer operating systems. ... The user interface is the part of a system exposed to users. ... tcsh is a Unix shell based on and compatible with the C shell (csh). ... The Bourne shell, or sh, was the default Unix shell of Unix Version 7, and replaced the Thompson shell, whose executable file had the same name, sh. ... A software license is a legal agreement which may take the form of a proprietary or gratuitous license as well as a memorandum of contract between a producer and a user of computer software. ... The BSD license is a permissive license and is one of the most widely used free software licenses. ... Clockwise from top: The logo of the GNU Project (the GNU head), the Linux kernel mascot Tux the Penguin, and the FreeBSD daemon Free software is a term coined by Richard Stallman and the Free Software Foundation[1] to refer to software that can be used, studied, and modified without... Diagram of the relationships between several Unix-like systems A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification. ... In software, a project fork or branch happens when a developer (or a group of them) takes code from a project and starts to develop independently of the rest. ... FreeBSD is a Unix-like free operating system descended from AT&T UNIX via the Berkeley Software Distribution (BSD) branch through the 386BSD and 4. ... Matt Dillon is a computer scientist, born July 1, 1966 in the Bay Area and living in Berkeley, California. ... The original Amiga 1000 (1985) with various peripherals The Amiga 500 (1987) was the most popular variant of the Amiga. ...


Dillon started DragonFly in the belief that the methods and techniques being adopted for threading and SMP in FreeBSD 5 would lead to a poorly performing system that would be very difficult to maintain. He sought to correct these suspected problems within the FreeBSD project. Due to ongoing conflicts with other FreeBSD developers over the implementation of his ideas, and other reasons, his ability to directly change the FreeBSD code was eventually revoked. Despite this, the DragonFly BSD and FreeBSD projects still work together contributing bug fixes, driver updates and other system improvements to each other. Many programming languages, operating systems, and other software development environments support what are called threads of execution. ... Symmetric Multiprocessing, or SMP, is a multiprocessor computer architecture where two or more identical processors are connected to a single shared main memory. ...


Intended to be "the logical continuation of the FreeBSD 4.x series", DragonFly is being developed in an entirely different direction from FreeBSD 5, including a new Light Weight Kernel Threads (LWKT) implementation and a light weight ports/messaging system. Many concepts planned for DragonFly were inspired by AmigaOS. Light Weight Kernel Threads or LWKT is a term from computer science in general and in DragonFly BSD in particular. ... AmigaOS is the default native operating system of the Amiga personal computer. ...

Contents

Kernel design

Like most modern kernels, DragonFly is a hybrid, containing features of both monolithic and microkernels, attempting to make the best use of both technologies, such as the message passing capability of microkernels enabling larger portions of the OS to benefit from protected memory, as well as retaining the speed of monolithic kernels for certain critical tasks. The messaging subsystem being developed is similar to those found in microkernels such as Mach, though it is less complex by design. DragonFly's messaging subsystem has the ability to act in either a synchronous or asynchronous fashion, and attempts to use this capability to achieve the best performance possible in any given situation. In computer science, the kernel is the fundamental part of an operating system. ... Graphical overview of a hybrid kernel Hybrid kernel is a kernel architecture based on combining aspects of microkernel and monolithic kernel architectures used in computer operating systems. ... Memory protection is a system that prevents one process from corrupting the memory of another process running on the same computer at the same time. ... Mach is an operating system kernel developed at Carnegie Mellon University to support operating system research, primarily distributed and parallel computation. ...


There is progress being made to provide both device input/output (I/O) and virtual file system (VFS) messaging capabilities that will allow the remainder of the project goals to be met. The new infrastructure will allow many parts of the kernel to be migrated out into userland, whereby they will be more easily debugged as they will be smaller, isolated programs, instead of being small parts entwined in a larger chunk of code. The migration of select kernel code into userspace has the additional benefit of making the system more robust; if a userspace driver crashes, it will not crash the kernel. Energy Input: The energy placed into a reaction. ... Energy Input: The energy placed into a reaction. ... A virtual file system (VFS) or virtual filesystem switch is an abstraction layer on top of a more concrete file system. ... A virtual file system (VFS) or virtual filesystem switch is an abstraction layer on top of a more concrete file system. ...


System calls are being split into userland and kernel versions, as well as being encapsulated into messages. This will help reduce the size and complexity of the kernel by moving variants of standard system calls into a userland compatibility layer, as well as help maintain forwards and backwards compatibility between DragonFly versions. Linux and other Unix-like OS compatibility code is being migrated out similarly. Multiple instances of the 'native' userland compatibility layer created in jails could give DragonFly functionality similar to that found in User Mode Linux (UML). Unlike UML (which is essentially a port of Linux to itself as if the host kernel was a different hardware platform), DragonFly's virtualization will not require special drivers to communicate with the real hardware on the computer. In computing, a system call is the mechanism used by an application program to request service from the operating system. ... In software engineering, a compatibility layer allows binaries for an emulated system to run on a host system. ... Linux (IPA pronunciation: ) is a Unix-like computer operating system. ... Diagram of the relationships between several Unix-like systems A Unix-like operating system is one that behaves in a manner similar to a Unix system, while not necessarily conforming to or being certified to any version of the Single UNIX Specification. ... User-mode Linux (UML) is an architectural port of the Linux kernel to its own system call interface. ...


CPU localization

In DragonFly, threads are locked to CPUs by design, and each processor has its own LWKT scheduler. Threads are never preemptively switched from one processor to another; they are only migrated by the passing of an "Interprocessor Interrupt" (IPI) message between the CPUs involved. Interprocessor thread scheduling is also accomplished by sending asynchronous IPI messages. One advantage to this clean compartmentalization of the threading subsystem is that the processors' on-board caches in SMP systems do not contain duplicated data, allowing for higher performance by giving each processor in the system the ability to use its own cache to store different things to work on. Die of an Intel 80486DX2 microprocessor (actual size: 12×6. ... An Inter-Processor Interrupt (IPC) is a special type of interrupt by which one processor may interrupt another processor in a multiprocessor system. ... For the Macintosh operating system, which was called System up to version 7. ... Diagram of a CPU memory cache A CPU cache is a cache used by the central processing unit of a computer to reduce the average time to access memory. ...


The LWKT subsystem is being employed to partition work among multiple kernel threads (for example in the networking code; one thread per protocol per processor), reducing contention by removing the need to share certain resources among various kernel tasks. This thread partitioning implementation of CPU localization algorithms is arguably the key differentiating feature of DragonFly's design.


Protecting shared resources

In order to run safely on multiprocessor machines, access to shared resources (files, data structures etc.) must be serialized so that threads or processes do not attempt to modify the same resource at the same time. Atomic operations, spinlocks, critical sections, mutexes, serializing tokens and message queues are all possible methods that can be used to prevent concurrent access. Whereas both Linux and FreeBSD 5 employ fine-grained mutex models to achieve higher performance on multiprocessor systems, DragonFly does not. In order to prevent multiple threads from accessing or modifying a shared resource simultaneously, DragonFly employs critical sections, and serializing tokens to prevent concurrent access. Until recently, DragonFly also employed SPLs, but these were replaced with critical sections. In software engineering, a spinlock is a lock where the thread simply waits in a loop (spins) repeatedly checking until the lock becomes available. ... In computer programming a critical section is a piece of code that can only be executed by one process at a time. ... Mutual exclusion (often abbreviated to mutex) algorithms are used in concurrent programming to avoid the simultaneous use of un-shareable resources by pieces of computer code called critical sections. ... Multiprocessing is traditionally known as the use of multiple concurrent processes in a system as opposed to a single process at any one instant. ... SPL is short for Set Priority Level: The naming goes back to the early days of UNIX on the PDP-11. ...


Much of the system's core including the LWKT subsystem, the IPI messaging subsystem and the new kernel memory allocator among other things are lockless, meaning that they work without using mutexes, and operate on a per-CPU basis. Critical sections are used to protect against local interrupts and operate on a per-CPU basis, guaranteeing that a thread currently being executed will not be preempted.


Serializing tokens are used to prevent concurrent accesses from other CPUs and may be held simultaneously by multiple threads, ensuring that only one of those threads is running at any given time. Blocked or sleeping threads therefore do not prevent other threads from accessing the shared resource unlike a thread that is holding a mutex. Among other things, the use of serializing tokens prevents many of the situations that could result in deadlocks and priority inversions when using mutexes, as well as greatly simplifying the design and implementation of a many-step procedure that would require a resource to be shared among multiple threads. The serializing token code is evolving into something quite similar to the "Read-copy-update" feature now available in Linux. Unlike Linux's current RCU implementation, DragonFly's is being implemented such that only processors competing for the same token are affected rather than all processors in the computer. Serializing tokens are a new concept in concurrency control arising from the ongoing development of DragonFly BSD. According to Matt Dillon, they are most akin to SPLs, except a token works across multiple CPUs while SPLs only work within a single CPUs domain. ... It has been suggested that Circular wait be merged into this article or section. ... In scheduling, priority inversion is the inverting the relative priorities of the two tasks. ... Read-copy-update is an operating system kernel technology for improving performance on computers with more than one CPU. The basic idea is as follows. ...


Additional features

Early on in its development, DragonFly acquired a slab allocator, which replaced the aging FreeBSD 4 kernel memory allocator. The new slab allocator requires neither mutexes nor blocking operations for memory assignment tasks and, unlike the code it replaced, is multiprocessor safe. Slab Allocator is a cache management structure for efficient use of kernel memory. ...


DragonFly uses SFBUFs (Super-Fast BUFfers) and MSFBUFs (Multi-SFBUFs). A SFBUF is used to manage ephemeral single-page mappings and cache them when appropriate. They are used for retrieving a reference to data that is held by a single VM page. This simple, yet powerful, abstraction gives a broad number of abilities, such as zero-copy achieved in the sendfile(2) system call.


SFBUFs are used in numerous parts of the kernel, such as the Vnode Object Pager and the PIPE subsystems (indirectly via XIOs) for supporting high-bandwidth transfers. An SFBUF can only be used for a single VM page; MSFBUFs are used for managing ephemeral mappings of multiple-pages. A pipeline of three programs run on a text terminal In Unix-like computer operating systems, a pipeline is the original software pipeline: a set of processes chained by their standard streams, so that the output of each process (stdout) feeds directly as input (stdin) of the next one. ...


The SFBUF concept was devised by David Greenman of the FreeBSD Project when he wrote the sendfile(2) system call; it was later revised by Dr. Alan L. Cox and Matthew Dillon. MSFBUFs were designed by Hiten Pandya and Matthew Dillon.


Development and distribution

DragonFly forked from FreeBSD 4.8 and imports features and bug fixes from FreeBSD 4 and 5 where appropriate, such as ACPI and a new ATA driver framework from FreeBSD 4. As the number of DragonFly developers is currently small, with most of them focused on implementing basic functionality, device drivers are being kept mostly in sync with FreeBSD 5.x, the branch of FreeBSD where all new drivers are being written. The DragonFly developers are slowly moving toward using the "busdma" APIs, which will help to make the system easier to port to new architectures, but it is not a major focus at this time. The Advanced Configuration and Power Interface (ACPI) specification is an open industry standard first released in December 1996 developed by HP, Intel, Microsoft, Phoenix and Toshiba that defines common interfaces for hardware recognition, motherboard and device configuration and power management. ... ATA cables: 40 wire ribbon cable top, 80 wire ribbon cable bottom Advanced Technology Attachment (ATA) is a standard interface for connecting storage devices such as hard disks and CD-ROM drives inside personal computers. ... Windows XP loading drivers during a Safe Mode bootup A device driver, or a software driver is a specific type of computer software, typically developed to allow interaction with hardware devices. ... In computing, busdma is a set of APIs designed to help make device drivers less dependent on platform specific code, allowing the host operating system to be more easily ported to new computer hardware. ... API may refer to: In computing, application programming interface In petroleum industry, American Petroleum Institute In education, Academic Performance Index This page concerning a three-letter acronym or abbreviation is a disambiguation page — a navigational aid which lists other pages that might otherwise share the same title. ...


As with OpenBSD, the developers of DragonFly BSD are actively replacing "K&R" style C code with more modern, ANSI equivalents. Also like OpenBSD, DragonFly's version of the GNU Compiler Collection has an enhancement called the "Stack-Smashing Protector" (formerly known as "ProPolice") enabled by default, providing some additional protection against buffer overflow based attacks. It should be noted that as of Saturday, July 23, 2005, the kernel is no longer built with this protection by default. OpenBSD is a Unix-like computer operating system descended from Berkeley Software Distribution (BSD), a Unix derivative developed at the University of California, Berkeley. ... The C Programming Language, Brian Kernighan and Dennis Ritchie, one of the most read and trusted books on C. The C Programming Language (also known as K&R or the white book) is a famous computer science book which has been influential in the application and development of the C... C is a general-purpose, block structured, procedural, imperative computer programming language developed in 1972 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system. ... ANSI C (Standard C) is a variant of the C programming language. ... The GNU Compiler Collection (usually shortened to GCC) is a set of programming language compilers produced by the GNU Project. ... The Stack-Smashing Protector (sometimes called SSP, formerly known as ProPolice) is an extension to the GNU Compiler Collection that helps mitigate the damage that can be done by buffer overflow-based attacks. ... In computer security and programming, a buffer overflow, or buffer overrun, is a programming error which may result in a memory access exception and program termination, or in the event of the user being malicious, a possible breach of system security. ... is the 204th day of the year (205th in leap years) in the Gregorian calendar. ... Year 2005 (MMV) was a common year starting on Saturday (link displays full calendar) of the Gregorian calendar. ...


Being a derivative of FreeBSD, DragonFly has inherited an easy-to-use integrated build system that can rebuild the entire base system from source with only a few commands. Like people from the other BSD projects, the DragonFly developers use a version control system called CVS to manage changes to the DragonFly source code. Unlike its parent FreeBSD, DragonFly will have both stable and unstable releases in a single source tree, due to a smaller developer base. The Concurrent Versions System (CVS), also known as the Concurrent Versioning System, is an open-source version control system invented and developed by Dick Grune in the 1980s. ... Source code (commonly just source or code) is any series of statements written in some human-readable computer programming language. ...


Like the other BSD kernels (and those of most modern operating systems), DragonFly employs a built-in kernel debugger to help the developers find kernel bugs. Furthermore, as of Wednesday, October 20, 2004, a debug kernel, which makes bug reports more useful for tracking down kernel-related problems, is installed by default, at the expense of a relatively small quantity of disk space. When a new kernel is installed, the backup copy of the previous kernel and its modules are stripped of their debugging symbols to further minimize disk space usage. A kernel debugger is a debugger present in some kernels to ease debugging and kernel development by the kernel developers. ... October 20 is the 293rd day of the year (294th in leap years) in the Gregorian calendar. ... Year 2004 (MMIV) was a leap year starting on Thursday of the Gregorian calendar. ...


The operating system is distributed as a live CD that boots into a complete DragonFly system. It includes the base system and a complete set of manual pages, and may include source code and useful packages in future versions. The advantage of this is that with a single CD you can install the software onto a computer, use a full set of tools to repair a damaged installation, or demonstrate the capabilities of the system without installing it. Daily snapshots are available from Simon 'corecode' Schubert via FTP and HTTP for those who want to install the most recent versions of DragonFly without building from source. Gnoppix 0. ...


Like the other free, open source BSDs (NetBSD being the notable exception, still preferring the original 4-clause BSD license), DragonFly is distributed under the terms of the modern version of the BSD license. The BSD license is a permissive license and is one of the most widely used free software licenses. ...


Releases

Version 1.0

DragonFly BSD 1.0, released July 12, 2004, was meant to be a "technology showcase" rather than an integrated production release. It featured the new "BSD Installer," the LWKT subsystem and the associated LW ports/messaging system, a mostly MP safe networking stack, lockless memory allocator and the FreeBSD 4.x ports and packages system (which was very briefly broken following the release). is the 193rd day of the year (194th in leap years) in the Gregorian calendar. ... Year 2004 (MMIV) was a leap year starting on Thursday of the Gregorian calendar. ...


Amiga-style 'resident' application support was added which takes a snapshot of a large, dynamically linked program's virtual memory space after loading, allowing future instances of the program to start much more quickly than it otherwise would have. This replaces the prelinking capability that was being worked on earlier in the project's history, as the resident support is much more efficient. Large programs like those found in KDE with many shared libraries will benefit the most from this support. prelink is a Free program written by Jakub Jelinek of Red Hat for POSIX-compliant operating systems, principally Linux (because it modifies ELF executables). ... KDE (K Desktop Environment) (IPA: ) is a free software project which aims to be a powerful system for an easy-to-use desktop environment. ... Illustration of an application which may use libvorbisfile. ...


Other features introduced in this release include variant symlinks and application checkpointing support. In computer programming, a variant symlink is a symlink that has a variable name embedded in it. ... To quote Matt Dillon (of DragonFly BSD), Checkpointing allows you to freeze a copy of an application so that, in theory, you can restore the program to that running state at a later point in time. ...


Due to a serious bug in the installer, an updated 1.0A release of DragonFly was released shortly afterward.


Version 1.2

This second release of DragonFly, on April 8, 2005, contained many bug fixes and new features. [1] New to this release were things such as TCP SACK, ALTQ and PF (OpenBSD's firewall), TLS (thread-local storage) support, DCONS support (console over firewire), IPv6 improvements, and the rewritten namecache infrastructure, which is now distinct from the VFS code, and now capable of allowing the DragonFly developers to implement namecache based security mechanisms. April 8 is the 98th day of the year (99th in leap years) in the Gregorian calendar. ... Year 2005 (MMV) was a common year starting on Saturday (link displays full calendar) of the Gregorian calendar. ... ALTQ is an ALTernate Queueing framework for BSD UNIX. ALTQ provides queueing disciplines and other QoS related components required to realize resource-sharing and Quality of Service. ... PF (Packet Filter) is OpenBSDs stateful packet filter, written by Daniel Hartmeier. ... In computer programming, thread-local storage is static or global memory local to a thread. ... It has been suggested that IPv6 internet be merged into this article or section. ...


Like the first release, 1.2 still utilizes the FreeBSD ports system for third party packages, but NetBSD's "pkgsrc" now natively supports DragonFly, and is available as an option. NetBSD is a freely redistributable, open source version of the Unix-like BSD computer operating system. ... pkgsrc (package source) is a package management system for Unix-like operating systems. ...


Dillon has stated that this will be the last release of DragonFly that employs the MP lock in common code paths.


Version 1.4

The third release of DragonFly was made available on January 7, 2006. Many new drivers and bug fixes have gone into the system. GCC version 3.4 is now required to build the system, and the older compiler suite will no longer work, due to the increasing use of TLS support. NetBSD's pkgsrc is now the default packaging system, although the buildtools are not yet included in DragonFly's CVS repository. So far, there is not an official set of prebuilt packages made specifically for this release, and many packages (KDE and GNOME most notably) in the current pkgsrc snapshot do not build cleanly on the system. Citrus from the NetBSD project has also been imported. is the 7th day of the year in the Gregorian calendar. ... Year 2006 (MMVI) was a common year starting on Sunday (link displays full 2006 calendar) of the Gregorian calendar. ... pkgsrc (package source) is a package management system for Unix-like operating systems. ... The CITRUS (Comprehensive I18N Framework Towards Respectable Unix Systems) project aims to implement a complete multilingual programming environment for BSD-based operating systems. ...


Version 1.6

The fourth major release of DragonFly, on July 25, 2006. The biggest user-visible changes in this release are a new random number generator, a massive reorganization of the 802.11 (wireless) framework, and extensive bug fixes in the kernel. Also made significant progress in pushing the big giant lock inward and made extensive modifications to the kernel infrastructure with an eye towards DragonFly's main clustering and userland VFS goals. DragonFly's team consider 1.6 to be more stable than 1.4. is the 206th day of the year (207th in leap years) in the Gregorian calendar. ... Year 2006 (MMVI) was a common year starting on Sunday (link displays full 2006 calendar) of the Gregorian calendar. ...


Version 1.8

With the 1.8 release, DragonFly has improved several kernel features and has implemented a virtual kernel (similar to User Mode Linux or Linux KVM). Version 1.8.1 was released on March 27, 2007, primarily to provide security updates and bugfixes, including to the dynamic loader and virtual kernel.[2] is the 86th day of the year (87th in leap years) in the Gregorian calendar. ... Year 2007 (MMVII) is the current year, a common year starting on Monday of the Gregorian calendar and the AD/CE era. ... A software bug is an error, flaw, mistake, failure, or fault in a computer program that prevents it from behaving as intended (e. ...


Version 1.10

August 06, 2007 saw the release of DragonFly 1.10. New to this release was the near completion of the new userland threading system, and native support (which was imported from FreeBSD) for the protocol used by SATA controllers. SMP support for virtual kernels was also enabled as a testbed for the various new multiprocessing features. Additionally many cleanups were done in the disk layer, many wireless drivers, and the USB subsystem. The old FreeBSD 4 derived ports system for installing third party applications was also finally retired. A fairly serious mbuf memory leak was discovered soon after the release and corrected, tho there was not an immediate release of a new installation disk. The updated version 1.10.1 was released on August 22, 2007, complete with fixes for the issues in 1.10.0. August 6 is the 218th day of the year in the Gregorian Calendar (219th in leap years), with 147 days remaining. ... Year 2007 (MMVII) is the current year, a common year starting on Monday of the Gregorian calendar and the AD/CE era. ... A SATA power connector. ... is the 234th day of the year (235th in leap years) in the Gregorian calendar. ... Year 2007 (MMVII) is the current year, a common year starting on Monday of the Gregorian calendar and the AD/CE era. ...


Future directions

Supported processors

Currently, DragonFly runs on x86 (Intel and AMD) based computers, both single processor and SMP models. A port to the x86-64 architecture has been started, but is not yet usable. A port to the PowerPC processor has been speculated about sometime following the eventual x86-64 port. x86 or 80x86 is the generic name of a microprocessor architecture first developed and manufactured by Intel. ... Intel Corporation (NASDAQ: INTC, SEHK: 4335), founded in 1968 as Integrated Electronics Corporation, is an American multinational corporation that is best known for designing and manufacturing microprocessors and specialized integrated circuits. ... Advanced Micro Devices, Inc. ... Symmetric Multiprocessing, or SMP, is a multiprocessor computer architecture where two or more identical processors are connected to a single shared main memory. ... The AMD64 or x86-64 is a 64-bit processor architecture invented by AMD. It is a superset of the x86 architecture, which it natively supports. ... PowerPC is a RISC microprocessor architecture created by the 1991 Apple–IBM–Motorola alliance, known as AIM. Originally intended for personal computers, PowerPC CPUs have since become popular embedded and high-performance processors as well. ...


Package management

DragonFly used to use FreeBSD's Ports system for third party software, with NetBSD's "pkgsrc" available as an option, but since the 1.4 release, pkgsrc [2] is the official package management system. By supporting pkgsrc, the DragonFly developers are largely freed of having to maintain a large number of third party programs, while still having access to up to date applications. The pkgsrc developers also benefit from this arrangement as it helps to ensure the portability of the code. pkgsrc (package source) is a package management system for Unix-like operating systems. ... pkgsrc (package source) is a package management system for Unix-like operating systems. ...


Threading and messaging

Although both system calls and device I/O have been largely converted to DragonFly's threaded messaging interface, both still operate synchronously. Ultimately, the entire messaging system is to be capable of both synchronous and asynchronous operation.


Userland threading support is also a focus for upcoming releases. Currently, DragonFly has only basic userland threading support that does not take advantage of multiprocessor systems (N:1 threading). Work to address this has been ongoing almost since the inception of the project, and a modern implementation is expected for version 2.0. Matt has said that ideally, an M:N implementation is preferable (N userland threads making use of a smaller number of kernel threads (M)), but the support planned for 2.0 is likely going to be a 1:1 implementation (one kernel thread for every userland thread.)


Userland VFS and journaling

Userland VFS - the ability to migrate filesystem drivers into userspace, will take a lot of work to accomplish. Some of this work is already complete, though there is still much to do. The namecache code has been extracted from and made independent of the VFS code, and converting the VFS code to DragonFly's threaded messaging interface is Matt's next major focus. This will be more difficult than converting the device I/O and system calls was, due to the fact that the VFS system inherited from FreeBSD uses a massively reentrant model. A computer program or routine is described as reentrant if it can be safely called recursively or from multiple processes. ...


The userland VFS system is a prerequisite of a number of desired features to be incorporated into DragonFly. Dillon envisions a new package management system based at least in part, on "VFS environments" which give the packages the environment they expect to be in, independent of the larger filesystem environment and its quirks. In addition to system call message filtering, VFS environments are also to play a role in future security mechanisms, by restricting users or processes to their own isolated environments.


A new journaling layer is being developed for DragonFly for the purpose of transparently backing up entire filesystems in real-time, securely over a network. What remains to be done is the ability to restore a filesystem to a previous state, as well as general stability enhancements. This differs from traditional meta-data journaling filesystems in two ways: (1) it will work with all supported filesystems, as it is implemented in the VFS layer instead of in the individual filesystem drivers, and (2) it will back up all of the data contained on a disk or partition, instead of just meta-data, allowing for the recovery of even the most damaged of installations.


While working on the journaling code, Dillon realized that the userland VFS he envisioned may be closer than he initially thought, though it is still some ways off.


Matt Dillon started porting ZFS to DragonFly as a plan for the 1.6 release.[3] Matt Dillon is a computer scientist, born July 1, 1966 in the Bay Area and living in Berkeley, California. ... In computing, ZFS is a file system originally created by Sun Microsystems for the Solaris Operating System. ...


SSI clustering

Ultimately, Dillon wants DragonFly to natively enable "secure anonymous system clustering over the Internet", and the light weight ports/messaging system will help to provide this capability. Security settings aside, there is technically no difference between messages created locally or on another computer over a network. Achieving this "single-system image" capability transparently will be a big job, and will take quite some time to properly implement, even with the new foundation fully in place. While some of the short term goals of the project will be completed in months, other features may take years to complete. SSI clustering will have applications in scientific computing. Matt Dillon is a computer scientist, born July 1, 1966 in the Bay Area and living in Berkeley, California. ... Clustering can refer to Computer clustering - (in Computer science) the connection of many low-cost computers using special hardware and software such that they can be used as one larger computer. ... Single-system image or SSI is when the Operating System maintains its state as a single copy of data in memory. ...


See also

Image File history File links This is a lossless scalable vector image. ... There are a number of Unix-like operating systems based on, or descended from, the Berkeley Software Distribution (BSD) series of Unix variants. ...

References

  1. ^ Dillon, Matt. (2003-07-16). Announcing DragonFly BSD!. Retrieved on 2007-07-26.
  2. ^ Dillon, Matt. Release Notes for DragonFly 1.8.1. Retrieved on 2007-03-27.
  3. ^ Dillon, Matt. Plans for 1.5. Retrieved on 2006-04-24.

Year 2007 (MMVII) is the current year, a common year starting on Monday of the Gregorian calendar and the AD/CE era. ... is the 207th day of the year (208th in leap years) in the Gregorian calendar. ... Year 2007 (MMVII) is the current year, a common year starting on Monday of the Gregorian calendar and the AD/CE era. ... is the 86th day of the year (87th in leap years) in the Gregorian calendar. ... Year 2006 (MMVI) was a common year starting on Sunday (link displays full 2006 calendar) of the Gregorian calendar. ... is the 114th day of the year (115th in leap years) in the Gregorian calendar. ...

External links

General information

Documentation

News and interviews

is the 72nd day of the year (73rd in leap years) in the Gregorian calendar. ... Year 2004 (MMIV) was a leap year starting on Thursday of the Gregorian calendar. ... is the 189th day of the year (190th in leap years) in the Gregorian calendar. ... Year 2004 (MMIV) was a leap year starting on Thursday of the Gregorian calendar. ...

Technology references


  Results from FactBites:
 
Berkeley Software Distribution - Wikipedia, the free encyclopedia (2279 words)
While BSD itself was largely superseded by the System V Release 4 and OSF/1 systems in the 1990s (both of which incorporated BSD code), in recent years modified open source versions of the codebase have seen increasing use and development.
The lawsuit slowed development of the free-software descendants of BSD for nearly two years while their legal status was in question, and as a result systems based on the Linux kernel, which did not have such legal ambiguity, gained greater support.
Today, BSD continues to be used as a testbed for technology by academic organizations, as well as finding uses in a lot of commercial and free products and, increasingly, in embedded devices.
  More results at FactBites »

 

COMMENTARY     


Share your thoughts, questions and commentary here
Your name
Your location
Your comments
Please enter the 5-letter protection code


Lesson Plans | Student Area | Student FAQ | Reviews | Press Releases |  Feeds | Contact
The Wikipedia article included on this page is licensed under the GFDL.
Images may be subject to relevant owners' copyright.
All other elements are (c) copyright NationMaster.com 2003-5. All Rights Reserved.
Usage implies agreement with terms.