Google が Chrome を Fuchsia OS に移植

Google は、Fuchsia OS 用の Chrome ブラウザの完全なビルドを提供するために取り組んでいます。 Fuchsia は、スタンドアロン Web アプリケーションを実行するための Chromium コードベースに基づくブラウザ エンジンをすでに提供していますが、独立した本格的な製品としてのブラウザは Fuchsia では利用できず、プラットフォーム自体は主に IoT や Nest Hub などのコンシューマ デバイス向けに開発されました。 。 最近、状況が変わり、デスクトップ プラットフォームとして使用することを目的とした Fuchsia 機能の開発が始まりました。

これには、本格的な Chrome を Fuchsia に提供できるようにする一連の変更の開発が含まれます。 Chrome for Fuchsia の初期ビルドは、94 月 21 日に予定されている Chrome XNUMX のリリースに向けて準備が整う予定です。 移植作業は段階的に行われています。まず、一部の機能がスタブに置き換えられる必要最低限​​のバージョンを構築することができます。移植が進むにつれて、詳細を考慮したコードの実用的な実装に置き換えられます。フクシアの。 たとえば、システム トレイ、ファイルの読み込み、Click To Call 機能、リムーバブル メディアの操作、同期、ユーザー ディレクトリ、PWA アプリケーション、メモリと CPU 負荷に関する情報の表示、他のアプリケーションからの設定のインポートなどに対して Fuchsia への適応が行われています。ブラウザ。

Fuchsia OS は、Android プラットフォームで利用できるスケーリングとセキュリティの欠如を考慮して、2016 年以来 Google によって開発されていることを思い出してください。 このシステムは、LK プロジェクトの開発に基づく Zircon マイクロカーネルをベースにしており、スマートフォンやパーソナル コンピュータを含むさまざまなクラスのデバイスで使用できるように拡張されています。 Zircon は、プロセスと共有ライブラリ、ユーザー レベル、オブジェクト処理システム、機能ベースのセキュリティ モデルのサポートにより LK を拡張します。 ドライバーはユーザー空間で実行される動的ライブラリとして実装され、devhost プロセスによってロードされ、デバイス マネージャー (devmg、デバイス マネージャー) によって管理されます。

Fuchsia には、Flutter フレームワークを使用して Dart で書かれた独自のグラフィカル インターフェイスがあります。 このプロジェクトでは、Peridot ユーザー インターフェイス フレームワーク、Fargo パッケージ マネージャー、libc 標準ライブラリ、Escher レンダリング システム、Magma Vulkan ドライバー、Scenic コンポジット マネージャー、MinFS、MemFS、ThinFS (Go 言語の FAT)、および Blobfs ファイルも開発されています。システム、およびマネージャー FVM パーティション。 アプリケーション開発では、C/C++ および Dart 言語のサポートが提供され、Rust はシステム コンポーネント、Go ネットワーク スタック、および Python 言語アセンブリ システムでも使用できます。

Google が Chrome を Fuchsia OS に移植

ブート プロセスでは、初期ソフトウェア環境を作成する appmgr、ブート環境を作成する sysmgr、ユーザー環境を構成してログインを整理する Basemgr などのシステム マネージャーを使用します。 セキュリティを確保するために、高度なサンドボックス分離システムが提案されています。このシステムでは、新しいプロセスはカーネル オブジェクトにアクセスできず、メモリを割り当てられず、コードを実行できません。リソースへのアクセスには名前空間システムが使用され、利用可能な権限が決定されます。 このプラットフォームは、コンポーネントを作成するためのフレームワークを提供します。コンポーネントは、独自のサンドボックスで実行され、IPC を介して他のコンポーネントと対話できるプログラムです。

出所: オープンネット.ru

コメントを追加します