Terminate and Stay Resident
オーバーレイを多用したプログラミングは非常に複雑であるため、プログラムが約512KBを超える場合、1MBの制限を超えるもっと簡単な方法として、VCPIやDPMIを実装したサードパーティ製DOSエクステンダが使われた。それによって、x86プロセッサがリアルモードからプロテクトモードに移行すると1MBを超える領域でコードを実行することができた。しかしMS-DOSと(DOSエクステンダに対応している以外の)MS-DOSプログラムは全てリアルモードで動作するものであり(VCPIやDMPIはプロテクトモードのプログラムをMS-DOSに対してリアルモードであるように見せる)、TSRやデバイスドライバもリアルモードで動作する。従って、それらに制御が渡る際には、DOSエクステンダはリアルモードに戻してから制御を渡す必要があり、時間的なペナルティが発生した(あるいは、仮想86モード中の互換環境でリアルモード用のコードを動かすタイプもあった。その場合、仮想化されている機能が重く、特に386の仮想86モードはIO命令そのものが重かったため、PC-98ではグラフィック(GRCG)のために非常に重くなるものがあった)。さらに、MS-DOS以上に問題であるのがBIOSであった。