移植 (ソフトウェア)
様々な設計思想に基づいたコンピュータが、様々なメーカーから発売されており、またそれらのコンピュータ上で動作するプログラムを記述するためのプログラミング言語も多岐に渡っている。移植性は、OS自体の違いというよりも、システムコールやコマンドなどの違い(例えばLinux、GNU Hurd、FreeBSD、macOS、Plan 9などのPOSIX、およびそれ以外)、CPUおよび命令セット(機械語)の違い (ARM, x86, x64)、拡張命令、ビット長(8ビット、16ビット、32ビット、64ビット、128ビット、256ビットなど)、ネットワークアダプターやストレージ、グラフィックスカード(GPU)やサウンドカードといった周辺機器のデバイスドライバサポート状況、そして利用できるライブラリの違いに左右される。例えば、同じPOSIXのGNU/Linux, FreeBSD, macOS間の移植性は比較的高い。またWin32 APIを備えるMicrosoft Windowsシリーズ間の移植性も比較的高い。