(Translated by https://www.hiragana.jp/)
SkyOS - Wikipedia コンテンツにスキップ

SkyOS

出典しゅってん: フリー百科ひゃっか事典じてん『ウィキペディア(Wikipedia)』
SkyOS
開発かいはつしゃ Robert Szeleney
開発かいはつじょうきょう 停滞ていたい
ソースモデル 非公開ひこうかい
最新さいしん開発かいはつばん Beta / 2008ねん8がつ3にち
対象たいしょう市場いちば デスクトップ
使用しようできる言語げんご 言語げんご対応たいおう
プラットフォーム IA-32
カーネル種別しゅべつ モノリシック
ライセンス プロプライエタリ
ウェブサイト www.skyos.org
テンプレートを表示ひょうじ

SkyOS(スカイオーエス)は、Robert Szeleneyらによって1996ねんから開発かいはつされた(が、のち開発かいはつ中断ちゅうだんとなった)、x86コンピュータ・アーキテクチャけの、グラフィカルなデスクトップ環境かんきょうの、有償ゆうしょうプロプライエタリオペレーティングシステム。2009ねん1がつ30にち以降いこう開発かいはつ中断ちゅうだんしている[1]

歴史れきし

[編集へんしゅう]

SkyOSは Robert Szeleney とボランティアの仲間なかまにより10ねん以上いじょうにわたって研究けんきゅう開発かいはつされてきた。

Szeleneyとすうにん友人ゆうじん大学生だいがくせい時代じだいに "Sky Operating System" と名付なづけた実験じっけんてきOSの開発かいはつ開始かいしした。その友人ゆうじんたちは徐々じょじょにプロジェクトから距離きょりくようになったが、Szeleney はいた時間じかんにこのOSの開発かいはつつづけた。

Szeleney はプロのプログラマであり、OS設計せっけいかんする知識ちしきもすでにじゅう分身ぶんしんにつけた。しかし SkyOS を勉強べんきょうよう開発かいはつつづけ、オープンソースライセンスで4つのバージョンをリリースした。

2004ねん、それなりに人気にんきたころ、SzeleneyはSkyOSのソース公開こうかいめ、5番目ばんめのバージョンの開発かいはつにとりかかった。同年どうねんはじめ、Szeleneyは有償ゆうしょうでベータばんをリリースし、それによって開発かいはつ資金しきんようとしたが、実際じっさい購入こうにゅうしたひとはごく少数しょうすうだった。そのころ、GUI決定けっていするため、コミュニティによるコンテストが実施じっしされ、おおきな注目ちゅうもくあつめた。実際じっさい多大ただい注目ちゅうもくあつまり、SkyOSコミュニティはその年末ねんまつには3ばい人口じんこうふくがった。ベータばんのテスターはすうひゃくにんえ、Szeleneyによるつき2かいのリリースをダウンロードするようになった。

そのあいだ、SkyOSには多数たすう変更へんこうくわえられた。ソースレベルでもおおきくわったため、5番目ばんめのバージョンという呼称こしょう (SkyOS 5.0) をやめ、たんに "SkyOS" とぶようになった。プロジェクト全体ぜんたいによりプロフェッショナルな方向ほうこうかい、Szeleneyは "Djinnworks" という起業きぎょうすることまでかんがえた。しかし、2004ねんをピークとしてSkyOSのコミュニティは縮小しゅくしょうしていった。

2009ねん1がつ30にち、SkyOSの開発かいはつ中断ちゅうだんしている。開発かいはつしゃ今後こんごどの方向ほうこうかうのが適切てきせつかを思案しあんちゅうである。すなわち、

  • オープンソースする。
  • フリーウェアする。
  • まだ定義ていぎされていないニッチ市場いちばとくする。
  • 開発かいはつをやめる。

のいずれかである。

デバイスドライバがサポートする周辺しゅうへん機器ききすくないという問題もんだいがあり、NetBSDLinux利用りようするという実験じっけんこころみられている[2]

テクノロジー

[編集へんしゅう]

カーネル

[編集へんしゅう]

SkyOSのカーネル独自どくじのモジュールされたプリエンプティブ・マルチタスクカーネルであり、プロセススレッド分離ぶんりメモリ管理かんりページング、カーネルデバッグ機能きのうていレベルロックプリミティブ、リアルタイムPIC/APICタイマなどをそなえる。モノリシックカーネルだが、デバイスドライバ拡張かくちょうAPI使つかって動的どうてきカーネル空間くうかんにロードできる。

SkyOSカーネル独自どくじ特徴とくちょうつぎとおりである。

  • カーネルモードでVESAをサポートしており、電源でんげんれると即座そくざにグラフィカルなディスプレイが利用りよう可能かのうである。
  • アーキテクチャ仮想かそうそうがあり、のアーキテクチャに容易ようい移植いしょく可能かのうである。
  • 最新さいしんCPUをサポート。マルチコアSMPハイパースレッディングなどx86のおも拡張かくちょうをサポート。
  • ATAPIATA/SATAサポート(SATAは一部いちぶ主要しゅようチップセットのみサポート)。
  • 各種かくしゅバス規格きかくサポート(USBなど)

一般いっぱんLinuxBSDけいOSのカーネルから派生はせいしたものだという誤解ごかいがあるが、Szeleneyがいちからなんねんもかけていたもので、自前じまえでないコードは存在そんざいしない[3]

SkyGIとはSkyOSのAPIである。QtSwingといったGUIツールキットのコンセプトにちかい。SkyGIの基本きほん原則げんそくは "view" である。それぞれのGUIオブジェクトは基本きほんの "view" オブジェクトから派生はせいしている。したがってたような属性ぞくせいたようないをする[4]

SkyOSは国際こくさい地域ちいきみでサポートしており、サードパーティの開発かいはつしゃ容易ようい多言たげん対応たいおうのアプリケーションを開発かいはつできる。アクセシビリティにも考慮こうりょし、最新さいしんのキーボード・ナビゲーションをサポートしている。

ネイティブのコントロールぐんには 'theme' ファイルをくことでテーマをあたえることができ、Windows XPMSSTYLESちかい。

コンポーネント

[編集へんしゅう]

SkyOSのGUIは一般いっぱんてきなGUIのデスクトップメタファーとほとんどわらない。しかしのGUIとはことなるSkyOS独自どくじのコンポーネントもある。

Panel機能きのうてきにはWindowsタスクバー、またはmacOSdock相当そうとうする。プログラムの起動きどう、アプリケーションのウィンドウあいだえなどを担当たんとうし、各種かくしゅ情報じょうほう表示ひょうじする。プラグインを追加ついかすることで機能きのう追加ついかできる。たとえば既存きそんのプラグインとして、クエリ方式ほうしき高速こうそくアプリケーション起動きどう昼夜ちゅうやインジケータを気象きしょう情報じょうほうしめすよう拡張かくちょうしたものなどがある。

Notifierはユーザーに注意ちゅういうながすための要素ようそであり、アプリケーションのクラッシュをらせたり、ハードウェアの追加ついか/除去じょきょらせたりする。アプリケーションでもこれを使つかうことができる。

ViewerはSkyOSのファイルブラウザである。複数ふくすう表示ひょうじ方式ほうしきをサポートし、サムネイル表示ひょうじやメタデータにもとづく情報じょうほう表示ひょうじでき、ファイルの検索けんさく機能きのう豊富ほうふである。

SkyFSOpenBFSBeOSのファイルシステムのオープンばん)からフォークしたファイルシステムである。つぎのような特徴とくちょうがある。

フォークして以降いこうおおきな修正しゅうせいおこなわれていない。マジックIDはSkyFSとBFSのパーティション区別くべつするため変更へんこうしてある。また、かくパーティションの先頭せんとう部分ぶぶんブートローダーよう領域りょういきかなら確保かくほされる。これら以外いがいはOpenBFSとおなじである。

SkyOSは、FAT32/16/12やISO9660のファイルシステムからも起動きどう可能かのうである。

高速こうそくファイル検索けんさく

[編集へんしゅう]

SkyOSはSQLベースのインデックス付与ふよ機構きこうち、WinFSSpotlightのようなメタデータおよび全文ぜんぶん高速こうそく検索けんさく可能かのうである[5]

仮想かそうフォルダの概念がいねんがあり、それを検索けんさく機能きのうわせると検索けんさくようクエリをセーブしておいて、あと実行じっこうするといった使つかかた可能かのうである。クエリとはたとえばつぎのような書式しょしきである(すべての .txt ファイルのうち、今日きょう更新こうしんされたもの)。

name = *.txt && last_modified >= %today%

検索けんさくするためにうえのような書式しょしきおぼえる必要ひつようはなく、GUIを使つかってクエリをつくることができるし、キーボードを使つかった検索けんさくもデフォルトでサポートしている。

開発かいはつ

[編集へんしゅう]

いくつかのAPIと同時どうじPOSIX互換ごかんAPIもサポートしているが、SkyOSはベータばん頻繁ひんぱんにAPIまわりにバイナリ互換ごかん発生はっせいするため、アプリケーションの開発かいはつとリリースはいまのところむずかしい。SkyOSけにアプリケーションをリリースしたければ、SkyOSのリリースごとのAPIの変化へんか追随ついずいする必要ひつようがある。APIをいつ固定こていするかについてSzeleneyは計画けいかくあきらかにしていない。

SkyOSの実行じっこうファイルELF形式けいしきで、GNUコンパイラコレクション使つかってコンパイルできる。一般いっぱんクロスコンパイル方式ほうしきでSkyOSよう実行じっこうファイルを作成さくせいする。しかし、GCC自体じたいもSkyOSに移植いしょくみでよく保守ほしゅされているので、SkyOSじょうでアプリケーションを開発かいはつすることも不可能ふかのうではない。

公式こうしきのチャンネルからアプリケーションを配布はいふしたければ、SkyOS公式こうしきサイトにある Software Store利用りようすればよい[6]

SkyOS自体じたい改良かいりょう突然とつぜんおこなわれる。スケジュールはおおまかにしか文書ぶんしょされていない。このてんはコミュニティでも懸案けんあんとなっているが、そのために民主みんしゅてきなプロジェクトよりも開発かいはつペースがはやいことは事実じじつである。

ネイティブAPI

[編集へんしゅう]

SkyOSのネイティブAPIは公式こうしきにはC++のみをプログラミング言語げんごとしている。PerlPython移植いしょくされているが、それらのVMからネイティブAPIを使つかバインディング用意よういされていない。CUIベースの.NETアプリケーションはMono経由けいゆ動作どうさ可能かのうだが、やはりネイティブAPIへのバインディングは存在そんざいしない。Windows Forms使つかっている場合ばあいはそもそも動作どうさ不可能ふかのうである。

Desktop Communication Serviceオブジェクト指向しこうプロセスあいだ通信つうしんフレームワークであり、SkyOSでひろ使つかわれている。コマンドまたはAPIを使つかってSkyOSのカーネルプロセスやユーザプロセスと通信つうしんできる[7]

このメッセージング・モデルでは、識別子しきべつし文字もじれつあらわされる「インタフェース」に人間にんげんめるかたちのメッセージをおくる。

たとえば、つぎのようなメッセージを "Notify.Media.Player.Control" におくると、SkyOSのメディアプレーヤーがつぎきょく再生さいせいする。

MessageType STRING "Next Song"

SkyOSは、周辺しゅうへん機器きき接続せつぞく、ソフトウェアのインストール成功せいこう、バッテリー充電じゅうでんレベルの変化へんかあらたな気象きしょう情報じょうほうといったすうひゃく種類しゅるいのイベントに対応たいおうしたメッセージを発信はっしんする。かくアプリケーションやドライバは適切てきせつなインタフェースを購読こうどくすることで、メッセージをることができる。

Integrated Streaming System (ISS) はLinuxにおけるサウンドサーバかんがかたたメディア相互そうご作用さようのためのC++ようAPIぐんである。このAPIではメディア再生さいせいをコーデックから完全かんぜん独立どくりつさせて抽象ちゅうしょうしている。

デフォルト動作どうさでよければ、基本きほん機能きのうは10ぎょう未満みまんのコーディングで実現じつげんできる[8]

アプリケーションの移植いしょく

[編集へんしゅう]

GNUツールチェーンでコンパイルされるようかれたCUIアプリケーションはほとんど修正しゅうせいなしでSkyOSに移植いしょくできる。ApacheGCCSambaCUPSBash といったおもなアプリケーションがツールチェーンを使つかって移植いしょくされた。

以下いかのアプリケーションはネイティブAPIを使つかって移植いしょくされ、SkyOSととも保守ほしゅされている。

GTK+とGTK+ベースのアプリケーションも移植いしょくされていたが、最近さいきんのAPI変更へんこう使つかえなくなっている。

状況じょうきょう

[編集へんしゅう]

サードパーティによるサポート

[編集へんしゅう]

それほど有名ゆうめいなOSではないため、サードパーティの開発かいはつしゃはほとんどいない。そのため、サポートできるハードウェアがかぎられており、すべてはSzeleneyが開発かいはつにかけられる時間じかん資金しきんにかかっている。

また、おな理由りゆうでSkyOSじょうのアプリケーションのしなそろえもかぎられている。ウェブブラウザ電子でんしメールクライアントはサポートしているが、オフィススイートやゲームなどはそろっていない。

セキュリティと安定あんていせい

[編集へんしゅう]

APIには各種かくしゅパーミッションの設定せっていがあるが、実際じっさいにはパーミッションを設定せっていしてもシステムはそれにしたがわずに動作どうさしている。開発かいはつちゅうのOSであるため、意図いとてきにこのようになっているという。

SkyOSの通信つうしんプロトコル部分ぶぶん独自どくじ設計せっけいであり、実際じっさい環境かんきょう大々的だいだいてき評価ひょうかされたことがない。いまのところ、SkyOSの動作どうさしているマシンへの侵入しんにゅうこころみられたというはなしはない。

「パスワードきフォルダ」という機能きのうがあり、ファイルシステムレベルで実装じっそうされているため、アプリケーションから通常つうじょうのAPIでファイルにアクセスする場合ばあいかならずユーザーがパスワードを入力にゅうりょくする必要ひつようがある。しかし、パスワードきもパスワードなしも、ファイルはすべおながたでディスクに格納かくのうされているため、その構造こうぞうっていれば通常つうじょうのAPIを使つかわずにファイルにアクセスすることは可能かのうである。

SkyOSの安定あんていせい徐々じょじょ改善かいぜんしてきているが、実際じっさいはユーザーによってことなる。ハードウェア構成こうせいただしければほとんどシステムクラッシュはきないが、サポートしていないハードウェアの場合ばあい頻繁ひんぱんにクラッシュし、ブートすらできないこともある。包括ほうかつてきなハードウェアサポートじょうきょう一覧いちらんは、システムが頻繁ひんぱん修正しゅうせいされるため存在そんざいしていない。

フリーソフトウェアとの関係かんけい

[編集へんしゅう]

かつてオープンソースだったことから、SkyOSはフリーソフトウェアかんするおおくの議論ぎろんこした。

しばしば、SkyOSはGPL違反いはんしていると非難ひなんされてきた。すなわち、OS開発かいはつ非常ひじょう複雑ふくざつ作業さぎょうであり、Szeleneyはこれまでのあいだにフリーソフトウェアからコードを盗用とうようしているにちがいないという主張しゅちょうである。実際じっさいにはSzeleneyはオープンソース開発かいはつしゃがわ貢献こうけんしている[9]。ライセンスじょう要求ようきゅうされていない場合ばあいでも、SzeleneyはSkyOSようにオープンソースに修正しゅうせいくわえたとき、それをすべ公開こうかいしている[10]

一部いちぶのベータテスタはSzeleneyがSkyOSの開発かいはつ完全かんぜんにやめてしまった場合ばあいかれらの投資とうしうしなわれることを懸念けねんしており、それと関連かんれんしてSkyOSをオープンソースすべきだという主張しゅちょうがなされることがある。実際じっさい、Szeleneyは開発かいはつ中断ちゅうだんしたさい開発かいはつをやめてしまう可能かのうせい言及げんきゅうしている。

脚注きゃくちゅう出典しゅってん

[編集へんしゅう]
  1. ^ SkyOS development is currently halted”. 2009ねん1がつ30にち閲覧えつらん
  2. ^ The Experiment”. 2009ねん11月28にち閲覧えつらん
  3. ^ SkyOS FAQs”. 2008ねん3がつ4にち閲覧えつらん
  4. ^ SkyGI: Alphabetical List”. 2007ねん3がつ4にち閲覧えつらん
  5. ^ SkyOS Index Feeder”. 2008ねん3がつ4にち閲覧えつらん
  6. ^ SkyOS Tour - Software Store”. 2008ねん3がつ6にち閲覧えつらん
  7. ^ A few words on desktop Communication Service”. 2008ねん3がつ4にち閲覧えつらん
  8. ^ SkyOS Tour - Integrated streaming system”. 2008ねん3がつ4にち閲覧えつらん
  9. ^ OpenBFS misconceptions and SkyFS.”. 2008ねん3がつ4にち閲覧えつらん
  10. ^ GPL software”. 2008ねん3がつ4にち閲覧えつらん

外部がいぶリンク

[編集へんしゅう]