デバイスドライバーとか

In modern systems, interrupt handlers are divided into two parts: the First-Level Interrupt Handler (FLIH) and the Second-Level Interrupt Handlers (SLIH). FLIHs are also known as hard interrupt handlers, fast interrupt handlers and top-half of interrupt, and SLIHs are also known as interrupt threads, slow interrupt handlers and bottom-half of interrupt.

Interrupt handler - Wikipedia

FLIH(first lebel interrupt handler)はいわゆるトップハーフ、SLIH(second level interrupt handler)はいわゆるボトムハーフ。この辺のデバドラ関係も押さえておかないとなあ・・・と最近思ったり。デバドラそのものじゃなくても、プロファイル取ったときにFLIHとSLIHの情報出たりするじゃん。そういうのもある程度把握しといたほうがいいのかも、というか知っておくと「こいつ知ってるな」的雰囲気で話の説得力が増えるとか(笑)組み込み制御系の人たちはこういうの詳しいんだろうなあ。最近マシン語がどうのこうのと話題になってたりしたようだけど、OSやるんなら上からよりも下からの方が理解しやすいのでは・・・という気がする。結局OSなんてCPUのアーキテクチャーで全然変わってくるしなあ。その意味では、乱暴な言い方するとWindowsもPC-LinuxもIAという点では変わらないんじゃないかと。何だよEIPレジスターって。PEかELFかってのでも違ってくるのかもだけど、メモリーマネージャーとかスタックの使い方とかは同じなんじゃないかなあ。いや、メモリーの使い方はWinとLinuxでは結構違うという話を聞いたことがあるような。うーん、よく分かりませんな。

マシン語に興味があるんだったら

coredumpをgdbとかで見てみれば?たしかdisコマンドとかでデコードできたはず。coredumpじゃなくても、実行ファイルをdisassembleして、スタックポインターのずらし方を見てstatic領域をどれだけ取るか、なんてツールもあったような。商用UNIXgdbじゃなくてdbxらしく、俺はgdbを使ったことがほとんどない。Linuxカーネルダンプを見るときにちょっと使ったような・・・?もちろんプログラミングの時にアクティブデバッグするのには使いますけどね。そういうときはマシン語見る必要ないもんなあ。

いるかいらないかって話で言えば、仕事で使うならいるんじゃね?っていう程度じゃないですかね。回路も知らずにマシン語なんて・・・とかトランジスタも知らずにHDLなんて・・・とか、下を見ればきりがないような。ハードウェア技術者から見れば、マシン語なんて超高級言語なんじゃないかなあ。