回答:
ハードウェアサポートがない(MMUがない)場合でも、すべてのポインターが物理アドレスを表すマルチプロセスオペレーティングシステムを実行できます。ただし、MMUを通じて通常提供されるいくつかの主要な機能は失われます。
fork
、プロセスの物理メモリのコピーを作成し、同じ仮想アドレスから新しい物理アドレスに新しい仮想メモリマップを作成することです。MMUのないシステムで動作するUNIXライクなオペレーティングシステムがあります。
vfork
サポートのみされている)こと、メモリ保護がないことなどがあります。しかし、プリエンプティブなマルチタスクがあります。¹ 現代のUnixでは、これは通常行われている遅延し、再び、それは物理的なページを見つけることができない例外をMMUに依存している、(コピーオンライト)。
すでに述べたように問題になるメモリ保護のようないくつかの制約があっても確かに可能です。たとえば、µClinux http://www.uclinux.org/は、仮想メモリを実装せずに複数のプロセスをサポートします。少なくともAnalog Devices Blackfinのような一部のCPUは、MPU(メモリ保護ユニット)http://docs.blackfin.uclinux.org/doku.php?id=bfin:mpuを提供していることに注意してください。これにより、仮想メモリの少ないオペレーティングシステムでも、メモリのパーティション分割が可能になります。
これは、メモリの観点からプロセスとスレッドをどのように定義するかによって異なります。
仮想メモリの機能の1つはパーティション化です。パーティション化せずに複数のプロセスを実行することは可能ですが、これは同じアドレス空間を共有するプロセスよりも複数のスレッドを実行することに似ています。