| License | Kernel type | Kernel programming language | Kernel Thread support | OS family: | Oldest non-EOL version | Forks | |
|---|---|---|---|---|---|---|---|
| Linux | GPL/LGPL | Monolithic with modules | C | 1:1 | Unix-like | 2.4 | µClinux |
| FreeBSD | BSD (Typically, GPL/LGPL software included) | Monolithic with modules | C | 1:1 | BSD, Unix-like | 6.3 | DragonFly BSD |
| OpenBSD | BSD | Monolithic with modules | C | 1:1 | BSD, Unix-like | 4.2 | MirOS |
| NetBSD | BSD | Monolithic with modules | C | 1:1, M:N | BSD, Unix-like | 4 | OpenBSD |
| DragonFly BSD | BSD | Hybrid | C | BSD, Unix-like | No | ||
| OpenSolaris | CDDL | Monolithic with modules | C | 1:1, M:N | Unix | No | |
| AuroraUX | BSD/CDDL | Monolithic with modules | C, Ada | 1:1, M:N | Unix | No | |
| Darwin OpenDarwin PureDarwin | APSL | Hybrid | C, C++ | 1:1 | BSD, Unix, Unix-like, Mac OS X | No | |
| Minix | BSD | Microkernel | C | Unix-like | No | ||
| FreeDOS | GPL | Monolithic | C | MSDOS, PCDOS | 1.0 | ||
| Haiku | MIT | Hybrid | C, C++ | BeOS | No | ||
| House | BSD | Haskell | own/original | No | |||
| KolibriOS | GPL | Monolithic | ASM | own/original | No | ||
| MenuetOS | Menuet 64 | Monolithic | ASM | own/original | No | KolibriOS | |
| GNU Mach GNU Hurd | GPL | Microkernel | Unix-like | No | |||
| ReactOS | GPL/LGPL | Hybrid | C, C++ | Windows-like | No | ||
| L4 Fiasco Pistachio | GPL | Microkernel | C++ | L4 | No | ||
| Plan 9 | LPL | Monolithic | C | 1:1, 1:M Cothread style. | own, unix inspired | No | Inferno, Plan B |
| AROS | APL | Microkernel | C | AmigaOS | No | ||
| Syllable | GPL | Monolithic with modules | C, C++ | 1:1 | Unix-like, BeOS, AmigaOS, POSIX | No | |
| Inferno | GPL/LGPL/MIT | C | Plan 9 | No | OzInferno | ||
| FreeRTOS | modified GPL | RTOS | C | RTOS | No | ||
| eCos | modified GPL/eCos | RTOS | C, C++ | RTOS | No | ||
| pico]OS | BSD | RTOS | C | RTOS | No | ||
| RTEMS | modified GPL, BSD | RTOS | C and ASM with native support for other languages including C++ and Ada | POSIX, RTEID/ORKID, uITRON | RTOS | 4.7.1 | |
| HelenOS | BSD | Microkernel | C | M:N | own/original | No | |
| E/OS | GPLv2 | Monolithic | ASM, C | 1:1 | BeOS, Unix-like | No | |
| License | Kernel type | Kernel programming language | Kernel Thread support | OS family: | Oldest non-EOL version | Forks |
| x86 / i386 / IA-32 | x86 SMP | Xen | IA-64 | x86-64 | PowerPC | PowerPC SMP | SPARC32 | SPARC SMP | Alpha | MIPS | ARM | XScale | M68k | PA-RISC | other | hosted mode | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Linux | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | FR-V, Cell, ETRAX CRIS, M32R, Xtensa, h8, s390, SuperH | UML, coLinux, MkLinux, Itanium Linux-on-Linux, wombat |
| FreeBSD | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | No | No | PC98 | |
| OpenBSD | Yes | Yes | No | No | Yes | Yes | No | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | SuperH, VAX, m88k | |
| NetBSD | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | SuperH, ns32k, VAX | |
| DragonFly BSD | Yes | Yes | No | No | Yes | No | No | No | No | No | No | No | No | No | No | vkernel | |
| OpenSolaris | Yes | Yes | Yes | No | Yes | No | No | Yes | Yes | No | No | No | No | No | No | ||
| AuroraUX | Yes | Yes | Yes | No | Yes | Yes | No | Yes | Yes | No | Yes | Yes | No | No | No | ||
| Darwin OpenDarwin | Yes | Yes | No | No | Yes | Yes | Yes | No | No | No | No | Yes | No | Yes | No | L4/Darwin | |
| Minix | Yes | No | No | No | No | No | No | No | No | No | No | No | No | No | No | ||
| FreeDOS | Yes | No | No | No | No | No | No | No | No | No | No | No | No | No | No | ||
| Haiku | Yes | Yes | No | No | No | No | No | No | No | No | No | No | No | No | No | ||
| KolibriOS | Yes | No | No | No | Yes | No | No | No | No | No | No | No | No | No | No | ||
| MenuetOS | Yes | No | No | No | Yes | No | No | No | No | No | No | No | No | No | No | ||
| GNU Mach GNU Hurd | Yes | No | No | No | No | No | No | No | No | No | No | No | No | No | Yes | ||
| ReactOS | Yes | Yes | No | No | Yes | No | No | No | No | No | No | Yes | No | No | No | ||
| L4 Pistachio | Yes | No | No | Yes | Yes | Yes | No | No | No | Yes | Yes | Yes | No | No | No | ||
| Plan 9 | Yes | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | See and | lguest, vx32 |
| AROS | Yes | No | No | No | Yes | Yes | No | No | No | No | No | No | No | Yes | No | i386-linux, i386-freebsd | |
| Syllable | Yes | Yes | No | No | No | No | No | No | No | No | No | No | No | No | No | ||
| Inferno | Yes | ? | No | No | ? | Yes | ? | Yes | ? | No | Yes | Yes | Yes | Yes | No | AMD Am29000, Texas Instruments OMAP | Microsoft Windows, Linux, FreeBSD, Plan 9, Mac OS X, Solaris, Irix, Unixware, HP-UX, Internet Explorer |
| FreeRTOS | Yes | No | No | No | No | No | No | No | No | No | Yes | Yes | No | No | No | AVR, PIC, MSP430, HCS12, 8052, MicroBlaze, Cortex-M3, H8S | |
| eCos | Yes | Yes | No | No | No | Yes | No | Yes | No | No | Yes | Yes | Yes | Yes | No | CalmRISC, ColdFire, FR-V, h8, Matsushita AM3x, Nios II, NEC V8xx, SuperH | Microsoft Windows, Linux |
| pico]OS | Yes | No | No | No | No | Yes | No | No | No | No | No | Yes | No | No | No | 6502, AVR | 80x86 DOS, 80x86 WIN32 |
| RTEMS | Yes | No | Xen | No | No | Yes | No | Yes | No | No | Yes | Yes | Yes | Yes | Yes | Blackfin, Nios II, Coldfire, Texas Instruments C3x/C4x, SuperH, H8S | Linux, Solaris, Cygwin, FreeBSD plus multiple CPU simulators |
| HelenOS | Yes | Yes | No | Yes | Yes | Yes | No | No | Yes | No | Yes | Yes | No | No | No | ||
| E/OS | Yes | No | No | No | No | No | No | No | No | No | No | Yes | No | No | No | ||
| x86 / i386 / IA-32 | x86 SMP | Xen | IA-64 | x86-64 | PowerPC | PowerPC SMP | SPARC32 | SPARC SMP | Alpha | MIPS | ARM | XScale | M68k | PA-RISC | other | hosted mode |
| ATA | SATA | SCSI | USB 2.0 | USB 1.1 | FireWire | PCMCIA/PC card | AGP | Nvidia official driver IA32 | Nvidia official driver IA64 | Nvidia official driver AMD64 | ATI official driver x86 | ATI official driver x86_64 | Ati r200 free software driver | Ati r300 free software driver | Nvidia free software driver | Audio | TV tuner, video editing or webcam | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Linux | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes,nv(2d only),nouveau(3d with mesa) | OSS, ALSA | V4L,V4L2 |
| FreeBSD | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | Yes | Yes | Yes | Yes | Yes |
| OpenBSD | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes | No | No | No | No | No | Yes | 2d only | 2d only | Yes | Yes |
| NetBSD | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | No | No | Yes | Yes | |||
| DragonFly BSD | Yes | Yes | Yes | Yes | Yes | No | No | No | No | No | Yes | |||||||
| OpenSolaris | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | No | No | Yes | ||||
| AuroraUX | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | No | No | Yes | ||||
| Darwin and OpenDarwin | Yes | Yes | Yes | Yes | Yes | No | No | No | No | No | ||||||||
| Minix | No | No | No | No | No | |||||||||||||
| FreeDOS | Yes | Yes | Yes | No | No | No | Yes | No | No | No | No | No | No | No | No | Yes | No | |
| Haiku | Yes | Yes | Yes | No | No | No | No | No | Yes | |||||||||
| KolibriOS | Yes | Yes | No | No | No | No | No | No | No | No | No | No | Yes | No | ||||
| MenuetOS | Yes | No | No | No | No | No | No | No | No | No | No | No | No | |||||
| GNU Mach and GNU Hurd | Yes | No | No | No | No | No | No | No | No | No | No | |||||||
| ReactOS | Yes | Yes | Yes | Yes | Yes | No | No | Yes | No | No | No | No | No | Yes | ||||
| L4, Fiasco and Pistachio | No | No | No | No | No | |||||||||||||
| Plan 9 | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | No | No | Yes | Yes | |||||
| AROS | Yes | Yes | No | No | No | own | No | 2D only | ||||||||||
| Syllable | Yes | Yes | Yes | Yes | Yes | No | No | No | No | No | Yes | |||||||
| Inferno | Yes | No | Yes | No | No | No | Yes | Yes | No | No | No | No | No | Yes | ||||
| FreeRTOS | No | No | No | No | No | |||||||||||||
| eCos | Yes | Yes | Yes | Yes | No | No | No | No | No | |||||||||
| pico]OS | No | No | No | No | No | |||||||||||||
| RTEMS | Yes | Yes | No | No | No | No | No | |||||||||||
| HelenOS | Yes | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No |
| E/OS | Yes | Yes | Yes | No | Yes | Yes | Yes | No | No | No | No | No | No | Yes | Yes | |||
| No | No | |||||||||||||||||
| ATA | SATA | SCSI | USB 2.0 | USB 1.1 | FireWire | PCMCIA/PC card | AGP | Nvidia official driver IA32 | Nvidia official driver IA64 | Nvidia official driver AMD64 | ATI official driver x86 | ATI official driver x86_64 | Ati r200 free software driver | Ati r300 free software driver | Nvidia free software driver | Audio | TV tuner, video editing or webcam |
| Networking supported | NE2000/RTL8029 | RTL8139 | Gigabit Ethernet | 10-gigabit Ethernet | Wireless LAN | Bluetooth | IrDA | |
|---|---|---|---|---|---|---|---|---|
| Linux | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| FreeBSD | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| OpenBSD | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No |
| NetBSD | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| DragonFly BSD | Yes | Yes | Yes | Yes | ||||
| OpenSolaris | Yes | Yes | Yes | Yes | Yes | No | No | |
| AuroraUX | Yes | Yes | Yes | Yes | Yes | No | No | |
| Darwin OpenDarwin | Yes | |||||||
| Minix | Yes | Yes | ||||||
| FreeDOS | Yes | Yes | Yes | |||||
| Haiku | Yes | Yes | Yes | Yes | Yes | |||
| KolibriOS | Yes | Yes | Yes | No | Yes | |||
| MenuetOS | Yes | Yes | No | No | ||||
| GNU Mach GNU Hurd | ||||||||
| ReactOS | Yes | Yes | Yes | Yes | Yes | Yes | No | No |
| L4 Fiasco Pistachio | ||||||||
| Plan 9 | Yes | Yes | Yes | Yes | Yes | No | No | |
| AROS | Yes | Yes | ||||||
| Syllable | Yes | Yes | Yes | Yes | ||||
| Inferno | Yes | Yes | Yes | Yes | Yes | No | No | |
| FreeRTOS | ||||||||
| eCos | Yes | Yes | Yes | |||||
| pico]OS | ||||||||
| RTEMS | Yes | Yes | Yes | Yes | No | No | No | No |
| HelenOS | Yes | Yes | No | No | No | No | No | No |
| E/OS | Yes | Yes | Yes | Yes | Yes | No | No | No |
| Networking supported | NE2000/RTL8029 | RTL8139 | Gigabit Ethernet | 10-gigabit Ethernet | Wireless LAN | Bluetooth | IrDA |
| Firewall | TCP/IP | IPv6 | IPX | PPP | PPPoE | DHCP | bridge | TUN/TAP | ssh | OpenVPN | |
|---|---|---|---|---|---|---|---|---|---|---|---|
| Linux | netfilter/iptables | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| FreeBSD | IPFW2, IPFilter, PF | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| OpenBSD | PF | Yes | Yes | No | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
| NetBSD | IPFilter, PF | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |
| DragonFly BSD | IPFW2, IPFilter, PF | Yes | Yes | Yes | Yes | ||||||
| OpenSolaris | IPFilter | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||
| AuroraUX | IPFilter | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | ||
| Darwin OpenDarwin | IPFW | Yes | Yes | Yes | Yes | ||||||
| Minix | Yes | Yes | |||||||||
| FreeDOS | Yes | Yes | Yes | Yes | Yes | Yes | |||||
| Haiku | None | Yes | |||||||||
| KolibriOS | None | Yes | No | Yes | No | Yes | |||||
| MenuetOS | None | Yes | No | No | No | ||||||
| GNU Mach GNU Hurd | |||||||||||
| ReactOS | |||||||||||
| L4 Fiasco Pistachio | |||||||||||
| Plan 9 | ipmux | Yes | Yes | No | Yes | Yes | Yes | Yes | No | Yes | No |
| AROS | Yes | ||||||||||
| Syllable | Yes | Yes | Yes | Yes | Yes | ||||||
| Inferno | ipmux | Yes | Yes | No | Yes | Yes | Yes | Yes | No | No | No |
| FreeRTOS | |||||||||||
| eCos | Yes | Yes | Yes | Yes | Yes | ||||||
| pico]OS | |||||||||||
| RTEMS | Yes | Yes | Yes | Yes | Yes | Yes | |||||
| HelenOS | Yes | No | No | No | No | No | No | No | No | No | |
| E/OS | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | |
| Firewall | TCP/IP | IPv6 | IPX | PPP | PPPoE | DHCP | bridge | TUN/TAP | ssh | OpenVPN |
| FAT16 / dosfs, FAT32 / vfat | NTFS | Ext2 | Ext3 | XFS | ReiserFS | UFS | UFS2 | HFS | HFS+ | Minixfs | BFS | ISO 9660 | UDF | NFS | SMBFS | RAM disk / tmpfs | ZFS | Other special file systems | ||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Linux | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | 9P, FUSE, sysfs, configfs, Reiser4, JFS, Btrfs, UnionFS, Ext4 | |
| FreeBSD | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes | FUSE, nullfs, UnionFS | |
| OpenBSD | Yes | Yes | Yes | Yes | No | Yes | No | No | No | No | No | Yes | Yes | Yes | Yes | Yes | No | AFS | ||
| NetBSD | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | No | PUFFS, LFS, EFS | |||||||
| DragonFly BSD | Yes | Yes | Yes | Yes | Yes | Yes | No | nullfs | ||||||||||||
| OpenSolaris | Yes | Yes | No | No | No | No | Yes | No | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes | CIFS (native), QFS | ||
| AuroraUX | Yes | Yes | Yes | Yes | No | No | Yes | No | No | No | No | Yes | Yes | Yes | Yes | Yes | Yes | CIFS (native), QFS | ||
| Darwin OpenDarwin | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | Yes | |||||||||||
| Minix | Yes | No | Yes | No | ||||||||||||||||
| FreeDOS | Yes | No | No | No | No | No | No | No | No | Yes | Yes | |||||||||
| Haiku | Yes | Yes | Yes | |||||||||||||||||
| KolibriOS | Yes | Yes | Yes | Yes | ||||||||||||||||
| MenuetOS | Yes | |||||||||||||||||||
| GNU Mach GNU Hurd | Yes | Yes | Yes | Yes | Yes | Yes | ||||||||||||||
| ReactOS | Yes | Yes | No | No | No | No | No | No | ||||||||||||
| L4 Fiasco Pistachio | Yes | No | ||||||||||||||||||
| Plan 9 | Yes | Yes | No | No | No | No | No | No | No | No | No | Yes | No | Yes | Yes | Yes | Fossil, Venti, most system services | |||
| AROS | Yes | Yes | SFS, AFFS | |||||||||||||||||
| Syllable | Yes | Yes | Yes | Yes | Yes | Yes | Yes | AFS | ||||||||||||
| Inferno | Yes | No | No | No | No | No | No | No | No | No | No | No | Yes | No | No | No | Yes | kfs, most system services | ||
| FreeRTOS | ||||||||||||||||||||
| eCos | Yes | Yes | Yes | MMFS, ROMfs, JFFS2, YAFFS | ||||||||||||||||
| RTEMS | Yes | Yes | Yes | TarFS, TFTP FS, IMFS, miniIMFS | ||||||||||||||||
| HelenOS | Yes | No | No | No | No | No | No | No | No | No | No | No | No | No | No | No | Yes | No | devfs | |
| E/OS | Yes | No | Yes | No | No | No | No | No | No | No | Yes | Yes | Yes | No | Yes | Yes | Yes | No | ||
| FAT16 / dosfs, FAT32 / vfat | NTFS | Ext2 | Ext3 | XFS | ReiserFS | UFS | UFS2 | HFS | HFS+ | Minixfs | BFS | ISO 9660 | UDF | NFS | SMBFS | RAM disk / tmpfs | ZFS | Other special file systems |
| RAID | quota | Resource access control | encryption | other special file system features | |
|---|---|---|---|---|---|
| Linux | Yes | Yes | Unix, ACL, MAC | Yes | LVM, EVMS |
| FreeBSD | Yes | Yes | Unix, ACL, MAC | Yes | GEOM, snapshots, background fsck, user-mountable file systems |
| OpenBSD | Yes | Yes | Unix | Yes | |
| NetBSD | Yes | Yes | Unix, Veriexec | Yes | |
| DragonFly BSD | Yes | ||||
| OpenSolaris | Yes | Yes | Unix, ACL, MAC | Solaris Volume Manager, ZFS, snapshots, transparent data repair | |
| AuroraUX | Yes | Yes | Unix, ACL, MAC | Solaris Volume Manager, ZFS, snapshots, transparent data repair | |
| Darwin OpenDarwin | Yes | Unix, ACL | Yes | ||
| Minix | Unix | ||||
| FreeDOS | No | ||||
| KolibriOS | No | ||||
| MenuetOS | No | ||||
| GNU Mach GNU Hurd | Unix | ||||
| ReactOS | No | ||||
| L4 Fiasco Pistachio | |||||
| Plan 9 | No | No | Unix-like, no root | No | snapshots, venti archival storage, per-process namespace, user-mountable file systems |
| AROS | |||||
| Syllable | Unix | 64-bit, journaling, extended file attributes | |||
| Inferno | No | No | Unix-like, no root | No | per-process namespace, user-mountable file systems |
| FreeRTOS | |||||
| eCos | |||||
| pico]OS | |||||
| RTEMS | |||||
| HelenOS | No | No | No | No | No |
| E/OS | Yes | Yes | Unix | Yes | No |
| RAID | quota | Resource access control | encryption | other special file system features |
| Operating system | Mandatory access control | Software executable space protection | Operating system-level virtualization | Virtualisation | Userspace protection | Others |
|---|---|---|---|---|---|---|
| Linux | SELinux, AppArmor | Exec Shield , PaX | Chroot, namespace and cgroups, Linux-VServer, OpenVZ, FreeVPS | KVM | IPFilter, IPTables | grsecurity , RSBAC |
| FreeBSD | SeBSD , TrustedBSD | ProPolice/SSP | jail | IPFW, PF | ||
| Darwin | SEDarwin, TrustedBSD | jail | IPFW | |||
| OpenBSD | W^X | sysjail | PF, IPF | |||
| OpenSolaris | TrustedBSD | Solaris Containers | IPF | |||
| AuroraUX | TrustedBSD | Solaris Containers | IPF | |||
| Plan 9 | No | No | per-process namespaces | |||
| Inferno | No | No | per-process namespaces |
History and development
FreeBSD's development began in 1993 with a quickly growing, unofficial patchkit maintained by users of the 386BSD operating system. This patchkit forked from 386BSD and grew into an operating system taken from U.C. Berkeley's 4.3BSD-Lite (Net/2) tape with many 386BSD components and code from the Free Software Foundation. The first official release was FreeBSD 1.0 in December 1993, coordinated by Jordan Hubbard, Nate Williams and Rod Grimes with a name thought up by David Greenman. Walnut Creek CDROM agreed to distribute FreeBSD on CD and gave the project a machine to work on along with a fast Internet connection, which Hubbard later said helped stir FreeBSD's rapid growth. A "highly successful" FreeBSD 1.1 release followed in May 1994.
However, there were legal concerns about the BSD Net/2 release source code used in 386BSD. After a lawsuit between UNIX copyright owner at the time Unix System Laboratories and the University of California, Berkeley, the FreeBSD project re-engineered most of the system using the 4.4BSD-Lite release from Berkeley, which, owing to this lawsuit, had none of the AT&T source code earlier BSD versions had depended upon, making it an unbootable operating system. Following much work, the outcome was released as FreeBSD 2.0 in January 1995.
FreeBSD 2.0 featured a revamp of the original Carnegie Mellon University Mach virtual memory system, which was optimized for performance under high loads. This release also introduced the FreeBSD Ports system, which made downloading, building and installing third party software very easy. By 1996 FreeBSD had become popular among commercial and ISP users, powering extremely successful sites like Walnut Creek CD-ROM (a huge repository of software that broke several throughput records on the Internet), Yahoo! and Hotmail. The last release along the 2-STABLE branch was 2.2.8 in November 1998. FreeBSD 3.0 brought many more changes, including the switch to the ELF binary format. Support for SMP systems and the 64 bit Alpha platform were also added. The 3-STABLE branch ended with 3.5.1 in June 2000.
Beastie
FreeBSD's mascot is the generic BSD daemon, also known as Beastie
For many years FreeBSD's logo was the generic BSD daemon, also called Beastie, a slurred phonetic pronunciation of BSD. First appearing in 1976 on UNIX T-shirts purchased by Bell Labs, the more popular versions of the BSD daemon were drawn by animation director John Lasseter beginning in 1984. Several FreeBSD-specific versions were later drawn by Tatsumi Hosokawa. Through the years Beastie became both beloved and criticized as perhaps inappropriate for corporate and mass market exposure. Moreover it was not unique to FreeBSD. In lithographic terms, the Lasseter graphic is not line art and often requires a screened, four colour photo offset printing process for faithful reproduction on physical surfaces such as paper. However drawn, the BSD daemon was thought to be too graphically detailed for smooth size scaling and aesthetically over dependent upon multiple colour gradations, making it hard to reliably reproduce as a simple, standardized logo in only two or three colours, much less in monochrome. Because of these worries, a competition was held and a new logo designed by Anton K. Gural, still echoing the BSD daemon, was released on October 8, 2005. Meanwhile Lasseter's much known take on the BSD daemon carries forth as official mascot of the FreeBSD Project.
Version History
FreeBSD 4
4.0-RELEASE appeared in March 2000 and the last 4-STABLE branch release was 4.11 in January 2005. FreeBSD 4 was a favorite operating system for ISPs and web provider during the first .com bubble, and is widely regarded as one of the most stable and high performance operating systems of the whole Unix lineage.
FreeBSD 5
After almost three years of development, the first 5.0-RELEASE in January 2003 was widely anticipated, featuring support for advanced multiprocessor and application threading, and for the UltraSPARC and ia64 platforms. The first 5-STABLE release was 5.3 (5.0 through 5.2.1 were cut from -CURRENT). The last release from the 5-STABLE branch was 5.5 in May 2006.
The largest architectural development in FreeBSD 5 was a major change in the low-level kernel locking mechanisms to enable better symmetric multi-processor (SMP) support. This released much of the kernel from the MP lock, which is sometimes called the Giant lock. More than one process could now execute in kernel mode at the same time. Other major changes included an M:N native threading implementation called Kernel Scheduled Entities. In principle this is similar to Scheduler Activations. Starting with FreeBSD 5.3, KSE was the default threading implementation until it was replaced with a 1:1 implementation in FreeBSD 7.0.
FreeBSD 5 also significantly changed the block I/O layer by implementing the GEOM modular disk I/O request transformation framework contributed by Poul-Henning Kamp. GEOM enables the simple creation of many kinds of functionality, such as mirroring (gmirror) and encryption (GBDE and GELI). This work was supported through sponsorship by DARPA.
The 5.4 and 5.5 releases of FreeBSD confirmed the FreeBSD 5.x branch as a highly stable and high-performing release, although it had a long development period due to the large feature set. Earlier releases on the 5.x branch are not considered stable enough for production deployment.
FreeBSD 6
FreeBSD 6.0 was released on November 4, 2005. The most recent FreeBSD 6 release was 6.4, on November 11, 2008. These versions continue work on SMP and threading optimization along with more work on advanced 802.11 functionality, TrustedBSD security event auditing, significant network stack performance enhancements, a fully preemptive kernel and support for hardware performance counters (HWPMC). The main accomplishments of these releases include removal of the Giant lock from VFS, implementation of a better-performing optional libthr library with 1:1 threading and the addition of a Basic Security Module (BSM) audit implementation called OpenBSM, which was created by the TrustedBSD Project (based on the BSM implementation found in Apple's open source Darwin) and released under a BSD-style license.
FreeBSD 7
FreeBSD 7.0 was released on 27 February 2008. The most recent FreeBSD 7 release was 7.1, on January 05, 2009. New features include SCTP, UFS journaling, an experimental port of Sun's ZFS file system, GCC4, improved support for the ARM architecture, jemalloc (a memory allocator optimized for parallel computation, which was ported to Firefox 3), and major updates and optimizations relating to network, audio, and SMP performance. Benchmarks have shown significant speed improvements over previous FreeBSD releases as well as Linux. The new ULE scheduler has seen much improvement but a decision was made to ship the 7.0 release with the older 4BSD scheduler, leaving ULE as a kernel compile-time tunable. In FreeBSD 7.1 ULE was the default for the i386 and AMD64 architectures. Starting from version 7.1 DTrace was integrated.
FreeBSD 8
As of 2008, FreeBSD 8.0 is the "bleeding edge" development version, called -CURRENT in FreeBSD development terminology. It will feature the ability for jails to have more than one IP (with support for IPv6), superpages, Xen DomU support, network stack virtualization, stack-smashing protection, removal of Giant lock from the Tty layer, much improved ZFS support and a new USB stack. FreeBSD 8.0 is planned to be released in the 3rd quarter of 2009.
(From http://en.wikipedia.org/wiki/Freebsd, April 18, 2009)
Haiku is a free and open source operating system compatible with BeOS. Its development began in 2001, and the operating system became self-hosting in 2008, with the first alpha release in September 2009 and the second in May 2010.
Haiku is supported by Haiku, Inc., a non-profit organization based in Rochester, New York, that was founded in 2003 for that purpose.
History
Haiku began as the OpenBeOS project in 2001, the year that Be, Inc. was bought by Palm, Inc. and BeOS development was discontinued; the focus of the project was to support the BeOS user community by creating an open-source, backward-compatible replacement for BeOS. The first project by OpenBeOS was a community-created "stop-gap" update for BeOS 5.0.3 in 2002. In 2003, a non-profit organization (Haiku Inc.) was registered in Rochester, New York, to financially support development, and in 2004, after a notification of infringement upon Palm's trademark on the BeOS name was sent to OpenBeOS, the project was renamed as Haiku. However, development would only reach its first milestone in September 2009 with the release of Haiku R1/Alpha 1. This was followed in May 2010 by R1/Alpha 2, which contains more than 300 bug-fixes and improvements.
Development
Haiku is developed in C++ and provides an object-oriented API.
The modular design of BeOS allowed individual components of Haiku to initially be developed in teams in relative isolation, in many cases developing them as replacements for the BeOS components prior to the completion of other parts of the operating system. The original teams developing these components, including both servers and APIs (collectively known in Haiku as "kits"), included:
App/Interface – develops the Interface, App and Support kits.
BFS – develops the Be File System, which is mostly complete with the resulting OpenBFS.
Game – develops the Game Kit and its APIs.
Input Server – the server that handles input devices, such as keyboards and mice, and how they communicate with other parts of the system.
Kernel – develops the kernel, the core of the operating system.
Media – develops the audio server and related APIs.
MIDI – implements the MIDI protocol.
Network – writes drivers for network devices and APIs relating to networking.
OpenGL – develops OpenGL support.
Preferences – recreates the preferences suite.
Printing – works on the print servers and drivers for printers.
Screen Saver – implements screen saver functionality.
Storage – develops the storage kit and drivers for required filesystems.
Translation – recreates the reading/writing/conversion modules for the different file formats.
A few kits have been deemed feature complete and the rest are in various stages of development.
The Haiku kernel is a modular hybrid kernel and a fork of NewOS, a modular kernel written by former Be Inc. engineer Travis Geiselbrecht. Like the rest of the system it is currently still under heavy development. Many features have been implemented, including a virtual file system (VFS) layer and rudimentary symmetric multiprocessing (SMP) support.
Compatibility with BeOS
Haiku aims to be compatible with BeOS at both the source and binary level, allowing software written and compiled for BeOS to compile and run without modification on Haiku. This would provide Haiku users with an instant library of applications to choose from (even programs whose developers were no longer in business or had no interest in updating them), in addition to allowing development of other applications to resume from where they had been terminated following the demise of Be, Inc. This dedication to compatibility also has its drawbacks, though, requiring Haiku to use version 2.95 of the compiler GCC, which is 9 years old. Switching to using the newer GCC version 4 breaks compatibility with BeOS software; therefore, Haiku supports being built as a hybrid GCC4/GCC2 environment. This allows the use of both GCC version 2 and version 4 binaries at the same time.
Note that this compatibility applies to x86 systems only. The PowerPC version of BeOS R5 will not be supported. As a consequence, the ARM, 68k and PPC ports of Haiku use only the gcc4 compiler.
Despite these attempts, compatibility with a number of system add-ons that use private APIs will not be implemented. These include additional filesystem drivers and media codec add-ons, although the only affected add-ons for BeOS R5 not easily re-implemented are Indeo 5 media decoders for which no specification exists.
R5 binary applications that run successfully under Haiku (as of May 2006) include: Opera, Firefox, NetPositive, Quake II, Quake III, SeaMonkey, Vision and VLC media player.
Driver compatibility is incomplete, and unlikely to cover all kinds of BeOS drivers. 2D graphics drivers in general work exactly the same as on R5, as do network drivers. Moreover, Haiku offers a source-level FreeBSD network driver compatibility layer, which means that it can support any network hardware that will work on FreeBSD. Audio drivers using API versions prior to BeOS R5 are as-yet unsupported, and unlikely to be so; however, R5-era drivers work.
Low-level device drivers, namely for storage devices and SCSI adapters, will not be compatible. USB drivers for both the second- (BeOS 5) and third- (BeOS Dano) generation USB stacks will work, however.
In some other aspects, Haiku is already more advanced than BeOS. For example, the interface kit allows the use of a layout system to automatically place widgets in windows, while on BeOS the developer had to specify the exact position of each widget by hand. This allows for GUIs that will render correctly with any font size and makes localization of applications much easier, as a longer string in a translated language will make the widget grow, instead of being partly invisible if the widget size were fixed.
Beyond R1
Initial planning for R2 has started through the "Glass Elevator" project (a reference to the children's novel Charlie and the Great Glass Elevator). The only detail confirmed so far is that it will switch to a current GCC release (namely v4.3.3).
A compatibility layer is planned that will allow applications developed for Haiku R1 to run on Haiku R2 and later. This was mentioned in a discussion on the Haiku mailing list by one of the lead developers, Axel Dörfler. Suggested new features include file indexing on par with Unix's Beagle, Google Desktop and Mac OS X's Spotlight, greater integration of scalable vector graphics into the desktop, proper support for multiple users, and additional kits.
(From http://en.wikipedia.org/wiki/Haiku_(operating_system), May 22, 2010)
Beginnings
The development project began as "OpenBeOS" in 2001 after Palm, Inc. bought Be Inc. and discontinued BeOS, leaving BeOS users without a viable upgrade path and BeOS developers with programs stranded on an unsupported platform. OpenBeOS differed from several other contemporary projects aiming to continue BeOS. For example, Cosmoe and BlueEyedOS (both of which remain incomplete and appear to be inactive at this time) took an existing Linux or BSD kernel and re-implemented Be's APIs on top of it; this broke binary code compatibility with BeOS R5 and significantly deviated from the original design. By contrast, OpenBeOS planned an almost complete rewrite of the system, maintaining binary and source code compatibility. This should allow any existing BeOS R5 programs to run on the new system without being recompiled.
A first release of OpenBeOS was made in 2002. That release was no stand-alone operating system, instead it was a community-created update for BeOS 5.0.3 that contained open source replacements for a few BeOS components.
In 2004 a new project name was chosen in order to avoid infringing on Palm's trademarks. The name was influenced by an official community vote, decided by project leaders and revealed at that year's WalterCon. The name "Haiku" intends to reflect the elegance and simplicity that attracted many to the BeOS platform, and is also a direct reference to the distinctive haiku error messages found in NetPositive, the default BeOS web browser, and many other Be applications.
Haiku, Inc., a non-profit organization based in Rochester, New York, was founded in 2003 by former project leader Michael Phipps to support the project and the development of the Haiku operating system.
Progress
On April 29, 2002 OpenBeOS app_server prototype 5 was released. It was the first release that was able to render windows.
A number of major milestones were achieved in a six week period during March to April 2005, such as the first graphical applications to run on Haiku itself (running with full 2D acceleration), and the first use of a web browser (Links) on Haiku. Haiku does not use any code or binaries belonging to Be, Inc., including the drivers used for the graphics and network card in the original examples. Another major milestone was reached in July 2005, when the system was able to run the BeOS desktop shell, Tracker.
In October 2005, Axel Dörfler, one of the most prolific Haiku developers, became the first full-time paid Haiku developer, working via funds donated by the community. He worked on CD booting, SMP and other kernel and app_server work. His employment continued until December 2005, when the funds allocated ran out.
Work on the operating system continued; Haiku could now be booted and was semi-usable, however much work remained before a release could be made. Network and Universal Serial Bus (USB) functionality were under heavy development, but the media_server lagged behind the other components. Haiku was still quite unstable, as should be expected in its pre-release state, as crashes had been prevalent and no release date had been set. As of January 2006, project developer Stephan Aßmus suggested that at the current level of development, R1 was at least a year away, maybe two.
In August 2006, Haiku celebrated its fifth anniversary. Development on the aforementioned network and USB stacks continues rapidly, and it is expected that once these two last major remaining pieces of the operating system are complete, Haiku will be suitable for day-to-day use by developers and testers.
After a new website was launched, a contest was held to create Haiku's default icon set. The winner was Stephan Aßmus's set, "stippi". Aßmus was also the developer responsible for Haiku's icon creation tool, Icon-O-Matic, and integrating Haiku's own format of scalable vector graphics, Haiku Vector Icon Format (HVIF) into the Deskbar and Tracker. A partial implementation of the set can be found in the latest builds.
In January 2008, an official Java for Haiku team was created and was unanimously accepted by the OpenJDK Porters Group to port OpenJDK to Haiku.
In April 2008, Haiku became self-hosting, which means Haiku can be built from within itself.
On January 31, 2009, Haiku obtained a native GCC4 port; this allows modern applications, like Firefox 3, to be built on Haiku.
On July 12, 2009, a first prototype version of the FreeBSD WLAN-Stack was ported to Haiku, enabling unencrypted WLAN connections as a first step.
Original Haiku R1 Alpha 1 CD. The picture was taken inside of the Microsoft Research & Development Center, Haifa, Israel.
The first alpha release "Haiku R1/Alpha 1" has been released on September 14, 2009.
On October 27, 2009, Haiku obtained Qt4 support via an external 3rd party port.
The second alpha release ("Haiku R1/Alpha 2") has been released on May, 10, 2010.
(From http://en.wikipedia.org/wiki/History_of_Haiku_(operating_system), May 21, 2010)
From http://en.wikipedia.org/wiki/Linux:
Linux (commonly pronounced IPA: /ˈlɪnəks/ in English; variants exist[1]) is a Unix-like computer operating system family which uses the Linux kernel. Linux is one of the most prominent examples of free software and open source development; typically all the underlying source code can be freely modified, used, and redistributed by anyone.[2]
Predominantly known for its use in servers, it is installed on a wide variety of computer hardware, ranging from embedded devices and mobile phones to supercomputers.[3]
The name "Linux" comes from the Linux kernel, originally written in 1991 by Linus Torvalds. The system's utilities and libraries usually come from the GNU operating system, announced in 1983 by Richard Stallman. The GNU contribution is the basis for the alternative name GNU/Linux.[4]
| Version | 2.6 |
| Created | In 1991, Torvalds began to work on a non-commercial replacement for MINIX while he was attending the University of Helsinki,[5] which would eventually become the Linux kernel. |
| Packages | Red Hat, Debian, Fedora, Gentoo, Ubuntu |
NetBSD is a freely available open source version of the Unix-derivative Berkeley Software Distribution (BSD) computer operating system. It was the second open source BSD descendant to be formally released, after 386BSD, and continues to be actively developed. The NetBSD project is primarily focused on high quality design, stability and performance of the system. Due to convenient license and portability, NetBSD is often used in embedded systems.
The current stable release of NetBSD is version 5.0.2 (February 12, 2010).
Contents
1 History
2 Features
2.1 Portability
2.2 Portable build framework
2.3 The pkgsrc packages collection
2.4 Symmetric multiprocessing
2.5 Security
2.6 Virtualization
2.7 Storage
2.8 Compatibility with other operating systems
3 Licensing
4 Releases
5 Logo
6 The NetBSD Foundation
7 Examples of use
8 Hosting
9 See also
10 Notes
11 References
12 External links
History
NetBSD was originally derived from the 4.3BSD release of the Berkeley Software Distribution from the Computer Systems Research Group of the University of California, Berkeley, via their Net/2 source code release and the 386BSD project. The NetBSD project began as a result of frustration within the 386BSD developer community with the pace and direction of the operating system's development. The four founders of the NetBSD project, Chris Demetriou, Theo de Raadt, Adam Glass and Charles Hannum, felt that a more open development model would be beneficial to the project; one which was centered on portable, clean, correct code. Their aim was to produce a unified, multi-platform, production-quality, BSD-based operating system. The name "NetBSD" was suggested by de Raadt, based on the importance and growth of networks such as the Internet at that time, and the distributed, collaborative nature of its development.
The NetBSD source code repository was established on March 21, 1993 and the first official release, NetBSD 0.8, was made in April, 1993. This was derived from 386BSD 0.1 plus the version 0.2.2 unofficial patchkit, with several programs from the Net/2 release missing from 386BSD re-integrated, and various other improvements. The first multi-platform release, NetBSD 1.0, was made in October 1994. Also in 1994, for disputed reasons, one of the founders, Theo de Raadt, left the project. He later founded a new project, OpenBSD, from a forked version of NetBSD 1.0 near the end of 1995. In 1998, NetBSD 1.3 introduced the pkgsrc packages collection.
Until 2004, NetBSD 1.x releases were made at roughly annual intervals, with minor "patch" releases in between. From release 2.0 onwards, each major NetBSD release corresponds to an incremented major version number, i.e. the major releases following 2.0 are 3.0, 4.0 and so on. The previous minor releases are now divided into two categories: x.y "stable" maintenance releases and x.y.z releases containing only security and critical fixes.
Features
Portability
As the project's motto ("Of course it runs NetBSD" ) suggests, NetBSD has been ported to a large number of 32- and 64-bit architectures. These range from VAX minicomputers to Pocket PC PDAs. As of 2009, NetBSD supports 57 hardware platforms (across 15 different processor architectures). Although the Linux 2.6 kernel includes support for more processor architectures, the NetBSD distribution supports more platforms than any single Linux distribution. The kernel and userland for these platforms are all built from a central unified source-code tree managed by CVS. Currently, unlike other kernels such as μClinux, the NetBSD kernel requires the presence of an MMU in any given target architecture.
NetBSD's portability is aided by the use of hardware abstraction layer interfaces for low-level hardware access such as bus input/output or DMA. Using this portability layer, device drivers can be split into "machine-independent" and "machine-dependent" components. This allows a single driver to be easily used on several platforms by hiding details of exactly how the driver accesses the hardware, and reduces the amount of work needed to port it to a new architecture.
This enables, for instance, a driver for a specific PCI card to work whether that card is in a PCI slot on an IA-32, Alpha, PowerPC, SPARC, or other architecture with a PCI bus. Also, a single driver for a specific device can operate via several different buses, for example ISA, PCI, PC card, etcetera.
In comparison, Linux device driver code often needs to be reworked for every new architecture. As a consequence, in recent porting efforts by NetBSD and Linux developers, NetBSD has taken much less time to port to new hardware.
This platform independence aids the development of embedded systems, particularly since NetBSD 1.6, when the entire toolchain of compilers, assemblers, linkers, and other tools fully supported cross-compiling.
In 2005, as a demonstration of NetBSD's portability and suitability for embedded applications, Technologic Systems, a vendor of embedded systems hardware, designed and demonstrated a NetBSD-powered kitchen toaster.
Commercial ports to embedded platforms, including the AMD Geode LX800, Freescale PowerQUICC processors, Marvell Orion, AMCC 405 family of PowerPC processors, Intel XScale IOP and IXP series, were available from and supported by Wasabi Systems (defunct as of March, 2009).
Portable build framework
The NetBSD cross-compiling framework (also known as "build.sh" ) allows a complete NetBSD system for an architecture to be built from another system of different architecture (usually faster or with more hardware resources), even on a different operating system, since the framework supports most POSIX-compliant systems. Several embedded systems using NetBSD have required no additional software development other than toolchain and target rehost.
The pkgsrc packages collection
NetBSD features pkgsrc (short for "package source"), a framework for building and managing third-party application software packages. The pkgsrc collection consists of more than 8100 packages as of January 2009. Building and installing packages such as KDE, GNOME, the Apache HTTP server or Perl is performed through the use of a system of makefiles. This can automatically fetch the source code, unpack, patch, configure, build and install the package such that it can be removed again later. An alternative to compiling from source is to use a precompiled binary package. In either case, any prerequisites/dependencies will be installed automatically by the package system, without need for manual intervention.
pkgsrc supports not only the hardware platforms that run NetBSD, but also — with the help of an autoconf-based bootstrap system — several other Unix-like operating systems, such as Linux, other BSD variants like FreeBSD, Solaris, Darwin/Mac OS X, IRIX, Interix and others. pkgsrc has also been adopted as the official package system for DragonFly BSD.
Symmetric multiprocessing
NetBSD has had support for SMP since the NetBSD 2.0 release in 2004, which was initially implemented using the giant lock approach. During the development cycle of the NetBSD 5 release, major work was done to improve SMP support; most of the kernel subsystems were modified to be MP safe and use the fine-grained locking approach. New synchronization primitives were implemented and scheduler activations was replaced with a 1:1 threading model in February 2007. A scalable M2 thread scheduler was implemented, though the old 4.4BSD scheduler still remains the default but was modified to scale with SMP. Threaded software interrupts were implemented to improve synchronization. The virtual memory system, memory allocator and trap handling were made MP safe. The file system framework, including the VFS and major file systems were modified to be MP safe. Since April, 2008 the only subsystems running with a giant lock are the network protocols and most device drivers.
Security
NetBSD provides various features in the security area. The Kernel Authorization framework (or Kauth) is a subsystem managing all authorization requests inside the kernel, and used as system-wide security policy. It allows external modules to plug-in the authorization process. NetBSD also incorporates exploit mitigation features, ASLR, MPROTECT and Segvguard from PaX project, and GCC Stack Smashing Protection (SSP, or also known as ProPolice, enabled by default since NetBSD 6.0) compiler extensions. Verified Executables (or Veriexec) is an in-kernel file integrity subsystem in NetBSD. It allows the user to set digital fingerprints (hashes) of files, and take a number of different actions if files do not match their fingerprints. For example, one can allow Perl to run only scripts that match their fingerprints. The cryptographic device driver (CGD) allows using disks or partitions (including CDs and DVDs) for encrypted storage.
Virtualization
The Xen virtual-machine monitor is supported in NetBSD since the 3.0 release. To use Xen, the system requires a special pre-kernel boot environment that loads a specialized Xen kernel as the "host OS" (known as Dom0). Any number of "guest OS" (known as DomU) virtualized computers, with or without (using "hypervisor" options) specific Xen/DomU support, can be run in parallel with the appropriate hardware resources.
With NetBSD 5, which greatly improves disk I/O and network I/O performance over NetBSD 4, some guest Operating Systems running under Xen are known to operate faster than when installed natively on the same hardware without NetBSD and Xen behind the scenes. The need for a boot manager, such as GRUB, was also eliminated with NetBSD 5's new built-in Xen-compatible configurable boot manager.
User-space virtualization such as VirtualBox and QEMU are also supported on NetBSD.
Storage
NetBSD includes many enterprise features like iSCSI, a journaling filesystem, logical volume management and the ZFS filesystem.
The WAPBL journalling filesystem, an extension of the BSD FFS filesystem, was contributed by Wasabi Systems in 2008.
The NetBSD Logical Volume Manager is based on a BSD reimplementation of a device-mapper driver and a port of the Linux Logical Volume Manager tools. It was mostly written during the Google Summer of Code 2008.
The ZFS filesystem developed by Sun Microsystems was imported in to the NetBSD base system in 2009. Currently, the NetBSD ZFS port is based on ZFS version 13.
Compatibility with other operating systems
At the source code level, NetBSD is very nearly entirely compliant with POSIX.1 (IEEE 1003.1-1990) standard and mostly compliant with POSIX.2 (IEEE 1003.2-1992).
NetBSD also provides system call-level binary compatibility on the appropriate processor architectures with several UNIX-derived and UNIX-like operating systems, including Linux, other BSD variants like FreeBSD, Apple's Darwin, Solaris and SunOS 4. This allows NetBSD users to run many applications that are only distributed in binary form for other operating systems, usually with no significant loss of performance.
A variety of "foreign" disk filesystem formats are also supported in NetBSD, including FAT, NTFS, Linux ext2fs, Mac OS X UFS, RISC OS FileCore/ADFS, AmigaOS Fast File System, IRIX EFS and many more through FUSE.
Licensing
All of the NetBSD kernel and most of the core userland source code is released under the terms of the BSD License (two, three, and four-clause variants). This essentially allows everyone to use, modify, redistribute or sell it as they wish, as long as they do not remove the copyright notice and license text (the four-clause variants also include terms relating to publicity material). Thus, the development of products based on NetBSD is possible without having to make modifications to the source code public. In contrast, the GPL stipulates that changes to source code of a product must be released to the product recipient when products derived from those changes are released.
On June 20, 2008, the NetBSD Foundation announced a transition to the two clause BSD license, citing concerns with UCB support of clause 3 and industry applicability of clause 4.
NetBSD also includes the GNU development tools and other packages, which are covered by the GPL and other open source licenses. As is the case for the other BSD projects, NetBSD separates those in its base source tree, in order to make removal of code under more restrictive licenses easier. There is no distinction made for ports.
Releases
The following table lists major NetBSD releases and their notable features in reverse chronological order. Minor and patch releases are not included.
Colour Meaning
Green Release still supported
Red Release no longer supported
Major releases Release date Notable features and changes
5.0 April 29, 2009 Rewritten threading subsystem based on a 1:1 model and rewritten scheduler implementation. Support for kernel preemption, POSIX real-time scheduling extensions, processor-sets, and dynamic CPU sets for thread affinity. Added jemalloc memory allocator. A metadata journaling for FFS, known as WAPBL (Write Ahead Physical Block Logging). Rewritten kernel modules framework, which will replace old LKMs.
4.0 December 19, 2007 Added support for slab allocator, iSCSI target, CARP, tmpfs, Xen 3, the Kernel Authorization framework, Veriexec and other security extensions, and a Bluetooth protocol suite.
3.0 December 23, 2005 Support for Xen 2.0 was added. Support for filesystems > 2 terabytes added. Pluggable Authentication Modules added. OpenBSD Packet Filter was integrated as an alternative to IPFilter. UFS directory hash support.
2.0 December 9, 2004 Addition of native POSIX threads and SMP support on i386 and other platforms. AMD64 architecture added. Support for UFS2 and SMBFS, addition of kqueue.
1.6 September 14, 2002 Unified Buffer Cache (UBC) was introduced, which unifies the filesystem and virtual memory caches of file data. Zero-copy support for TCP and UDP transmit path. Ten new platforms supported. New implementation of cross-building (build.sh) infrastructure. Added support for multibyte LC_CTYPE locales.
1.5 December 6, 2000 IPv6 and IPsec were added to the network stack. OpenSSL and OpenSSH imported. New implementation of rc.d system start-up mechanism. Start of migration to ELF-format binaries. A ktruss utility for kernel tracing was added. Six new platforms supported, including SPARC64. Added FFS soft updates and support for NTFS.
1.4 May 12, 1999 UVM, a rewritten virtual memory subsystem, was introduced. Added RAIDframe, a software RAID implementation, and imported IPFilter. Completion of the integration of all remaining 4.4BSD Lite-2 kernel improvements. Ports to Power Macintosh and NeXTcube/station systems added. Added full USB support.
1.3 March 9, 1998 XFree86 source tree was made a supported part of the distribution. Support for ISA Plug and Play, PCMCIA, ATAPI and APM added. ext2fs and FAT32 filesystems added. The pkgsrc packages collection system was introduced.
1.2 October 4, 1996 Support for NFSv3, SCSI scanner and medium changer devices added. NTP phase-locked loop added in kernel. Ports for ARM and Sharp X68k systems added.
1.1 November 26, 1995 Ports for DEC Alpha, Atari TT/Falcon030 and MVME68k systems added. Binary emulation facility added. Generic audio subsystem introduced.
1.0 October 26, 1994 The first multi-platform release, supporting the PC, HP 9000 Series 300, Amiga, 68k Macintosh, Sun-4c series and the PC532. Also in this release, the legally encumbered Net/2-derived source code was replaced with equivalent code from 4.4BSD-lite, in accordance with the USL v BSDi lawsuit settlement. Addition of shared libraries and Kerberos 5.
0.9 August 20, 1993 Contained many enhancements and bug fixes. This was still a PC-platform-only release, although by this time work was underway to add support for other architectures. Support for loadable kernel modules (LKM).
0.8 April 20, 1993 The first official release, derived from 386BSD 0.1 plus the version 0.2.2 unofficial patchkit, with several programs from the Net/2 release missing from 386BSD re-integrated, and various other improvements.
Logo
The NetBSD "flag" logo, designed by Grant Bissett, was introduced in 2004 and is an abstraction of their older logo, designed by Shawn Mueller in 1994. This was based on the famous World War II photograph Raising the Flag on Iwo Jima, which some perceived as culturally sensitive and inappropriate for an international project.
The NetBSD Foundation
The NetBSD Foundation is the legal entity that owns the intellectual property and trademarks associated with NetBSD, and on January 22, 2004, became a 501(c)3 tax-exempt non-profit organization. The members of the foundation are developers who have CVS commit access. The NetBSD Foundation has a Board of Directors, elected by the voting of members for two years.
Examples of use
NetBSD was used in NASA's SAMS-II Project of measuring the microgravity environment on the International Space Station, and for investigations of TCP for use in satellite networks.
NetBSD's clean design, high performance, scalability, and support for many architectures has led to its use in embedded devices and servers, especially in networking applications.
A commercial real-time operating system, QNX, uses a network stack which is based on NetBSD code , and provides various drivers ported from NetBSD.
Force10 Networks uses NetBSD as the underlying operating system that powers FTOS (the Force10 Operating System), which is used in high scalability switch/routers. Force10 also made a donation to the NetBSD Foundation in 2007 to help further research and the open development community.
Wasabi Systems provides a commercial Wasabi Certified BSD product based on NetBSD with proprietary enterprise features and extensions, which are focused on embedded, server and storage applications.
NetBSD was used in NASA's SAMS-II Project of measuring the microgravity environment on the International Space Station, and for investigations of TCP for use in satellite networks.
In 2004, SUNET used NetBSD to set the Internet2 Land Speed Record. NetBSD was chosen "due to the scalability of the TCP code".
NetBSD is also used in Apple's Airport Extreme and Time Capsule products, instead of their own Mac OS X (which uses FreeBSD's userland) platform.
The operating system of the T-Mobile Sidekick LX 2009 smartphone is based on NetBSD.
Hosting
Hosting for the project is provided primarily by the Internet Systems Consortium Inc, the Luleå University of Technology, Columbia University, and Western Washington University. Mirrors for the project are spread around the world and provided by volunteers and supporters of the project.
(From http://en.wikipedia.org/wiki/Netbsd on 05/21/2010)
OpenSolaris is an open source operating system based on Sun Microsystems' Solaris. It is also the name of the project initiated by Sun to build a developer and user community around it.
OpenSolaris is derived from the Unix System V Release 4 codebase, with significant modifications made by Sun since it bought the rights to that code in 1994. It is the only open source System V derivative available. Open sourced components are snapshots of the latest Solaris release under development. Sun has announced that future versions of its commercial Solaris operating system will be based on technology from the OpenSolaris project.
History
OpenSolaris is based on Solaris, which was originally released by Sun in 1991. Solaris is a version of SVR4 (System V Release 4) UNIX, co-developed by Sun and AT&T. It was licensed by Sun from Novell to replace SunOS.
Planning for OpenSolaris started in early 2004. A pilot program was formed in September 2004 with 18 non-Sun community members and ran for 9 months growing to 145 external participants.
The first part of the Solaris codebase to be open sourced was the Solaris Dynamic Tracing facility (commonly known as DTrace), a tracing tool for administrators and developers that aids in tuning a system for optimum performance and utilisation. DTrace was released on January 25, 2005. At that time, Sun also launched the opensolaris.org web site, and announced that the OpenSolaris code base would be released under the CDDL (Common Development and Distribution License). The bulk of the Solaris system code was released on June 14, 2005. There remains some system code that is not open sourced, and is available only as pre-compiled binary files.
A Community Advisory Board was announced on April 4, 2005: two were elected by the pilot community, two were employees appointed by Sun, and one was appointed from the broader free software community by Sun. The members were Roy Fielding, Al Hopper, Rich Teer, Casper Dik, and Simon Phipps. On February 10, 2006 Sun reestablished this body as the independent OpenSolaris Governing Board. The task of creating a governance document or "constitution" for this organization was given to the OGB and three invited members: Stephen Hahn and Keith Wesolowski (developers in Sun's Solaris organization) and Ben Rockwood (a prominent OpenSolaris community member).
On March 19, 2007, Sun announced that it had hired Ian Murdock, founder of Debian, to head "Project Indiana", an effort to produce a complete OpenSolaris distribution, with GNOME and userland tools from GNU, plus a network-based package management system.] Several independent distributions are also available.
On December 1, 2008, OpenSolaris 2008.11 was released, in versions that could be booted as a Live CD or installed directly. It uses the GNOME desktop environment as the primary user interface. The release includes a GUI for ZFS' snapshotting capabilities, that provides functionality similar to Mac OS X's Time Machine.
In December of 2008 Sun Microsystems and Toshiba America Information Systems announced plans to distribute Toshiba laptops pre-installed with OpenSolaris.
License
Main article: Common Development and Distribution License
Sun has released most of the Solaris source code under the Common Development and Distribution License (CDDL), which is based on the Mozilla Public License (MPL) version 1.1. The CDDL was approved as an open source license by the Open Source Initiative (OSI) in January 2005. Files licensed under the CDDL can be combined with files licensed under other licenses, whether open source or proprietary.
During Sun's announcement of Java's release under the GNU General Public License (GPL), Jonathan Schwartz and Rich Green both hinted at the possibility of releasing Solaris under the GPL, with Green saying he was "certainly not" averse to relicensing under the GPL. When Schwartz pressed him (jokingly), Green said Sun would "take a very close look at it." In January of 2007, eWeek reported that anonymous sources at Sun had told them OpenSolaris would be dual-licensed under CDDL and GPLv3.[12] Green responded in his blog the next day that the article was incorrect, saying that although Sun is giving "very serious consideration" to such a dual-licensing arrangement, it would be subject to agreement by the rest of the OpenSolaris community.
(Copied from http://en.wikipedia.org/wiki/OpenSolaris on December 31, 2008)