FreeBSD provides binary compatibility with Linux. At this
point, you may be asking yourself why exactly, does FreeBSD
need to be able to run Linux binaries? The answer to that
question is quite simple. Many companies and developers
develop only for Linux, since it is the latest ``hot
thing'' in the computing world. That leaves the rest of us
FreeBSD users bugging these same companies and developers
to put out native FreeBSD versions of their applications.
The problem is, that most of these companies do not really
realize how many people would use their product if there
were FreeBSD versions too, and most continue to only
develop for Linux. So what is a FreeBSD user to do? This is
where the Linux binary compatibility of FreeBSD comes into
play. In a nutshell, the compatibility allows FreeBSD users to
run about 90% of all Linux applications without
modification.
There are, however, some Linux-specific operating system features that are not supported under FreeBSD. Linux binaries will not work on FreeBSD if they overly use the Linux /proc file system (which is different from FreeBSD's /proc file system), or i386-specific calls, such as enabling virtual 8086 mode.