コンピュータが開発された当初は、1つのプログラムだけを実行するものであったが、コンピュータの能力向上と使いたいというユーザ数の増加から、MITのMulticsのように多数のユーザのプログラムを時分割で実行するマルチタスクOSが開発された。 パソコンの世界では、DOSの時代には一時には1つのプログラムしか実行できなかったがWindows時代になって、 Windowごとに異なるプログラムが並列に実行できるようになった。 マルチプログラム、あるいはマルチタスクと呼ばれる複数のプログラムを並列(正確には10ms程度の人間には感知できない程度の時間で切り替えて)に実行する機能を持つOSでは、プログラムの切り替えに際して、実行中のプログラムのアーキテクチャレジスタを退避し、次に実行するプログラムのアーキテクチャレジスタを以前の格納データから復元するという操作を行う。 多くの場合、このようなマルチタスク

