Upgrade to Pro — share decks privately, control downloads, hide ads and more …

The_History_of_UNIX_and_surrounding_enviroment_20180629a.pdf

 The_History_of_UNIX_and_surrounding_enviroment_20180629a.pdf

The History of UNIX and surrounding enviroment.

Nobuyuki Inoue

June 28, 2018
Tweet

More Decks by Nobuyuki Inoue

Other Decks in Education

Transcript

  1. これから話すこと… 1. 導入 1. メインフレームとオープンシステム 2. サーバ仮想化 3. クラウド・サービス(IaaS, PaaS,

    SaaS, ホスティングサービス) 4. サーバOSのシェア 2. UNIXの歴史 1. UNIXの誕生 2. BSDとSystemV 3. UNIX標準化の争い 4. Linux この資料では、商用UNIXを「UNIX」、それ以外を「UNIX互換OS」または「Unix系OS」 と表記しています。 5
  2. メインフレーム(mainframe) 昔からのコンピュータの流れを汲む大型のコンピュータ。 事務計算から科学技術計算まで多様な用途に使えることから、汎用コンピュータ、汎用機、 汎用大型コンピュータ、大型汎用コンピュータ、ホストコンピュータ、大型汎用計算機 な どとも呼ばれており、以下のような特徴を持っていた。  1980年代までは,コンピュータ と言えば メインフレームを指していた

     メインフレームより小規模なコンピュータで、オフコン(オフィスコンピュータ)と呼 ばれる機器もあった  高速なコンピュータで,膨大な処理能力を有する  社会の基幹となる大規模なシステムは現在もメインフレームが主流 例えば、官公庁システム、銀行システム、列車や航空機の予約システムなどはメインフ レームが主流であった。 メインフレームというのは、昔ながらの業務アプリケーションの実行環境である。 6
  3. バッチ(BAT)処理 バッチ処理(バッチしょり)とは、コンピュータで1つの 流れのプログラム群(ジョブ)を順次に実行すること。あ らかじめ定めた処理を一度に行うことを示すコンピュータ 用語。反対語は対話処理・インタラクティブ処理またはリ アルタイム処理。 「バッチ (batch)」という言葉は、プログラマがプログラ ミングをする際、紙にコードを書き、紙テープか80カラム 仕様のパンチカードにパンチしていった時代の言葉である。

    カードまたは紙テープはシステムオペレーターに渡され、 オペレーターはタスクのスケジューリングをし、コン ピュータにカードまたは紙テープを投入していった。 スケジューリングされたタスクは直ちにシステムに入れ られたのではなく、一緒にまとめて投入されたので(バッ チとは、複数の似ているものを1つのグループとして生産、 処理すること、または一緒に集めて1つのユニットとして 扱うこと。Batch processingより)、これらのタスクの集 まりを「バッチジョブ」と呼ぶようになった。 8
  4. バッチ(BAT)処理 バッチジョブは一度設定されると人間の手を煩わせることな く動作する。そのため入力データもスクリプトやコマンド行 パラメータを通して予め用意される。この点でユーザーの入 力を必要とする対話型プログラムとは対極にある。 バッチ処理は歴史的にはメインフレームと同義だった。この クラスのコンピュータは非常に高価であるため、上述したよ うな理由でバッチ処理が行われた。また、初期のコンピュー タでは端末からの対話的利用はほとんど行われなかった。MS- DOSのバッチファイル(.BAT)の由来はここから来ている。

    バッチ処理には以下のような利点がある。  多くのユーザーがコンピュータのリソースを共有できる。  処理をコンピュータのリソースがあまり忙しくない時間帯 (多くは夜間、休日)にシフトできる。  人間がついていなくてもコンピュータのリソースが暇にな らないように最大限有効活用できる。  高価なコンピュータをフルに活用することで費用対効果の 効率向上に寄与する。 夜間に実行されるバッチ処理は「夜間バッチ」と呼ばれ、決 められた時間までに終了しなかった場合は「突き抜け」と呼 ばれる。 9
  5. メインフレームとオープンシステム  オープンシステム(OpenSystem)とは 特定の1社に依存しないハードウェア/ソフトウェアで 構成されたシステム すべてのハード ウェアソフトウェ アを1社が提供 ベンダー例 •

    IBM(米) • ユニシス(米) • Bull(仏) 国内ベンダー例 • 日立製作所 • 日本電気(NEC) • 東芝 • 富士通 クライアントPC • 各PCメーカ製 クライアントOS • MS-DOS(Microsoft) • MS-Windows/WindowsNT • OS/2(IBM) • MacOS(Apple) • Unix系(Linux/FreeBSD) プリンタ • 各プリンタメーカー サーバ • UNIXベンダ (IBM,HP ,Sun,Dec,SG,…) • 各PCメーカー サーバOS • 商用UNIX (AIX,HP-UX,Solaris,…) • Netware(Novell) • WindowsNT(Microsoft) • OS/2(IBM) ネットワーク機器 • 各NW機器ベンダー 11
  6. 90年代、オープンシステムが台頭  ホスト/端末型のシステム(1990年代以前)  システム導入に際してハードウエア、ソフトウエアともに1社がすべてを提供  システム導入後は、バージョンアップも含めて、ずっとその会社の世話になる  クライアント/サーバシステム(オープンシステム)への移行(1990年代以降) 

    イーサネットやトークンリングなどのパソコンLANの技術が普及  スタンドアロンで使われていたPCが互いにネットワーク接続される  当初はファイルやプリンタの共有が中心  UNIXサーバとデータベースを組み合わせた業務システムが構築が始まる  PCはそのシステムにアクセスするための端末(クライアント)としての役割も担う その後、パソコンの性能向上とWindows NT(現在のWindows Server/Windows7/8/10の原 型)の登場によって、クライアント/サーバー・システムでは、UNIXサーバーに代わりPC サーバーが大きな勢力を持つようになった。 12
  7. サーバコンピュータを価格帯で見たOSの市場シェア 価格帯で棲み分けるUNIXとWindows(2003年調査)  価格帯が100万円以下では、Windowsの シェアが圧倒的  100万円~5,000万円のあたりでは、商 用UNIXの比率が高い  価格帯が5,000万円を超えるあたりから、

    Other(メインフレーム/オフコン)の 比率が高くなる このデータから、  “ハイエンドのメインフレーム”  “ミドルレンジのUNIX”  “エントリーのWindows” という棲み分けが見えてくる。 ※macOSは「Other」に分類 13
  8. オープンシステムのトレンドの推移(1990~2000年) 1. 一太郎(ワープロ)、Lotus1-2-3(表計算ソフト)が死滅  Windows3.1/95/98時代に、OSと合わせてMS-Officeをバンドルして販売し、 サードパーティを死滅させた  のちにMicrosoftが独占禁止法でたたかれるも、すでに市場の独占に成功した後 だった 2.

    NetWareが死滅  Netware 4.0で、Directory Serviceを導入したが、Windows NT Server/2000/2003/2008/…のシェア拡大には対抗できず 3. IPv4/IPv6以外のネットワーク・プロトコル(レイヤ3/4)が死滅  NetBEUI(Microsoft Network/Windows95でのデフォルトプロトコル)が死滅 (NetBIOS over TCP/IPがあるのでTCP/IP上でMicrosoft Networkがそのまま使え る)  Netwareの衰退が進み、IPX/SPX(Netwareの専用プロトコル)が消えていった… 15
  9. オープンシステムのトレンドの推移(2000年以降) 4. 商用UNIXが虫の息  UNIXのサーバアプリケーションがほぼそのまま動作するオープンソースのLinuxが商用 UNIXの市場をそのまま奪った。  ベンダーのサポート/保証がないだと?→商用のLinuxもあるし、Oracleだって販売され ている。 

    ましてやインターネットの各サーバ(Web(Apache), Mail(Sendmail), DNS(Bind) )は、もと もとオープンソースである。 5. Ethernet以外のLAN(トークンリング, FDDI, ATM, AppleTalk/LocalTalk)が全滅  だって、シンプルで安いし…転送効率の悪さは数量と冗長構成と速度向上でカバー  Ethernet(10BASE-T/100BASE-TX/1000BASE-Tほか)および無線LAN (IEEE802.11/b/g/a/n/ac,…)がPCに標準実装される 6. クロック上昇によるCPUの性能向上が限界、マルチコア化が進む ⇒ サーバ仮想化の普及へ 7. PC離れとスマートフォン/タブレットの普及(インターネット上のOSのシェアが 大幅に変化) ⇒ クラウド化の普及へ 16
  10. 企業内のインターネット・サーバの種類  ファイアウォールサーバ 外部からの不正アクセス・侵入を防ぎ、社内資源を外部からの攻撃から守る。  外向けメールサーバ インターネット側と実際にメールを送受信するサーバ。セキュリティ上popサーバとは同居させない。(DMZ上に設置することを 推奨)  外向けDNSサーバ

    Web閲覧、メール送信時の名前を解決(IPアドレスを取得)、また自ドメインに対する問い合わせに対してホスト名に対するIPアド レスを回答する。  公開WWWサーバ 全世界に公開するWWWサーバ。(その企業のホームページ)  Proxyサーバ 社内からWeb閲覧時にクライアントの代理として各WWWサーバにアクセス。 コンテンツキャッシュを行いインターネット回線の有効利用、レスポンスの高速化を実現する。  内向きメール/popサーバ メール送受信時、社内クライアントが実際に通信するサーバ。受信メールは本サーバに溜まる。  内向きDNSサーバ 社内ホストの名前解決用サーバ。  ウイルスチェックサーバ 社内・外部の送受信メール添付ファイルのウイルスチェックを行う。 18
  11. ホストOS型 (「ホスト」ハイパーバイザ) ハードウェア上でまず別のOSが稼働し(このOSをホスト OSと呼ぶ)、その上でハイパーバイザが(ホストOSのア プリケーションとして)稼働し、更にはハイパーバイザ の上で更に別のOS(このOSをゲストOSと呼ぶ)を稼働さ せる方法である。 通常のOSと同じように使用する事ができるため、ホスト OS上でアプリケーションを動かしたり通常通りの監視を 行うのが容易である。

    例としては以下のものがある。  VMwareのVMware Server、VMware Workstation、 VMware Player、VMware Fusion  マイクロソフトのVirtual PC(Windows 7専用の Windows Virtual PCを含む)とMicrosoft Virtual Server  オラクルのVirtualBox  パラレルスのParallels WorkstationとParallels Desktop  オープンソースのQEMU  オラクルのSolarisのKernel Zone 27
  12. その他(コンテナ型) ホストOSとゲストOSが同一のkernelを使用するため、 ホストOSよりもオーバーヘッドが少ない仮想化方式 である。 コンテナ型仮想化の例としては、Docker, Solarisコ ンテナ, FreeBSD jail等を挙げられる。非常に軽量で、 以下のようなメリットがある。

     非常に簡単に複製ができる  起動/停止が非常に早い 反面、OSレベルの仮想化ではないので、以下のよう なデメリットがある。  ゲストへのリソース割当が苦手 ( 1つのゲストOSの 誤りによって、ホストOS全体が高負荷状態に)  異なるバージョンのkernelを動かす事ができない 28
  13. SaaS(Software as a Service)(サーズ) 読み方は、「サーズ」あるいは「サース」と読む これまでパッケージ製品として提供されていたソフトウェアを、インターネット経由で サービスとして提供・利用する形態のこと SaaSの特徴としては、以下のようなものが挙げられる  データをインターネット上に保存することができる

     PC、スマホ、タブレットなど、端末を選ばずにデータにアクセスできる  複数の人間が同一のデータを共有し、更に編集もできる SaaS型サービスの例としては、 Google AppsやSalesforce、GitHubなどのほか、Gmailや hotmailといったwebメールサービスもSaaSにあてはまる 31
  14. PaaS(Platform as a Service)(パーズ) 読み方は、「パーズ」あるいは「パース」と読む アプリケーションソフトが稼働するためのハードウェアやOSなどのプラットフォーム一 式を、インターネット上のサービスとして提供する形態のこと  エンドユーザーにオンライン上でサービスを提供するSaaSの考え方をさらに深化 

    プラットフォームを大規模なデータセンターなどに用意して外部に開放  主に企業などのユーザーが、その上にサービスを開発する 開発者は、あるシステム設計に沿った方法でアプリケーションを開発できるので、コス トを抑えてかつ早くシステム開発を行うことができる 代表的なサービスとしては、Google App EngineやWindows Azure、IBMのBlueMixなどが ある 32
  15. IaaSとホスティングサービスとの違い VPS(=Virtual Private Server)とは、IaaSと同様に1台の物理サーバを仮想化技術を 利用し、複数の仮想サーバに分割し、その分割した仮想サーバをユーザーに貸し 出すサービスのこと IaaSが流行を始めた2010年ごろから、国内のデータセンター事業者やホスティン グ事業者からは「VPS」というサービスが登場した VPSは、技術的な仕組みはIaaSと似ている部分があるが、料金やサービス仕様で大 きく異なる

     IaaSは従量課金制度だが、VPSはIaaSよりも価格は安めの月額固定の料金である ことが多い  VPSはスケールアップ/スケールアウトができにくいが、IaaSの場合は、自由 にサーバの台数やサーバのスペックの変更ができる VPSの場合はサーバのCPU、メモリ、ディスクの容量は固定されており、IaaSのよ うに急激なスケールアップやスケールアウトには対応できない。 34
  16. Windows ServerとUnixの棲み分け  クライアントOSのシェアは、MS-Windowsが9割近くである  企業内LANの(エントリレベルの)サーバOS(特にドメインコントローラ、ファイル・プリン タサーバ)としては、クライアントOS(Windows)と親和性の高い(ファイルシステムが同じ、 文字コードも共通)であるWindows Serverが導入されることが多い(正確な統計はない) 

    市販されているNASも、ほとんどがWindows互換(NTFS/FAT32)製品である  Unix系でも、SambaというWindows(NETBIOS)サーバ機能があるが、使い勝手や信頼性という面 で、Windows Serverには及ばない  しかし、インターネットサーバやその他のアプリケーションサーバでは、比率が逆転し、 Windows Serverよりも、パフォーマンスが高いUnix系が採用されることが多い 36 マイナビニュース - Windows 10が増加 - 12月OSシェア https://news.mynavi.jp/article/20180104-566132/
  17. 仮想マシンと物理サーバの出荷台数が 2012年に逆転 IDC  2007年から2016年までの間、物理 サーバの出荷台数に大きな変化はな い(±20%以内)  物理サーバの新規導入ではなく、耐 用年数を超えたサーバのリプレース

    がほとんど思われる  リプレース時には、OSは、ほぼ間 違いなく新しいバージョンに更新さ れる  仮想化サーバの比率の増加とともに、 仮想マシンの台数が爆発的に増えて いる。 39
  18. WebサイトにおけるサーバOSの比率 企業内LAN/イントラネットでのサーバのシェアは、Unixより もWindowsの方がシェアが高いが、 インターネットサーバ(Web,Mail,DNS,DBサーバ)などになる と、シェアが逆転する。  WebサイトにおけるOS別のシェア  Unix(Linux等も含む)が約70% 

    MS-Windowsが約30%  macOSは、0.1%未満  Unixの内訳  Linux 60%  BSD 0.9%  Darwin 0.1%未満  HP-UX 0.1%未満  Minix 0.1%未満  Solaris 0.1%未満  Unknown39.1% Unknownは、Webサイト側がhttpのresponseヘッダのOS情報 を非表示設定にしているため。 November 2017 Web Server Survey https://w3techs.com/technologies/overview/operating_system/all 40
  19. Webサイト数の推移 41 年月 イベント 1995/9 ホスト名数19,705- 1995/11 IEがCookieをサポート。約10万サイト。 HTML2.0 1995/12

    NetscapeがJavaScriptをアナウンス 1996/1 Sun MicrosystemsがJavaをリリース 1996/9 ホスト名数401,315- 1996/12 Macromedia Flashがリリース, HTML3.2 1999/xx ドメイン名google.comが登録される 1999/xx VMware Workstationがリリース 1999/4 Network Solutionsがドメイン名登録(.com /.net/.org)の独占事業が終了する 1999/6 ホスト名数6,177,653- 2001/xx VMware ESX Serverがリリース 2003/5 WordPress0.70がリリース 2004/2 Facebookの公開がスタート November 2017 Web Server Survey https://w3techs.com/technologies/overview/operating_system/all
  20. AT&Tとベル研究所  AT&T AT&T Inc.(エイ ティ アンド ティ)は、アメリカ最大手の電話会社。インターネット接続、映像配信サービ ス等も提供する。本社はテキサス州ダラスにあり、AT&Tとは旧社名 The

    American Telephone & Telegraph Company の略。  ベル研究所 1925年に当時のAT&T社長ウォルター・グリフォードが独立事業として設立。その起源はグラハム・ベルが 1880年にボルタ賞の賞金で設立したボルタ研究所に遡る。 開設時はウェスタン・エレクトリック社の研究部門とAT&Tの技術部門を引き継いだ事業を行っていた。 その施設は当時としては最先端であり、様々な革新的技術(電波望遠鏡、トランジスタ、レーザー、情報理 論、UNIXオペレーティングシステム、C言語など)を開発していた。ベル研究所での研究により、これまでに7 つのノーベル賞を獲得している。 1990年代後半、AT&Tはベル研究所を含めたAT&Tテクノロジーズを独立させ、ルーセント・テクノロジーズと した。その際、一部の研究者を引き抜き、新たにAT&T研究所を創設した。 2015年4月、ノキアはアルカテル・ルーセントを$166億で買収することに合意した。2016年1月14日、アルカ テル・ルーセントとベル研究所は正式にノキアの傘下となった。  ノキア(英語: Nokia Corporation、フィンランド語: Nokia Oyj) フィンランド・エスポーに本社を置く、通信インフラ施設・無線技術を中心とする開発ベンダー。 現在の主要事業は、無線技術を中心とする通信インフラ設備の製造・開発であり、売上の9割を占めている。 2011年までは世界最大の携帯電話端末メーカーであった。携帯電話の通信設備では世界第2位であり(世界第1 位はスウェーデンのエリクソン)、GSM、W-CDMA (UMTS) 方式の携帯電話の通信設備を携帯通信事業者向けに 開発して販売している。 44
  21. UNIXの誕生(1960年代)  ベル研究所はマサチューセッツ工科大学,ゼネラル・エレクトリック (GE)と共 同で、メインフレームコンピュータを複数の利用者が同時に利用できるように するMulticsというタイムシェアリングシステムの開発プロジェクトに参加  プロジェクトの進捗の悪さに嫌気がさしたベル研究所は、Multicsプロジェクト からの撤退を決断 

    最後までMulticsに関わっていたトンプソンは、プロジェクトの空き時間を活用 して、Space Travelというゲームを作成  当時、Multicsプロジェクトでは、計算機の使用状況を管理するため、CPUの使 用時間を金額換算にして管理していたが、Space TravelをGE-635上で1回動か すと、50ドルにもなった。  これは、管理上のものであり、実際に課金されるわけではなかったが、経営陣 に知られるのは、好ましいことではなかった  そこで、トンプソンは、ベル研究所内にあったほとんど使われていないPDP-7 に目をつけ、これを借りてSpace Travelを移植した ※GE-600シリーズ 1960年代にゼネラル・エレクトリック (GE) が開発製造した36ビットメインフレー ムコンピュータシリーズであり、GE-635は最初期に登場した機種。Multicsが動作 したマシンとして知られている。 45 Ken Thompson and Dennis Ritchie Gameplay image of Space Travel
  22. UNIXの誕生(1969年) この経験は、Multicsプロジェクトで担当したファイル システムをPDP-7上で実装する際に役立つこととなっ た。  1969年にトンプソンとリッチーらは、階層型ファ イルシステム、プロセスとデバイスファイルの概 念、コマンドラインインタプリタ、いくつかの ユーティリティーを制作 

    できあがったシステムはMulticsよりもずっと小さ いもので、後にUNIXと呼ばれるものになるもので あった  その後1ヵ月ほどで、トンプソンはアセンブラ、エ ディタ、シェルなどを作り上げ、OSとして完結さ せた  Space Travelというゲームは、UNIXの開発開始に 関連はあるが、Space Travelが直接的にUNIXへと発 展したわけではなく、相互に独立した開発であっ た 46 DEC PDP-7
  23. UNIXの誕生(1971~1973年) システムの複雑さが増し、利用者が増えてくると、マニュアルを整備する必要が出 てきた。 最初のUNIXプログラマーズマニュアルは1971年11月に公開された。コマンド群は man形式で記述され、これは現在まで踏襲されている。 マニュアルは、使用方法だけでなくバグ情報も簡潔な形で示し、プログラムの作者 も明示して不明な点があれば直接作者に問い合わせができるようになっていた。 ベル研究所内の他の部署でも、PDP-11を購入すると、DECの公式なOSではなくUNIX を使うことを希望する事例が出てくるようになった。Version 4

    が出る頃には、UNIX はベル研究所内で広く使われるようになりUNIXサポートグループが組織されて社内 で認知された形態でUNIXの普及が促進された。 1973年の Version 4 において、UNIXは高級言語であるC言語で書き直された。これ は、当時は一般的であった、OSのような複雑なシステムはアセンブリ言語でのみ作 成できるという考え方を打ち破るものであった。C言語によって書き直されたことは、 後に、UNIXの移植性を高めることにつながっていく。 ただし、実際にUNIXが他のマシンに移植されたのは1978年になってからであり、 1973年の Version 4 の段階ではC言語で書き直されたといってもPDP-11に依存した コードが多数存在しており、移植性は低かった。 48
  24. UNIXの歴史(1970年代) 49 年代 事象 1971~ 1973年 UNIX Version 3が登場 パイプ機能が実装

    1973年 UNIX Version 4が登場 C言語で記述。マルチタスクOS化 1975年 UNIX Version 6が登場。 商用利用ではライセンス料が20,000ドル 1976年 Viエディタの初版が登場 1978年 Interdata 8/32へのUNIXの移植が完了 UNIXの利用台数が600台を超える 1979年1月 UNIX Version 7が登場 1979年6月 DECの新たなVAXシステム向けにUNIX/32Vが登場(32bit化) 仮想記憶機能はまだ未搭載 1979年末 UNIX Version 5/6から派生したバークレー(カリフォルニア 大学バークレー校)版の BSD(Berkeley Software Distribution) UNIXが完成。 仮想記憶機能が扱えるようになる。Virtual VAX/UNIXまたは VMUNIXとも呼ばれた。 以降、バークレー校は、学術分野におけるUNIXの開発に重 要な役割を果たすことになる。 1956年の独占禁止法違反の訴訟での和解判決合意により、ベル 研究所の当時の親会社AT&Tはコンピュータ産業への進出を禁止 されていた。 そのためUNIXなどのオペレーティングシステムを販売できな かった。実際、和解合意によりベル研究所は電話技術以外のあ らゆる研究成果を希望者にライセンス供与することになってい た。 このような要因から、UNIXはアメリカ合衆国の企業、大学、政 府機関で急速に普及した。
  25. UNIXの歴史(1980年代) 50 年代 事象 1980年 ベル研究所外部だけでも800件以上のシステムが動作 1980年 カリフォルニア大学バークレー校が、DARPA(アメリカ国防 高等研究計画局)からの資金援助を受けて4BSDを完成 1981年

    動作システム数が2000台を超える。 BSDにTCP/IPに基づくネットワーク機能を組み込むプロジェ クトが開始。 MicrosoftがZ8001という16ビットマイクロプロセッサ上で動 作するXenixと呼ばれるUNIXベースのOSを開発。 1982年 インターネットの創成期の発展に大きく寄与することとな る4.2BSDが完成。4.2BSDに実装されたソケットAPIは、その 後、ネットワークAPIのデファクトスタンダードとなる。 AT&Tが主にVersion 7をベースとしたUNIX System IIIをリ リース。 BSDの主要開発者だったビル・ジョイがSun Microsystemsに 入社。 1983年 Sun MicrosystemsがBSDに基づいた自社製ワークステーショ ン用にSunOS1.0を開発。 AT&TがUNIX System V Release 1を開発。これにはBSDから エディタのviやcursesなどいくつかの機能が導入されていた。 リチャード・ストールマンがGNUプロジェクトを創始
  26. GNUとは… GNUとは「GNU is Not Unix」の頭文字を取った略号であり、UNIXと上位互換性のあるフリーな総合ソフトウェア システムの名称。リチャード・ストールマンを中心とした、世界中の開発者によるボランティア活動によって開 発が進められており、GNUプロジェクトと呼ばれてる。 システムにはOSカーネル、シェル、エディタ、プログラム言語処理系など、ハードウェア以外のすべてのソフト ウェアが含まれており、現在ではカーネル以外はほぼ完成している。当初の目標の1つであったGNUカーネルと なる予定の「Hurd」の開発は停止したままとなっている。

    実際に、純粋な「Linux」とはカーネルのみのことであり、現在Linuxディストリビューションとして配布されて いるソフトウェアの大半はGNUのソフトウェア群によって構成されている。(GNU/Linux) GNUの最大の特徴として、それらすべてをフリーで配布されるという点がある。  ソフトウェアを複製する自由  使用する自由  ソースプログラムを読む自由  変更する自由  再配布する自由 GNUのソフトウェアのほとんどは、GNU一般公有使用許諾(GPL:General Public License)のライセンスに基づ いて配布されている。GPLのプログラムを含む、またはそれらを用いて作られたソフトウェアもGPLに従って頒布 することが定められているため、GNUのソフトウェアを使用して商用ソフトを開発する場合には注意が必要であ る。 51
  27. BSD Socket API ソケット(英: Socket)とは、BSD系UNIXを起源とするAPIであ り、C言語によるアプリケーション開発でのプロセス間通信、特 にコンピュータネットワークに関するライブラリを構成する。 BSDソケット、バークレーソケットなどとも呼ばれる。 1983年にリリースされたUNIXオペレーティングシステム (OS)

    4.2BSD で初めて API として実装された。ネットワークの抽象化 インタフェースとしてのデファクトスタンダードとなっている。 伝統的なSocket APIはC言語を対象とするが、他のプログラミン グ言語でも類似のインタフェースを用意している事が多い。 ソケットの代替となるAPIとして、STREAMSベースの Transport Layer Interface (TLI) がある。しかし、BSDソケットは比較にな らないほど普及しており、数多くの実装が存在する。 ※Linux/FreeBSD/macOSを利用している人は、ターミナルを開いて「man socket」 とコマンドを入力してみてください。 52
  28. UNIXの歴史(1983年) 1983年、アメリカ合衆国司法省はAT&Tの2度目の独占禁止法違反の訴訟をAT&Tの解体で決 着。1984年1月1日をもって地域系部門が分離、独立されることとなるが、一方で、AT&Tは 通信業務以外の分野への参入が認められた。 それにより、1956年の和解判決で禁じられていたコンピュータ産業への参入が可能となり、 UNIXを製品化することが可能となった。 これに伴い、AT&TはUNIXを用いたライセンスビジネスを開始し、UNIXをライセンス許可な しで使用することを禁止した。 UNIXのライセンスを受けた会社は、UNIXに様々な機能追加を施し、自社の商品として独自 UNIXを搭載した機器を売り出した。

    これらの機器に搭載されたUNIXにはソースコードが付属していなかったことや、ライセン スが大変厳しかったことから、UNIXを自由に改変したり、またその改変した機能を公開でき なくなった。 これらの UNIX 商用化によって、初期の UNIXの活力の原点であったソースコードの自由な やり取りは失われていった。 それ以降の数年間、Unix コミュニティでは、UNIX System V と BSD Unix 間の標準化という、 いわゆる UNIX戦争に没頭することとなる。 53
  29. 主な商用UNIX ベンダー 名称(OS名) Releas e 備考 Microsoft ⇒ SCO ⇒

    Xinuos XENIX ⇒ SCO UNIX ⇒ OpenServer 1981年 Version7ベース、後にSystem III、System Vに追随。のちにBSDの機能も追加。 OpenServerは、現在はFreeBSDがベースとなっている。 Sun Microsystems ⇒Oracle(2009年) Sun OS(Solaris) 1982年 1992年 Sun OS 4.0 まではBSDがベース。 System VベースでSun OS 5.0が開発され、Solarisという名称になる。 HP HP-UX 1984年 System V(初期はSystem III)ベース Silicon Graphics IRIX 1985年 System V系 IBM AIX 1986年 AIX は System V Release 3 (SVR3) をベースに、更に BSD や System V Release 4 (SVR4) などのコマンド等を追加したものとして1986年に登場 SONY NEWS-OS 1987年 1990年代前半には販売中止 NeXT ⇒Apple NEXTSTEP ⇒OPENSTEP for Mach ⇒MacOS, iOS 1989年 1994年 2001年 公式版の最終は1995年にリリースの3.3 1996年にAppleがNeXTを買収。 現行のmacOSの大部分はNeXTSTEPを基盤として開発された。 Dec ⇒ Compaq⇒HP Ultrix ⇒ OSF/1 ⇒ Digital UNIX ⇒ Tru64 UNIX 1984年 1991年 OSF/1はカーネギーメロン大学で開発されたMachカーネルを利用した最初のOS 1998年6月、CompaqがDECを買収。さらに2002年にはCompaqはHPに吸収合併 NEC UX/4800 1994年 2002年には開発が凍結 54 SolarisはSunOSに グラフィカル環境(デスクトップ環境を参照)や ONC+などのコンポーネントを加えたものとされている。Solaris のリリース名にはSunOSのマイナーバージョン名が含まれていて、 例えばSolaris 2.4のコアにはSunOS 5.4が含まれている。 Solaris 2.6以降は"2."の部分がなくなっており、 Solaris 7はSunOS 5.7を、 最新のSolaris 11はSunOS 5.11をそれぞれコアとしている。
  30. 「UNIX」/「Unix系OS」/「UNIX互換OS」 ベル研究所のUnixの設計や機能を模倣したオペレーティングシステムは多数存在する。 一般にUnixの専門家の間で「ベル研究所のUnix」と言えば、いわゆるResearch Unix(ベル研究所(の、 Computer Science Research Center)によって開発されたUnix)を指す。 従って、次に述べる商標としてのUNIXの代表格であるSystem Vですら、以上のような表現からは「設

    計や機能を模倣したオペレーティングシステム」に相当することになる。 UNIXの名称は、The Open Group が商標を所有しており、彼らの管理する 「Single UNIX Specification」(SPEC1170) を満たすシステムのみが、その認証の証明として「UNIX」を 名乗ることができる。そこで、正式には「UNIX」と呼ぶことができないが、それに類似するオペレー ティングシステムを指す言葉として「UNIX系」を用いることがある。 UNIX類似のオペレーティングシステムを指す言葉として The Open Group が正しいと考えるのに最も 近い言葉は「UNIX system-like」である。 ただし、「ゼロックス」を複写機の一般名称として用いるのと同じように、「UNIX」を商標が普通名 称化したものとして扱い、あえて「Unix系」という言葉を用いないこともある。 一般的にはUNIXと類似のオペレーティングシステム全体を指して「Unix系」と表現することもある。 現在もインターネットサーバ市場でも最も高いシェアを誇る Linux は「Single UNIX Specification」の 認証を得ていないため、「UNIX」には分類されない「Unix系OS」 である。 しかし、POSIX に準拠した開発が行われており、「UNIX互換OS」 とも呼ばれる。 55
  31. もっと簡単にまとめると…  The Open Group(X/Open, OSF, UI)に加盟していたベンダーが販売していた商用UNIXは、 (当然のことながら認可を得ているので)「UNIX」である。  macOSは、POSIX準拠の「UNIX互換OS」だったが、2007年発表の

    Mac OS X 10.5 (Leopard)以降 は、「The Open Group」より「Single UNIX Specification」の認証を受けたため、「UNIX」で ある。  UCB BSDから派生した BSD系Unix(FreeBSD/NetBSD/OpenBSD) は、 「The Open Group」の認証 を受けていないため「UNIX」ではないが、POSIX準拠を目指して開発がすすめられている 「UNIX互換OS」であり、「Unix系OS」でもある。  ソースコードの系譜を引き継いでいないLinuxも、 「The Open Group」の認証を受けていない ため「UNIX」ではないが、 POSIX準拠を目指して開発がすすめられている「UNIX互換OS」であ り、「Unix系OS」でもある。 56 名称 UNIX UNIX互換OS Unix系OS Solaris, HP-UX, AIXなど ◦ - ◦ macOS(Mac OS X 10.5以降) ◦ - ◦ Linux × ◦ ◦ FreeBSD/NetBSD/OpenBSD × ◦ ◦
  32. UNIXの歴史(1984~1996年) X/Open, OSF, USL による標準化の争い 57 年代 事象 1984年 IEEE(米国電気電子技術者学会)と

    ANSI(米国規格協会)が POSIX(Portable Operating System for Computer Environment)を策定。X/Openが発足する。 1985年 X/Openポータビリティガイド(XPG)第1版が発行 1986年 米国のメーカーが初めてX/Openに加盟 1987年2月 X/Openポータビリティガイド(XPG)第2版が発行 1987年 AT&TとSun Mirosystemsが『System V』と『BSD』統合のUNIXの開発に着手 1988年 これに反発したIBM, DECなどがOSF(Open Software Foundation)が結成される。 AT&TとSun Mirosystemsを中心に、UI(Unix International)が結成される。 1993年6月 米国Novell社がAT&TからUNIXの開発元であるUSL(UNIX System Laboratories)を買収。 商用ベンダーの多くのUNIXも、System VをベースとしてBSDの各種機能を追加するという形に落ち着く。 1993年9月 X/Openが統一UNIX仕様であるSpec1170を発行 1994年3月 UI と OSF が合併し、新たな OSF に統合される。 1995年 既存のUNIXライセンスを管理サポートする事業と今後のSystem Vのコードベースを開発する権利がNovellから旧 SCOに売却された。なお、NovellがUNIXの著作権も売却したかどうかは裁判で争われ、2010年まで続いた。 1996年 UNIXの商標がNovell社から X/Open に委嘱される。 X/Open が OSF と合併し、The Open Groupを結成。
  33. X/Open Company, Ltd. ⇒ The Open Group 情報技術分野のオープン標準の確立と振興を目的として、ヨーロッパのいくつかのUNIXシステム製造業者が1984年 に設立したコンソーシアム。 特に当初の目的は、UNIX系のオペレーティングシステムの唯一の仕様を定義することで、それによってアプリケー

    ションの相互運用性を高め、ソフトウェア移植のコストを削減しようとしていた。当初のメンバーは、Bull、ICL、 シーメンス、オリベッティ、ニクスドルフであった(頭文字をとって BISON とも)。フィリップス、エリクソンがほ どなく参加し、その時点で X/Open という名称となった。 X/Open は、UNIXカーネルのAPIやコマンドの仕様をまとめたものを X/Open Portability Guide (XPG) の名前で公表 した。第1版では基本的なオペレーティングシステムのインタフェースをカバーし、最初の結成から1年以内に発表に こぎつけている。第2版は1987年で、初期化、端末インタフェース、プロセス間通信、C言語、COBOL、FORTRAN、 Pascal、SQL、ISAM などもカバーしている。これらの多くは、既存の国際標準を参照しているだけである。 1988年に出た XPG3 では、POSIX のオペレーティングシステム仕様をカバーすることに注力している。このバー ジョンが最もよく使われ、1990年までに、X/Open は21の企業や団体が参加するようになった。 58 地域 参加企業または団体 ヨーロッパ: Bull, ICL, シーメンス、オリベッティ、ニクスドルフ、フィリップス、エリクソン、ノキア 北アメリカ: AT&T、DEC、ユニシス、HP、IBM、NCR、サン・マイクロシステムズ、Prime Computer、アポロコンピュータ 日本: 富士通、日立製作所、日本電気 団体: Open Software Foundation、UNIX International X/Open は1993年から1996年まで UNIX® という商標を管理していた。その後、Open Software Foundation と合併し、The Open Group となった。
  34. OSF(Open Software Foundation)と UI(Unix International) OSFとUI は、1980年代末から1990年代初めのUNIX戦争における二大陣営を表 している。  OSF(Open

    Software Foundation) UNIXオペレーティングシステムの実装のためのオープン標準を策定す るため1988年に創設された組織 DECが(ハミルトングループと呼ばれる)いくつかのUNIXベンダーを招 待した会議で、DEC の Armendo Stettner が AT&T とSun Microsystemsが UNIX統合を行おうとしている件に対抗して共同開発を持ちかけたのが発 端  UI(Unix International) オープン標準、特にUNIXオペレーティングシステムの振興を目的とし て1988年に設立された業界団体。主なメンバーはAT&TとSun Microsystemsであり、両社の協業に対抗すべく Open Software Foundation (OSF) が結成され、さらにそれに対抗すべく結成されたもの。 1993年、UI と OSF の主要メンバー企業は Common Open Software Environment (COSE) イニチアティブの結成を発表。その後、UI と OSF は合 併することとなり、1994年3月に新たな OSF に統合された。これがさらに 1996年に X/Open と合併し、The Open Group が結成される。 59
  35. UNIX戦争 OSF陣営 UI陣営 備考 標準化団体 OSF UI X/Openは中立。 合併後の存続団体はOSF OS

    OSF/1 SVR4 (System V Release 4.0 ) OSF/1の本格採用はDECと 日立製作所のみ GUI (X Window System) Motif OpenLook 後のCOSEではMotifベース のCDEを採用 分散処理 (RPC) DCE ONC+ 参加企業 アポロコンピュータ、Bull、 DEC、HP、IBM、ニクスドル フ、シーメンス、フィリッ プス、日立製作所など AT&T、Sun、富士通、日本 電気、東芝など ソニーは中立 60
  36. X Window System ビットマップディスプレイ上でウィンドウシステムを提供する表示プロトコル。リファ レンス実装として X.Org Server があり、標準ツールキットとプロトコルを提供し、Unix 系オペレーティングシステム (OS)

    やOpenVMSなどでのグラフィカルユーザインタフェー ス (GUI) を構築するのに使われる。他の多くの汎用OSにも移植されている。 61 Motifの画面例(HP-UXなどで採用) OpenLookの画面例(Sun OS(Solaris)などで採用)
  37. その間、UCB University of California, Berkeley カリフォルニア大学バークレー校では… 62 年代 事象 1986年

    4.3BSDの出荷開始 1989年 Network Release 1 (NET/1) をリリース 1991年 Network Release 2 (NET/2) をリリース ウィリアム・ジョリッツを中心とするBSD研究者らがカリフォルニア大学を離れ、Berkeley Software Design, Inc (BSDi) を創業。 1992年 BSDiがBSD Unixを安価で遍在するインテルプラットフォーム上に実装した商用OSであるBSD/386を開発。 これによって安価なコンピュータを業務に利用する潮流が生まれた。386BSDは、FreeBSD、OpenBSD、 NetBSD といったフリーなOSの源流となっている。 USL(UNIX Systems Laboratories:UNIXの開発とライセンス業務を目的としたベル研究所の下部組織)とBSDi・ UCBの間の裁判が勃発。1993年に示談が成立。 1994年 Network Release 2 (NET/2) の公開が中止される 従来の4.3BSD Net/2に含まれていたAT&Tのライセンスコードを除去した4.4BSD-Liteをリリース 1995年 4.4BSD encumberdのリリース(AT&Tのライセンスを含むバージョン) 4.4BSD-Lite R2のリリース(UCBの最終バージョン)
  38. Linuxの誕生 1991年に、当時フィンランドのヘルシンキ大学の学生であったリーナス・トーバルズ はオペレーティングシステムに好奇心を抱いていた。 当時、近代的なOSを動作させる能力を持つ Intel 80386 CPU を搭載した32ビット PC/AT互換パーソナルコンピュータが登場していた。ワークステーションやミニコン ピュータ等と比較すれば遥かに安価に入手できるものであったため、リーナス・トー

    バルズはこれを使ってUnix互換の機能を持つOSを動作させてみたいと考えていた。 しかし商用Unixは高価であり、Unixを模して実装された安価なMINIXも教育用という仕 様から機能が大幅に簡略化されていたり、教育目的での使用に制限されているという 問題があり、いずれもリーナス・トーバルズの目的を果たすことは困難だった。 このためリーナス・トーバルズは、既に使用していた自作のターミナルエミュレータ を改造したり、ファイルシステムなどのUnix互換APIを実装したりして、独自のOSカー ネルの開発を開始した。最終的にこれが現在のLinuxカーネルへと成長することとなっ た。 リーナス・トーバルズはLinuxカーネルの開発をMINIX上で開始し、MINIX上で動作する アプリケーションはLinux上でも使われていた。Linuxが十分に成熟すると、それ以降の Linuxの開発はLinux上で行えるようになった。すべてのMINIXコンポーネントはGNUの プロダクトによって置き換えられていった。フリーで利用可能なGNUプロジェクトの コードを取り込んでいくことは、まだ青二才の段階だったLinuxにとって好都合だった。 さらに、リーナスは、商業製品の作成を禁じた独自のライセンスをやめて、GNU GPL への切り替えを行なった。 63
  39. 32ビットPC/ATパーソナルコンピュータ の普及とLinuxの成長 当初のLinuxの実装は極めて単純なものであり、他の既存の自由でないUnixシステムのどれに対し ても、その機能や実績において優位なものではなかった。 ライバルのBSDは1992年からUSLとの訴訟を抱えており、権利上の問題をクリアしたバージョンが リリースされたのはFreeBSDでは1994年11月だった。 つまり、1990年代前半において、自由なUnix互換カーネルと呼べるようなもののうち、実用的で 権利上の問題がないと考えられる存在はLinuxのほかになかった。 PCで動作するフリーで本格的でUnix系の環境を求める潜在的なユーザたちの多くは、当時は主に 書籍として流通していた教育用OSのMINIXに流れていたが、リーナス・トーバルズはLinuxをMINIX

    のメーリングリスト上で公開し、GPLの下で利用可能にすることにした。 これはインテルの32ビットCPUを搭載したパーソナルコンピュータでしか動作しなかったが、当 時はちょうど32ビットPC/ATパーソナルコンピュータの普及期であり、GPLによって誰もが改良可 能だったことから、より多くの機能を求める開発者たちによる改良を促した。 開発者たちはLinuxカーネルを育てていくとともに、GNUコンポーネントとLinuxを統合する作業 を行い、最終的に実用的かつフリーなオペレーティングシステムを作り上げた 64
  40. Linuxカーネル開発の履歴 年次 バージョン ソースコード行数 備考 1991年 0.01 約10,000- ユーザー数1人(開発者自身) 1992年

    0.96 約40,000- 1994年3月14日 1.0.0 176,250- 1995年3月 1.2.0 310,950- 1996年6月9日 2.0.0 N/A 1997年 2.1.0 約 800,000- 1999年1月25日 2.2.0 1,800,847- 2001年1月4日 2.4.0 3,377,902- Red Hat Linux で3000万行 2003年12月17日 2.6.0 5,929,913- 2008年 2.6.x 約 1,000万 Debian 4.0で2億8300万行。3万6千人月に相当。 2011年7月21日 3.0 14,646,952 2012年1月 3.X 約 1,500万 2015年8月 4.2 約 2,000万 65
  41. Linuxの主なディストリビューション 66 系統 pkg管理方式 名称 説明 Slackware系 tar形式 (makeが必要) Slackware

    Linux史上最古のディストリビューションとして現在も存在している老舗 ディストリビューション。 Debian系 パッケージ管理 システムとして deb形式を使って いる。 Debian DebianはUbuntuの元となったディストリビューション。 世界中の有志が集まって作り上げた、質の高いOSになっている。 Ubuntu インストールするとすぐに使え、オープンオフィスなどもすでに入ってい る。6ヶ月ごとのリリースと商用サポートを掲げている。 Linux mint Ubuntuから派生。 難しい設定が不要で、簡単に使えることが特長。 elementaryOS Pantheonデスクトップ環境(macOS風) ZorinOS Windows風のデスクトップ環境 Raspbian Raspberry Pi用のdebian。 Red Hat系 パッケージ管理 システムとして RPMを使ってい る。 Fedora Red Hat Linux 後継のコミュニティによる実験要素が強い。 最新の技術をどんどん取り組むディストリビューションである。 Red Hat Enterprise Linux コミュニティによるテスト済みのFedoraをベースにして安定させた。商用。 CentOS RedHatLinuxの有償部分を取り除いたもの。フリー。 Vine Linux 日本国産のLinuxディストリビューション。
  42. UNIXの歴史(2000年代) インターネット・バブル(2001年 - 2003年)が崩壊し、商用UNIXの淘汰が進む。 Solaris、HP-UX、AIXといった1980年代に生まれた商用Unixだけが生き延び、健闘 したシリコングラフィックスのIRIXもLinuxに取って代わられた。 中でも2005年の時点で最大のシェアを誇っていたのがSolarisである。 2005年、Sun Microsystems はSolarisのソースコードの大部分をオープンソース化

    する OpenSolaris プロジェクトを発表。最初にZFSというファイルシステムがオー プンソース化された。 そこからサン以外によるOpenSolarisのディストリビューションがいくつか生まれ ている。 2010年に Oracle が Sun Microsystems を買収すると、OpenSolarisは公式には中止 されたが、派生ディストリビューションの開発は続いている。 67