授賞対象分野

授賞業績「情報・通信」分野

UNIXオペレーティングシステムの開発
UNIXオ
デニス・リッチー博士
デニ1941 年 9 月 9 日生まれ（69 歳） ベル研究所特別名誉技師

ケン・トンプソン博士
ケン

1943 年 2 月 4 日生まれ（67 歳） グーグル社特別技師

概要

現在のコンピュータシステムでは、ワープロや表計算などの業務を行うためのアプリケーションソフトウエアの他に、オペレーティングシステムと呼ばれる基本ソフトが用いられています。デニス・リッチー博士ならびにケン・トン
プソン博士は、1969年にUNIXと呼ばれる先進的なオペレーティングシステムを開発しました。当時のオペレー
ティングシステムは、複雑で無秩序に大規模化していましたが、UNIXでは小さくモジュール化したプログラムを組み合わせることで安定性と高速性を実現。UNIXの優れた設計思想は、多くのコンピュータ技術者に受け継がれ、インターネットをはじめとする高度情報化社会の発展を支えてきました。

使いやすいコンピュータを実現する
オペレーティングシステム
現代のコンピュータでは、多くの場合、複数のソフトウエアが階層的に機能しています（図1）。例えば、表計算をしたり写真を加工するなど利用者に近い部分で働くのがアプリケーションソフト。そして、アプリケーションソフトとハードウエア（機械）の間で働いているのがオペレーティングシステムです。オペレーティ
ングシステムの役割は、コンピュータを構成するハードディスクなどのハードウエアを抽象化しアプリケーションソフトに提供すること。そのためアプリケーションソフトは「データを記録する」「プリントする」といった命令を簡素化することができます。このほかオペ
レーティングシステムは、複数の作業を並行して実行したり、ネットワークへの接続など基本的な処理も行っています。
1940年代に登場した初期のコンピュータは、じつはオペレーティングシステムを持っていませんでした。
50年代に入ってハードウエア利用を簡素化するツール（道具）としてのプログラムが使われ始め、オペレーティングシステムという概念が確立したのです。そして、60年代に入るとコンピュータ開発者たちは競ってオペ
レーティングシステム機能の拡充を図るようになりました。当時、コンピュータの大型化、高速化が急速に進み、1台の高性能コンピュータを複数の人が並行利用するタイムシェアリングシステムが実現。これらの使い勝手を向上するために優れたオペレーティングシステムの開発が不可欠だったからです。
1964年、アメリカではMIT（マサチューセッツ工科大学）を中心として、ベル研究所、ゼネラル・エレクトリック（GE）社の共同研究プロジェクトとしてMultics（マルティックス）と名付けられたタイムシェアリングオペレーティングシステムの開発が始まりました。Multicsが目指したのは、高性能コンピュータの能力をフル活用し、まるで電話や電力のように利用できる対話型ユーザーインターフェースを備えた当時としては画期的なシステムでした。
そしてベル研究所の研究員としてプロジェクトに参加していたのが、当時は20代であったリッチー博士とトンプソン博士です。リッチー博士は、Multicsを効率よくプログラミングするための言語の開発を行い、トンプソン博士は後のUNIXの中核技術ともなる階層型ファイリング（文書管理）システムのアイデアを持っていました。しかし、1968年から69年にかけてベル研究所はMultics開発からの離脱を決めました。Multicsは、理想を追うあまり巨大で複雑なシステムになりすぎ、システム全体のパフォーマンスが期待できないというのがベル研究所の判断でした。

た。頓挫していたトンプソン博士のファイリングシステムも移植され、1969年には新たなオペレーティングシステムとしての体裁を整えました。そして、いつの間にかスタッフの間ではUNICSと呼ばれるようになりました。うまく行かなかったMulticsの持つ巨大で多層的（Multiplex）というイメージに対してコンパクトで単層的（UNI-plex）
なオペレーティングシステムであることを強調して名付けられたといわれています。
UNICSの綴りはやがてUNIXに改められ、同時にその優れた機能が研究者たちに知れ渡りました。使いたい情報をすぐに検索できる階層型ファイリングシステ
ムに加え、基本部分を少人数で開発したためシンプルかつトラブルの少ない堅牢なオペレーティングシステ
ムとなっていたからです。1970年により性能の高いコンピュータ（PDP-11）に移植され、ベル研究所の特許部門などがユーザーになりました。
評価が高まったUNIXの次の課題はプログラミング言語の改良でした。リッチー博士は、Multicsの経験から、UNIXをさまざまなコンピュータに移植するためには、命令の抽象度を高めた「高級言語」でプログラミングする必要があると感じていたからです。リッチー博士は、Multicsのためにトンプソン博士と一緒にB言語を開発していましたが、それに改良を加えたC言語を完成させ、1973年にUNIXをC言語に書き換えるという作業を成し遂げました。これによってUNIXは、世界中のコンピュータで利用できるようになったのです。翌年の1974年に両博士は満を持してUNIXに関する論文を発表。UNIXの存在は世界中に知れ渡るようになりました。
図１ ソフトウエアの階層図

両博士が生み出したUNIXとC言語。
そのどちらもが後の情報科学に大きな影響を与えました。当時、ベル研究所がUNIXをソースコード（ハードウエアに対する基本的命令を示した数列）とともに大学・研究機関に無償提供したため、世界各国の研究者が積極的に利用しました。UNIXには、研究者同士がアイデアを共有し新たな開発に繋げるというオープンな文化が育まれ、このとき雨後の筍のように次々と登場した設計思想がUNIX哲学として受け継がれていったのです。C言語も、同様にさまざまな改良が加えられ、現在ではオペレーティングシステムの多くが最初からC言語で記述されるようになりました。
振り返ってみれば、現在の情報分野の基礎技術にはUNIXが母体となって生まれたものが数多いことが分かります。そのうち特筆すべきものはインターネットです。カリフォルニア大学バークレー校はUNIXの第6版の機能を拡張したBSD系UNIXを開発。ここからインターネット通信規約（TCP/IP）を実装したUNIXが誕生し、インターネットの実現を大きく支えることになりました。
現在では、UNIXの利用に一定の規則を設けたライセンス制度も存在しますが、ソフトウエア制作者の著作権を守りながらソースコードを公開する「オープンソース」という手法での開発も並行して行われています。
そして、UNIX哲学を受け継ぐオペレーティングシス
テムは、携帯電話からスーパーコンピュータに至るまで幅広く利用されています。

図２ UNIXの理念（１）スモールユーザー（人間）

自分たちのオペレーティングシステムを作りたい
ベル研究所におけるMulticsの開発は中止されましたが、このとき開発に深く係わったトンプソン博士のグループは独自の研究を続けました。彼らは開発段階のMulticsが提供していた快適なユーザーインターフェースを失いたくないと考え、代替のシステムを探し始めたのです。特にトンプソン博士は自分でプログラミングした「宇宙旅行」という対話型コンピュータゲームを気に入っていました。まず、それを研究所に眠っていた旧式のコンピュータ（DEC社製PDP-7）に移植。そこにリッチー博士の力を借りながらMulticsの技術のなかで特に重要と思われる機能を少しずつ加えていきまし次世代の情報化社会を切り拓く

イズ

ビューティフル

小さなものには大きなものにはない利点がある。プログラムを可能なかぎり小さなモジュールに分けることで組み合わせて利用することができる。

（２）１つのプログラムには１つの機能モジュールに分けられたプログラムには、ひとつのことだけを確実に行わせるようにする。

アプリケーション（３）効率より移植性を重視する
特定のハードウエアで最大特性を実現するより、よりたくさんのコンピュータの機能を上げることでコンピュータ環境は高まる。

（４）データの移植性も重視する
オペレーティングシステム

プログラムだけを移植可能にしても情報の共有はできない。
数値データはすべてASCIIフラットファイルで格納する。

（５）過度の対話性は避ける
ユーザーと対話している時間はデータが滞る。
適度な対話型インターフェースを心がける。

ハードウエア（６）すべてのプログラミングはフィルターとして設計
ソフトウエアの基礎はデータを処理することで生成することではない。
プログラムはフィルターとして設計する。

授賞対象分野

授賞業績「情報・通信」分野

UNIXオペレーティングシステムの開発
UNIXオ
デニス・リッチー博士
デニ1941 年 9 月 9 日生まれ（69 歳） ベル研究所特別名誉技師

ケン・トンプソン博士
ケン

1943 年 2 月 4 日生まれ（67 歳） グーグル社特別技師

概要

現在のコンピュータシステムでは、ワープロや表計算などの業務を行うためのアプリケーションソフトウエアの他に、オペレーティングシステムと呼ばれる基本ソフトが用いられています。デニス・リッチー博士ならびにケン・トン
プソン博士は、1969年にUNIXと呼ばれる先進的なオペレーティングシステムを開発しました。当時のオペレー
ティングシステムは、複雑で無秩序に大規模化していましたが、UNIXでは小さくモジュール化したプログラムを組み合わせることで安定性と高速性を実現。UNIXの優れた設計思想は、多くのコンピュータ技術者に受け継がれ、インターネットをはじめとする高度情報化社会の発展を支えてきました。

使いやすいコンピュータを実現する
オペレーティングシステム
現代のコンピュータでは、多くの場合、複数のソフトウエアが階層的に機能しています（図1）。例えば、表計算をしたり写真を加工するなど利用者に近い部分で働くのがアプリケーションソフト。そして、アプリケーションソフトとハードウエア（機械）の間で働いているのがオペレーティングシステムです。オペレーティ
ングシステムの役割は、コンピュータを構成するハードディスクなどのハードウエアを抽象化しアプリケーションソフトに提供すること。そのためアプリケーションソフトは「データを記録する」「プリントする」といった命令を簡素化することができます。このほかオペ
レーティングシステムは、複数の作業を並行して実行したり、ネットワークへの接続など基本的な処理も行っています。
1940年代に登場した初期のコンピュータは、じつはオペレーティングシステムを持っていませんでした。
50年代に入ってハードウエア利用を簡素化するツール（道具）としてのプログラムが使われ始め、オペレーティングシステムという概念が確立したのです。そして、60年代に入るとコンピュータ開発者たちは競ってオペ
レーティングシステム機能の拡充を図るようになりました。当時、コンピュータの大型化、高速化が急速に進み、1台の高性能コンピュータを複数の人が並行利用するタイムシェアリングシステムが実現。これらの使い勝手を向上するために優れたオペレーティングシステムの開発が不可欠だったからです。
1964年、アメリカではMIT（マサチューセッツ工科大学）を中心として、ベル研究所、ゼネラル・エレクトリック（GE）社の共同研究プロジェクトとしてMultics（マルティックス）と名付けられたタイムシェアリングオペレーティングシステムの開発が始まりました。Multicsが目指したのは、高性能コンピュータの能力をフル活用し、まるで電話や電力のように利用できる対話型ユーザーインターフェースを備えた当時としては画期的なシステムでした。
そしてベル研究所の研究員としてプロジェクトに参加していたのが、当時は20代であったリッチー博士とトンプソン博士です。リッチー博士は、Multicsを効率よくプログラミングするための言語の開発を行い、トンプソン博士は後のUNIXの中核技術ともなる階層型ファイリング（文書管理）システムのアイデアを持っていました。しかし、1968年から69年にかけてベル研究所はMultics開発からの離脱を決めました。Multicsは、理想を追うあまり巨大で複雑なシステムになりすぎ、システム全体のパフォーマンスが期待できないというのがベル研究所の判断でした。

た。頓挫していたトンプソン博士のファイリングシステムも移植され、1969年には新たなオペレーティングシステムとしての体裁を整えました。そして、いつの間にかスタッフの間ではUNICSと呼ばれるようになりました。うまく行かなかったMulticsの持つ巨大で多層的（Multiplex）というイメージに対してコンパクトで単層的（UNI-plex）
なオペレーティングシステムであることを強調して名付けられたといわれています。
UNICSの綴りはやがてUNIXに改められ、同時にその優れた機能が研究者たちに知れ渡りました。使いたい情報をすぐに検索できる階層型ファイリングシステ
ムに加え、基本部分を少人数で開発したためシンプルかつトラブルの少ない堅牢なオペレーティングシステ
ムとなっていたからです。1970年により性能の高いコンピュータ（PDP-11）に移植され、ベル研究所の特許部門などがユーザーになりました。
評価が高まったUNIXの次の課題はプログラミング言語の改良でした。リッチー博士は、Multicsの経験から、UNIXをさまざまなコンピュータに移植するためには、命令の抽象度を高めた「高級言語」でプログラミングする必要があると感じていたからです。リッチー博士は、Multicsのためにトンプソン博士と一緒にB言語を開発していましたが、それに改良を加えたC言語を完成させ、1973年にUNIXをC言語に書き換えるという作業を成し遂げました。これによってUNIXは、世界中のコンピュータで利用できるようになったのです。翌年の1974年に両博士は満を持してUNIXに関する論文を発表。UNIXの存在は世界中に知れ渡るようになりました。
図１ ソフトウエアの階層図

両博士が生み出したUNIXとC言語。
そのどちらもが後の情報科学に大きな影響を与えました。当時、ベル研究所がUNIXをソースコード（ハードウエアに対する基本的命令を示した数列）とともに大学・研究機関に無償提供したため、世界各国の研究者が積極的に利用しました。UNIXには、研究者同士がアイデアを共有し新たな開発に繋げるというオープンな文化が育まれ、このとき雨後の筍のように次々と登場した設計思想がUNIX哲学として受け継がれていったのです。C言語も、同様にさまざまな改良が加えられ、現在ではオペレーティングシステムの多くが最初からC言語で記述されるようになりました。
振り返ってみれば、現在の情報分野の基礎技術にはUNIXが母体となって生まれたものが数多いことが分かります。そのうち特筆すべきものはインターネットです。カリフォルニア大学バークレー校はUNIXの第6版の機能を拡張したBSD系UNIXを開発。ここからインターネット通信規約（TCP/IP）を実装したUNIXが誕生し、インターネットの実現を大きく支えることになりました。
現在では、UNIXの利用に一定の規則を設けたライセンス制度も存在しますが、ソフトウエア制作者の著作権を守りながらソースコードを公開する「オープンソース」という手法での開発も並行して行われています。
そして、UNIX哲学を受け継ぐオペレーティングシス
テムは、携帯電話からスーパーコンピュータに至るまで幅広く利用されています。

図２ UNIXの理念（１）スモールユーザー（人間）

自分たちのオペレーティングシステムを作りたい
ベル研究所におけるMulticsの開発は中止されましたが、このとき開発に深く係わったトンプソン博士のグループは独自の研究を続けました。彼らは開発段階のMulticsが提供していた快適なユーザーインターフェースを失いたくないと考え、代替のシステムを探し始めたのです。特にトンプソン博士は自分でプログラミングした「宇宙旅行」という対話型コンピュータゲームを気に入っていました。まず、それを研究所に眠っていた旧式のコンピュータ（DEC社製PDP-7）に移植。そこにリッチー博士の力を借りながらMulticsの技術のなかで特に重要と思われる機能を少しずつ加えていきまし次世代の情報化社会を切り拓く

イズ

ビューティフル小さなものには大きなものにはない利点がある。プログラムを可能なかぎり小さなモジュールに分けることで組み合わせて利用することができる。

（２）１つのプログラムには１つの機能モジュールに分けられたプログラムには、ひとつのことだけを確実に行わせるようにする。

アプリケーション（３）効率より移植性を重視する
特定のハードウエアで最大特性を実現するより、よりたくさんのコンピュータの機能を上げることでコンピュータ環境は高まる。

（４）データの移植性も重視する
オペレーティングシステム

プログラムだけを移植可能にしても情報の共有はできない。
数値データはすべてASCIIフラットファイルで格納する。

（５）過度の対話性は避ける
ユーザーと対話している時間はデータが滞る。
適度な対話型インターフェースを心がける。

ハードウエア（６）すべてのプログラミングはフィルターとして設計
ソフトウエアの基礎はデータを処理することで生成することではない。
プログラムはフィルターとして設計する。