**Show HN: 「Anos」– x86‑64 と RISC‑V 用の手書き ~100 KiB マイクロカーネル**

* Anos は、C/C++ だけでインラインアセンブリを併用して作られたミニマルなマイクロカーネルです。  
* ソースサイズは約 100 KiB で、現在入手可能なフル機能のカーネルの中でも最小規模の一つです。  
* **x86‑64** と **RISC‑V** の両方を対象にしており、大手 CPU ファミリー間での移植性を示しています。  
* 主な特徴は以下の通りです:  
  * 基本的なプロセススケジューリング  
  * 割込み処理  
  * ページング付きメモリ管理  
  * シンプルな IPC プリミティブ  
* このプロジェクトはオープンソースで、GitHub 上でコードを閲覧し、改善提案や貢献が可能です。  

ぜひチェックしてみてください。そしてご感想や質問はコメント欄にどうぞ!

2026/04/04 15:58

**Show HN: 「Anos」– x86‑64 と RISC‑V 用の手書き ~100 KiB マイクロカーネル** * Anos は、C/C++ だけでインラインアセンブリを併用して作られたミニマルなマイクロカーネルです。 * ソースサイズは約 100 KiB で、現在入手可能なフル機能のカーネルの中でも最小規模の一つです。 * **x86‑64** と **RISC‑V** の両方を対象にしており、大手 CPU ファミリー間での移植性を示しています。 * 主な特徴は以下の通りです: * 基本的なプロセススケジューリング * 割込み処理 * ページング付きメモリ管理 * シンプルな IPC プリミティブ * このプロジェクトはオープンソースで、GitHub 上でコードを閲覧し、改善提案や貢献が可能です。 ぜひチェックしてみてください。そしてご感想や質問はコメント欄にどうぞ!

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

要約

Japanese Translation:

Anos は、x86_64 PC および初期の RISC‑V マシン向けに開発された趣味レベルの非 POSIX オペレーティングシステムであり、完全に機能する状態に達しています。
そのコアは STAGE3 というマイクロカーネルで、最大16CPUまでのプリエンプティブ・マルチタスク、基本ドライバ、タイマー、割り込み、メモリ管理、スケジューリング、IPC、および限定的なデバイスサポートを提供します。スケジューラは4つの優先クラスを持つ優先度付きラウンドロビンアルゴリズムを使用し、リアルタイムやレガシーPIC/PITのサポートはありません。
カーネル上には USER‑MODE SYSTEM レイヤがあり、仮想ファイルシステム(VFS)、ネットワークスタック、USB(xHCI)、GUI、およびACPIまたはデバイスツリーを介したハードウェアディスカバリ(WIP)を実装しています。プロジェクトは Binutils、GCC 16‑experimental、Newlib、および独自の libgloss をベースにしたツールチェーン、ビルドスクリプト、そして GDB デバッグサポートを同梱します。
Anos は Haswell クラスの Intel CPU で最大16コアまでの対称マルチプロセッシング(SMP)拡張性を示しており、QEMU 上または実機上で動作します。最低サポート対象マシンは Haswell i5 です。RISC‑V のサポートはまだ初期段階であり、QEMU 上の単一コア操作のみが可能で、ACPI/デバイスツリー処理、デバイスマネージャ、および PCI サポートは未実装です。
将来の作業としては、RISC‑V ポートの完成(ACPI/デバイスツリー追加、完全なデバイスマネージャ、PCI)、x2APIC を介した8コア以上での SMP の安定化、およびドライバカバレッジの拡大が含まれます。OS は趣味家や研究者に低レベル開発と安全なアプリケーション分離のためのサンドボックスを提供し、マイクロカーネル研究や趣味家 OS コミュニティへの影響を与える可能性があります。

本文

注記
これはまだオペレーティングシステムではありませんが、現在は toy kernel(おもちゃカーネル)レベルに達しています。
最大16CPUまでのユーザモードプリエンプティブマルチタスク、ユーザー空間で動作するデバイスドライバをサポートできるカーネル機能が備わっており、実際のハードウェア上でも動作します 🥳。


高レベル概要

Anosはx86_64 PCとRISC‑Vマシン向けに設計された、モダンで意見を持つ非POSIXオペレーティングシステム(ただの趣味プロジェクトであり、GNU/Linux® のように大規模・商用向けではありません)です。
現在構成されている主な要素は次の通りです。

  • STAGE3マイクロカーネル – スケジューリング、メモリ管理、IPCプリミティブ
  • SYSTEMユーザモードスーパーバイザー – 共通OS抽象化レイヤー
  • OSコアを実装する一連のサーバ

Binutils、GCC (16‑experimental)、Newlib(カスタム libgloss)に基づく開発中のツールチェーンが利用可能です。
AnosはGPLv2でライセンスされており、リンク例外も主要なフリーOSと同様に設けられています。

TL;DR / 主要機能

  • STAGE3マイクロカーネル(非積極的)

    • カーネルハードウェア用の最小限ドライバ
    • CPUサポート(x86_64 & RISC‑V)
    • 基本タイマー(HPET, TSC, SBI Timers)
    • 割り込み(LAPIC, MSI/MSI‑X, S‑mode interrupts)
    • 物理/仮想メモリ管理(48bit)
    • スレッド/プロセスとアドレス空間のプリミティブ
    • スケジューリング(優先度付きラウンドロビン、4つの優先クラス)
    • IPC(同期、ゼロコピーメッセージパッシング)
  • 小規模なシステムコールインターフェース

    • 高速チャネル:x86_64ではSYSCALL/SYSRET、RISC‑Vではecall
    • 遅いチャネル:廃止予定のint 0x69
  • デリゲート可能なキャパビリティベースのシステムコール制御

  • SYSTEMスーパーバイザー – OSサービス

    • ユーザ空間ブートストラップ&設定
    • プロセスマネジメントインターフェース
    • VFSサポート
  • ハードウェアドライバ(PCI, AHCI via MMIO)、ユーザモード端末/ログ出力、ネットワーキング、GUI、USB (xHCI) – 全て開発中

  • レガシーサポートは限定的/無し;最低対応アーキテクチャ:Haswell(第4世代)


カーネル設計(進行中)

カーネルは現在も進化中です。 64ビットシステムとして設計され、モダン機能と実験を最大限に活用します。

今までの主要決定

機能ステータス
最小ドライバ
CPUサポート
タイマー
割り込み
メモリ管理(48bit)
スレッド/プロセス・アドレス空間プリミティブ
スケジューリング✅(単純ラウンドロビン、改善予定)
IPC

高速SYSCALL/SYSRETまたはecallを使用した小規模でターゲット化されたシステムコールインターフェース。
デリゲート可能なキャパビリティベースの制御が実装済みです。


現状

  • ユーザモードマルチタスクは、単純なシステムコール(x86_64ではint 0x69、SYSCALL/SYSRET、RISC‑Vではecall)で機能します。
  • スケジューラ:優先度付きラウンドロビン、4つの優先クラスと各クラス255レベル。
  • SMPサポート(x86_64のみ):最大16対称コア。8コア超えは現在x2APIC切替が未実装で不安定。
  • ツールチェーン(Binutils, GCC 16‑experimental, Newlib + カスタム libgloss)は両方のアーキテクチャで動作し、可能な限り機能パリティを保っています。

ビルド方法

全て

make
で構築します。Anosツールチェーンは先にビルドしてインストールし、
$PATH
に配置してください。

x86_64

  • NASM ≥ 2.16 が必要です。
  • 実行/デバッグには
    qemu-system-x86_64
    (Bochsも可)を使用。
  • UEFIイメージ用FATファイルシステム構築:
    mtools
    (mformat, mcopy)。
make

これでユニットテストの実行、カーネルとSYSTEMスーパーバイザーのビルド、単一ELF64へのリンク、

.dis
ファイル生成、およびUEFI起動用FATイメージ作成が完了します。

オプションターゲット:

  • make test
    – テストのみ実行
  • make build
    – イメージだけビルド
  • make qemu-uefi
    – QEMUでイメージを起動

カバレッジレポートは

make coverage
(LCOVが必要)で取得。

RISC‑V

追加のアセンブラは不要。すべて GCC で構築します。

ARCH=riscv64 make clean all

x86_64 と同じターゲットが利用可能です。RISC‑V のテストはまだ完全にはサポートされていません。OSを実行するには

qemu-system-riscv64
を使用。


実行方法

エミュレータで起動

UEFIをサポートするQEMUが必要です。

make qemu-uefi          # x86_64
ARCH=riscv64 make qemu-uefi   # RISC‑V

実機で起動

  • x86_64
    anos-uefi.img
    をUSBスティックに書き込む(balenaEtcher, UNetbootin 等)。
  • RISC‑V – 現時点では実機テストは行っていません。DeepComputing の RISC‑V メインボードを想定しています。

デバッグ

最適化なしでビルドするとデバッグが容易になります。

OPTIMIZE=0 make clean debug-qemu-uefi
# もしくは
OPTIMIZE=0 ARCH=riscv64 make debug-qemu-uefi

これにより、GDBリモートスタブ付きでQEMUが起動し、自動的に GDB が起動します(

.gdbinit
が付属)。
ラベルまたは行番号でブレークポイントを設定できます:

b entrypoint.c:bsp_kernel_entrypoint
b startup.c:35

IDE からデバッグする場合:

  • CLion – 「Remote debugging」を
    localhost:9666
    に設定。
  • VSCode – 同梱の
    launch.json
    /
    tasks.json
    を使用し、適切なネイティブデバッガ拡張をインストール。

開発

コード整形には

clang-format
を推奨します。
pre-commit
フックも利用可能です:

pip install pre-commit
pre-commit install

コミット時に自動で実行されます。


ステータス & 画像(x86_64)

  • 実機(Haswell i5, 16 GiB RAM)で稼働。
  • Limine を経由したUEFIブートをサポート。
  • 複数のユーザモードプロセス:SYSTEM スーパーバイザー、DEVMAN デバイスマネージャ、PCI と AHCI ドライバ;すべて IPC 経由で SYSTEM からロードされた RAM ディスク上に配置。
  • ELF ローディング、キャパビリティ委譲、ドライバ初期化、環境/引数渡しが機能。

主要ブートステージ

  1. UEFI → Limine → カーネル初期化(スタックベースPMM, VMM, アロケータ, ACPIでHPET/LAPIC取得)。
  2. すべてのCPUでスケジューラ起動。
  3. SYSTEM が IPC チャネルを作成し、ログビューア (
    kterm
    ) を起動。
  4. DEVMAN がキャパビリティを取得し、自身の ELF バイナリをロード、環境設定後、ACPI MCFG で PCI 列挙要求。
  5. 各バスセグメントに対して PCI ドライバプロセスが生成。
  6. AHCI ドライバがコントローラを初期化し、キューを割り当て、DEVMAN に登録。
  7. FAT32 ファイルシステムドライバが UEFI ルートパーティションをマウントし、VFS エンドポイントを SYSTEM に登録。

RISC‑V

  • QEMU (
    qemu-system-riscv64
    ) 上で動作確認済み。
  • SMP は未実装。
  • ユーザ空間は遅延が大きく、デバイスツリー/ACPI 未サポート、DEVMAN なし、PCI 未実装。「Failed to get firmware tables」というカーネルメッセージが表示されます。

同じ日のほかのニュース

一覧に戻る →

2026/04/07 4:50

**Show HN: Ghost Pepper – Mac 用ローカル「ホールド・トゥー・トーク」音声認識アプリ** - **概要** シングルキー(デフォルトは⌘)を押し続けるだけで、Mac 上で話す内容をテキスト化できる軽量かつプライバシー重視のアプリです。クラウド処理は一切行わず、全てローカルで完結します。 - **主な機能** • 即時文字起こし(遅延がほぼゼロ) • 複数言語・方言に対応 • ショートカットやホットキーのカスタマイズ可能 • 内蔵文法校正と句読点自動挿入 • オープンソース(GitHub) - **重要性** • 第三者 API に依存しないため、コスト削減とデータ共有に関する懸念が軽減されます • 開発者・作家・サブスクリプション不要で高速な文字起こしを求める人に最適です - **入手方法** 1. GitHub のリリースページから最新版をダウンロード 2. `GhostPepper.app` を `/Applications` フォルダーへドラッグ&ドロップ 3. アプリを起動し、好みのキー割り当てを設定して話し始める - **フィードバック & サポート** GitHub 上で不具合報告や機能リクエストが受け付けられています。小規模な貢献者コミュニティによって積極的にメンテナンスされています。 *macOS でクラウドを使わず低遅延の音声認識ツールを探しているなら、Ghost Pepper が最適かもしれません。*

## Japanese Translation: **概要** Ghost PepperはmacOS専用の完全ローカル音声認識アプリで、macOS 14+ Apple Silicon上で動作します。 - **プライバシー優先設計:** クラウドAPIを使用せず、データはマシンから外部へ出ることがなく、転写結果はメモリ内にのみ保持されます(デバッグログは終了時に消失)。 - **動作方法:** Controlキーを押し続けて録音し、離すと自動的に任意のテキストフィールドへ転写結果が貼り付けられます。 - **モデルオプション:** - *音声認識モデル:* Whisper tiny.en (~75 MB)、Whisper small.en(デフォルト、~466 MB)、Whisper small multilingual (~466 MB)、Parakeet v3 (~1.4 GB)。 - *クリーンアップモデル:* Qwen 3.5 0.8B (~535 MB, ~1–2 s)、Qwen 3.5 2B (~1.3 GB, ~4–5 s)、Qwen 3.5 4B (~2.8 GB, ~5–7 s)。 - **ユーザーインターフェース:** メニューバーに表示され、Dockアイコンはありません。ログイン時に自動起動しますが、設定で無効化可能です。 - **権限:** マイクロフォンとアクセシビリティの許可が必要です(音声取得およびキーストロークの擬似入力)。 - **インストール & ライセンス:** DMGからインストールするか、Xcodeでソースをビルドします。アプリはMITライセンスで配布され、WhisperKit、LLM.swift、Hugging Face、Sparkle を使用しています。 - **エンタープライズサポート:** 管理デバイス上ではMDM PPPCペイロード(Bundle ID `com.github.matthartman.ghostpepper`、Team ID `BBVMGXR9AY`)を通じてアクセシビリティ許可を事前承認できます。 Ghost Pepperはクラウドサービスに依存せず、資金調達も大きくなく、完全ローカルで利用できる無料の音声転写代替手段です。

2026/04/07 1:32

**Launch HN: フリースタイル – コーディングエージェント用サンドボックス**

## Japanese Translation: **概要:** プラットフォームは、サンドボックスと呼ばれる完全に管理されたLinux仮想マシンを提供し、ユーザーがコードの保存・デプロイ・ネットワーキングを正確に制御した状態で数万ものコーディングエージェントを実行できるようにします。各サンドボックスはコンテナではなく完全なVMであり、本当のrootアクセス、ネストされた仮想化サポート、ユーザーアカウントのシール、systemdサービス、グループ分離、およびフルLinuxネットワークスタックを提供します。エージェントコードはプラットフォーム上のGitリポジトリに格納され、FreestyleやGitHubなどの外部リポジトリと双方向で同期できます。ユーザーはブランチ、パス、イベントタイプでフィルタリングされた各リポジトリごとの細かなWebhooksを設定し、`ci.internal/webhook`、Slack(`hooks.slack.com/trigger`)またはFreestyleデプロイトリガーなどのエンドポイントに接続できます。デプロイメントはgitプッシュで自動化するか、Freestyle Deployments機能を使用してVMに直接クローンすることも可能です。Agent Scale Infrastructureインターフェースは多数のサンドボックス間でスケーリングを実現し、無料ティアはクレジットカード不要で実験を促進します。このソリューションは組織に対して、安全かつ拡張性のあるエージェント環境を提供し、インフラストラクチャとネットワーキングのニーズを満たします。

2026/04/06 19:36

サム・オルトマンは私たちの未来を支配できるか――彼を信頼してよいのでしょうか?

**Show HN: 「Anos」– x86‑64 と RISC‑V 用の手書き ~100 KiB マイクロカーネル** * Anos は、C/C++ だけでインラインアセンブリを併用して作られたミニマルなマイクロカーネルです。 * ソースサイズは約 100 KiB で、現在入手可能なフル機能のカーネルの中でも最小規模の一つです。 * **x86‑64** と **RISC‑V** の両方を対象にしており、大手 CPU ファミリー間での移植性を示しています。 * 主な特徴は以下の通りです: * 基本的なプロセススケジューリング * 割込み処理 * ページング付きメモリ管理 * シンプルな IPC プリミティブ * このプロジェクトはオープンソースで、GitHub 上でコードを閲覧し、改善提案や貢献が可能です。 ぜひチェックしてみてください。そしてご感想や質問はコメント欄にどうぞ! | そっか~ニュース