os

( ..)φカキカキ armで遊んでみる on Fedora

ARMにも興味がある今日この頃、ARMで学ぶ アセンブリ言語入門 という本を買ってみました。 特に読みたかったのはチャプター7の例外と割り込みの所ですねー。初めて読む486を読んだり、自作OS作成経験ある人には面白い章なんじゃないかと思います。さて。早速…

x86のret命令

OS

コンテキストスイッチを理解するにあたって、アセンブラのret命令の動きを試してみます。実験環境はx86(qemu)のFC13です。 ret命令は、スタックからEIPを読んでそこに制御を移します。ということは、スタックに適当なアドレスを積んでおけばそこに制御が行…

ELFを自作カーネルで実行させたいので、とりあえずテストプログラムの準備から。

OS

テスト用のプログラムはこんな感じです。単にシステムコール呼ぶだけです。 #define UNUSED __attribute__((unused)) int main(UNUSED int argc, UNUSED char **argv) { __asm__("mov $1, %eax\n\t" "int $0x80\n\t" ); return 0; } 自作カーネルは32bit用な…

ページングについて調べてるのでメモ。

OS

まずはMINIXから。オペレーティングシステム第3版のP449でminixはページングは使ってないと書いてあるのでminix3.1.0だとページング機能は未使用。 qemuでminix起動後のcr3レジスタの値をみても0なので、確かにページングは使ってなかった。。Linuxは0.10と2…