オペレーティング・システムを書くとなると、あのレジスタをこっちにやって、このレジスタをあっちにやって・・・とだんだん頭がわけわからなくなってきます。UOS-LPC800のスケジューラを書いている時も、Cortex-M0+の命令セットをどう使うのか頭を悩ませた気がします。もう忘れましたが。
![オペレーティング・システムのスケジューラを書く人の強い味方「レジスタ将棋」を考案しました](https://cdn-ak-scissors.b.st-hatena.com/image/square/b2d39e1e9ef99f9ad04281c62b0757059d93a52b/height=288;version=1;width=512/http%3A%2F%2F2.bp.blogspot.com%2F-W-rMZlcEISQ%2FUlkddsQbCKI%2FAAAAAAAADD4%2FR2hDFOLLDNE%2Fw1200-h630-p-k-no-nu%2Fcore_registers.png)
先日から色々と思うことがあって、「割と適当に動作する」OSを作る事を考え始めました。 「割と適当に動作する」というのは、まぁ言ってみれば「オモチャとして動作します」という事です。 考えているOSは、リアルタイム性もないし、タスク間通信も最小限。 でも、自分が作ったからよくわかるという、その名も「誰得OS」です。 私の場合、ソフトウェアは基本的にインターフェースの設計から始めます。 この基本方針はOSになっても変わりません。 まずは「誰得OS」のインターフェースを考える事にしました。 「誰得OS」は、 daretoku_kernel_initでカーネル・オブジェクトを初期化。 daretoku_task_initでタスクを初期化。 daretoku_kernel_startでカーネルを動作開始。 と最低限3つのインターフェースを知っていれば動作させる事ができます。 「できます」と書いています
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く