一週間で身につくC言語の基本

おさえておきたいプログラミングの基本

コラム10. UNIXとC言語


■ 偉大なるOS、UNIX

UNIXというOSは、1969年、アメリカのAT&Tのベル研究所にて、ケン・トンプソン、デニス・リッチー、ブライアン・カーニハン、などといったメンバーによって開発されました。

その当時から、コンピュータ用のOSはいくつも存在しており、UNIXはその中の一つにすぎませんでした。しかし、当初アセンブリ言語のみで開発されたこのOSが、1973年にほぼ全体をC言語で書き直しを行ったことにより、UNIXとC言語の運命は大きく変わりました。

当初、OSをUNIXで書き直したことにより、OSのパフォーマンスは一時的に低下しました。しかし、同時に開発が容易になり、異なるハードウェアへの移植性も向上し、UNIXとC言語というOSと言語の組み合わせが世界的に爆発的に普及するきっかけを作ることになったのです。

■ UNIXの系統

1970~1980年代の初期にかけて、UNIXは大学や研究機関などで広く採用されるようになりました。それとともに、いくつかの系統に分かれてきましたが、大きく分けるとカリフォルニア大学バークレー校をオリジナルとするBSD系統と、本家AT&Tによって開発されたSYSTEM-Vといった系統に分かれてきました。

1980年代から1990年代初めごろまで、BSDとSYSTEM-Vは、UNIXの大きなふたつの系統となり、それぞれ競い合いながら発展してきたことから、UNIX戦争などという言い方がなされるようになりました。

当時は、BSDはデスクトップワークステーション等で使われたのに対し、SYSTEM-Vは大規模マルチユーザシステム向けのシステム向けに最適と言われていましたが、のちにPOSIXのような標準化作業がなされて、この二つの系統は徐々に統一されていきました。

■ UNIX系OSの現在

このように、多くの系統に分かれていたUNIXですが、2007年にUNIXの商標の所有者である標準化団体の「The Open Group」によって認証を受けたOSのみが「UNIX」の商標を得られることになりました。

この認定を受けたOSとしては、Mac OS X、AIX、HP-UX、Solarisなどがあります。それに対し、認証を受けていないOSとしては、Linux、FreeBSD、OpenBSDなどがあります。このように、認証を受けていないものの中身がUNIXと言っていいようなOSのことを、「UNIXシステムライク」もしくは「UNIXライク」などと言ったりします。

ちなみに、現在スマートフォンの主要OSであるAndroidは、実はLinuxをベースとしており、広い意味での「UNIXライク」なOSといえるのです。こうしてみると、UNIX系統のOSがいかに広く普及しているかがよくわかります。

■ UNIXとオープンソース

しかし、いったいなぜUNIXおよびUNIX系統のOSがこれだけ普及するようになったのでしょうか?実はそのことはUNIXがC言語で記述されていることと、大きく関連しています。

UNIXが開発された当時ベル研究所の当時の親会社AT&Tはコンピュータ産業への進出を禁止されていたことから、UNIXを販売することはできませんでした。そこで、UNIX製作者の一人であるケン・トンプソンはUNIXをソースコードと共にメディアのコピー代だけで希望者に発送したのです。

もしもUNIXが、ハードに大きく依存するアセンブラで記述されていたのなら、こういったことは不可能だったでしょう。しかし、C言語で記述されていたことにより、様々なハードウェアの上にUNIXを移植できるようになったのです。

そのためUNIXは爆発的に普及し、同時にUNIXにはオープンな文化が育まれ、OSに限らずUNIX上で利用できる様々なソフトウェアはソースコードが公開されるようになり、コンピュータ技術を飛躍的に前進させたのです。

■ UNIX系OSのソースコード

一般に、UNIXおよびUNIX系のソースコードというと「カーネル」というシステムの核になる部分のソースコードを言うようになります。UNIXおよびUNIX系列のOSのカーネルはC言語で記述されており、誰でもコピーして簡単に思料することができます。

特によく普及してるのがLINUX系統のもので、前述のAndroidのように、新たにコンピュータのOSを作る際にはLINUXのカーネルをそのまま流用するケースが多いようです。このように、UNIXとC言語の組み合わせは、現在でもコンピュータの世界に非常に大きな影響を与えているのです。

一週間で学べるコースの一覧
Udemy
...
2024/10/01

Udemyでも学びましょう!

一週間でわかるC言語・C++言語がオンライン講座になりました!動画音声によってさらにわかりやすくなりました!! 1講座で2つの言語を学ぶことができる上に、練習問題の回答もダウンロードできます。

Read →
Impress一週間シリーズ
1週間でC言語の基礎が学べる本
2024/10/01

書籍化された一週間シリーズ

本講座が「1週間でC言語の基礎が学べる本」として書籍化されました!サイトの内容プラスアルファでより学習しやすくなっています!Impressより発売中です!!

Read →
Impress一週間シリーズ
...
2024/10/01

書籍化された一週間シリーズ

一週間シリーズは書籍化されています。こちらもどうぞ!

Read →
プログラマーなら欲しいグッズ
プログラミンググッズ

プログラミンググッズ

快適なプログラミング環境を構築したい人々にぜひとも揃えてほしいグッズです。

Read →
制作・管理
シフトシステム株式会社

シフトシステム株式会社

このサイトはシフトシステム株式会社によって制作・管理がなされています。

Read →