ブログパーツ Twitter

« ももの日!に届いたものは | トップページ | 関西プリモの会に行けなかった »

2014.03.06

新HariTiger OS、1ヶ月

今日は移動の最中に Google のストリートビューカーとすれ違いました。
こちらも車だったのでたとえ撮影中だったとしても私の姿は写っていないと思われますが、なにか「面白いこと」が起こる予兆だったらいいのですが。


----------

先日記事にしたように、2006年以来約8年ぶりに自作 OS に取り組んでいます。

2014.02.20 Project HariTiger OS、再起動

 
取り掛かりだしたのが先月の6日だったので、今日でちょうど1ヶ月。
 
主たる参考資料にしている「30日でできる! OS自作入門」のペースだと、OS 本体だけでなくいくつかのアプリも動いているはずの日数が経ったわけですが...



とりあえず最新の画面を見ていただきましょうか。
 
3月6日現在の画面
(ジャーン!)
※画像をクリックすると大きな画像(640x400)を表示します。
 
前回が白黒のテキストモードだったのから考えると、グラフィック画面になって、ウインドウとかマウスカーソルとか色々表示されてる!
 
ごめんなさい。全部「表示されているだけ」です(機能しません)。
 
「30日でできる! OS自作入門」(以後「30日OS」)でいうと、大体において「8日目の第3節」、マウスを動くようにする直前に相当する状態です。

必ずしも本の順番通りに開発しているわけではないので、内部的には13日目ぐらいまで進んでいる部分もあります。

 
また、画像のサイズがが「640x400」になっていますが、コード上は「320x200 256色モード」になっています。
 
おそらく Virtualbox が勝手に縦横2倍に拡大して表示しているのではないかと想像しています。
(点を1つ描くと、2x2で表示されるので、何かが拡大させているのは事実のよう。)



今回の目標の1つであった「GRUB から起動して、最初はテキストモードで文字がズラズラとスクロールしていき、その後にグラフィック画面に」はちゃんと実現できています。
(VGA の320x200というモードですがね。VESA には対応したいな。)
 
また「30日OS」では C 言語で処理できない部分をアセンブラで書いていますが、その部分のほとんどを「純アセンブラ」(※そんな言葉あるのか?)ではなく gcc の「インラインアセンブラ」で書いています。



さて、色々とツッコミが入りそうな先ほどの画面ですが、今のところ考えている「完成形」の形がこちらになります。
 
完成形の画面(構想)
(こちらの画像はペイントソフトで作ったものです。)
※画像をクリックすると大きな画像(640x480)を表示します。
 
見てわかるように、いくつかの OS の画面をつぎはぎしたものです。
(右上部分の「元ネタ」がわかった方は、かなりの「Ubuntu 通」と見た。)
 
画面左端のバーは Ubuntu の Unity(ユニティ) の Launcher(ランチャー)そっくりですし(※)、画面下の黒い部分は Android タブレットで見たことがあるマークが配置されています。
(アプリウインドウのタイトルバー左端のマークも Android から。)

Unity の Launcher では Ubuntu マークのボタン(BFB)が一番上にありますが、HariTiger OS ではそれに相当するのは一番下の音符が描かれたアイコンになります。

 
あと、デスクトップの色合いが「暗い黄色」なのは、「一応 Tiger を名乗っているのだから黄色基調だろう」という安易な考えからです。



ちなみに 2006年の HariTiger OS の画面は以下のようなものでした。
 
旧バージョンの画面
(これは実際に機能する(していた)画面ですよ。)
※画像をクリックすると大きな画像(640x480)を表示します。
 
デスクトップの背景色は「NEXTSTEP」から拝借。

「NEXTSTEP」はあの Jobs が Apple から追放されていた期間に作ったコンピューターの OS の名前。現在の OS X の元となった。

 
左上の「♪」ボタンをクリックするとプルダウンメニューが出て、そこからアプリを起動。
(音符の英語訳の「Note」から、「ノートメニュー」と呼んでいました。)
 
アプリが起動すると上部にタブが追加され、タブをクリックすることでアプリを切り替えする、という UI(ユーザインターフェース) でした。
(実際には「タブをクリックしてアプリ切り替え」は実装できなかったと記憶。)
 
アプリのメニューは個別のウインドウにではなく、上部のバーに表示される「グローバルメニュー」を採用。
 
現在の画面にも左下のアイコンに音符が描かれているのは、曲がりなりにも旧 HariTiger OS を継承していることを表しているつもりです。



ただし私が OS を自作する上で UI の実現は優先順位がかなり低いです。
(一番興味があるのは「タスク管理」。)
 
なので UI の構想の大半は「構想」で終わるおそれが高いです(笑)。
 
特に画面右上の一連のアイコン群の機能は、まず確実に実装しない(できない)だろうな。



「30日OS」のペースから大きく遅れてきているのは既定どおり(?)なのでいいとして、現在の一番の問題は「作業に取り掛かると没頭してしまって他のことに手がつかなくなる」ですね。
 
実生活にも色々支障が出始めています。
(早く確定申告の書類をつくらないと...)
 
まあ「締切」もないことですし、牛歩でやっていきますか(トラなのに)。


結論: 改めて自分がプログラミングが好きなのだなと実感しています


・5月9日 追記
HariTiger OS についての新しい記事を書いたらリンクをつけることにしました。
2014.04.06 新HariTiger OS、2ヶ月

« ももの日!に届いたものは | トップページ | 関西プリモの会に行けなかった »

コメント

コメントを書く

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

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

« ももの日!に届いたものは | トップページ | 関西プリモの会に行けなかった »

2017年6月
        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  

お気に入り

無料ブログはココログ