パソコンでのOSの発達と言語プロセッサ
前回のコンピュータの歴史の続きということで、 パソコン周りのOSの発達の歴史を説明。
パソコンのOSの発達
16bitパソコンが出始めた頃は、Intel&MicrosoftによるMS-DOSと、 Apple社によるMacintoshが主流であった。 この時代では、シングルユーザ・シングルタスクが普通であった。 MacのGUI技術をMicrosoftがWindowsで発表したころから、 処理性能への要求から32bitコンピュータへと変化していく。
32bitコンピュータが出始めたあたりから、パソコンでも汎用機の影響や 複数のウィンドウ操作などの一般化で、マルチユーザ・マルチタスクが 取り入れられていく。 しかし、これまでのコンピュータは、メモリ保護機能が無かったので、 他の怪しいプロセスの影響をうけて動かなくなるトラブルがあたりまえであった。 しかし、Intel 80386で、保護機能がついた頃からマルチユーザ・マルチタスク化が 広がっていく。 Windows でも、Windows/NT,2000と発達していく。
同じ頃、汎用機での巨大なOS(例えばMultics)をミニコンで動かしたいという 要求から、unixがC言語と共に開発される。unixは、サーバ側で普及していく。 この中で、Linuxは無料で使えるOSとして、普及が始まりだす。 オープンソースの世界では、Internetからダウンロードしたソフトに改良を 施して良い物ができたら、そのソフトはインターネットに公開するという 原則から、世界中のハッカーにより改良・開発されたものが広まっていく。
言語プロセッサ
コンピュータは、CPU・メモリ・I/O・周辺装置から作られており、 ノイマン型コンピュータでは、Fetch/Decode/Read/Execute/Write/次の命令…の 繰り返しによって動く。 また、メモリは不揮発性のROMと、揮発性のRAMからできている。 コンピュータは電源が入ると、ROMに書かれているブートローダが、BIOSを 使ってHDDなどからOSの基本機能を、RAM上に読みだして動き出す。 ユーザがアプリケーションを起動すると、RAM上に読み込んで起動する。
アプリケーションなどのプログラムは、高級言語などで記述されるが、 プログラムの動かし方には、コンパイラ方式とインタプリタ方式がある。 コンパイラは、ソースプログラムをあらかじめすべて機械語に直して実行する。 このため機械語に治すのは時間がかかるけど、実行時は効率よく速く動く。 一方、インタプリタ方式は、ソースを必要に応じて解析して実行する。 このため繰り返しなどでは、命令解析がその都度行われるため遅い。
しかしながら、インタプリタ方式はすぐに動かすことができるため、 テスト開発では便利である。一方コンパイラ方式は、実行時にソースプログラム が不要であることから、アプリケーション配布時にソースコードの流出の 心配がないため、企業にとっては有利である。