情報処理

第7章 UNIXサーバの利用

テキスト作成中!

はじめに

この章では,パソコンを端末にしてUNIX(ユニックス)系OSで動作するサーバ(UNIXサーバ)を使う方法について紹介します. UNIXサーバは1969年に誕生し,当時高価であったミニコンやワークステーションを共同利用するために開発されたOSの1つであり, 簡潔で拡張が高いという特徴がありました1. UNIXはOSとしての性能が優れているだけなく,無償で使うことができ,内部の情報をこう公開され,自由に改良・改造ができたため,世界中の大学を始めとした研究機関で利用されました1. UNIXでは,ヒューマンインターフェースとして逐次対話型のコマンドラインインターフェースが使われており,遠隔地にあるスーパーコンピュータへのコマンド言語を用いて計算などの命令を送信することもできた2. 近年は,スーマートフォンなどに使用されているアンドロイド端末やMacOS X(マックオーエステン)などがUNIX系OSを組み込んでいるなど,縁の下の力持ちとして活躍している. スーパーコンピュータなどはパソコンと違い,高額で高機能な計算資源を有しており,複数の人が共同で利用するコンピュータです. ここでは,アンドロイド端末のアプリの開発やスーパーコンピュータの使用を目指して,UNIX系OSの利用の基本について解説していきます.

UNIXの歴史

WindowsやMacOSなどはパソコンのためのOSですが,OSが開発された最初のころは大型計算機用に開発された. 有名なOSとして,IBMのマインフレーム用のMVSやNECのACOSがある. 1980年代にはミニコンやメインフレームが一般的になり,このためのOSが高機能化されるようになった. 高機能化により,内部処理が複雑になっており,開発に労力がかかるようなってしまった. そこで簡潔で拡張が高く,ローカルエリアネットワーク(LAN)にも対応しているUNIXが注目されるようになった.

最初のUNIXは,1969年に米国AT&T社のベル研究所に勤めるケン・トンプソンによって開発され,ディジタル・イクイップメント・コーポレーション社製のミニコンであるPDP-7とPDP-9上で動作した3,4. 最初はアセンブリ言語で書かれていたが,1973年にデニス・マカリスター・リッチーによって開発されたC言語に書き換えられた3. C言語に書き換えられたことによって,異なる種類のコンピュータへの移植が容易になり,2つの大きな系統に分かれて発展していった4. 1つ目は米国AT&T社が中心になって進めていったSystemV(システムファイブ)系であり,もう1つはカリフォルニア大学バークレイ校が中心になって開発されたBSD系であった. 1982年にサン・マイクロシステムズ社がVersion 7 UNIXベースに開発されたUniPlus OSを使用したSun1が発売され,イーサーネットも標準で装備されていた5. 1983年に,カリフォルニア大学バークレー校では,アメリカ国防高等研究計画局(DARPA)の支援によって,現在のインターネットにも採用されているTCP/IPプロトコルが開発・実装され,ネットワーク機能が充実した4.2BSDがリリースされた4. BSD系はネットワークの機能が充実していたことから世界中で普及し,後のインターネットの発展の基礎となった. この頃,サン・マイクロシステムズ社から発売されたSun2ではUniPlusから4.2BSDベースに移行しており,TCP/IPがサポートしている5. 1986年頃からは,商用UNIX OSとしてヒューレットパッカード社からHP-UX 1.0,IBM社からAIX V1.0などが発売され,UNIX OSがワークステーションやミニコンピュータのOSとして採用され始めた6,7. 商用のUNIX OSが発売され始めると,1980年代後半から1990年代前半にかけて起きたUNIXの標準化に伴う争い「UNIX戦争」が起き,本来の学術や利便性の向上の開発とは異なるところにリソースが費やされる. UNIX OSは数万円以上する高価なOSであったため, 1980年半ばに,学生が購入可能なUNIXに似た学習目的のオペレーティングシステム「MINIX」が登場する8. しかし,このMINIXには,学習目的であったためOSを改造して,再配布することが許可されなかった.

1991年になると,MINIXの影響を受けて,リーナス・ベネディクト・トーバルズによって無償かつOSの改造と再配布が可能であるLinuxという名のUNIXクローンOSが発表された. OSの改造というよりは共同作業によるLinuxカーネルの開発であり,Linuxカーネルの開発は爆発的なスピードで進み,ソースコードは20年間で,1000倍以上のサイズに増大した 9 . 著者の経験にはなるが,2000年ごろに,PowerPC用のLinuxカーネルの最新版にバージョンアップしたら,突然OSが起動しなくなるトラブルが発生し,徹夜でソースコードを眺めてトラブルを解決した日々を懐かしく思う. すなわち,エンドユーザがハンドリングできないほど,Linuxカーネルは目まぐるしい速度で進化し続けていることになる. 厳密に述べると,Linuxは,そのカーネル(中核部分)だけを指します. しかし,昨今は,一般にFree Software Foundationにより配布されている数を多くのコマンドやツールを含んだパッケージ(ディストリビューション)をLinuxと呼んでいます10. このディストリビューションの登場は,OS以外のアプリケーションを簡単にインストールできるだけなく,Linuxカーネルのアップデートも定期的に行われるようになり,前述したような起動しなくなるトラブルも解決された.

1993年には,BSD系(386BSD)から派生したUNIXクローンOSであるFreeBSD 1.0やNetBSD 0.8が登場した. ほかにもBSD系から派生したOSとして,OpenBSDやMacOS X,JUNOSなどがあります. MacOS Xは,Apple社のMac製品のためのOSであり,ベースOSとしてBSD系のDarwinを使用して,ユーザーインターフェースを独自開発し,Macintoshが初めから持っていた特徴を生かした商用OSである. また,JUNOSはあまり聞かれないOSであるが,インターネットバックボーンを支えているルータを製造しているメーカの1つであるジュニパーネットワークス株式会社が,ルータやスイッチ製品のベースOSとして利用している. MacOS XやJUNOSのように製品の一部にカスタマイズしたUNIXクローンOSが使われているOSを組み込み系OSと呼んでおり,これら以外にもスマートフォン用OSのアンドロイド(Android)や自宅で使われる無線LANアクセスポイント・ブロードバンドルータなどにも組み込み系OSとしてUNIX OSが利用されている.  また,UNIXクローンOSはレンタルサーバにも使用されており,例えば,日本最大のレンタルサーバ事業者であるさくらインターネットでは,FreeBSDがレンタルサーバのOSとして使用されている11.  近年ではスマートグリッドのためのHEMS(ヘムス)機器の一部にもLinuxなどのUNIX系OSが組み込まれている12,13,14

図1. 主なUNIX OSの歴史

パソコンとUNIXサーバ

パソコンとUNIXサーバの違い

「パソコン」と「UNIXサーバ」は,何が違うのでしょうか. 大まかな話をすると,パソコン(パーソナルコンピュータ)は,基本的に個人で占有して使うために設計されたコンピュータです. それに対して,UNIXサーバは,複数人が同時に作業できるように設計されたコンピュータです. 細かく言えば,どちらにも例外があり,さらに「大型コンピュータ」や「スーパーコンピュータ」などの名前が入り乱れるため,パソコンとUNIXサーバの厳密な定義は非常に困難です. あえてそれぞれのだいたいの特徴を挙げてみると,表1のようになります.

表1.パソコンとUNIXサーバの特徴
パソコン UNIXサーバ
利用形態 主に個人 主に複数で共用
OS Windows 8.1, 8, 7 , Vista
MacOS X, MS-DOSなどの
シングルユーザOS
Solaris, Linux
FreeBSDなどの
マルチユーザOS
価格 数万円から十数万円 数十万円から数千万円

この章で解説するのは,情報ネットワークセンターにある教育研究用システム(UNIXサーバ) の利用法についてです. このシステムでは,OSとしてUNIXを採用しています. 教育研究用システム(UNIXサーバ)は山形大学のネットワーク(YUnet)に接続されているので,YUnetに接続されたコンピュータから利用することができます. 情報処理の授業では,図2に示すようにネットワークを介して教室のパソコンからUNIXサーバに接続します.

UNIX remote connection
図2.パソコンからのUNIXサーバの利用

パソコンを使ってUNIXサーバに接続すると,パソコンへの入力がそのままUNIXサーバに送られ, また,UNIXサーバからの出力がパソコンの画面に出力されます. したがって,利用者は,UNIXサーバを直接使う場合と同じような操作ができます. このときの接続方法には,ssh, x11などの名称で呼ばれるプロトコル(接続手順)があります†‡. パソコンからUNIXサーバに接続するときには,接続先のUNIXサーバに付けられた名前(ホスト名)を指定する必要があります. 各キャンパスのUNIXサーバの名前とOSは,表2のようになっています.

表2 各キャンパスのUNIXサーバの名前とOS
地区 ホスト名 OS
小白川 ecsy-lx.kj.yamagata-u.ac.jp Red Hat
Enterprise Linux
米沢 ecsy-lx.yz.yamagata-u.ac.jp

ログインとログアウト

準備中です.しばらくお待ちください

文献

  1. 寺沢幹雄著,情報技術の基礎知識, 昭景堂 (2006).
  2. 慶應義塾大学理工学部編,情報学基礎, 共立出版 (2013).
  3. Dennis M. Ritchie and Ken Thompson, "The UNIX time-sharing system", Communications of the ACM, 17 No.7, 365-375 (1974).
  4. 吉川明広著, なるほどナットク! Linuxがわかる本, オーム社 (2004).
  5. 下山智明、城谷洋司、SUNシステム管理, アスキー出版 (1991).
  6. 本HP - はじめてのHP-UX 第2回:HP-UXってどんなOS?, http://h50146.www5.hp.com/products/software/oe/hpux/developer/column/beg_integrity_02/(参照: 2015-02-19).
  7. 全世界No.1 UNIX 「AIX」 20年の軌跡,http://www-06.ibm.com/systems/jp/power/library/pdf/aix20.pdf (参照: 2015-02-19)
  8. A. S. タネンバリウム,A. S. ウッドハル著, 千輝順子訳, 今泉貴史監修, オペレーティングシステム【第2版】設計と論理およびMINUXによる実装, ピアソン・エディケーション (1998).
  9. 改訂新版 Linuxエンジニア養成読本, 技術評論社 (2011).
  10. 羽山博著, 入門UNIX改訂新版, 株式会社アスキー (2000).
  11. 【さくらのレンタルサーバ】基本仕様|さくらインターネット公式サポートサイト, https://help.sakura.ad.jp/app/answers/detail/a_id/2105 (参照:2015-02-20)
  12. HEMS(ECHONETLite)認証支援センター, https://smarthouse-center.org/sdk/(参照: 2015-02-24)
  13. ECHONET Liteソリューション | 株式会社ACCESS, http://jp.access-company.com/products/itelectoronics/hemsconnect/ (参照:2015-02-24)
  14. ECHONET CONSORTIUM, http://www.echonet.gr.jp/ (参照:2015-02-27)

脚注