ウォンツテック

そでやまのーと

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

OS作成

PITを実装(といってもPITレジスタにカウンタ値設定するだけの3行コード)

OS作成

メモリ上のダンプを見たいけどqemu、bochsだとアドレス指定して一覧表示させて見るという方法があるにはあるけど面倒だという事でメモリダンプシステムコールを実装。これで特定プロセスのリニアアドレス上のメモリダンプをserial経由で以下のようにファイル…

OS作成 - シェル編

ユーザランドmallocのコード中にmuse_list(使ったメモリ構造体を連結しておくリストのhead)の操作中にpage fault起こすので調べてました。最初は.bss領域を初期化したのがまずいと思ったのですが。特に0で初期化されてまずい領域もなく、次にリストが空の時…

カーネル

カーネルは様々なパーツの一部だけど極めて重要なパーツだと思う。人間に例えれば心臓+静脈動脈+神経系だよ。数学で言えば公理系。物理学で言えば法則。そんじゃコンパイラは何かっつーと言語で書かれた定理を公理系に変換する機械。

リチャード・M・ストールマン

来週の月曜に行こうと思ったのですが、なんと開発部長の指令により今日emacs(elisp)のエロい人と一緒にご本尊を拝みに行ってきました。いい会社です。公演はGPLv3に関する事やFree Software に関する思想的な事のみでしたので正直面白くはなかったのですが、…

OS作成 - シェル編

malloc。.bss領域が初期化出来ていない問題はelfloader時にelf program headerのflagsにexecuteのbitが立っていないときに0でmemsetする事で解消。 と思ったけど globalに確保した領域(ここも.bss)まで0に初期化されてしまってうまくいかない。

リチャード・M・ストールマン が来日

http://www.senshu-u.ac.jp/School/network/news/event/rms.html 会社で話題になっていたので調べてみたらなんと近所ですた。拝みに行って来ようかな。。

x86_64のLongモードをやってみる

なんとなく64bitCPUのブートシーケンスが気になったのでx86_64(AMD64)のブートを調べてみました。 AMD64アーキテクチャ互換のCPUが無いため実行環境はエミュレータのqemu-system-x86_64で。 開発環境も32bitしか無いため32bitホスト上に以下のようなクロスコ…

OS作成 - シェル編

malloc実装中。どうやら.bssセクション領域が変。きっちりpagingされてないのかな。

id:higepon氏がhatenaを退職し、引き篭もってMonaOSのコードを書きまくるらしい。誰かが言ってた「higeponがこのまま勉強し続けたら数年で天下取る」と。どうやら精神と時の部屋に入ってそれを短縮するようです。一先ずは英気を養って更なる飛躍に期待してま…

六十六億の苦悩が在り、苦悩の客観化は出来ないがゆえ己の苦悩は自意識において他のそれを上回る。二十代の苦悩を生き抜いた僕は新しい苦悩を手に、そしてただ生きていく。

OS作成 - シェル編

ユーザライブラリ用のmalloc実装中。Antosのmallocなどを参考。AntosではLinuxと同様にmalloc中にheap領域が足りなくなったらsbrk(brk)を呼んでいるけど、その初期値が固定値となっていた。別に固定値でも何の問題も無いけど、Linuxではtextセクション、data…

OS作成 - シェル編

exitシステムコールを実装中にBOUND範囲超過例外(0x05)なるものに初めて遭遇しました。IA-32デベロパーズマニュアルを参照すると BOUND 命令が実行された時点でBOUND 範囲超過フォルトが発生したことを示す。 BOUND 命令は、符号付きの配列インデックスを…

OpenCV

最近カーネル以外の事やりたいと思っていて色々何やろうか考えていたのですが、とりあえず画像解析系に手を出してみようかと思い以下の本を購入。OpenCV プログラミングブック奈良先端科学技術大学院大学 OpenCVプログラミングブック制作チーム 毎日コミュニ…

Sodex 0.0.1リリース

Sodexカーネルのリリース第一弾、Sodex version 0.0.1をリリースしました。一応プリエンプティブなマルチタスクカーネルになってます。DLしたらsodex-start.batで起動してください。qemuはwindows用です。Linuxで動かす場合はfsboot.binをLinux用のqemuで起…

OSC2007 tokyo/fall

OSC2007 fallに行って来ました。ほとんど終了時間に行ったので目的のMonaOSのAudioServerは間近では見れませんでした。higeponさんともちらっと会った*1のですが、ライトニングトーク前ということで少ししか話せず(残念。。)。 でもライトニングトークでhi…

OS作成 - シェル編

今日もシェル回りを弄る。ps、pwdコマンドを追加実装しました。cdも実装中ですがcurrent processのcurrent dentry構造体を書き換えるとその後シェルのループが固まってしまいます。cdコマンドが実装出来たら一旦リリースかな。 sodex rev.48

OS作成 - シェル編

色々とカーネル内部を整備しつつcatコマンドを実装。catというよりほとんどシェルの引数argvをどうやって新規プロセスに渡すかという部分をやってました。また、execveといいつつどちらかというとforkのような動きになっているためコマンドを打った直後に先…