更多特性如下: About NetBSDClean designNetBSD focuses on clean design and well architected solutions. Because of this NetBSD may support certain 'exciting' features later than other systems, but as time progresses the NetBSD codebase is getting even stronger and easier to manage, while other systems that value features over code quality are finding increasing problems with code management and conflicts. NetBSD supports a massive range of hardware platforms from a single source tree, including simultaneous release across all platforms, and continues to attract users and experienced developers despite lack of media exposure and commercial backing - all thanks to attention to code quality. BSD LicenceWhile NetBSD uses the GNU toolchain (compiler, assembler, etc), and certain other GNU tools, the entire kernel and the core of the userland utilities are shipped under a BSD licence. This allows companies to develop products based on NetBSD without the requirement to make changes public (as with the GPL). While the NetBSD Project encourages companies and individuals to feed back changes to the tree, we respect their right to make that decision themselves. Full source availabilityNetBSD makes the full source available, both the source code and the full CVS repository. Since everything is in the same source tree, you can always access any version of all files. We were not the first BSD to make a CVS repository available, but we were the only one to meticulously check every file and remove only those revisions that contained tainted USL code, rather than discarding every revision before an arbitrary date. SecurityNetBSD has the least number of security bugs reported in any public forums (such as bugtraq). We believe in security without the hype. We do manual code audits and add extended checking capabilities to our toolchain. Retrieval of kernel data is geared towards a sysctl based approach, as opposed to the traditional Unix based kmem access, which requires full access to the whole system, and is often exploited. Mature and stableThe BSD codebase can be traced back to the early 80s at UC Berkeley, and has been open to public scrutiny ever since. NetBSD continues this tradition and works ever harder to promote clean design and functionality over hype. NetBSD is being used at NASA's Numerical Aerospace Simulation facility for a reason. Their main platforms are Alpha systems with lots of RAM and diskspace (terabyte and up), and they need a good, stable, codebase on which they can build custom projects. NetBSD was also the first free OS to make a y2k statement. See our testimonials for more success stories! Hype freeProbably the only thing you won't get with NetBSD is the media hype. You'll need to get that somewhere else. NetworkingPacket filtering and Network Address Translation (NAT)NetBSD ships with an in-kernel packet filtering engine, allowing filtering of traffic based on interface, protocol, port, tos, ttl, source, destination and many other factors. Keeping this inside the kernel permits higher performance. Network Address Translation can permit a local network of machines to use one set of addresses internally, and a different set (or even single IP address) externally. This can be used for security or simple convenience reasons, and also includes a transparent FTP proxy. Again this is all kept inside the kernel for higher performance. IPv6NetBSD was the first free OS to provide a leading edge standards conforming IPv6 implementation, and we continue to work with the KAME project to track changes to the specification. NetBSD was also the first free operating system to ship with NFS via IPv6, for both client and server part. Network File System (NFS)NetBSD provides complete in-kernel NFS client and server support, interoperable with other systems, for both NFS2 and NFS3 protocols. This includes support for swapping over NFS, and no arbitrary limits on the size of swap partitions. Client side file creation is correctly implemented as an atomic operation - on systems without this dot locking is not reliable. Comprehensive and robust networkingNetBSD supports the following network types:
In the process of ARCnet support the ARP subsystem was reworked to remove Ethernet dependencies and to be more generally applicable. NetBSD also supports the following network protocols:
NetBSD also ships with many standard networking daemons, with built-in tcp wrappers support where appropriate, including bootparamd(8), bootpd(8), dhcpd(8), ftpd(8), identd(8), mopd(8), named(8), postfix(1), rarpd(8), rbootd(8), sshd(8), tftpd(8), and xntpd(8). Wireless networkingNetBSD supports a long list of IEEE 802.11 based wireless networking devices, see an(4), ath(4), atu(4), atw(4), awi(4), cnw(4), ral(4), ray(4), rtw(4), rum(4), wi(4), wpi(4), and zyd(4). Portability and supported platformsMulti-platform supportNetBSD is designed to take advantage of the latest high end hardware available in Alpha, PowerPC, and PC systems, while still retaining support for older architectures. This is all done from the same source tree and is only possible due to the emphasis on correct design and clean code. It also makes NetBSD an ideal codebase to port to new machines and embedded platforms, such as mips, ARM and Super-H based handheld Windows CE devices. NetBSD on Embedded SystemsThe NetBSD Operating System is highly portable and many of the supported hardware platforms are suited for embedded applications. Read more about NetBSD on Embedded Systems StorageHardware and software RAIDIn addition to many standalone SCSI RAID devices, NetBSD supports a variety of RAID controllers and a complete software RAID 0, 1, 4, 5, and 6 system in RAIDframe. High performance PCI IDEMany recent PCI IDE controllers support high speed DMA transfers. NetBSD is one of the few systems to take advantage of these features 'out of the box'. Due to NetBSD's clean design the same drivers and features are available on alpha, i386, macppc and sparc64. SCSIPI subsystem - combined SCSI and ATAPINetBSD implements a unified SCSIPI subsystem, avoiding code duplication and allowing a common userland SCSI and ATAPI interface for many devices. As a direct result of this, when ATAPI CD-R units became available existing tools such as 64-bit file systemsNetBSD has shipped with 64-bit file systems since the 1.0 release in October 1994. Under NetBSD berkeley fast file systems can be up to 4TB (4096GB) in size, on both 64- and 32-bit machines. Files and user file quotas can also reach terabytes. Many other systems limit filesize to 4GB on 32-bit machines. An ffs can have up to 2^31 fragment blocks - the maximum file system size is dependent on the fragment size:
Large IDE disksNetBSD fully supports IDE disks of over 34GB in size, including booting from partitions beyond 8GB (where the BIOS permits). Starting with release 1.6, NetBSD can also use 48-bit logical block addresses (ATA-6 Expanded Addressing) in order to access disks with sizes greater than 137GB. Soft Updates on FFS for high performance and reliabilitySoft Updates permit metadata writes to be ordered to achieve close to asynchronous disk performance without risk of metadata corruption. This significantly improves the performance of FFS file systems. Many file system typesNetBSD can handle and manipulate many different file systems, which is useful for both data exchange and binary compatibility. Systems can also optionally mount file systems writing with opposing byte ordering. Note that unlike some other systems NetBSD imposes metadata write ordering, allowing fsync(2) to be used to avoid important data loss in the event of power failure, even on ext2fs.
NetBSD also has a range of virtual file system types, including:
Userspace filesystem supportStarting with version 4.0, NetBSD provides the puffs(3) framework for creating file systems as userspace servers. This opens a myriad of possibilities, like developing new filesystems in userspace for comfortable testing, or representing userspace functionality as a filesystem (such as a SSH filesystem). NetBSD 5.0 will also include the refuse library, which provides a FUSE-like interface. With refuse, many FUSE filesystems can run on top of puffs(3). You can find more information about puffs and refuse on our “Filesystems in userspace” page. DVD ROM and RAMNetBSD supports large capacity DVD drives for reading data in the common DVD file systems available nowadays. Disk encryptionNetBSD provides transparent disk encryption through the cgd(4) driver. cgd(4) acts as a logical device that is layered on top of another block device, such as a physical disk partition or a vnd(4) pseudo device. cgd(4) currently supports the AES, 3DES, and Blowfish ciphers in CBC mode. An extensive introduction to cgd(4) is included in the NetBSD Guide. Other FeaturesThe package system (applications)The NetBSD Packages Collection, pkgsrc, provides easy source or binary installation of a large number of third party applications. It includes all the essentials such as
Pkgsrc was derived from FreeBSD's 'ports' system, but has been substantially enhanced. Machine independent driver frameworkA clean separation of chipset drivers from bus attach code, and implementation of a MI bus_space(9) and bus_dma(9) framework has the following advantages:
Machine independent audio frameworkIn a similar fashion to the SCSI subsystem, NetBSD has a generic audio layer which attaches to the individual chipset drivers. This gives significantly more consistency and code sharing than other free OS projects. Kernel debugging
OS emulationNetBSD's unique binary compatibility protects users' investment in existing applications by in kernel support for non-native binaries (for the same processor) to run transparently. Systems include:
The package system includes many
See also supported file systems. USB (Universal serial bus)NetBSD was the first free OS to provide USB support, and was using USB on Apple Power Macintosh machines before Apple had Mac OS X even booting. The USB support is available on all appropriate platforms, including alpha, i386, and macppc. Supported devices include mice, keyboards, modems, and mass storage devices (ZIP), with more drivers becoming available as the USB standard develops. Other device support
The UVM virtual memory systemUVM is a new virtual memory system specifically designed to provide the I/O and IPC (Inter Process Communication) systems with a range of flexible data movement mechanisms. UVM completely replaces the Mach based 4.4BSD VM system, improving virtual memory performance over other VM systems. CardbusSupport for the 'cardbus' PC-card and PCMCIA sockets found in modern laptops is available, including hot-swapping, power management and detaching of devices. wscons machine independent consoleThe wscons(4) driver provides support for machine independent access to the console. It is composed of a number of cooperating modules, in particular:
64-bit cleanNetBSD was the first free OS to support a 64-bit architecture such as the alpha, and still supports more alpha models than any other. The entire source tree has been 64-bit clean for some time, and the package system includes patches to make many third party applications 64-bit clean. Non-executable stack and heapStarting with version 2.0, NetBSD supports non-executable mappings on many platforms. If non-executable mappings are enabled, parts of the stack and heap are made non-executable when they are marked writable. This makes exploiting potential buffer overflows harder. We have a seperate page with more detailed information about this subject. Kernel authorization framework (kauth)Starting with NetBSD 4.0, the NetBSD kernel uses an extensive authorization framework, kauth(9). In contrast to earlier NetBSD versions, where the access control policy was mostly hard-coded in the kernel following traditional Unix and BSD semantics, every authorization-related decision is now passed to the kauth(9) framework. This allows for the implementation of new security models, either as part of the base system or as LKMs, and modification of the traditional 4.4BSD/NetBSD security model. (责任编辑:admin) |