PE勉強会に参加
2/27(土)にid:n7shiさんの主催したPE勉強会に参加してきました。
覚えたこと
- PEファイルフォーマットにはELFフォーマットのようなセグメントの概念はない。セクションがメモリにマッピングされる。
- comファイルはヘッダ情報がなく、実行命令がファイルの先頭から書きこまれている。
comファイルにヘッダがないというのは昔はじめて読む8086―16ビット・コンピュータをやさしく語る (アスキーブックス)だかはじめて読むMASM―ソフトウェア環境のからくりを学ぶだかを読んで、debugコマンドで遊んだ時に知ったことでしたが、すっかり忘れていました。
……そういえばMicrosoft環境でのプログラミングって10年くらいしていない。
BeagleBoard-xMがとどく
注文していたBeagleBoard-xMが先週とどきました。サイズがわかるように手でもった写真を載せてきます。
これで、やっと組み込みAndroid本に着手できるようになりました。
- 作者: 坂本俊之,出村成和,渡邊昌之
- 出版社/メーカー: シーアンドアール研究所
- 発売日: 2010/12/23
- メディア: 単行本
- 購入: 9人 クリック: 464回
- この商品を含むブログ (14件) を見る
BeagleBoard-xMで14000円、SDカード2000円、カードリーダー/ライターで700円くらいかかりました。
入門gitを読む
入門gitを読みました。
- 作者: 濱野純(Junio C Hamano)
- 出版社/メーカー: 秀和システム
- 発売日: 2009/09/24
- メディア: 単行本
- 購入: 31人 クリック: 736回
- この商品を含むブログ (155件) を見る
gitの開発者が書いた本です。
実際の使い方、利用のされかただけでなく、gitの思想、なぜそうなのかや、git内部でのデータの持ち方などが書かれていて非常に参考になりました。
gitを使っている人は是非読んでみるとよいと思います。
全12ステップ完了 - 12ステップ本を試す その5
12ステップ本に沿って作成したOSづくりは先日最後の12ステップまですべて完了しました。
感想をまとめておこうと思います。
- 作者: 坂井弘亮
- 出版社/メーカー: カットシステム
- 発売日: 2010/05/01
- メディア: 単行本
- 購入: 24人 クリック: 252回
- この商品を含むブログ (39件) を見る
この本最後まで作ってみましたが、本当に良い本です。
この本で学べたことは下記のような内容です。
- 実行形式ファイルELFの理解とローダの実装
- OSの基本機能の理解と実装
- 割り込みの処理の実装
- タスクスケジューリングの実装
- メモリ管理の実装
- タスク間通信の実装
- シリアルコンソールドライバの実装
これらのものが、Minix本よりシンプルに実装され、全ソースコード解説されているので、OS周りの学習をしている私にはとても参考になりました。
巻末にも書いてあるとおり、この本で実装するソースコードはブートローダとOS合わせても2721行というコンパクトなサイズで、それを12ステップの段階にわけ、少しずつ実装を修正・追加しながら最終型に近づけていくという流れでの学習なので、忙しい仕事の中でもモチベーションを保ちながら少しづつ進めていくことができ、とても助かりました。
また今後の応用として、
- 他のプロセッサへの移植
- TCP/IP対応
など、著者の坂井さん(小僧さん)が色々トライしていることに自分で挑戦することも考えられます。
コンパクトで理解しやすく、扱いやすいOSなので私でもこういったことにチャレンジできそうです。これらについては今後試してみたいと思っています。
BeagleBoard-xMを注文
- 作者: 坂本俊之,出村成和,渡邊昌之
- 出版社/メーカー: シーアンドアール研究所
- 発売日: 2010/12/23
- メディア: 単行本
- 購入: 9人 クリック: 464回
- この商品を含むブログ (14件) を見る
先日この本を買ったので、BeagleBoard-xMを注文しました。
いつ頃届くのだろう。
楽しみです。
リンカ・ローダ実践開発テクニック
12ステップ本が区切りついてきたので、12ステップ本と同じkozoさんが書いた本、リンカ・ローダ実践開発テクニックを読み始めることにしました。
リンカ・ローダ実践開発テクニック―実行ファイルを作成するために必須の技術 (COMPUTER TECHNOLOGY)
- 作者: 坂井弘亮
- 出版社/メーカー: CQ出版
- 発売日: 2010/08/01
- メディア: 単行本
- 購入: 6人 クリック: 55回
- この商品を含むブログ (16件) を見る
タスク間通信実装完了 - 12ステップ本を試す その4
今週は体調が悪かったんですが、土曜の夜ごろに体調がよくなってきたので、今日少しだけ頑張って12ステップ本を進めました。
- 作者: 坂井弘亮
- 出版社/メーカー: カットシステム
- 発売日: 2010/05/01
- メディア: 単行本
- 購入: 24人 クリック: 252回
- この商品を含むブログ (39件) を見る
11thステップのタスク間通信まで実装完了できました。
今回もOSを受信するbuffer領域のサイズをリンカ・スクリプトで修正する必要がありましたが、大きな問題はなし。
あとは12thステップを残すのみです。