Interoperability with other systems
Good design and correct implementation are only part of the story. NetBSD is also highly interoperable with other systems.
NetBSD provides a binary emulation system, which permits directly running binaries for other UNIX-like operating systems, including FreeBSD, HP-UX, Interactive UNIX, Linux, OSF/1, SCO UNIX, SunOS, System V Release 4, Solaris and Ultrix on the same CPU type. For example, any NetBSD/m68k based platform can run SunOS binaries for Sun 3 and 3x systems (but not SunOS binaries for SPARC or UltraSPARC systems), while NetBSD/sparc can run SunOS and Solaris binaries for SPARC systems.
For dynamically linked binaries, the dynamic linker and libraries from the emulated operating system are usually required.
Although NetBSD releases are not currently certified, we attempt to be compatible with established standards:
- POSIX - The Portable Operating Systems Interface from IEEE has quickly become the standard for minimum operating services, and is often specified as a requirement for computer systems. [This group of standards is not available on the web.]
- XPG/SUS - The Single UNIX Specification (an extended and now independently maintained subset of the X/Open Portability Guide) specifies a number of basic facilities not defined by POSIX. We do not currently implement the STREAMS interface.
We also follow some de facto standards:
- BSD - Due to our strong Berkeley heritage, we try to remain source compatible with traditional BSD systems as well.
- Linux - We provide an easy-to-use emulator for programs using the Linux OSS audio system, making many of them substantially easier to port.
Also see: more information on standards conformance.
In addition to the native 64-bit FFS file system, NetBSD can read file systems from other operating systems, including:
- FFS - ffs (the Berkeley “fast file system”) is compatible with the native file system on SunOS, Solaris, Ultrix, Digital UNIX, System V Release 4, and many other systems based on BSD or System V.
- EXT2FS - ext2fs is the native file system currently used by Linux.
- MSDOSFS - msdosfs is compatible with the traditional MS-DOS file system, used by MS-DOS, Windows 95, Windows 98 and Windows NT. It also supports long file names, as implemented in Windows 95.
- CD9660 - cd9660 implements the ISO 9660 file system, used on most CD-ROMs. It includes support for long file names and UNIX-style permissions, using the de facto standard “Rock Ridge” extensions.
- ADOSFS - adosfs is compatible with AmigaDOS file systems.
NetBSD supports a large number of network protocols. Some of them are:
- TCP/IP - NetBSD ships with a world class TCP/IP implementation (also used in many TCP/IP research projects), designed to interoperate with any other system that speaks TCP/IP.
- SMTP - This is the standard mail transfer protocol on the Internet.
- NFS - This is the usual protocol used by UNIX-like file servers.
Combined with native kernel support for Appletalk, the
net/netatalkpackage provides excellent file and print sharing service to Macintosh systems running Mac OS.
SMB (Microsoft networking) -
net/sambapackage, NetBSD can be used to provide file and print sharing services to systems running MS-DOS, Windows 95, Windows 98, Windows NT and Windows 2000.