ReactOS

出典: フリー百科事典『ウィキペディア(Wikipedia)』

これはこのページの過去の版です。Parst (会話 | 投稿記録) による 2020年11月24日 (火) 11:54個人設定で未設定ならUTC)時点の版であり、現在の版とは大きく異なる場合があります。

ReactOS
開発者 ReactOS Foundation
プログラミング言語 C言語, C++
OSの系統 Windows NT系と類似
開発状況 開発中(アルファ版
ソースモデル FLOSS
最新開発版 0.4.14[1] ウィキデータを編集 - 2021年12月16日 (2年前) [±]
リポジトリ ウィキデータを編集
使用できる言語 多言語
アップデート方式 CD-ROM
プラットフォーム IA-32, x86-64, ARM
カーネル種別 ハイブリッド (Windows NT系に基づく)
既定のUI グラフィカル (ReactOS Explorer)
ライセンス GNU GPLLGPLBSDライセンス(組み合わせ可能)
ウェブサイト www.reactos.org
テンプレートを表示

ReactOS(リアクト オーエス)は、Microsoft Windows NT系2000以降)とアプリケーション及びドライバに於けるバイナリ互換性を目指すオープンソースオペレーティングシステムである[2]

特徴

ReactOSは、主にC言語で実装されているが、「ReactOS Explorer」のように幾つかの要素はC++によって記述されている。ARMx64に移植が進んでおり、一部のWindows APIは実装済みである。 Wineプロジェクトと提携し、互換レイヤーに関してはWineに依存[3]しているが、そのほかの機能は開発チームが独自に実装している。 しかしながら、開発者の不足により開発は遅れぎみである。

開発では、法的脅威とリバースエンジニアリングに関する不安に対処するために大規模なソースコード監査が実施[4]されている。

語源

「React」という単語は、マイクロソフトの独占状態に対する開発チームの不満を意味している[5]

歴史

デバイスマネージャ

開発初期

1996年頃、オープンソース開発者のグループがFreeWin95というプロジェクトを開始した。このプロジェクトの目標はWindows 95クローンとなるOSを実装することであった。しかしプロジェクトはシステムの設計に関する議論で行き詰まり、1997年の終わりになっても、何の成果も出せずにいた。

プロジェクトのメンバーはプロジェクトの復活を呼びかけ、クローンの対象をWindows NTへと変更し、名称をReactOSに改名した。1998年2月カーネルと基本的なドライバの開発を開始しReactOSプロジェクトが発足した。[6]

コードの流用疑惑

2006年1月17日、ReactOSの開発者向けメーリングリストに一人の開発者から「ReactOSにはWindowsを逆アセンブルしたコードが含まれている」との投稿があった[7]。そのためプロジェクトでは議論を行った結果、公のSVNの公開、フォーラム、メーリングリストアーカイブを一時停止することを決定した。(なお、48時間後に一時停止が取り消された)[8]

それに加え、コード全体の検査を行い、クリーンルーム方式のリバースエンジニアリングがされていない可能性のあるコードは発見されなかった[9]。また、全開発者に「クリーンルーム方式のリバースエンジニアリングのみを行う。」よう契約書にサインをさせた[10]

2006年2月24日、まだ完全に監査は完了していなかったものの、活動再開の発表がなされた。コードの調査を完了させ、ソースコードの影響する部分を書き直すには何年もかかるため、この件によってプロジェクトの進行が遅れるものと考えられていたが、2008年8月末までにコードの監査は完了した[11]。なお、開発と監査は同時に進行していた。このコード監査は、新たにリポジトリを作成し、監査が終了したら、コードを元の場所から新リポジトリへと移動する、という手順で行われた。

機能

AbiWordとReactOSエクスプローラーが動作しているReactOS

2011年現在、GUIが用意され、基本的な操作が可能になっている。主なAPIABIが用意され、幾つかのアプリケーションの動作が報告[12]されている。また、カーネルは概ね安定している。

開発の現状と今後

現在、ReactOSの開発者はUSBをサポートする作業も行っている。また、GUIシステムの改良やネットワークマルチメディアプラグアンドプレイハードウェアに対応する作業も行われている。いくつかのアプリケーションは動作が保証されないものの、Javaや、Monoを利用した.NETはサポートされている[13][14]。マルチユーザー環境が開発されれば、ターミナル・サービスやリモート・デスクトップの開発も行われることとなる。この開発にはXRDPVNCrdesktopが用いられることとなるだろう。Windows NTサブシステムと同様に、DOSOS/2POSIXサブシステムも提供されている[15]

開発者はWindows NT バージョン5、6とより互換性を持つカーネルを開発し、より多くのアプリケーションをサポートすることを目標としている。また、改良されたUSB、ネットワーク、その他のハードウェアのサポートも利用可能となる可能性がある。

また、3Dゲームのサポートの強化および、完全なOpenGLサポートのための作業も行われている。ReactOSプロジェクトのオープンソース版DirectXともいえる、ReactXの開発にも進歩の動きがみられる[16]

ReactOS プロジェクトは、2ヶ月から6ヶ月の間隔で新しいバージョンをリリースすることを目標としており、バージョン0.5.0からはベータ版となり、実用的なシステムとなる計画である。[17]

0.4.8以降NTFSの実装が始まっている。

アーキテクチャのサポート

現在、ReactOSの開発者はReactOSの多数の移植に取り組んでいる:

ReactOSはHyper-V[21]VMwareVirtualBoxQEMUのような上記のハードウェアをエミュレートもしくは仮想化するソフトウェア上でも動作することが知られている[22]

ReactOSでも、移植性を見据えた処置が取られている。例えば、0.2.5においてはさまざまなIA-32アーキテクチャやXboxプラットフォームへの対応が追加された。また、2005年の段階で、ReactOSをPowerPCやXenアーキテクチャへと移植する作業も進行中である。

関連するプロジェクト

簡略化されたReactOSのアーキテクチャ図。Wineに依存する箇所はWineのロゴで示されている。

ReactOSはWineプロジェクトと協力して活動しており[23]、よってWineが行っているWin32 APIの実装を活用することができる。依存しているレイヤーは、主にWineのDLLに関連しており、それらの多くはReactOSとWineで共通している[24]。双方のプロジェクトは互いの互換性の問題に取り組んでいる。

もう一つの関連するプロジェクトはSamba TNGである。Samba TNGはLSASS, SAM, NETLOGON, SPOOLSSといった多数のサービスを実装している。Samba TNGはモジュール化されているため、各サービスは容易にReactOSへと取り込むことができる[25]

国際化と地域化

ReactOSはバージョン0.2.2より、UTF-16を適切に扱うことができるように改良された。 これにより、文字コードとしてUTF-16を用いたアプリケーションを動作させることが可能となった。 また、ハードコードされたメッセージをリソースファイルへと移す作業も行われ、OSに組み込まれているアプリケーションの多くは国際化されたメッセージを表示することができるようになっている。 0.2.7リリース以後に大半のリソースファイルにおいて翻訳の活動が行われた。[26]

日本語対応

ロケール日本語が指定されている場合には、メッセージは日本語で表示される。しかし、新機能の追加などにより、英語で表示される部分もまた増えてきている。

バージョン0.3.10からは、「Systema Font」という日本語フォントが追加されたため、インストール時に日本語を選択すれば、日本語が表示できるようになった。 また、バージョン0.3.11からは、「Systema Font」から「Droid Sans Fallback」にフォントが変更され、中国語・韓国語の表示も可能になった。

脚注

  1. ^ "ReactOS 0.4.14 released".
  2. ^ “Vistaっぽい見た目”を実現したWindows互換OS「ReactOS 0.4.6」 - PC Watch、2018年9月25日閲覧。
  3. ^ WINE - ReactOS”. 2013年7月6日閲覧。
  4. ^ Audit - ReactOS”. 2013年7月6日閲覧。
  5. ^ ReactOS/History - ReactOS”. 2013年7月6日閲覧。
  6. ^ 世界のOSたち - WindowsクローンOSを目指す「ReactOS」”. マイナビニュース (2012年1月31日). 2018年10月15日閲覧。
  7. ^ [ros-dev] Bye bye”. 2010年10月27日閲覧。
  8. ^ ReactOS Project Status”. Steven Edwards. 2006年1月26日閲覧。
  9. ^ Audit”. 2012年3月12日閲覧。 “So to finally clear everything up lets lay out all the facts: We are doing an audit already. To this day, no dirty code has been found. There is no Windows code in ReactOS. There never was. There was never such an accusation in the first place.”
  10. ^ Reset, Reboot, Restart,legal issues and the long road to 0.3”. 2010年10月27日閲覧。
  11. ^ [1][リンク切れ]
  12. ^ ReactOS compatablity database”. 2011年2月26日閲覧。
  13. ^ theuserbl (2009年4月28日). “ReactOS 0.3.9 and Java”. NA. 2009年7月6日閲覧。
  14. ^ Z98 (2009年5月16日). “Newsletter #58”. ReactOS. 2009年7月6日閲覧。
  15. ^ Bragin, Aleksey (2007年11月14日). “ReactOS Status Update”. ReactOS. 2009年1月3日閲覧。
  16. ^ Z98 (2007年11月19日). “OpenGL and ReactX”. ReactOS. 2009年1月3日閲覧。
  17. ^ ReactOSロードマップ
  18. ^ PowerPC”. ReactOS Wiki. ReactOS. 2009年1月3日閲覧。
  19. ^ ARM Port”. ReactOS. 2009年1月3日閲覧。
  20. ^ 64bit Port”. ReactOS. 2008年8月6日閲覧。
  21. ^ Hyper-V success (limited)”. ReactOS Website. 2015年7月19日閲覧。
  22. ^ Virtualization software”. ReactOS Website. 2019年3月8日閲覧。
  23. ^ Arwinss presentation”. Aleksey Bragin. 2019年3月8日閲覧。
  24. ^ Who's Who”. Wine wiki. 2019年3月8日閲覧。 “Martin Fuchs Martin's primary focus of development is for the ReactOS team. As such, he's implemented much of the functionality of the ReactOS Explorer. In turn, that work required significant additions to Wine's shell32 DLL. In the past he's also contributed to Wine's Winefile application and various user interface things such as common controls.”
  25. ^ Samba - ReactOS wiki”. ReactOS wiki. 2019年3月8日閲覧。
  26. ^ ReactOS 0.2.9 released”. ReactOS. 2019年3月8日閲覧。

関連項目

外部リンク