UWIN は、David Kornが作成したコンピュータ ソフトウェアパッケージです。これを使用すると、オペレーティング システムUnix用に作成されたプログラムを、ほとんど変更せずにMicrosoft Windows上でビルドして実行できます。ソフトウェア開発の一部は、インドのWiproに下請けで発注されました。このソフトウェアについて、特にその存在の初期のころから、U/Win や AT&T Unix for Windows などの参照が、正しいかどうかは別として、いくつか見つかります。
UWIN ソースは、GitHub 上のAT&T のAST/UWIN リポジトリで、オープン ソースの Eclipse Public License 1.0に基づいて入手できます。
UWIN 5 は、インストール時に 3 つのデフォルト シェルの 1 つとして Korn Shell を含む FireCMD 拡張 Windows シェルとともに配布されます。他の 2 つは FireCMD スクリプト言語とデフォルトの Windows コマンド シェルcmd.exeです。cshやtclshなどの他の UWIN シェル、 MKS Toolkitなどの他の相互運用性スイートのシェル、 Tcl、Lua、Python、Rubyディストリビューションに付属するシェルなどは、ユーザー/管理者がメニューに追加できます。[1]
技術的な詳細
技術的には、これはWin32と呼ばれるWindows 32 ビットアプリケーション プログラミング インターフェイス(API)用のX/Open ライブラリです。UWIN には次のものが含まれています。
- Unix APIを実装してUnix環境をエミュレートするライブラリ
- cc (1)、yacc (1)、lex (1)、make (1)などのファイルと開発ツールを含めます。
- ksh(1) (Korn Shell) とls (1)、sed (1)、cp (1)、stty (1) などの 250 以上のユーティリティ。
Unix API のほとんどは、動的にロードされる (共有) ライブラリ POSIX.DLL によって実装されています。POSIX.DLL にリンクされたプログラムは、POSIXサブシステムではなくWin32サブシステムで実行されるため、プログラムは Unix と Win32 のライブラリ呼び出しを自由に混在させることができます。make(1) などの従来の Unix ビルド ツールを使用して、Windows 上の UWIN 用にプログラムをコンパイルおよびリンクするための cc(1) コマンドが用意されています。cc(1) コマンドは、実際のコンパイルとリンクを実行する基礎となるコンパイラのフロント エンドです。Microsoft Visual C / C++ 5.X コンパイラ、Visual C/C++ 6.X コンパイラ、Visual C/C++ 7.X コンパイラ、Digital Mars C/C++ コンパイラ、Borland C/C++ コンパイラ、およびMinGWコンパイラで使用できます。GNU コンパイラと開発ツールも UWIN にダウンロードできます。
UWINは、ファイルシステムが NTFSのWindows NT/2000/XP/7で最もよく動作しますが、FATを使用した劣化モードでも動作し、Windows 95/98/MEではさらに劣化した状態で動作します。(詳細については外部リンクを参照してください。) Windows Vistaおよび7用のベータ版は、UWin 5.0bとしてリリースされました(2011年6月17日)。[2] 2016年1月19日、AT&TはASTおよびUWINのソースパッケージがGitHubに移行したことを発表しました。[3]
注記
- ^ 「Windows コマンド プロンプトとコンソールの代替」。www.brainasoft.com。
- ^ UWin 5.0b の発表、2012 年 3 月 15 日時点のオリジナルよりアーカイブ
- ^ AST および UWIN ソフトウェアの新しいホーム
参考文献
- David G. Korn (1997) UNIX から Windows NT への移植、USENIX 年次技術会議
外部リンク
- Korn, David G. ; Fowler, Glenn S. 「UWIN の概要」www2.research.att.com。2013 年 12 月 9 日のオリジナルからアーカイブ。
- 「AST ソフトウェア ダウンロード パッケージ (廃止)」。www2.research.att.com。2013年 11 月 4 日にオリジナルからアーカイブされました。このページには、まだ役立つドキュメントがいくつか含まれています。
- AST githubリポジトリ
- UWIN github リポジトリ
