Google FuchsiaマイクロカーネルZirconを先にご覧ください

1385 ワード

\
ニュースを見て疲れた?技術ニュースを見るのはもっと疲れますか?InfoQの携帯電話のクライアントをダウンロードしてみて、毎日通勤途中でニュースを聞いて、面白くて材料があります!
\\
GoogleはFuchsiaの公式文書を発表した.Fuchsiaは、GoogleがIoTとモバイルデバイス向けに新たに発売したオペレーティングシステムで、「Zircon」と呼ばれる新しいマイクロカーネルに基づいています.\
ZirconはC++を使用して作成され、構成にはマイクロカーネルとユーザー空間サービス、ドライバ、ソフトウェアライブラリのセットが含まれ、システムの起動、プロセスのロードなどの古典的なカーネルタスクを処理することができます.Zirconのシステム呼び出しは、wait_onewait_manyport_wait and sleepを除いて、一般に非ブロックである.ZirconはLinuxまたはmacOS上での構築をサポートし、さらにブート可能なbootfsミラーを作成します.Zirconは最初はLKの分岐であった.LKはGoogleが組み込みシステムのために開発したもう一つのコアであり、FreeRTOSまたはThreadXのオープンソース代替を実現することを意図している.しかし、Zirconは、十分なメモリと高速プロセッサを備えた現代のデバイス上で動作するように設計されているため、LKほど厳しいニーズはありません.\
Zirconが管理できるリソースには、処理時間、メモリ、I/O、割り込み、信号、待機などがあります.ユーザ領域(user land)はハンドル(handle)を介してリソースを使用し、ハンドルはリソースに関連付けられ、コピー、転送、読み取り、書き込み、実行などのアクションの実行権限を伝達する権利を有する.ZirconのドライバはELFソフトウェアライブラリとして実装され、プロセスにロードされます.駆動管理プロセスdevmgrは、すべての駆動およびデバイスの状況を追跡し、駆動の検出を管理し、デバイスへのアクセスを管理する.デバイスはPCI protocol、USB protocolなどのC ABIを使用してプロトコル(Protocol)を実現することができる.\
ZirocnはUnixスタイルの信号をサポートせず、直接実現可能なメカニズムも提供していない.ハンドル上の待機操作をサポートします.待機は、書き込み準備、運転、停止など、一連の異なる信号状態を含む.同様に、ZirconはUnixのようなforkおよびexecの動作を持たず、launchpadソフトウェアライブラリ作成プロセスを使用します.launchpadを使用してプロセスを作成するコードセグメントの例を次に示します:\
\   launchpad_t* lp;\   launchpad_create(job, \"processname\