OS/2 WARP
OS/2 Warp обеспечивает хорошую производительность при выполнении собственных прикладных программ OS/2, 16-разрядных программ Windows и DOS, одновременно обеспечивая более надежную защиту от аварийных сбоев, чем Windows 95 или Windows 3.1. По этой причине она не совместима с драйверами устройств DOS и Windows. Она не может работать с прикладными программами Win32.
Системный код OS/2 отображается в диапазон адресов между 512 Мбайт и 4 Гбайт. Как и в Windows 95, в это адресное пространство отображаются и совместно используют его все 32-разрядные процессы. Преимущество этого метода заключается в том, что многие вызовы API могут обслуживаться системой без требующих больших затрат переключений контекста. К недостаткам следует отнести открытость некоторых системных компонентов для перезаписи со стороны плохо работающих программ, что означает уязвимость системы.
Каждая собственная 32-разрядная программа OS/2 видит неструктурированное адресное пространство от 0 до 4 Гбайт; сама программа отображается в первые 512 Мбайт и изолирована от других 32-разрядных программ OS/2, хотя она может взаимодействовать с ними с помощью переноса фрагментов (cut-and-paste) или средств DDE OS/2. Собственные прикладные программы и системные компоненты выполняются в режиме вытесняющей многозадачности на потоковом уровне.
Прикладные программы Win16 могут выполняться либо на отдельных виртуальных машинах Windows, либо на общей Windows VM. В зависимости от версии Warp код Windows представлен в виде системных DLL или подлинной копией Microsoft Windows 3.1. Отдельные сеансы Windows работают в режиме вытесняющей многозадачности с другими программами. Программы Win16 на общей машине Windows VM работают в режиме кооперативной многозадачности не защищены друг от друга, как и в Windows 3.1. OS/2 рассматривает виртуальные машины Windows VM как собственные 32-разрядные процессы.