最後に、Multics うんぬんをチトふぉろ。

C 言語との相性が悪いので最近は流行ってないのだが、
1 つのプロセスからアクセスできるアドレスを
2 次元空間にする、という考え方があって、386 とか
ではちゃんとそういうセグメンテーションになっている。
(活用されてないけど)

で、Multics の場合、ファイルへの読み書きは、
メモリ空間へのファイルのマッピングになってて、
ファイルをオープンすると、そのファイルをマップした
空間がもらえる、というような感じに、おおざっぱに
言うとなっていたんだそうな。