Мобільність

Під мобільністю (portability) розуміється можливість перенесення програми (в даному випадку ОС) на іншу апаратну платформу, тобто на інший тип процесора і іншу архітектуру комп'ютера. Тут мається на увазі перенесення з помірними трудовитратами, що не вимагає повної переробки системи.

Властивість мобільності не настільки однозначно позитивно, як може здатися. Щоб програма була мобільна, при її розробці слід відмовитися від глибокого використання особливостей конкретної архітектури (таких, як кількість і функціональні можливості регістрів процесора, нестандартні команди і т.п.). Мобільна програма повинна бути написана на мові досить високого рівня (часто використовується мова C), який можна реалізувати на комп'ютерах будь архітектури. Платою за мобільність завжди є деяка втрата ефективності, тому немобільні системи поширені досить широко.

З іншого боку, історія системного програмування всіяна останками чудових, ефективних і зручних, але немобільних ОС, які вимерли разом з процесорами, для яких вони призначалися.

У той же час мобільна система UNIX продовжує процвітати четвертий десяток років, набагато переживши ті комп'ютери, для яких вона спочатку створювалася. Приблизно 5-10% вихідних текстів UNIX написані на мови асемблера і повинні листуватися заново при перенесенні на нову архітектуру. Інша частина системи написана на C і практично не вимагає змін при перенесенні.

Деяким компромісом є багатоплатформні ОС (наприклад, Windows NT), спочатку спроектовані для використання на декількох апаратних платформах, але не гарантують можливість перенесення на нові, не передбачені заздалегідь архітектури.