2.UNIXとMS−DOS
UNIXとMS-DOS
一章では、全体的な流れとしてOSについて述べたが、この章では、
代表的なOSであるUNIXとMS-DOSの歴史や、それぞれの特徴、ま
たそれ以外のOSの動きなど、OSの種類という面に特化して述べてい
く事にする。
2.1 UNIX
2.1.1 UNIXの歴史
M.I.Tの研究者達とBell研究所、General Electricが設計した「MULTICS」がUNIXのもととなっている。MULTICSは、結局失敗し、Bell研究所はプロジェクトから完全に撤退したが、Bell研究所の研究者であったKen Thompsonは何か面白い事ができないかと考え、彼は、ミニコンピュータPDP-7上でMULTICSの小規模なものを一人で(この時点ではアセンブラ言語を使用して)書き直す事を決意した。彼のシステムは実際に動作し、自身の開発作業を支援できるまでになった。その結果として、Bell研究所のもう一人の研究者であるBrian Kerninghanが冗談のつもりでUNICS(UNiplexed Information and Computing Service)と呼んだ。MULTICSから骨抜きにされた「EUNUCHS」をもじったものであったが、後でつづりを「UNIX」に変えて、今にその名が残っている。
Thompsonの作業は、Bell研究所の同僚に強い印象を与え、すぐに Dennis Ritchieと、そして後に彼の部門全体と共同で作業を行う事となった。この時に二つの重要な開発作業がなされた。それは、UNIXを時代遅れのPDP-7から遥かに性能のよいPDP-11/20に移植し、さらにはPDP-11/45とPDP-11/70に移植していった。後者の二つのマシンは1970年代で最も多く使われており、ミニコンピュータ時代を代表する機種であった。PDP-11/45とPDP-11/70はいずれもメモリ保護ハードウェアだけでなく、当時にしてはかなり大きなメモリを備え、同時に複数のユーザを扱う事が可能であった。二番目の開発は、UNIXを記述する言語に関する作業であった。これまでは、面白くも何とも無い新機種のマシンのために、システム全体を書き直す事は誰が見ても明らかにつらい作業であったので、Thompsonは、自身が設計したBという高級言語でUNIXを書き直す事にした。Bは、BCPL(PL/Iに似たCPLを簡素化したものであったが、まったく動作しなかった)を簡素化したものである。Bには構造体の欠如という重大な弱点があったために、この試みは成功しなかった。次に、RitchieがCと呼ばれるBの後がまを設計し、C言語用の優れたコンパイラを作成した。ThompsonとRitchieは共に、C言語で、UNIXを書き直した。 Cは、コンパイル時間も適切でちょうどいい規模の言語であり、その後ずっとシステム・プログラミングの分野で優位性を発揮していった。今では多くの企業が商用のCコンパイラを販売している。