苦労しただけ喜びがある

2、3日悩んだLDTが動作するようになった。
これで完全にELF形式のファイルの読み込みが可能となったわけである。


これからプリエンプティブなマルチタスクを構築するために、
タスクの状態を作成し、そして状態ごとにリスト構造で数珠繋ぎにし、
そして順番に時分割で動作させる。
これによりマルチタスクは動作する。


とりあえずここまで出来たら、OSとアプリとの通信の確立方法を学び、
通信を行えるようにしないといけない。
いや、通信でなくても良いが、OSの機能をアプリが利用できるようにするわけだ。


これにはゲートという概念とソフトウェア割り込みという概念、あるいはメッセージと言う概念を利用できる。


ゲートはOS側の関数を呼び出す方法、ソフトウェア割り込みは実際に割り込み処理により、機能を実現する。
大抵はレジスタに行いたい機能を格納し、割り込みを掛ける。
MS-DOSLinuxなどは、この方式である。


さて、メッセージはWindowsでやり取りされている事は
Windowsプログラミングをかじった方なら知っているであろう。


どっちにしろメッセージの送信・受信にはOS側の関数を利用する必要があるだろう。
ここら辺は、CMagazineもヒントにしようと思うが、どこまで参考になるか…。