・最先端ソフトウェアに於けるLinuxをはじめとするオープンソースソフトウェア(OSS)の台頭
・GUIユーザーに見るコマンドラインの苦悩
GUIでは、予備知識がなくても適当にアイコンやメニューをクリックしてみることで直感的に操作できますが、CLIではコマンドを覚えていないと何も操作できないという欠点があります。
しかし、特に繰り返し同じ操作する場合などに少ない操作で済むことや、遠隔地にあるコンピュータをリモート操作できるという利点があり、これがサーバに多く利用されている理由一つだと思います。
今では、そのようなCLIメインで使うことの多いLinuxの短所を補うべく、使いやすさを重要視したディストリビューションとしてUbuntuなどが登場しはじめました。
・進むWindowsのLinux化?(Microsoftの変貌)
近年のオープンソース・Linuxの躍進のためか、Microsoft側が少しずつLinuxに歩み寄っているような気がします。
例えば、WSL(Windows Subsystem for Linux)。
Linux環境を立ち上げるにはWSLや仮想化などの方法がありますが、WSLを導入すれば、
物理マシンや仮想マシンを1台用意してLinuxをインストールするより簡単にWindowsでLinuxのコマンドを利用できるようです。
そしてついに、Linuxの普及をサポートする非営利団体のLinux Foundationに加盟することを発表しました。
かつてMicrosoftはLinuxを酷評していましたが、これらの動きは過去のMicrosoftではあり得ない動きであり、明らかにオープンソースソフトウェアの躍進、高需要であることの現れではないかと思います。
そういう意味では、macOSも同じような理由で普及が拡大しているのかもしれません。
しかしながら、macOSはクローズドOSであり、オープンソースではありません。(カーネルのDarwinはオープンソースです。)
・HaikuとLinuxを比較
上記までは、Linuxおよびオープンソースソフトウェアを中心に述べてきました。
特に、進むWindowsのLinux化?(Microsoftの変貌)では、WindowsでLinuxのコマンドを利用する方法として、WSL(Windows Subsystem for Linux)を例に説明しましたが、似たようなことがHaikuでも可能です。
Haikuのシェルはbash(Linux標準シェル)なので、WSLのようにLinuxカーネルのインストールは必要なく、ターミナルを起動するだけでPOSIX互換のCLI環境が体験できます。
そこで、オープンソースでもあるHaikuとLinuxを比較してみました。
Linuxと似ているところ(類似点)
HaikuはLinuxと同じようにオープンソースなので無償で利用でき、ソースコードを自由に改良、再配布できます。
現在、HaikuのソースコードはすべてMITライセンスと呼ばれるものの元でライセンスされています。
このライセンスは、私企業やほかのオープンソースプロジェクトを含むほとんどすべての人々に対して完全で自由なコードの使用を許可するものです。
一方、Linux(カーネル)はGNU General Public Licenseでライセンスされています。
2 シェルコマンド
HaikuはUnix系のOSではありませんが、ターミナルからbashシェル(POSIX互換)が利用できます。
一般的なコマンドラインツール(POSIX互換)が組み込まれていて(一部、Haiku特有のコマンド有り)、Unix系OSのようにCLIで必要な処理ができます。
一方、多くのLinuxディストリビューションでは、Unix系シェルが利用できますが、中でもbashシェルが標準的に使われており、Ubuntuでもbashがデフォルトのシェルになっているようです。
Linuxには及びませんが、HaikuはHaikuPortsプロジェクトで導入された多くのアプリケーションソフトが利用できます。
Unix系からのソフトウェア移植バージョンとBeOSおよびZetaからの更新ソフトウェアを含むHaiku専用アプリやユーティリティなどが、パッケージマネージャである pkgman(CLI)やソフトウェアパッケージ管理のHaikuDepot (GUI)を通してパッケージの検索、インストール、更新、およびアンインストールができます。
一方、LinuxではUnix由来のソフトウェアが数多く存在します。
Linuxと違うところ(相違点)
Haikuはデスクトップ(クライアント)用のOSです。
WindowsやMacのように汎用的な使い方も可能ですが、メディアOSと言われたBeOSと同様に、マルチメディア分野の用途に最適なOSです。
Haiku は、マルチプロセッサ/コアCPUによる高効率な完全なスレッド設計により、速い動作、優れた反応性で高度なマルチメディアをキビキビと動かします。
一方、Linuxにもデスクトップ用のUbuntuなどがありますが基本的にはサーバー用のOSです。ただ近年では、最新ITの基盤となるソフトウェアの開発環境として多く使われています。
Haikuはわかりやすいグラフィカルユーザインターフェース(GUI)により、GUIメインで直感的に操作できます。WindowsやMacを使いこなす方であれば、操作に戸惑いが少ないでしょう。
一方、LinuxではGUIメインで操作が可能なUbuntuなどのディストリビューションがありますが、基本の操作としてはCLIがメインです。
3 フォーク( 派生 )
Haikuでフォークといえるものは筆者が知る限り、以下のものが存在します。
● Poem
その特徴の核心となるのは、マルチプロセッサ/コアCPUのパワーをフルに生かした広範なマルチスレッド機構です。
これにより、Haikuは並列・並行処理のパフォーマンスがとても優れ、高度なマルチメディアソフト等のアプリケーションをリアルタイムに扱うことができます。
他のOSでは、アプリケーション上で高い負荷の作業または他の原因で処理がとても渋滞すると、全体が動かなくなり、応答待ちメッセージなどの進捗インジケータやレインボーカーソルなどが発生しますが Haikuではほとんど起こりません。
結果的に、アプリケーション自体のバグ等を除けば、Haikuではアプリケーションに遅れや停滞することがほとんどないと言えるでしょう。
一方のLinuxでは、ディストリビューション及びデスクトップ環境が様々な形態で存在するため、軽量なものから重いものまでそれぞれのシステム構成により違いがあります。
Haikuは面倒な管理を必要としないパーソナル指向のOSです。
他のOSに見られるインストール時の困難さはなく、短時間に終了し直ちに使えます。
また、Haikuはグラフィカルユーザインターフェース(GUI)やファイル(システム)構造などがシンプルにデザインされているため、操作がわかりやすくて簡単です。WindowsやMacが使いこなす方であれば習得は容易でしょう。
一方、Linuxの操作の基本はCLIがメインです。
CLIではコマンドを習得する必要があり、コマンドを使いこなすまでには、それなりに時間を要するでしょう。
使いやすさを重要視したGUIメインで操作ができるUbuntuがありますが、あくまでも使いやすさでのことであり、システムが複雑なLinuxに変わりはありません。
・ Linux依存からの脱却か? GoogleがLinuxカーネルに依存しない新OS Fuchsiaを一般ユーザー向けに公開!
GoogleはMicrosoftとは対照的に脱Linuxに向かっているようです。
Googleは2016年ごろから開発を進めていたAndroid、Chrome OSに続く第3のOS Fuchsiaを2021年5月にNest Hub(Google製スマートホームデバイス)に向けて配信を開始(参照:GIGAZINE )しました。
配信されたFuchsiaは、Linuxをベースにしていない、ゼロから構築されたOSでGoogleが2016年に公式な告知も一切なく突如 GitHub上で公開したことから存在が明らかになった新しいOSの名称です。
Googleはこれまで、Chrome OSやAndroidにLinuxカーネル(モノリシックカーネル)を採用していますが、これに代わりFuchsiaではZirconと呼ばれるマイクロカーネルをベースとしています。
既に多数の機器に対応し、さまざまな機能を備えているLinuxカーネルではなく、あえて新しいカーネルを採用して新OSの開発を進める理由はなぜか?
それは、Googleがこれからの新しい未来を考えて、組み込みシステムからスマートフォン、PC、IoT(モノのインターネット)まであらゆるデバイスに共通して動作するOSを作りたいという事でOSを開発する際、現在のAndroidとChrome OSをベースとするLinuxカーネルでは幾つか問題があるため、それらを解決すべくFuchsiaは生まれたのだと推測されます。
つまり、Googleはスマホやタブレットの普及が飽和状態になった現在、その先にある、あらゆる種類のデバイス上で動作するユニバーサルオペレーティングシステムの主導権を握ろうと本格的に動き出したということです。
ここで、現在抱えていると思われる問題とFuchsiaに変更することで改善できる理由を以下に示します。
モノリシックカーネル(Linuxカーネル)に関する問題
Linuxが採用したモノリシックカーネルはOSの中核となるカーネルとその他のOSの機能を1つのメモリ空間で動作します。
このため、何か1つでもデバイスドライバなどに不具合があった場合、その影響がカーネル全体に波及しOSシステムごとダウンする恐れがあります。
これに対してマイクロカーネルを採用したFuchsia(Zircon)は割り込み処理やプロセス間通信の処理など必要最小限の機能をカーネルに残し、デバイスドライバを含むその他をカーネル空間とは異なるメモリ空間で動作させます。
これによりデバイスドライバの深刻な不具合を引き起こす危険が少なくなり、デバイスドライバの安全性・安定性の向上が期待できます。
更に、Linuxカーネルはモノリシックカーネルの構造上、OSの機能を全て取り込むため、長期にわたっての機能強化に伴いカーネルサイズが年々肥大化しています。
これに対しマイクロカーネルのFuchsia(Zircon)では、必要とされる最小限の機能をカーネルに残し、他の処理はサーバモジュールに任せるため、カーネルの肥大化を防ぎ、そのうえ移植や機能追加を容易にできることなど、開発効率を上げられるメリットがあります。
GNU GPL(ライセンス)の制約
これに対しFuchsiaは、制限の緩い修正BSDライセンスやMITライセンスを採用しているため、GPLライセンスのような変更点のソースコードを公開する義務はありません。
これはハードウェアメーカーの負担低減になります。
Java(Oracle)に関する特許
Androidはアプリケーション開発の主なプログラミング言語としてJavaを採用するなど、Javaの技術を多用していますが、その権利はOracleにあります。
Googleは長年OracleとのJavaに関する特許侵害訴訟(参照: GoogleがOracleとの10年越しの裁判で勝訴。最高裁はJava著作権侵害せずの判断 [ ITmedia ] )で争っており、そのため、今後Javaを使わないFuchsiaを採用することでOracleとの特許紛争を回避したいと考えているのではないかと思われます。
以上がFuchsiaを採用することで改善できる内容ですが、今後、FuchsiaがAndroid、Chrome OSに続く本格的な新プラットフォームに成長できるのか開発状況に注目していきたいと思います。
・ Googleの新OS Fuchsia(Zircon)とHaiku(NewOS)との関係
繰り返しにはなりますが、上記で述べたようにGoogleはFuchsiaを将来的に組み込みシステムからスマートフォン、PCまであらゆるデバイスをターゲットとした、軽量かつ高機能なOSを目指して開発を始めたようです。
将来は LinuxベースのChromeOSやAndroidに取って代わるとも言われています。
FuchsiaはLinuxカーネルに基づくChromeOSやAndroidなどのモノリシックカーネルをベースとしたOSとは対照的に、Zirconと呼ばれる新しいマイクロカーネルをベースにしています。
そのZirconはかつてBeOSのカーネルを開発した経歴をもち、Haikuが採用したマイクロカーネルをベースとするNewOSの作成者であるTravis Geiselbrecht氏によって開発されました。
もし、FuchsiaがAndroidに代わる新OSとなれば、iOS vs Fuchsiaとなり、現代に蘇るNeXTの末裔とBeOSの末裔とのかつて次期macOS候補争いと同じような構図となるのかもしれません。
歴史は繰り返すのか?
そういった意味でもHaikuの今後の展開が面白くなりそうです。
・ おわりに
本ページの冒頭で述べたようにLinuxは色々なところで数多く
一方で、Linuxの基本操作はCLIと言われるコマンド入力の
そもそも、一般の人が最初にコンピュータ(パソコン)に触れるO
このようにオープンソースの人気によりLinuxが多く使われて
そこで、簡単にオープンソースのOSを利用してみたいと思う人に
是非、使ってみてください。
Linuxになかなか手が出せない人に使ってほしいOSです。
彼ら( 旧:OpenBeOSプロジェクト )はなぜ、OS名をHaiku( 2004年にコミュニティの投票によって選ばれた。)
それは多分、俳句は短い文のため誰にも簡単に作れることから、
Haikuは、GUIやファイル(システム)
Linuxに比べて簡単さは歴然です。
最後に、改めてHaikuの特徴を述べると、速い動作、優れた反応性、
現在、市場規模が拡大中のゲーム業界や今話題の AR(拡張現実)、 VR(仮想現実)、MR(複合現実)、
それらを快適に楽しむには、
その際、必要とされるスペック等の考察が、
しかし、このような高負荷な処理は、ハードウェアだけでなくOS
そこで、Haikuであれば、BeOS譲りのハードウェア本来の
以上がHaikuを使う理由ですが、
0 件のコメント:
コメントを投稿