The FreeBSD Unix operating system supports a number of processor architectures, or platforms. The FreeBSD development team classifies the level of support as a tier, with Tier-1 being most compatible and supported on a certain architecture and Tier-2 (and beyond) being varying degrees of compatibility and support.
The most obvious, and some might say ubiquitous, of the processor architectures is the i386 from Intel and the various clones from AMD, IBM / Cyrix and others. This architecture is widely used in all computers commonly referred to as 'PCs' and as such many of the World's operating systems support it, particularly Microsoft's range of Windows operating systems.
The following is a list of FreeBSD supported processor architectures:
This is the architecture that will work on almost all Intel and AMD processors, both 32bit and 64bit though it will only use the 32bit mode of these processors. The i386 pre-dates the ubiquitous Pentium range of processors by two generations with the i486 processor existing between them. Therefore the backwards compatibility of the newer Intel and AMD processors ensures this architecture remains available.
This is another generation of processor architecture from Intel that featured 64bit processing. Intel moved away from the Pentium brand with this generation instead using the brand names Intel Core2 Duo amongst others.
FreeBSD uses the AMD64 name for the specific release for this architecture (refer to the AMD64 section).
Note: this processor architecture is different from the ia64 architecture used in the Itanium and Itanium 2 branded Intel processors (refer to the ia64 section).
Itanium / Itanium 2 (ia64)
The Itanium and the second generation Itanium 2 architecture was a radical change from the original Intel i386 generation of processors which saw a brand-new redesign of the processor core. As such they have no backwards-compatibility with any of the Intel i386 later generation of processor architecture.
FreeBSD has a specific release for this architecture but is limited by specific supported systems. As such this is a Tier-2 platform.
The PC98 was not specifically a processor but rather a standard for describing the hardware of a 'PC98' branded system. These PC98 branded systems were technically i386-compatible in architecture and were made by the large Japanese manufacturers such as EPSON and NEC. Therefore PC98 systems were typically found in Japan and neighbouring areas.
All but newer PC98 systems (which feature New Extended Standard Architecture, or NESA) are support by the i386 release of FreeBSD.
The Sparc64 architecture is a processor originally designed by Sun Microsystems but recently released under an open license. This is an entirely different architecture from the Intel and compatible processors and uses RISC as the underlying functionality. It is largely found in Sun's own line of servers.
FreeBSD has a specific release for this architecture but is limited in functionality depending on the Sun server it is running on.
Note: Sun Microsystems are themselves a UNIX operating system vendor with their Solaris product range.
The AMD64 is the brand name for the 64bit generation of processor architecture from AMD. The underlying functionality is different to that of Intel's 64bit implementation (on their x86-64 processors) although the two technologies are typically grouped under the title 'x64' by software vendors to denote neutrality between the two processor manufacturers. As such the majority of 64bit-enabled operating systems will run on either architecture without requiring two separate releases.
FreeBSD has a specific release for this architecture under the AMD64 title (refer to the x86-64 section).
The Xen platform is a form of virtualisation that abstracts the operating system running above it from the underlying hardware below it. This is controlled by the Xen 'Hypervisor', a form of high-end supervisor running at the host-processor level.
In much the same way as an operating system can 'task switch' between lots of running services and applications to give the appearance of multitasking the Xen hypervisor does the same with multiple operating systems. This permits consolidation of servers from the conventional 'one operating system per physical server' to 'multiple operating systems per single server'. The operating systems can be a combination of open source, such as Red Hat, SuSE et al, and closed source, such as recent releases of Microsoft Windows.
FreeBSD does not currently have official support for this pseudo-architecture however as of XenServer 5.0 both the i386 (32-bit) and amd64 (64-bit) architectures will boot from the ISO media using the hardware-assisted virtualisation instructions found on AMD and Intel processors.
Architecture specific FreeBSD
While the above list of architectures are available as releases from the FreeBSD project website it is possible to make a version of FreeBSD for a specific processor.
As an example, a system administrator could install FreeBSD on a latest-generation Intel processor - say a Core2 Duo - using the i386 release of the FreeBSD CD-ROMs. This would, as mentioned in the relevant subsections above, only utilise the i386 compatibility of the processor. The system administrator could then recompile the FreeBSD kernel using the original source code and configuring the compiler to use the newer processor-specific architecture. This will take advantage of the processor's cutting-edge features and is typically done to improve the performance of the operating system as a whole. Software from the ports system can be compiled in much the same way.
The Custom Kernel article covers this in greater detail.
NetBSD, a relation of FreeBSD, uses the term 'ports' to refer to processor specific releases which is different to the FreeBSD term of ports. NetBSD is most well known for supporting the most diverse set of processor architectures. Visit the official NetBSD website for more details.