特異性(オペレーティングシステム)

ウィキペディアから、無料の百科事典
ナビゲーションにジャンプ 検索にジャンプ
特異点プロジェクト
特異点v1.png
起動後の特異性
デベロッパーMicrosoft ResearchMicrosoft Corporation
で書かれているアセンブリ言語CC ++C#Sing#
OSファミリー言語ベースのシステム
動作状態製造中止
ソースモデルソース-利用可能シェアードソースイニシアチブを通じて)
初回リリース2008年3月4日; 13年前[1] (2008-03-04
最終リリース2.0 / 2008年11月14日; 13年前 (2008-11-14
で利用可能英語
プラットフォームx86x86-64 [2]
カーネルタイプマイクロカーネル 言語ベース
デフォルトの
ユーザーインターフェイス
コマンドラインインターフェイス
ライセンスMicrosoft Research License
公式ウェブサイトリサーチ.microsoft.com / en-us / projects / singularity

Singularityは、2003年7月9日[3]から2015年2月7日までの間にMicrosoft Researchによって開発された実験的なオペレーティングシステムです。 [4]カーネルデバイスドライバ、およびアプリケーションソフトウェアがすべて記述された信頼性の高いOSとして設計されました。管理対象コード内部セキュリティは、ハードウェアメモリ保護の代わりにタイプセーフティを使用します。

操作

最下位レベルのx86 割り込みディスパッチコードは、アセンブリ言語Cで記述されています。このコードが機能を完了すると、カーネルが呼び出されます。カーネルは、ランタイムシステムガベージコレクターSing# ( Spec#の拡張バージョンであり、それ自体がC#の拡張)で記述され、保護されていないモードで実行されます。[5] :14  [6] :4 ハードウェアアブストラクションレイヤーC ++で記述されており、プロテクトモードで実行されます。デバッグを処理するためのCコードもいくつかあります。コンピューターの基本入出力システム(BIOS)16ビットリアルモードのブートストラップ段階で呼び出されます。32ビットモードに入ると、SingularityはBIOSを再度呼び出すことはありませんが、Sing#で記述されたデバイスドライバーを呼び出します。インストール中に、共通中間言語(CIL)オペコードはBartokコンパイラを使用してx86オペコードにコンパイルされます。[6] :11 

セキュリティ設計

Singularityは、マイクロカーネルオペレーティングシステムです。ほとんどの歴史的なマイクロカーネルとは異なり、そのコンポーネントは、ソフトウェアで分離されたプロセス(SIP)を含む同じアドレス空間プロセス)で実行されます。各SIPには独自のデータとコードのレイアウトがあり、他のSIPから独立しています。これらのSIPは通常のプロセスのように動作しますが、タスクスイッチのコストを回避します。[5] :4,11,35 

このシステムの保護は、静的プログラム分析によって検証される不変条件と呼ばれる一連のルールによって提供されますたとえば、メモリ不変状態では、2つのSIP間に相互参照(またはメモリポインタ)があってはなりません。SIP間の通信は、オペレーティングシステムによって管理される高次の通信チャネルを介して行われます。アプリケーションのインストール中に不変条件がチェックされます。(Singularityでは、インストールはオペレーティングシステムによって管理されます。)

ほとんどの不変条件は、ガベージコレクターを備え、任意のポインターを許可せず、特定のコンピューターセキュリティポリシーを満たすようにコードを検証できるSing#などのより安全なメモリ管理言語の使用に依存しています

プロジェクトステータス

最初のSingularityResearch Development Kit(RDK)であるRDK 1.1は、2008年3月4日に最初にリリースされ[1]、学術的な非営利目的での使用を許可する共有ソースライセンスの下でリリースされ、CodePlexから入手できます。[7] RDK 2.0は、2008年11月14日にリリースされました。[2]

同様のプロジェクト

も参照してください

  • 言語ベースのシステム、ハードウェア保護の代わりに言語ベースの保護を使用する一般的なカーネル設計。
  • Spec# 、契約によるEiffelのような設計を追加することによってC#から派生したプログラミング言語
  • Sing#、チャネルと低レベルの構成を追加することによってSpec#から派生したプログラミング言語。特異点を構築するために使用されます。
  • Microsoftが開発したマイクロカーネルベースのオペレーティングシステムであるMidoriは、情報技術(IT)プレスの一部のメンバーによって、MicrosoftWindowsの後継候補となる可能性があります。特異点に基づいており、それに関連しています。

参考文献

  1. ^ a b "Singularity RDK1.1"CodePlex2009年5月4日にオリジナルからアーカイブされました2022年1月16日取得
  2. ^ a b "Singularity RDK 2.0初期リリース(17067)"CodePlex2008年11月14日。2008年12月6日のオリジナルからアーカイブ2022年1月16日取得
  3. ^ 「特異点」Microsoft 2022年1月16日取得
  4. ^ 「特異点RDK」CodePlex2018年1月2日にオリジナルからアーカイブされました2022年1月16日取得
  5. ^ a b 「特異点プロジェクトの概要」(PDF)Microsoft 2022年1月16日取得
  6. ^ a b ハント、ガレン; ラルス、ジェームス。「特異性:ソフトウェアスタックの再考」(PDF)Microsoftマイクロソフトリサーチレドモンド2022年1月16日取得
  7. ^ Ricciuti、Mike(2008年3月5日)。「マイクロソフトの「特異点」は未来のOSですか?」CNET2022年1月16日取得

外部リンク