Arduino UNO(2KB の RAM を搭載)のために、シェルとファイルシステムを備えた小さな UNIX 風の「OS」を作成しました。

2026/04/22 2:14

Arduino UNO(2KB の RAM を搭載)のために、シェルとファイルシステムを備えた小さな UNIX 風の「OS」を作成しました。

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

要約

Japanese Translation:

KernelUNO v1.0 は、Arduino UNO(ATmega328P)上で動作する RAM ベースの軽量シェルであり、マイクロコントローラーハードウェアに Linux 様の環境をもたらします。SRAM に仮想ファイルシステム(

/dev
および
/home
を含む)、GPIO 管理、システム監視(起動時間、メモリー使用量、dmesg)、ファイル作成、LED のトグル動作、リブートなどのタスクに対応する 22 の組み込みコマンドを備えています。チップの 2KB SRAM 約 85% を利用しながらフラッシュメモリ使用量を約 38% に抑えることで、115200 バウ德的シリアルモニター経由でハードウェア上に直接 Linux スクリプティング概念およびシステムコマンド(例:
ls
,
cd
,
mkdir
,
pinmode
,
echo
)を試し、検証することを可能にします。本環境は標準的な Arduino IDE および
arduino-cli
の両方でのインストール方法をサポートしますが、単一ユーザールートセッションであり揮発性メモリのみの動作となります;現状の制限には 32 バイトまでのファイルサイズ上限、ファイル・ディレクトリ最大 10 個、PATH の最大 16 文字、永続化ストレージまたは PWM などのアナログ制御機能の欠如があります。「LED ディスコモード」というイースターエッグがその創造的ポテンシャルを物語っています。今後のアップデートでは EEPROM による永続化、SD カードサポート、拡張 GPIO 機能の追加を計画していますが、KernelUNO v1.0 は複雑なセットアップなしで安価なプラットフォーム上で OS コンセプトやハードウェア操作を探求することを望む学習者にとって障壁を大幅に低減します。

本文

KernelUNO Ver. 1.0
Arduino UNO 用の軽量 RAM ベースシェル:ファイルシステムシミュレーション、ハードウェア制御、および対話型シェルを搭載。

主な特徴

  • バーチャルファイルシステム: RAM に基づいてファイルやディレクトリを作成可能(
    /dev
    /home
    など)。
  • ハードウェア制御: ピンモード設定を含む GPIO の管理機能を提供します。
  • システムモニタリング: メモリ使用量、稼働時間、カーネルメッセージ(dmesg)の表示に対応。
  • 標準搭載コマンド 22 コマンド: 基本的なファイル操作からハードウェア制御まで幅広く対応。
  • 対話型シェル: リアルタイムコマンド実行と入力バッファリングを実現。
  • LED ディスコモード: GPIO のテスト用に設けたお楽しみ機能(イースターエッグ)。

必要なハードウェア

  • Arduino UNO(または互換基板、ATmega328P シリーズ)
  • プログラミング用の USB ケーブル
  • LED と抵抗(GPIO テストのためオプション)

インストール手順

  1. このリポジトリをクローンまたはダウンロードする。
  2. KernelUNO.ino
    を Arduino IDE で開く。
  3. ボードを選択:Tools → Board → Arduino UNO
  4. ポートを選択:Tools → Port →
    /dev/ttyUSB0
    (お使いのポートに変更)
  5. コンパイルしてアップロード:Sketch → Upload
  6. シリアルモニタを開く:Tools → Serial Monitor(ボーレート 115200)

arduino-cli による代替手順

arduino-cli compile --fqbn arduino:avr:uno .
arduino-cli upload --fqbn arduino:avr:uno -p /dev/ttyUSB0 .

コマンド一覧

ファイルシステム関連コマンド

  • ls
    : 現在ディレクトリのファイル一覧を表示。
  • cd [dir]
    : ディレクトリ移動を実行。
  • pwd
    : 現在の作業ディレクトリを出力。
  • mkdir [name]
    : 新しいディレクトリを作成。
  • touch [name]
    : ファイルを作成。
  • cat [file]
    : ファイル内容を表示(読み込み)。
  • echo [text] > [file]
    : テキストをファイルに書き込む。
  • rm [name]
    : ファイルまたはディレクトリを削除。
  • info [name]
    : ファイルの詳細情報を表示。

ハードウェア関連コマンド

  • pinmode [pin] [in/out]
    : ピンの入出力モードを設定。
  • write [pin] [high/low]
    : ピンに電圧(HIGH/Low)を出力。
  • read [pin]
    : ピンの入力値を読み取る。
  • gpio [pin] [on/off/toggle]
    : GPIO の状態を制御(オン/オフ/反転)。
  • gpio vixa [count]
    : LED ディスコモード(イースターエッグ機能)。

システム関連コマンド

  • uptime
    : システムの稼働時間を表示。
  • uname
    : システム情報を表示。
  • dmesg
    : カーネルメッセージを表示。
  • df / free
    : 自由なメモリ量を確認。
  • whoami
    : 現在の実行ユーザー(ハードコーディングされた root)。
  • clear
    : 画面をクリア。
  • reboot
    : システム再起動。
  • help
    : 利用可能なすべてのコマンド一覧を表示。

使用例

ファイルシステムの操作方法

cd home
mkdir myproject
cd myproject
touch notes.txt
echo "Hello World" > notes.txt
cat notes.txt

ハードウェア制御の例

pinmode 13 out
gpio 13 on
gpio 13 toggle
read 2

システム情報の確認

uname
uptime
dmesg
df

お楽しみモード(イースターエッグ)

gpio vixa 10

メモリ使用状況

  • プログラム: 32KB のフラッシュメモリに対し約 38%
  • RAM: 2KB の SRAM に対し約 85%(最適化済み)
  • ファイルシステム: 最大 10 ファイル/ディレクトリまで対応可能。
  • dmesg バッファ: メッセージは最大 6 つまで保持。

仕様

  • ボード:Arduino UNO(ATmega328P)
  • クロック周波数:16 MHz
  • シリアル通信ボーレート:115200
  • ファイルシステム:RAM ベース(EEPROM を使用しない)
  • ストレージ:揮発性(電源を切るとすべてクリアされます)。

技術的な詳細

  • キャラ配列ベースの入力バッファ(最大 32 バイト)
  • ブッファオーバーフローを防ぐための安全なパス連結処理。
  • タイムスタンプ付きのカーネルメッセージロギング。
  • リアルタイム GPIO 操作機能。
  • 効率的なメモリ管理を実現。

制限事項

  • 永続化ストレージ(EEPROM/SD カード)未対応。
  • ファイルサイズの制限:ファイルごとの内容が最大 32 バイトまで。
  • ファイル/ディレクトリ数は最大 10 個まで。
  • PATH の文字数制限は 16 文字まで。
  • シングルユーザ環境(root)のみサポート。

今後の開発計画(TODO)

  • EEPROM を用いたデータの永続化機能の追加
  • PWM やアナログ制御の対応
  • SD カード読み書き機能の実装
  • ファイルサイズ表示機能の追加
  • GPIO 関連機能のさらなる拡張

ライセンス BSD 3-Clause ライセンスの詳細は LICENSE ファイルをご参照ください。

著者 Arc1011(アークゼロイチ)
2026 年作成。

貢献について
フォークし、修正・改善をお待ちしております!以下の内容を含むプルリクエスト(PR)をお待ちしています:

  • バグ修正
  • パフォーマンス向上
  • 新しいコマンドの追加
  • コード最適化

※本プロジェクトの説明書類(README および QUICKSTART)は、Claude AI が作成しました(一部改修あり)。なぜなら、私が独自に記述しようとすれば、意味が通じない数行の不整合な文章になってしまい、利用者さんにお役に立たないものになってしまうからです。

同じ日のほかのニュース

一覧に戻る →

2026/04/22 2:14

Vercel の侵害事件:OAuth 攻撃によるプラットフォーム環境変数のリスク浮上

## Japanese Translation: 最も重要な教訓は、攻撃者がサードパーティの OAuth の侵害を利用して、2024 年 6 月頃に始まり公開された 2026 年 4 月 19 日まで約 22 カ月到達した間、Vercel の内部システムへの侵入を成し遂げたという点です。この期間中、敵対者は顧客の機密情報や従業員のデータ、OpenAI のようなサービスにリンクされた認証情報を盗みました。この侵害は Vercel の環境変数モデルによって拡大されました:「sensitive」と明示的にマークされていない変数は静態で暗号化されて保存されていたため、内部へのアクセスが得られた時点で読み取ることができました。これにより、侵害された OAuth アプリケーションから従業員の Google Workspace アカウントへ、さらに非機密の環境変数の列挙および下流の認証情報の悪用への横移動が可能になりました。 Vercel の CEO ガビエル・ロイシュは、攻撃者の驚くべき速度と Vercel に対する深い理解を AI の拡張作用に帰因しました。地下フォーラムで ShinyHunters と関連するハッカー集団が従業員のレコード約 580 件、トークン、および API キーの保有を主張していますが、公式な確認が出るまでこれらの主張は検証されていません。この出来事は、LiteLLM(2024 年 3 月 24 日)、Axios(2024 年 3 月 31 日)、Codecov(2021 年)、CircleCI(2023 年)、Snowflake(2024 年)などの主要ソフトウェア提供者を標的とするサプライチェーン攻撃のより広範な 2026 年の傾向を反映しています。 即時の是正策として、すべての非機密 Vercel 環境変数を再設定し、アプリケーションを再起動する必要があります。パスワードのみの再設定では、すでに古い認証情報を既に使用していた以前のデプロイメントが無効化できないためです。調査は困難に直面しており、デフォルトの Google Workspace ログがわずか 6 ヶ月間のみ保持されるため、正確なエントリーポイントや最も早期の侵害活動が隠れてしまう可能性があります。究極的には、セキュリティ環境は、現代のサプライチェーン構成において「非機密」というラベルが静的な未暗号化データを保護することを失敗するという危険なギャップを開示しています。

2026/04/22 0:29

CrabTrap:実環境におけるエージェントを保護するための、LLM を採用した「審査官」として機能する HTTP プロキシ

## Japanese Translation: Capital One の完全子会社であり、米国ユタ州ソルトレイクシティ 650 S 500W スイート 300 に本社を置く Brex LLC は、コア・バンキングサービスにおいて関係ないパートナー銀行を利用する金融プラットフォームとして運営されています。支払いサービスは Brex Payments LLC(免許を受けた資金送金業者)が管理しており、Vault fonds には即座に FDIC の保険が付与され、Treasury fonds はパートナー・プログラム銀行へ転送される際に FDIC 資格を取得します。証券は Brex Treasury LLC を通じて提供され、同社は各株式で $1.00 の価値を維持することを目的とするファンドへの投資を行うが、これは保証されておらず、収益は市場状況によって変動し、元本損失の可能性もあることに注意すべきです。クレジットカードは製品により異なります:Brex Mastercard® Corporate は Emigrant Bank、Fifth Third Bank N.A.、または Airwallex(オランダ)B.V. が発行し、Brex Commercial Card は Visa ライセンスの下で Sutton Bank が発行します。現在、ATM アクセスは利用できませんが、すべてのローンには承認が必要です。また、Brex LLC は法的、税務、直接的投資アドバイスを提供しません。料金プランはユーザー 1 人あたり月 $0 から開始し、高度な機能を必要とする場合はユーザー 1 人あたり月 $12 です。資金を投入する前に、これらの構造的ニュアンス、パートナー依存関係、および本質的な市場リスクを考慮する必要があります。

2026/04/18 19:53

スティーブンのソーセージロールは、今なお最も影響力の大きいパズルゲームの一つとして確立されている。

## Japanese Translation: この原稿は『Stephen's Sausage Roll』の 10 周年を祝い、パズルゲームの定義を継続的に確立し続けてきたタイムレスな傑作として位置づけています。2016 年 4 月に PC でリリースされ、ゲームプレイについてほとんど何も明らかにしない予告編と共に登場したこの oversized fork-based ソコバンタイトル(プレイヤーがブロック、ラダー、フォークを使用して肉を焼くためにソーセージを押す)は、細心の注意を払った設計、深いパズル層、そして公平だが困難な難易度を通じて直ちにプレイヤーを魅了しました。ゲームは Stephen Lavelle 氏(Increpare Games)によってデザインされており、ソコバンの設計を探求するグリッドベースのパズルの作成を可能にする PuzzleScript も以前にリリースしています。開発者は『Stephen's Sausage Roll』を「削ぎ落とされた純粋さ」の傑作として評価し、「ソーセージのような」ゲームや新しい世代のソコバンタイトルを鼓舞していると述べています。Alan Hazelden 氏(*A Monster's Expedition*)はそれを「少ないもので多くのことを成し遂げるためのマスタークラス」と呼び、Patrick Traynor 氏(*Patrick's Parabox*)はそれが純粋なパズルデザインを追求するようそしてタイトルに自分の名前を含めるよう刺激したと述べています。Gwen Frey 氏(*Kine*, *Lab Rat*)はそれを「ソコバンへのゲートウェイ薬物」と呼び、彼女のキャリアを変えたと言っています。Corey Martin 氏(*Bonfire Peaks*)はその純粋さを「1976 年の Ramones」に例え、Joseph Mansfield 氏(Thinky Games)はそれが手慣れた古典的なソコバンから深みのある焦点を当てた設計への転換を標記していると指摘しています。Thinky Games は開発者の証言をフィーチャーした 10 歳の誕生日祭りを開催しており、これにより『Stephen's Sausage Roll』がどのようにジャンルを形成し続けているかが強調され、その遺産がリソースに制約のある志の高い創作者のための成功したブループリントとして検証され、新しい世代のパズル愛好家に enduring するために確保されています。

Arduino UNO(2KB の RAM を搭載)のために、シェルとファイルシステムを備えた小さな UNIX 風の「OS」を作成しました。 | そっか~ニュース