表示調整
閉じる
挿絵表示切替ボタン
▼配色
▼行間
▼文字サイズ
▼メニューバー
×閉じる

ブックマークに追加しました

設定
0/400
設定を保存しました
エラーが発生しました
※文字以内
ブックマークを解除しました。

エラーが発生しました。

エラーの原因がわからない場合はヘルプセンターをご確認ください。

ブックマーク機能を使うにはログインしてください。
14/16

記憶を頼りに

 引き続きmem.cの調査結果報告。


 read_memを調べる。

 チャンク単位で読み込んでいるようだ。

 物理アドレスと仮想記憶との返還らしき関数もある。


 ループを利用しているがなぜ自作のデバイスドライバが無限ループを起こしたのか原因不明……


 多分ここでコケると皆死ぬくらい重要であると思われるcopy_to_userが使われている。

 こいつが無限ループの原因なのは見当がついているのだが対処方法はとんと不明。


 さらにkallocがある、おそらくmallocのカーネル版であると予想する、常時インライン展開される関数の模様。

 おそらくmallocが使えないのでシステムコールでメモリを確保しているはず。


 ここで物理アドレスと論理アドレスの返還らしきことを行っている場所が示唆されている。

 筆者のつたない英語力では詳細実装を追いきれない……


 ページング処理らしきものもあるが詳細は不明。


 現状こいつが一番読めるカーネルファイルなのでここを手がかかりに解読していくしかない、つらい……

評価をするにはログインしてください。
ブックマークに追加
ブックマーク機能を使うにはログインしてください。
― 新着の感想 ―
このエピソードに感想はまだ書かれていません。
感想一覧
+注意+

特に記載なき場合、掲載されている作品はすべてフィクションであり実在の人物・団体等とは一切関係ありません。
特に記載なき場合、掲載されている作品の著作権は作者にあります(一部作品除く)。
作者以外の方による作品の引用を超える無断転載は禁止しており、行った場合、著作権法の違反となります。

この作品はリンクフリーです。ご自由にリンク(紹介)してください。
この作品はスマートフォン対応です。スマートフォンかパソコンかを自動で判別し、適切なページを表示します。

↑ページトップへ