ReactOS

Article on other languages:

del.icio.us del.icio.us
Digg Digg
Furl Furl
Reddit Reddit
Rojo Rojo
Add to OnlyWire
ReactOS

ReactOS Explorerとスタートメニュー
公式サイト: http://www.reactos.org
開発者: ReactOS Foundation、ReactOSコミュニティ
ソースコード: オープンソース
最新リリース: 0.3.6 / 2008年8月6日
カーネル種別: ハイブリッドカーネル
ユーザ
インタフェース
:
グラフィカルユーザインターフェース
ライセンス: GPLLGPL
開発状況: アルファ

ReactOS(リーアクト オーエス)は、フリーソフトウェアおよびオープンソースのプロジェクトであり、Windows NT/XPWindows Server 2003アプリケーションドライバオブジェクトコード互換を持ったオペレーティングシステム (OS) を開発することを目標としている。既にプロジェクトの目標や途中段階のうちいくつかを達成したものの、現在、プロジェクトはアルファの開発段階にある。

ReactOSは、主にC言語で作成されている。また、ReactOS Explorerのような一部のプログラムはC++で書かれている。

ReactOSの様々なコンポーネントはGNU GPLGNU LGPL、そしてあるいはBSDライセンスに従っている。

2006年1月中旬、ReactOSにはWindows逆アセンブルして作成したコードや、マイクロソフトから流出したWindowsのコードを見たことがある開発者が書いたコードが含まれていることが確認された。そのためプロジェクトでは、開発・公開が一時的に中止された。しかし、2006年2月24日、まだ完全に監査は完了していないものの、活動の再開が発表がなされた。これは開発と監査が同時に進行していたものと思われる。既に監査は完了している[1]

目次

歴史

デバイスマネージャ

1996年ごろ、オープンソース開発者のグループがFreeWin95というプロジェクトを開始した。このプロジェクトの目標はWindows 95クローンとなるOSを実装することであった。しかしプロジェクトはシステムの設計に関する議論で行き詰まった。

1997年の終わりになっても、プロジェクトは何の成果も出せずにいた。プロジェクトのメンバーはプロジェクトの復活を呼びかけ、クローンの対象をWindows NTへと変更し、プロジェクトをReactOSと改名した。こうして1998年2月、ReactOSプロジェクトが発足した。プロジェクトは最初、カーネルと基本的なドライバを開発することから始まった。

逆アセンブルされたコードの疑惑

2006年1月17日、ReactOSの開発者向けメーリングリスト (ros-dev) に一人の開発者から「ReactOSにはWindowsを逆アセンブルしたコードが含まれている」との投稿があった。[2] その申し立ての結果、プロジェクトでは非公開に議論を行い、公のsvnの公開、フォーラム、メーリングリストアーカイブを一時停止することを決定した。なお、古いsubversionリポジトリの公開、フォーラム、メーリングリストアーカイブは48時間ほどで復活した。それに加え、コード全体の検査を行い、クリーンルーム方式リバースエンジニアリングがされていない可能性のあるコードを洗い出す。また、全開発者にクリーンルーム方式のリバースエンジニアリングのみを行うよう、契約書にサインをさせる。[3] コードの調査を完了させ、ソースコードの影響する部分を書き直すには何年もかかるため、今回の件はプロジェクトの進行を遅らせると考えられている。このコード検査は、新たにリポジトリを作成し、検査が終了したら、コードを元の場所から新リポジトリへと移動する、という手順で行われている。

機能

2005年現在、ReactOSのカーネルは非常に安定している。また多くのAPIABIは更に高度な開発への準備ができており、基本的なGUIも利用できる。ReactOSの特徴としてReactOS Explorerがある。これはReactOSのシェルで、Windows Explorerにたいへんよく似ている。

ReactOSのバージョン 0.2.0からは多くのWin32アプリケーションが動作するようになった。例えばメモ帳(ベーシックなテキストエディタ)や Regedit(レジストリエディタ)、cmd.exeコマンドラインインタプリタ)、そしていくつかのアプリケーション(AbiWordなど)やベーシックなゲーム(QuakeやQuake II、そしてマインスイーパWineクローンなど)が動作する。

0.2.6以降からはDillo, mIRC、そしてMozilla FirefoxDCOMコンポーネントが動作するようになった。またソフトウェアレンダリングを用いれば、Unreal TournamentDeus Exのようなゲームもいくつか動作することが確認された。多少問題はあるものの、nVidiaドライバかソフトウェア実装のMesa 3Dを用いてOpenGLも動作するようになった。更にウェブサーバ (Tiny Web server) や UltraVNC Client が初めて動作したことも報告された。OpenOffice.org (Version 1.x) も部分的ながら動作する。

バージョン0.2.8では、TCP/IPネットワークの一部分が動作するようになった。サウンドUSBの対応作業も行われている(Sound Blaster 16は部分的に動作、USBではOHCIUHCIの対応作業に取りかかっている)。USBの機能は、Cromwellより借用した。プラグアンドプレイに対応する作業も始まった。同様に、WDMの対応に向けても動き始めている。テキストブラウザのLynxに加え、MozillaのDCOMコンポーネントを用いてウェブページをグラフィカルに巡回することもできる。

ReactOS 0.2.8では、VMware環境で起動しているかどうかを検出することができる。VMware上で起動した場合、VMWare Toolsに含まれるSVGAドライバをインストールし、GUIのパフォーマンスを上げることができる。CSRSSは完全に書き直され、Ws2_32の「スクラッチから書かれた」実装も近日完成予定である。Trunkに含まれているものには、他にも少しだけ動作しているddraw、dplay dplayxなどがある。

ReactOS 0.3.0では、完全なTCP/IPネットワークサポートが行われた。

ReactOS 0.3.4への開発段階で大幅な変更があり一部ではあるがOpenOffice.org2などのソフトが動作するようになった。

ReactOS 0.3.5 地域設定の追加、キーボードレイアウトの追加など 国際化の向上 等が行われている

ReactOS 0.3.6 x64のサポート Win32アプリケーションのサポートの追加 ドライバーの非読込のサポート 等が行われている

関連するプロジェクト

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

ReactOSはWineプロジェクトと協力して活動しており、よってWineが行っているWin32 APIの実装から成果を得ることができる。Win32 API実装の成果は、主にWineのDLLに関連しており、それらの多くはReactOSとWineで共有することができる。双方のプロジェクトは互いの互換性の問題に取り組んでおり、そのため、現在は共有できていない少数のDLLについてもいずれReactOSで使用できるようになるだろう。

もう一つの関連するプロジェクトはSamba TNGである。Samba TNGはLSASS, SAM, NETLOGON, SPOOLSSといった多数のサービスを実装している。これらのサービスはReactOSプロジェクトの成功と(機能的に正しい)相互運用性の鍵となっている。Sambaはそのアーキテクチャデザインと戦略的な目標により、ReactOSへと取り込むことは容易ではない。これに対し、Samba TNGは多層式かつモジュール形式の手法をとっているため、各サービスはずっと容易にReactOSへと取り込むことができる。

今後

また現在、ReactOSの開発者はUSBをサポートする作業も行っている。これに関しては、Linux実装のCromwellバージョンの移植が行われている。

ReactOSの開発者によりGUIシステムの改良やネットワークマルチメディアプラグアンドプレイハードウェアに対応する作業が行われている。加えて、GUIシステムを改良する作業も行われている。Javaや、Monoを利用したMicrosoft .NETのサポートへの作業は中断した。マルチユーザー環境の開発が終われば、ターミナル・サービスやリモート・デスクトップの開発も行われることとなる。この開発にはXRDP, VNC, rdesktopが用いられることとなるだろう。Windows NTサブシステムと同様の手法を用い、DOSOS/2POSIXサブシステムも提供されている。

2004年10月現在、バージョン 1.0の目標はWindowsワークステーションのサブセット(ReactOSワークステーション)の安定した実装である、との発表がなされた。このワークステーションにはTCP/IPネットワーク、CIFSクライアントサーバ両方のサポート、OpenGLDirectX、そしてWDMによるWindowsのデバイスドライバへの対応が含まれる。
詳細はReactOSロードマップを参照のこと

ブランチ

ReactOSにはいくつかのブランチがあり、次に挙げるような機能の実装などが行われている:

これらの変更はメインのReactOSには取り込まれていない。

問題と機会

ReactOSプロジェクトは、開発者の不足という問題を抱えている。コーディネーターはより多くの人々が開発へと参加し、開発がより早く進むようになることを望んでいる。コーディネーターは「ReactOS の開発に参加することで、1990年代Linuxで行われたように、OS開発の初期の段階へと関わることができる。これはめったにない、充実した機会である」と述べている。

要求されるハードウェア

ReactOS は上記のハードウェアをエミュレートするソフトウェア上でも動作する。エミュレータの例としてはVirtual PCVMwareQEMUBochsなどがある。

Winodows NT 4.0は80386に加え、MIPS, Alpha AXP, PowerPC上でも動作する。また、Windows NT系であるWindows XPやWindows Server 2003といったOSはいくつものアーキテクチャへと移植されている(一例をあげると、AMD64IA-32IA-64がある)。ReactOSでも、移植性を見据えた初期的な処置が取られている。例えば、リリース0.2.5においてはさまざまなIA-32アーキテクチャやXboxプラットフォームへの対応が追加された。また、2005年の段階で、ReactOSをPowerPCやXenアーキテクチャへと移植する作業も進行中である。

日本語対応

ReactOSはバージョン0.2.2より、Unicodeを適切に扱うことができるように改良された。これにより、文字コードとして Unicode (UTF-16) を用いたアプリケーションを動作させることができるようになった。また、C言語やC++ソースコード中に埋め込まれたメッセージをリソースファイルへと移す作業も行われ、OSの一部であるアプリケーションの多くは日本語のメッセージを表示することができるようになっている。実際、0.2.7リリース以後に大半のリソースファイルの翻訳が行われた。よってロケールに日本語が指定されている場合には、メッセージは日本語で表示される。

しかし一方で、シフトJISを扱うアプリケーション[1]にはまだ対応していなかったり、そもそも日本語の表示にも折り返しができない等の問題があったり、ロケール処理にも未実装のものが多いなど、まだまだ実用には程遠いと言わざるを得ない。現在ReactOSプロジェクトには日本を始めとするCJKの開発者がおらず、また国際化対応よりも優先すべき実装・修正が数多くあるため、非ヨーロッパ語圏の言語への対応はしばらく停滞することが予想される。

脚注

  1. ^ 多くの日本語のWindowsアプリケーションがこれに相当する

関連項目

外部リンク

This article is from Wikipedia. All text is available under the terms of the GNU Free Documentation License.


Giant Panda

Mercedes Car
James Bond Guide
This site monitored by SitePinger.net