嵌入式操作系統(tǒng)與通用操作系統(tǒng)的最顯著的區(qū)別之一就是它的可移植性。
一款嵌入式操作系統(tǒng)通??梢赃\行在不同體系結(jié)構(gòu)的處理器和開發(fā)板上。為了使嵌入式操作系統(tǒng)可以在某款具體的目標(biāo)設(shè)備上運行,嵌入式操作系統(tǒng)的編寫者通常無法一次性完成整個操作系統(tǒng)的代碼,而必須把一部分與具體硬件設(shè)備相關(guān)的代碼作為抽象的接口保留出來,讓提供硬件的OEM廠商來完成。這樣才可以保證整個操作系統(tǒng)的可移植性。這些代碼通常是板級支持包(Board Support Package, BSP)的一部分。
例如:不同處理器和開發(fā)板通常都會提供實時鐘支持,用來得到當(dāng)前的時間日期,但是實時鐘的實現(xiàn)方式卻不勝枚舉。如何告訴嵌入式操作系統(tǒng)當(dāng)前的時間,就是操作系統(tǒng)移植者要完成的任務(wù)了。
系統(tǒng)移植人員不但要對嵌入式操作系統(tǒng)提供的接口了如指掌,還要對操作系統(tǒng)運行的硬件有極為深入的了解,此類開發(fā)人員可能同時會身兼軟件工程師和硬件工程師的雙重身份——讓嵌入式操作系統(tǒng)在自己設(shè)計的硬件平臺上運行起來。