2009-01-01から1ヶ月間の記事一覧

30日でできる!OS自作入門を Linux & GAS で行う (3日目)

さて、めっきり更新が遅くなってしまいましたが、3日目です。ポイントは いかにして32ビットプロテクトモードへ突入するか いかにしてCのソースが吐いたバイナリにjmpするか です。 いかにして32ビットプロテクトモードへ突入するか 32ビットプロテクトモー…

Rubyでインラインアセンブラできるようなクラスを作ってみた

界隈でRubyが遅いとか言われているので、「インラインアセンブリできれば超早くなるんじゃね?!」と思って、やってみた。ちなみに、Linux上じゃないと動かないよ!クラスファイルasm.rbのダウンロードはこちらから このファイルと同じフォルダに、以下のよ…

シンタックスハイライト時にコンソールっぽくなるようCSSをいじってみた

なんとなく、ソースコードはコンソールの中にあった方がしっくりくるので、CSSを変更してシンタックスハイライト時の色を変更して、コンソールっぽくしてみた。具体的には、シンタックスハイライトされている要素には、それぞれ 名前 クラス名 コメント synC…

newbusベースのデバイスドライバソースコードのスケルトン

FreeBSDのデバイスドライバ(?というか、どちらかというとカーネルモジュール)を書く機会があったのだけれど、資料が/usr/src/sys/dev 以下のソースコードくらいしかなくて、思いのほか苦戦してしまった。折角書いたので、スケルトンファイルとして公開してみ…

ネットワークアナライザ

ネットワークアナライザのWireSharkを導入して、遊んでみた。 これまでまともに使ったことのあるネットワークアナライザは、dummynet(これはどっちかっていうとネットワークエミュレータかなぁ),tcpdumpくらいなもんだったり。ちなみに、両方とも、ネットワ…

早速バグ修正

先日リリースしたmixi echo用プラグインですが、mixi_post_echoの方に「日本語がpostできない」というかーなーり!致命的なバグがあったので修正しました。lifehackintokyoさん、バグに気づかせてくれてありがとうございました。id:praggerさんには、こちら…

mixi echo 用 Pragger プラグインを作ってみた

「RubyやってるのにPraggerやってないなんてありえないよねー(笑)」で評判のPraggerですが、まだ触ったこともなかったので練習がてらmixiエコー(をget/にpost)するようなPraggerプラグインを作ってみた。コードを書くにあたっては、boumankan Pragger用プラ…

今日読んだもの

一昨日から、移動時間や暇な時間は全て[rakuten:book:11973734:title]につぎこんでいる感じ。なんか、(CやPascalといった)高級言語のソースを見る->アセンブルされたコードを見るの繰り返しが多いんだけど、最適化の度合いが一目瞭然で、非常に面白い。 つー…

Jruby on gcj

さっき、GCJ(GNUのJavaコンパイラ。.javaをCPUのネイティブコードに落とし込む。)の存在を知って、こんなんあるのかーとびっくりしていた。 そうえいば、Ruby界隈でJrubyなるものが話題になっているけれど、それをGCJ(GNUのJavaコンパイラ)でネイティブコー…

30日でできる!OS自作入門を Linux & GAS で行う (2日目)

というわけで、どうみても前の更新から5日以上たっているけれども2日目の説明を(笑 2日目で行うことは、 1日目で .byte、.word、.intでバイナリ直打ちしていた箇所をプログラムに置き換える リンカスクリプトを書く。 Makefileでアセンブルとディスクイメー…

明けまして

12月31日からOS自作本の3日目のソースファイルをGAS(Gnu Assembler)を用いて書いてやろうと試みていたけれど、ようやく32bit プロテクトモードに突入 && 32bitバイナリを動作確認したよ!なぜこんなに時間がかかっていたかというと、 GASで絶対ジャンプする…