借り初めのひみつきち

仮ブログです。

toe

MYOS のウィンドウのつくりかた

MYOS/TOE のアプリでウィンドウを作るところを少し詳しく見てみましょう。 ※ 執筆時点のバージョンの TOE をもとに記述しています。まだ API 安定化してないのでバージョンごとに細かい違いがあったり MYOS と TOE の間でも微妙に違うことがあります。 アプ…

Wasm on Wasm

ついに、 WebAssembly の自作エミュレータの上で動く自作 OS の上で自作 WebAssembly ランタイムが動くようになりました つまり Wasm on Wasm ですね٩( 'ω' )و 以下に試験的に体験版設置してるので起動してみることができます。 meg-os.org もちろん PC98 …

initramfs

コンピューターの神秘のひとつに、起動時にファイルシステムドライバを読み込むためにファイルシステムにアクセスしなければならないという矛盾があります。 現代の OS では起動に必要なファイルを収めた簡易ファイルシステムを RAM に展開してこれを解決し…

MYOS の起動処理概要

MYOS の起動処理をかんたんに解説します。 MYOS をメインに解説しますが、 TOE は MYOS のサブセットとして開発が始まったので共通点も多いです。 Boot Loader 〜 カーネルエントリポイント まずはブートローダーが起動します。ブートローダーの細かい動作は…

スケジューラーと優先順位の逆転

MYOS のスケジューラーは SMP に対応しています。 つまり、 CPU を 100% 使おうとする重いタスクが2個あった場合、合計で 200% ほど使うことができるわけです。 これがシングルコアだったら 100% を仲良く分け合って 50% しか使うことができません。 マルチ…

ビットマップクラス統合

近代的な OS は一部の組み込み用途をのぞくと画像処理が不可欠です。 MYOS や TOE も画像処理にそれなりの割合を割いています。 MYOS と TOE の大きな違い MYOS の主要なターゲットは UEFI で、 UEFI では 32bit ARGB 形式が標準です。 また、近代的な画像処…

CD から OS を起動する

昔の OS は CDROM で提供されていました。 TOE は標準でフロッピーから起動しますが、さいきん入手難しくなってきたので CD 起動に対応したいと思います。 ロメオとジョリエット CDROM のファイルシステムはたくさんの規格が複雑にからんでいます。 CDROM は…

新しい自作 OS 始めました

前回の日記で作り始めたもの、それは新しい OS でした。 概要欄 今のところ特徴を myos と比較すると以下のようになります。 myos のサブセット的な感じになっていて一部ソースを流用しています。 MYOS TOE コードネーム myos toe アーキテクチャ x86-64 x86…