ハードウェアでサポートされる仮想化を備えたMIPSアーキテクチャ用の新しいハイパーバイザーの名前を思い付きます

先日、カリフォルニア州サンタクララのImagination Technologiesオフィスで、マルチコアLinuxスペシャリストLeonid Yegoshinが私に近づき、こう言います



エゴシン:まあ、世界最小のハイパーバイザーが書いた。



私:はい? なんていうの?



エゴシン:私はまだ発明していません。 そして、マーケティング名は下げられません。 名前を考えてください! まだオープンソースプロジェクトです。



私:そのようなことを思い付くのは難しいです。 sayingにあるように、「あなたがヨットと呼んでいるもの、それが航海する」。 国民に尋ねる必要があります。



エゴシン:そして、4月にモスクワ物理学技術研究所のドルゴプルドニに行きます。 20世紀以来存在していません。 MIPS-Linux / IoT / MIPSハイパーバイザーに興味がある人はいますか?



私:まあ、一般の人もこれについて尋ねることができます。



それで私はこの投稿を書いて、一般に尋ねました。 しかし、最初に、Leonid Egoshinとは何か、ハイパーバイザーとは何かを説明します。



***



すべての若者が知っているわけではありませんが、ソ連には独自のUnixがありました。 ブレジネフの下ではなく、アンドロポフの下ですでに。



そして最初のソビエトのUnixologistsの1人はYegoshinでした(彼は1980年代の赤の広場の写真で唯一笑っている人です)。 その後、Egoshinはシリコンバレーに移り、MIPS Technologiesで働き始め、それがImagination Technologiesになりました。 右の写真では、Yegoshinは2015年にすでにロシアのバイカルTマイクロプロセッサを搭載した最初のマザーボードをロシアからアメリカに持ち込んでおり、Yegoshinはその上でLinuxのデバッグを支援しました。







そして今、ハイパーバイザーとは何ですか。



ハイパーバイザーは、仮想マシン内でプロセッサー上で同時に実行される2つ以上のオペレーティングシステムの動作を制御するプログラムです。 仮想マシン内のソフトウェアには、実際のマシン全体、そのすべての入力/出力ポート、メモリ、および割り込みを所有しているようです。



仮想化は、カーネル/ユーザーモードの次のステップです。 カーネル/ユーザーパラダイムでは、オペレーティングシステムはユーザープログラムおよびユーザープログラムから相互に保護します。 特権カーネルモードは、ユーザープログラムの実行中に割り込みが発生すると有効になります。 その後、OSは何が起こったかを見て、別のユーザープログラムに切り替えることができます。 カーネル/ユーザー上での仮想化の場合、ルート/ゲストモードも有効にして、複数のゲストオペレーティングシステムを相互に保護し、それらの間でリソースを共有します。 ルートモードハイパーバイザーはこれを行います。



https://www.imgtec.com/mips/architectures/virtualization/









仮想化と仮想メモリを混同しないでください。 仮想メモリは仮想化なしでも存在できます。 仮想メモリパラダイムでは、OS /カーネルは、ユーザープログラムが使用する仮想アドレスをメモリ内の物理アドレスに変換するためのハードウェアサポートテーブルを管理します。 したがって、OSは、複数のユーザープログラムに対して同じ仮想アドレスを持つアドレス空間を所有しているように見えますが、物理アドレスは異なる場合があります。 仮想化の場合、仮想アドレス変換テーブルは次のレベルに表示され、ユーザープログラムだけでなくゲストオペレーティングシステムのイリュージョンを作成します。



仮想化には、ハイパーバイザーによって制御されるオペレーティングシステムを変更する必要がある場合の準仮想化、およびハイパーバイザーによって制御されるOSがハイパーバイザーの存在をまったく感じない場合があるハードウェアサポートによる完全仮想化など、いくつかのタイプがあります。







一般に、テクノロジーとしての仮想化は40年以上前に登場しましたが、すでにIBMのIBM / 370メインフレーム(IBM / 360ではありません)で使用されていました。 ソ連では、EUコンピューターで仮想化が使用されました。これは、対応するIBM / 370に似ていました。 仮想化は、アメリカのポップカルチャーにも反映されました.1990年代の最初のインターネットブームの時代のアートブックのスタートアップである「最初の2000万ドルが最も困難」は、特に300ドルの超安価なPCでのApple Mac仮想化に関係していました(当時は素晴らしいと考えられていました)。 ちなみに、この小説に基づいたこの映画は、ハリウッドの歴史上最大の失敗の1つであり、わずか$ 5,491($ 5,000で$ 5,000)と$ 1700万を費やしました(を参照



しかし、エゴシンに戻ります。 Egoshinハイパーバイザーは、MIPS M5150プロセッサーコアで実行されます。 これは、Microchip PIC32MZマイクロコントローラーおよびモノのインターネット用のチップに使用される経済的なコアです。



「マイクロコントローラで仮想化を行う理由は!?」と読者は叫ぶかもしれません。 セキュリティのため。 たとえば、IoT用の小さなチップ上でも、組み込みLinuxや、たとえば、金融取引を処理するための非常に安全なコードが機能します。 ユーザーがハッキングされたオペレーティングシステムをインストールすると、2つのOS間にハイパーバイザーが存在するため、重要な操作を実行する別のOSにアクセスできなくなります。 これは、モノのインターネットの場合に特に重要になります。ホームネットワークに投入されたアイロンまたはトースターが、理論的にはホストのホストコンピューターと情報を交換できる場合です。



Egoshinskyハイパーバイザーは、このようなDigilent chiKIT WI-FIREボードで動作できます。







そして今、レオニードに床を与えましょう:



ジュラ、ハイパーバイザーに関する基本情報:



メモリ-35キロバイトのコード、24KBのデータ



リアルタイム値-



1.基本的なハイパーバイザーコール(HYPCALL):74クロックサイクル

2.コンテキストスイッチを強制的にルートに戻したり戻したりする:336クロックサイクル

3.保護されたデバイスレジスタへのゲストアクセスのエミュレーション:207クロックサイクル

4. SW IRQインジェクションタイミング、コンテキストスイッチなし:173クロックサイクル



ゲストごとに独自のデバイスとしてエミュレートされる共有共有デバイス:



  • EIC modのPIC32MZ割り込みコントローラー。
  • コンソールUART。
  • クロックなどの読み取り専用レジスタ レジスタブロックの最小サイズは16バイトです。




現時点では、PIC32MZ(EF)モデル、その割り込みコントローラー、およびデバイス(安価に購入できるボード)のみがサポートされています。



設定は静的で、ゲストの位置アドレスとそのIRQをTLB(PTE)および割り込み制御用のテーブルに再計算するPythonデスクトップスクリプトを使用します。 設定の最後に、すべてが単一の.srecファイルに変わります。このファイルは、 Vakulenkoの pic32progプログラムを使用してPIC32MZに配置できます。



UPD:さらに、問題の緊急性への新しいリンク(ATMのウイルス)-https://www.gazeta.ru/tech/2017/03/20/10584965/atm_virus.shtml#page2





一般的に、ハイパーバイザーに良い名前がある場合、または4月にレオニードイェゴシンがアルママーターを訪問する際にモスクワ物理技術研究所で会いたい場合は、レオニードにメールを送るか、ここにコメントを残すことができます。



***



左側の写真についてのウィキペディアのヘルプ:



非表示のテキスト
http://ru.wikipedia.org/wiki/%D0%94%D0%95%D0%9C%D0%9E%D0%A1



1982-1983年頃、UNIXオペレーティングシステム(v6およびv7)のコピーがモスクワに持ち込まれました。 原子力研究所でそれらに基づいています。 I.V. Kurchatovaは、他の組織の多くの専門家の参加を得て、システムを現地の状況に適応させました-ロシア語へのローカライズと、主にSM-4およびSM-1420マシンへの国内技術への適応。 同時に、ローカリゼーションは、新しいシステムが「MNOS」(Machine Independent Operating System)と呼ばれるMinavtoprom高等研究所で実施されました。 その後、2つのチームが合併し、システムの名前が「DEMOS」(Interactive Unified Mobile Operating System)に変更されました。 1985年に、デモOSのバージョン2.0がリリースされました(BSD4.2ソースコードを使用)。 このプロジェクトは1990年代初頭に閉鎖されました。



DEMOS開発者は、1988年に科学技術に関するソ連閣僚会議の賞を受賞しました。



著者ヴァレリー・バルディン、セルゲイ・アンシュコフ、ヴァディム・アントノフ、アレクセイ・ルドネフ、セルゲイ・リジコフ、ニコライ・サウフ、ドミトリー・ヴォロディン、セルゲイ・バクレンコ、ミハイル・コロタエフ、パベル・ホダコフ、アンドレイ・アチェ・チェルノフ、ミハイル・パレムスキー、セルゲイ・ウシコフ、ミハイル・イージコフ、ミハイル・イージコフ、ミハイル・イージコフ、ミハイル・イージコフ、ミハイル・イージコフ、ミハイル・エジゴフレロフ他






All Articles