SPARC/Solaris 探検隊
第7回:Solarisを知ろう(前編)

2012年10月1日


 

前回はOSの役割をご説明しました。それでは、今回から2回に渡り、サーバ向けOSの1つである 「Oracle Solaris(オラクル ソラリス、以下Solaris)」についてお話ししたいと思います。Solarisは、OSの中でも特に歴史があり、サーバに使うための便利な機能をたくさん備えています。

Solarisってなにー?

サーバを動かすためのOS

まずSolarisのお話の前に、サーバでよく使われるOSについて簡単にご紹介します。
現在サーバでは、

  • Windows(ウインドウズ)
  • Linux(リナックス)
  • UNIX(ユニックス)

の3種類のOSが、よく使われます。
Windowsはみなさんもよくご存じのパソコン向けOSで、マイクロソフト社により開発されていますね。パソコン向けだけでなく、サーバ向けにカスタマイズされたもの(Windows Server)もリリースされています。
Linuxは1991年に個人が開発したOSです。その後団体で開発するようになり、企業が支援をすることで、徐々にサーバ向けの機能が追加されました。Linuxの大きな特長は、OSの構造やソースコードが一般公開されていることです。そのため、企業がドライバやアプリケーションなどを組み合わせて販売したり、一個人がソースコードを改変したりすることもできます。

そしてUNIXはWindowsやLinuxよりも歴史のあるOSで、1970年頃にアメリカの大手電話会社「AT&T」の研究所 で開発されました。UNIXは、当時では画期的なマルチユーザ・マルチタスク注1に対応していました。その後メールサーバやファイルサーバなどのネットワーク機能を強化した結果、インターネットの発展と共に広く普及していきました。

(注1)
マルチユーザ・・・複数のユーザが同時に1台のコンピュータを使用できることです。
マルチタスク・・・1台のコンピュータで、複数の処理を同時に実行することです。

その後、様々な企業や団体でUNIXをベースとしたOS(「UNIX系OS」と言います)が開発されました。Solarisもそのうちの1つで、Sun Microsystems社(現Oracle社) によって開発されたUNIX系OSです。
UNIX系OSにはSolarisのほかに、IBM社の「AIX」や、HP社の「HP-UX」などがあります。

UNIXといえば、Solaris!

UNIXは元々ビジネスではなく、主に研究所や学術機関で広く使われていました。 Solarisはビジネスで使用されるOSを目指して、信頼性機能や運用に便利な機能を追加した結果、UNIX系OSで最もよく利用されるようになりました。
では、なぜSolarisはこんなにもたくさんの人たちに支持されているのでしょうか。
それをこれからお話ししていきたいと思います。

サーバを快適に!

Solarisには、他のOSにはない機能や特長がたくさんあります。
それらの中から、まず「高性能」についてご紹介します。

サーバの性能をムダなく使い切る!

サーバの性能は格段に向上してきました。性能の進化は「CPUの周波数UP」「メモリの大容量化」「システムバス注2の高速化」などなど、様々な技術革新によるものですが、特に大きな決め手は「マルチコア」「マルチスレッド」という2つの技術がCPUに取り入れられたことです。

(注2)システムバス・・・CPUと他の部品(メモリなど)における、データの通り道のことです。

マルチコアとは、1つのCPUチップに「コア」と呼ばれる演算処理を行う回路を2つ以上搭載する技術です。さらにマルチスレッドとは、1つのコアの内部で複数の処理を同時に実行する仕組みです。

マルチコアとマルチスレッドをイメージしやすいように、CPUの動作をコンビニエンスストアの店員に例えてみましょう。CPUの演算処理を「店員がお弁当を販売して、電子レンジで温めること」に置き換えて説明します。
コンビニエンスストアではお客さんがレジに並んでいます。ここで、レジ(コア)が1つしかない(シングルコア)と、1人ずつお客さんの対応をすることになりますが、レジが2つある(マルチコア)場合、2人同時に対応することができます。

さらに、1つのレジにつき電子レンジを1つ(シングルスレッド)ではなく、2つ置く(マルチスレッド)と、1つのレジで2人のお弁当を同時に温めることができます。

このように、CPUはマルチコア・マルチスレッド(レジや電子レンジの数を増やす)により、処理性能を向上させる(同時にたくさんのお客さんに対応できる)ことができます。

これらの技術により、サーバの性能は、この10年で数10倍~数100倍も向上したと言われています。これは、情報システムの規模の成長よりも、はるかに速いスピードです。
そのため、最近では1台のサーバに1つの情報システムを稼動させるだけでは、サーバの性能があり余ってしまうことがあるのです。

そんなときのためにSolarisには、「サーバ仮想化」という機能が備わっています。サーバのCPU(コア)やメモリなどを分割して、それらを別々のシステムのために使い、1台のサーバに複数のシステムを稼動させることができるのです。

CPUの性能を最大限に発揮!

CPUの演算処理は、通常「プロセス」と呼ばれる単位に分けることができます。一部のOSでは、これらのプロセスを全て1つのコアの中で処理することがあるのですが、Solarisではなるべく複数のコアを使ってプロセスを処理します。

さて、これもコンビニエンスストアに置き換えて考えてみましょう。お客さん(プロセス)がたくさん並んでいるときに、1つのレジ(コア)だけを使おうとすると、全てのお客さんの対応に時間がかかってしまいますが、2つのレジで並行して対応すると、もっとスムーズに対応できますね。

このように、Solarisでは、それぞれのコアの仕事量がほぼ均等になるように、自動でコアに対してプロセスを割り振り、マルチコアCPUの性能をより発揮できるような仕組みが備わっているのです。

今回のまとめ

SolarisはOracle社が開発している、「UNIX」という種類のサーバ向けOSです。
Solarisには、

  • 1台のサーバで複数のシステムを稼動させる仮想化機能
  • CPUの性能を最大限に発揮する機能

などの機能を備えていて、サーバの性能を活用したり、高める点で優れています。

Solarisのメリットは性能に関することだけではありません。
次回は、サーバをより便利にする、より安心して使うための機能や特長をご紹介します。


応援メッセージはtwitterにて、ハッシュタグ #fjsparc  までお願いします。