借り初めのひみつきち

仮ブログです。

2021-01-01から1ヶ月間の記事一覧

妖精さんとなかよくなるほうほう

年初まで x64 や WebAssembly で Rust を色々いじってましたが、少しお休みして x86 でコードを書いてみようと思います。 動かす環境はベアメタル ʕ•ᴥ•ʔ になりますが、 Rust はベアメタルの適切なターゲットがありません。 CPU さえ合ってれば OS はどうで…

ぬるぽ警察24時

myos では Null Pointer Exception は発生しません。 理由は2つあって、言語に Rust を採用しているというのと、 Null Pointer Exception が発生するようにページングを設定していないからです。 事件編 Rust には Null Pointer Exception によく似た別のエ…

myos の描画アーキテクチャ

myos のウィンドウ描画アーキテクチャについて解説します。 執筆時点での情報なのでバージョンによっては詳細が異なる場合があります。 なお、ここにあるのはカーネルの構造なので、アプリケーションレイヤーではラッピングしたオブジェクトなど詳細は異なり…

Rust の Null Pointer Optimization

古き良き C 言語では NULL ポインターがよく使われましたが、 NULL の発明者は10億ドルを超える莫大な経済損失を引き起こしたとのちに後悔しました。 モダンな言語は NULL に対する安全性を担保する仕組みを持っています。 Rust では Null 安全性のために Op…