ブログパーツ Twitter

« 祝!アクセス解析開始!! | トップページ | Googleのランキングにびっくり! »

2006.08.05

Project HariTiger OS・続報4

全国27億4千万人(主催者?発表)のご要望にお答えして!

記事のタイトルも刷新して、いよいよ発表です。
(以前のタイトル:「30日でOSを作る本」、ですね。)

最新の画面
(注:画像は縮小しています。実サイズ640×480。)

縮小された画像だとわかりにくいかもしれませんが、

画面の右下に見えるウインドウは、その名もズバリ

タスクビューワー(taskviewer)

です。

文字通り、現在実行中のタスクを表示する(だけの)ウインドウです。
(1秒ごとに表示を更新させています。)

そのタスクビューワー部分を拡大させたのが、こちらです。

タスクビューワーの表示内容
(現在7つのタスクが動いていることがわかります。)

それぞれのタスクの意味合いは、次の通り。

1.System
 システムのメインのタスク。

2.System Idle Task
 何にもしない(Haltしかしない)タスク。

3.Keybord
 押されたキーの内容を解釈するタスク。

4.Mouse
 マウスの操作内容を解釈するタスク。

5.TaskMenu
 「タスクメニュー」部の操作用タスク。

6.System Clock
 時計表示用のタスク。

7.Task Viewer
 タスクビューワー用のタスク。

これらのうち、前回の記事の時点から新しく作成されたのは、

3・4・7

です。

これからも機能をどんどん「別タスク化」していきますよ。
(あくまで、予定です。念のため。)

そしてそれらのタスクをカーネルモードではなくユーザモードで動くようにすれば...

念願のマイクロカーネル化達成!

しかしまだカーネルモードとはいえ、キーボードとマウスを別タスク化してびっくりしたことがあります。

ウインドウをたくさん作ってもマウスの反応がカクカクしにくい
(これは予想外でした。)

現在のHairiTiger OSは、マウスをクリックしなくても、

マウスポインタがどのウインドウの上にあるかを常に監視させています。
(ポインタがクローズボタンなどの上に来たときに、ボタンの色を変える処理のため。)

そのためか以前のバージョンでは、コンソールを6~7個表示させた状態で、

マウスポインタを左右にすばやく振ってやると、

ポインタの動きがカクカクするように見えていました。
(エミュレータQEMU上での話です。)

しかし、別タスク化した後では、

同様の条件下でも、明らかにポインタの表示がスムーズ!
(多少はカクカクしていますが、違いははっきりわかります。)

おそらく別タスク化したことで、マウスの位置情報をより頻繁に取得できるようになったためでしょう。

・旧
1.マウスの位置情報がメインのメッセージループに取得される
2.位置情報の内容を解釈する
3.表示を更新する
4.メッセージループに戻る

・新
1.マウスの位置情報がメインのメッセージループに取得される
2.マウスタスクに情報を渡す
3.メッセージループに戻る

数字だけ見るとわずか1つの違いですが、処理量としては雲泥の違いがありますからね。

「では今度は何を別タスク化?」

といわれるかもしれませんが、

これからの課題はずばりマルチタスクシステムの改良です。

あまり大きなことを先に言ってしまうと、後で笑われかねないので、詳細は略しますが、

これがうまくいけば、ある意味「某OS(Wで始まるやつね)」にも負けないものになる?かも。

結論:どなたかいいバージョン管理ソフト知りませんか?


・2014年2月20日 追記
雌伏○年を経て、「眠れる虎」が今目覚めます!
2014.02.20 Project HariTiger OS、再起動

« 祝!アクセス解析開始!! | トップページ | Googleのランキングにびっくり! »

コメント

おーーー。タスクマネージャみたいなものですか。

質問ですが、もし、上のタスクバーいっぱいになるまでウィンドウが起動したら、どうなるのでしょうか?なんか対処法はあるのでしょうか?そこがきになります。

長い名前は、...で区切るところもかなりいいですね。将来性がと~~~ってもありますね。では。

Alphaさん、コメントありがとうございます。

> おーーー。タスクマネージャみたいなものですか。
その通りですが、そこまでの機能はないので、「ビューワ」です。

> 質問ですが、もし、上のタスクバーいっぱいになるまでウィンドウが起動したら、どうなるのでしょうか?なんか対処法はあるのでしょうか?そこがきになります。
一般的なタブだと行が増えますよね?
そのようにしたいと考えています。
その場合、タスクメニュー全体の高さをどうするかが問題ですかね。

あの、もし、いっぱいになったら、行を増やすのではなく、はみ出た分を、メニュー方式にしてはどうですか?

今後は、タスクビューワがマネージャーになって、優先度とかを調節で来たり、プログラムがメモリなどをドンだけ使用しているとか・・・。まだまだたくさん課題はあると思うので、ゆっくりと作っていってくださいね。

CloverからAlphaに変わったということをお知らせしていませんでした。

Alphaさん、コメントありがとうございます。

> あの、もし、いっぱいになったら、行を増やすのではなく、はみ出た分を、メニュー方式にしてはどうですか?
貴重な提案、ありがとうございます。参考にさせてもらいます。

> CloverからAlphaに変わったということをお知らせしていませんでした。
いや実はそうじゃないかなと思っていたんですよ。
以前そのようなコメントがあったような気がしていたんですが、見つけられませんでした。

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

« 祝!アクセス解析開始!! | トップページ | Googleのランキングにびっくり! »

2020年3月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

お気に入り

無料ブログはココログ