Windows Subsystem for Linux(WSL)

2026/05/13 19:37

Windows Subsystem for Linux(WSL)

RSS: https://news.ycombinator.com/rss

要約

Japanese Translation:

WSL9x は、再ブートなしで Windows 9x カーネル内に最新の Linux カーネル バージョン 6.19 を協調的に実行する革新的なプロジェクトです。標準的な仮想化とは異なり、本システムはユーザースペースではなくスーパーバイザーモード(リング 0)で動作し、Windows 9x API を直接呼び出すことで古いオペレーティングシステムの深刻なハードウェア制限を回避します。このシームレスな統合は、以下の 3 つの主要コンポーネントにより実現されています:修正済み Linux カーネル(win9x-um-6.19 ブランチから)、専用 VxD ドライバ、DOS ベースのクライアントプログラム (

wsl.com
) です。特に重要なのは、元々の中断ベクトルテーブルでは適切なシステムコールに不十分なため、
int 0x80
の相互作用を効率的に管理するためにはジェネラルプロテクションフォルトハンドラへの依存である点です。Linux カーネルはユーザモード Linux から派生しており、リング 0 で実行するように変更されています。複雑な Windows 9x カーネル統合とコンテキストスイッチング論理の大部分はこのカスタムレイヤーに存在します。環境を設定するには、クライアントを起動する前にANSI ドライバ(例:
nnansi.com
)をロードし、色などのターミナル出力機能をサポートする必要があります。また、利用可能なシステムを作成するには、事前にインストール済み Windows 9x ベースイメージ (
hdd.base.img
) からハードディスクイメージ (
hdd.img
) を構築して生成する必要があります。本書全体は GPL-3 ライセンスの下で配布されており、ユーザーにはソフトウェアを修正し共有する明確な法的権利が保証され、そのオープンソース性が維持されています。

本文

Windows 9x リンバーサブシステム (WSL9x)

WSL9x は、現在の Linux カーネル(執筆時点では v6.19)を Windows 9x カーネルの側で協調的に実行し、両オペレーティングシステムの完全な機能セットを同時に活用することを可能にします。これにより、ページの入れ替え、メモリの保護、優先度的スケジューリングなどの特徴がすべて利用可能です。お好みのアプリケーションをすべて並行して実行できます。再起動は不要です!

本プロジェクトは AI に依存せず、誇り高く開発されました。

【技術的詳細】 WSL9x は以下の 3 つのコンポーネントから構成されています:パッチ適用された Linux カーネル(参照:win9x-um-6.19 ブランチ)、VxD ドライバー、および wsl.com クライアントプログラムです。

ドライバーは WSL9x の初期化を担当します(ドライバーのエントリーポイントは vxd/wsl9x.asm を参照してください)。カーネルコードの初期マッピングを設定し、DOS 中断を用いて disk から vmlinux.elf をロードします(参照:vxd/loader.c および vxd/fs.asm)。カーネルは固定したベースアドレス 0xd0000000 でコンパイルされています。

その後、ドライバーは System VM 内で新しいスレッドを開始し、Linux へのエントリのために 16 KiB のスタックを割り当て、カーネルへのエントリ、IRQ のディスパッチ、ユーザー空間へ戻る処理、アイドル処理を取り扱うイベントループに遷移します(参照:vxd/entry.c)。

また、ドライバーは現在ページフォールトおよびシステムコールを含む、カーネルにディスパッチすべきユーザー空間のイベントも処理します。システムコールは、一般的な保護違反(GPF)ハンドラーを通じて処理されます。なぜなら、Windows 9x の中断識別子テーブルには int 0x80(Linux i386 システムコール用中断)用の適切なハンドラーをインストールするほど長くないからです。GPF ハンドラーは、発生した指令を検査します。それが int 0x80 の場合、GPF ハンドラーは中断が成功したかのように命令ポインタを進め、Linux に対するシステムコールとしてディスパッチします(参照:vxd/fault.c)。

Linux カーネルは User-Mode Linux に基づいていますが、POSIX API の代わりに Windows 9x カーネル API を呼び出すようハックされており、ring 3(ユーザーモード)ではなく ring 0(スーパーバイザー/カーネルモード)で動作しています。コンテキストスイッチングを含む実際の Win9x カーネル統合の多くは Linux カーネル内に実装されています(Linux 側コードの大部分は linux/arch/um/os-Win95 を参照してください)。vxd/entry.c が呼び出すエントリーポイントは main.c の _start です。process.c および mmu.c も重要です。

最後のコンポーネントは wsl.com クライアントです。これは、WSL9x がカスタムの何らかの実装を行うのではなく MS-DOS プロンプトを TTY ウィンドウとして利用できるようにするための、wsl/wsl.asm で実装された小さな 16 ビット DOS プログラムです。wsl.com が起動すると、vxd/console.c の wsl9x_v86_api に初期呼び出しを行い、未使用のコンソールを予約し、当該コンソールの出力が自身にディスパッチされるべきであることを WSL9x に通知します。その後、中断時にキーボードからの読み取りを試みる IRQ を待つイベントループに遷移します。このイベントループの上位部分は、コンソールドライバーとの同期点としても機能します:Linux から出力準備ができると、イベントをスケジューリングし、MS-DOS VM の文脈で int 0x29 を実行して文字を DOS ウィンドウに出力します。この中断は、NNANSI などの DOS ANSI ドライバーがターミナル出力をインターセプトして ANSI エスケープシーケンスを実装することを可能にする場所でもあります。

ビルドと実行

  • i386-linux-musl をターゲットとするクロスコンパイルツールチェーンを PATH に配置する必要があります。musl-cross-make を使用して作成してください。
  • Windows 側のコンポーネントをビルドするには、Open Watcom v2 ツールチェーンが必要です。WATCOM 環境変数をインストール先のプレフィックスに設定してください。私の場合、/opt/watcom です。
  • パッチ適用済み Linux カーネルを構築します。カーネルのビルドには時間がかかるため、このステップは手動で行う必要があります。 $ git submodule update --init # Linux サブモジュールが最新であることを確認 $ make build-linux -j $(nproc)
  • Windows 9x が事前にインストールされたハードドライブイメージ hdd.base.img を必要とします。
  • make
    を実行してください。これにより WSL9x が準備された新しい hdd.img が生成されます。
  • MS-DOS プロンプトから
    wsl
    を実行してpty を開きます。ANSI カラーを使用したい場合は、
    wsl
    を実行前に適切なドライバーをロードしていることを確認してください。nnansi.com が良い選択肢です。

ライセンス:GPL-3

同じ日のほかのニュース

一覧に戻る →

2026/05/17 7:25

MCP はようページ

## Japanese Translation: HybridLogic は、ユーザーが直面している摩擦(直接ブラウザ経由で Model Context Protocol (MCP) サーバーにアクセスすると、生の JSON を伴う 401 Unauthorized エラーが表示されるという混乱を引き起こす問題)を解消しました。根本的な原因は、ユーザーが MCP エンドポイントをブラウザで開こうとするのではなく、LLM クライアントに統合しようとしていた点にあります。エンジニアらは、軽量かつ「ハック的」なリダイレクトを実装し、Accept ヘッダーが text/html を示すが application/json または text/event-stream を示さない場合に GET /mcp リクエストに対して HTML ページを返すようにしました。このページは、ユーザーがブラウザで表示する代わりにサーバーを LLM クライアントに追加することを案内します。デプロイ以降、サポートチケットは大幅に減少し、顧客サクセスの満足度が向上し、統合も早まりました。この解決策には運用負荷は一切必要なく、すべてのクライアントに対してコネクタを構築することなく、MCP 仕様の制限を補完するための手動アプローチの有効性を検証しました。AI も追跡もなく Luke Lanchester が作成した HybridLogic のホームページでは、顧客がより素早く環境整備を開始できるようになり、進化している仕様と現実世界のオンボーディングの間の不満に対処しています。

2026/05/17 2:12

キオクシアとデルが、薄型の 2 ラックユニット(2 RU)サーバーに 10 ピタバイトのストレージを収容することに成功。

## Japanese Translation: Dell は、AMD EPYC 9005 プロセッサを搭載し、最大 5 個の 400 Gbps NIC をサポートする新型 PowerEdge R7725xd サーバーに、Kioxia の高容量 QLC SSD「LC9」を統合しました。1 台あたりに E3.L フォーマットの 245.76 TB NVMe ドライブを 40 個使用することで、コンパクトな 2 RU フットプリント内で驚異的な 9.8 ペタバイトの総容量を実現しています。Dell の「コンピューティングおよびネットワーク担当執行副社長」Arun Narayanan氏によれば、この設計は AI インフラのスケーリングに不可欠なストレージ密度と電源効率を最適化しています。また、Kioxia アメリカの SSD 事業部の「執行副社長兼統括経営責任者」Neville Ichhaporia氏は、「顧客は物理空間のごく一部で巨大なインジェストストリームを展開することで、総保有コスト(TCO)を大幅に改善できます」と指摘しており、このサーバーを 20 台搭載したラックでは最大 196 PB のストレージを収容可能です。Micron(6600 ION)、SanDisk(UltraQLC SN670)、SK Hynix の Solidigm(AIN D)が独自の 256 TB クラスのドライブを開発し、Samsung は 1 PB のロードマップへ進んでいる中で、Dell がこのコンパクトな QLC 技術を採用することは、現代の AI デプロイメントに不可欠な高密度ストレージソリューションへの中道的な歩みとなります。 ## 欠落している要素(ある場合): * 競合他社の特定の製品名(Micron 6600 ION、SK Hynix AIN D、SanDisk UltraQLC SN670)および Samsung のロードマップ詳細は省略されています。 ## 推測・飛躍(ある場合): 重要なのは無し;要約は提供された点を正確に反映しており、根拠のない主張を行っていません。

2026/05/17 7:13

私は、オープンソースプロジェクトのバウンティ(報酬)を活用して収益を得ようと、Claude にその方法を試みました。

## 日本語訳: 本分析の主な結論は、Algora などのプラットフォームにある公開型のオープンソース・ブounty(賞金)市場が実質的に飽和状態に達したという点である。監督下のない AI エージェントが 16.88 ドルの GitHub 賞金を獲得するという viral な主張を再現しようとした試みは失敗に終わり、その理由としてより速く動作する競合エージェントが存在し、これらが数分で利用可能な issue の大半を入手してしまうため、メンテナンスパイプラインが解決策の質にかかわらず遅れた提出を拒否するようになったからである。このボトルネックにより、「熟した」候補者(14 日以上も沈黙があり、開かれた PR が存在しない issue)は公開ボード上でますます不足している。80 の新しい issue の分析では、大半の有効な候補者はすでに_claimed_されていたか、ロックアウトされていることが確認され、元々の viral な勝利はおそらく公開の「ファイアホース(情報流)」ではなくプライベートプラットフォームから来たと考えられる。さらに、他者が利益性の高い "$506 の稼働率" を引用するが、これは定額制サブスクリプションで 30 の並列エージェントを想定したものであり、単スレッドのトークンコストは試行ごとの経済性を非収益的であるものとしている。したがって、組織側は bounty を無許可で奪い取られた場合に対処するため、予約ラベルの使用、採用ゲートの導入、およびインタビューなしでのブounty 獲得を禁じるアカウント禁止策などに取り組んでいる。将来的な成功には、プライベートプログラム(例:HackerOne や Bugcrowd)への焦点シフトと、自律的な Claim を Fleet を通じて試みる前に信頼されたコントリビューターとなることを優先する必要がある。`scout.py` というツールは Algora ラベル付きの issue を列挙するために構築され、市場が spam であり、飽和した試み、およびロックアウトされた issue に支配されており、AI エージェントにとっての利用可能な機会が少ないことが示されている。

Windows Subsystem for Linux(WSL) | そっか~ニュース