Diary

雑感

思ったより長くなったなーw・・・あれ。そういえばレポート書いてたはずがいつの間にかこんなことを(ry

ページングをONにして仮想記憶を有効にするまでの手順メモ

はじめて読む486を読み直して、ページングをONにするまでの手順を整理。 GDTを設定。 IDTを設定(割り込みベクタの0x0eがフォールトハンドラ用に予約されている)。 ページディレクトリ、ページテーブルを初期化。このとき、物理アドレスを仮想アドレス空間に…

ページングをONにした後に落ちる理由

そっかー。そりゃ落ちるわ。 リンク時に 0x40000000 用にコンパイルしてるのに、Grubから出た直後は0x100000にバイナリが読み込まれているんだから。 ----- 0x100000 ----- <- EIP # binary is loaded here by grub boot loader. binary compiled for 0x4000…

ぺーじんぐ。

ちょっと調べた結果、CR0レジスタの31bit目がページング機能のトリガになっているらしい。そこで、Grubから私のコードに抜けた直後でCR0レジスタの31bit目を1にアサートしてみたところ、さすがにQemuがクラッシュした(wセグメントディスクリプタの設定を無視…

初期の目標は達成できたので...

「30日でできる!OS自作入門を Linux & GAS で行う」をやってみて、大雑把だが初期の「いかにしてx86マシンがブートし、プロテクトモードに移行するのか理解する」という目標は達成できた。そこで、OS自作本にのっとって作業するのを一時中断し、現在多くのO…

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

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

ネットワークアナライザ

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

今日読んだもの

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

明けまして

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

gasと戦闘中

今、OS自作入門3日目のiplからOS本体に処理を移すところを書いているのだけれど、iplからOS本体に処理が移らない。具体的には、iplから0xc200番地によみこまれるはずのコードへジャンプしたいのだけれど、ジャンプ先のコードが読み込まれない。 [Using as:ti…

PC起動直後のメモリマッピング part2

起動後のリアルモードのメモリ 0x7c00番地 - 0x7dff番地まではブートセクタ(HDDのシリンダ0、ヘッド0、セクタ0)がBIOSによって自動的に読み込まれる。とすると、ディスクイメージのシリンダ0、ヘッド0、セクタ0にプログラムのエントリポイントを配置するのが…

PC起動直後のメモリマッピング

Using ld (Gnu linker script のマニュアル) メモリマッピング自体は、普通に考えたらldでやるよなー。ただ、PCの起動直後はld自体もメモリに乗っていないわけで。まだちょっと混乱してるなぁ。

ipod touch 到着

サンプルコード付きのiPhone向け開発リファレンスまとめ ipod touch が届いたので、ネイティブアプリのためのまとめサイトをメモっておく。これにくわえて、公式サイトのドキュメントも見る必要ありだけど。 全然関係ないが、プログラムやっていると調べもの…

今日読んだものたち

プログラムはどう動くのか? 〜 ELFの黒魔術をかいまみるshell 上でelfバイナリで保存されているプログラムが実行されるまで。ローダが /etc/ld-xxx.so という形で共有ライブラリになっていたのがとても驚き&知ることができてうれしかった点。何度か読んで、…

日記

正直なところ リアルモード -> プロテクトモードの遷移を実際に体験してみたいのだけれど、Linuxは、起動して使えるようになった時点で既にプロテクトモードに遷移してしまっているので体験できない(当たり前だが)。CR0レジスタの0ビット目を立てるだけとは…

初めて読むMASMはとっても良い本。

私の所属する研究室内では、Linuxカーネル読書会なるものをやっている。教材は詳解Linuxカーネルの第3版。この本は-読んでみると分かるが-x86依存の話が非常に多い。スケジューラの話のあたりになると、Gnu Assemblerなどという暗号(!)でガシガシ書いてあ…

ひとこと日記

I'm reading はじめて読むMASM―ソフトウェア環境のからくりを学ぶ to understand はじめて読む486―32ビットコンピュータをやさしく語る.はじめて読む486―32ビットコンピュータをやさしく語る seems to be nice book, but it doesn't have the explanation of…

今日のひとこと日記

When I got up today, I had a headache like an earthquake - in fact, it has been 1 week since I hadcaught cold - so I went to hospital to get some medicine, and I'm in labotory because I have a meeting for a project:D

Soumen party

そうめん大会だー!

ToDo

夏休みに向けていろいろやりたい。思いついたら書き足していく。 デバイスドライバで何か動かす正確にはカーネルをいじり倒すためにデバイスドライバを勉強する。おととい買った本もそのため。 英語。今月こそ壁を越える。 Ruby+ネットワークプログラミング…

Result

ICPCについてですが、私のチームは2問といて\(^o^)/でした。例年より簡単だったせいか、予選突破チームはほぼ4問解いていた模様です。あー、くやし。昨日のっけた15分で書いた問題Cのプログラムは、get_nextTokenの位置のミスで間に合いませんでした。の…

Cleaning for ICPC

ICPC用に机を片付けよう。いや、ICPCとか関係なく机はきれいにするべきなんだが(笑

The Comic - "BillGates Story"

マンガ『ビル・ゲイツ物語』 これは面白い。せっかくなんで、すがやみつる先生の書くマイコン電児ランのレビューも一緒に読むと一層楽しめると思うよ!! あらしに簡単にゲームを攻略されてしまったプログラマーは自信をなくす ↓ プログラマーが自信をなくし…

There seems to be some problems in bloglines

昨日の夜あたりから、bloglinesから登録サイト1つにつき200ものRSSフィードが送信され続けている。そして、つい先ほどbloglinesのサービスが一時停止していることを確認した。サーバー管理者は今必死になって復旧にあたっているのだろう。

Actual State

予期せぬハプニングが起こり、予定とは12時間遅れで学習進行中。[読んだ] 貪欲法 最小スパニング木 Kruskalのアルゴリズム Primのアルゴリズム 単一視点最短経路問題の基本概念-緩和(relaxation) 幅優先探索-先行点(predecessor)の考え方 Dijkstraのアルゴリ…

Completion of the Reports!

コ ー デ ィ ン グ 解 禁と思ったけど、動的計画法の学習にもう少し時間がかかりそう。一応今日学んだことをメモ。 グラフの表現方法 動的計画法の解法、手順(というより思考フローって言った方がいいかもしれない) 明日までに参考書を読んで、模擬問題のD問…

It looks similar

↑の日記見て気づいたけど、カタカナ表記だとイアフォンとアイフォンって似てる・・・というより、紛らわしいな。

Mindmap Manager

テスト勉強をするのに、Mindmap Managerというちょっとうさんくさいソフトの体験版を使ってみる。マインドマップの是非はおいておいて、講義ノートをとる代わりにこれで整理するのはなかなかいい気がする。印刷もラクラクできる。

Strange Earphone

これ、今使ってるイアフォンなんですけど、なんかおかしいですよね。

Report,Report & Examination!!

すっかり忘れていたけど、今週テストとレポートがあるんだよね。優先順位的にはこっちの方が上なので、こちらをやらないと。まぁ、モチベーションは俄然ACM/ICPCに偏っているけどね!!