ReactOS 0.4.11-100以上のアプリケーション

こんにちは、Habr!



私たちのプロジェクトからのニュースを見逃してしまったことは間違いありません! そして、無駄に時間を無駄にしませんでした。 前回のReactOSリリースは、わずか3か月半前に発表されました。今日、すでにオペレーティングシステムの次のバージョンをダウンロードしてテストできます。 135個のバグを修正し、ソースコードに984件の変更を加え、ローディング画面の美しいアニメーションを作成しました



システムイメージのダウンロード | プレスリリース | 変更ログ | TL; DR | テストと回帰リスト



画像



バージョン0.4.11に取り組んでいるとき、アプリケーションの互換性エラーの修正に焦点を当てたため、互換性のあるプログラムの数を、それ以上ではないにしても100ほど増やすことができました。 同時に、BSODとシステムハングにつながる状況の数を再び大幅に削減しました。 他にも多くの変更がありますが、最初に最初に行うことです。





-始めましょう! 私が言った-スタート!



注目に値する最初のことは、ローダーをいたずらしたことです。 ローダー(LDR)は、アプリケーションの起動を支援するコンポーネントです。 特に、実行可能ファイルとライブラリのマニフェストファイルを読み取り、起動したアプリケーションに必要なモジュールと依存関係を計算し、ディスク上の目的の場所の場所を見つけ、正しい順序でメモリにロードします。



画像



ReactOSの以前のバージョンでは、MSVC ++ 2005/2008ライブラリがシステム上に十分に隠れていたため、ローダーはそれらを常に見つけることができませんでした。 2018年の夏にベルリン開催されHackfestで 、Mark Jensenは私の要請でこれに対処することにしました。 そして、0.4.11のリリースにより、いささかがようやく終わり、必要なライブラリがローダーから「逃げる」ことができなくなりました。 マニフェストのサポートが改善されたことで、ReactOSはBlender 2.57b、Bumptop、Evernote 5.8.3、Delugeトレント、Quicktime Player 7.7.9などの約100の新しいアプリケーションで動作するようになりました。



この成果の壮大な例は、上の写真とこのスクリーンショットです。



画像



その上で、ReactOSで人気のあるドライバーパックSnappy Driverインストーラー(SDI)の動作を見ることができます。 以前は、エラーでクラッシュしたり、BSODが発生したり、上記の理由で動作を拒否したりすることがありましたが、現在は変更されています...



積極的な間接効果は、ReactOSのドライバーを探すために向こう見ずにネットを探し回る必要がなくなったということでしたが、1枚のDVDにまとめてダウンロードするだけで済みます。



すべてのSDIドライバーが適切にインストールされるわけではないので、主にネットワークカードと一部のビデオカードのみを予約する必要があります。 ただし、この状況の改善に引き続き取り組みます。



-だから、 やめて ! co病者だけがブレーキを必要としない...



過去のいくつかのReactOSリリースでは、テスターは.NETアプリケーションを使用しようとする際に大きな困難に直面していました。 .NETフレームワークバージョン2.0 / 4.0に基づいて作成されたアプリケーションは1度だけ機能し 、終了時に混乱を引き起こし、システムを凶暴な状態にしてシステム自体を損傷させました。



ReactOS 0.4.11では、これを引き起こした問題を最終的に見つけて克服しました。 一番下の行は、システムの安定性の観点から、プログラムが停止すると以前に割り当てられたリソースが解放されるため、正しいアプリケーションのシャットダウンは起動時の正しい初期化シーケンスと同じくらい重要です。



ReactOSでアプリケーションをシャットダウンするメカニズムは、多くの場合、アプリケーションが自分で作業を正しく完了するのに十分な時間を期待していなかったことが判明しました。 これは、クライアント上で構築されたアプリケーション、サービスアーキテクチャに特に当てはまりました。 Janis Adamopoulosからの些細なバグ修正により、ReactOSの兵器庫に数百ではないにしても、数十の人気のあるdotNETアプリケーションのサポートが即座に追加され、この特定の問題が解決されました。



画像



例として、Windows XPディストリビューションの「ガレージ」パーティション用のユーティリティであるnLite 1.4.9.3のスクリーンショット。



バベルバベル



最後に、全世界が英語や他のラテン語ベースの言語のように左から右へテキストを表示するための標準を使用しているわけではないことを思い出してください。 ヘブライ語やアラビア語などの多くは、右から左の方向を使用します。 このタイプのテキスト表示に対するReactOSのサポートは、リリース0.4.10で初めて正式に実証されましたが、まだ改良中です。 USP10ライブラリを適応させ、WineからReactOSへの双方向入力のコードをサポートするBaruch Rutmanの努力のおかげで、大きな進歩がありました。 もちろん、多くの作業が残っていますが、オープンソースプロジェクトの開発の本質は、段階的な段階的な変更を伴う反復アプローチの適用にあります。



画像



改善ビュッフェ



BSODとの戦いについて話す場合、Mark Jensen がスクロールバーの初期化問題を特定したことを思い出してください。この修正により、互換性のあるReactOSプログラムのライブラリに全範囲のアプリケーションが追加されました。 たとえば、下のスクリーンショットに示すゲームCivilization II Multiplayer Gold Edition(32bit)バージョン1.3、およびIceChat 7.63などの他のプログラムについて説明しています。



画像



ネットワークスタックが再び近代化され、その過程で、ネットワーク接続機能の監視と列挙が追加されました。 TCP / IPコンポーネントに加えられた変更により、netstat、PortExpert、およびその他の必要なネットワークアプリケーションを使用できるようになります。



画像



RAMディスクドライバーは大幅な修正を受け、PXEプロトコルを使用してネットワーク経由でOSを完全にインストールできるようになりました(以前はLiveCDを起動するオプションのみが可能でした)。



画像



Sisyphean労働「品質部門」



ReactOSの安定性が向上し続けると、利用可能なテストアプリケーションの数が増えているという理由だけで、必要なテストの幅と深さも増加しています。 この目的のために、Joachim Hentzeは、通常の方法論と忍耐力で、このリリースの安定性と新機能/改良された機能の外観の点で適切なバランスを確保するように努めました。 リリースに対するすべての最も重要で重要な変更と修正を行うことは常に魅力的であるという事実にもかかわらず、そのような各変更にはある程度のリグレッションのリスクが伴うことを覚えておく必要があります。 Joachimのような品質保証の専門家が、急速に複雑さを増しているプロジェクトにとって非常に貴重なのは、このリスクと可能性のある利点を評価する能力です。



ReactOSの大幅な改善を考慮し、潜在的なユーザーがOSの現在の状態と特定のアプリケーションのサポートの程度をよりよく理解できるように、Joachimは関連情報をより適切に表示するためにテスト結果ページを再構築しました。 これで、各アプリケーションのテストの一般的な結論だけでなく、特定の結論に至った原因を示す詳細と、ここで問題を解決するための可能な「回避策」も確認できます。



最終和音



あなたの人生で初めてReactOSをインストールしたいと思いましたか? このシステムインストールマニュアルを必ずお読みください。



このリリースは気に入りましたか? あなたのコメントや意見をお待ちしています! 寄付だけでなく、githubにアスタリスクを付けるだけでプロジェクトを支援できることを忘れないでください!



ReactOSオペレーティングシステムの開発の進捗状況に関する私のダイジェストを読み、そのような出版物をもっと頻繁に見たい場合は、この記事のすぐ下にある[著者をサポート ]セクションのボタンをクリックしてコーヒーを飲んでください。



All Articles