前回はカーネルにスタブ(KGDB)を仕込んでKGDBモードに切り替わるまで確認しました。これと母艦PCからGDBで接続してみることにします。下のURLの先頭の図のイメージです。最初から全部を見るのは厳しいし、実際に動いてるのを見た方が分かり易いし、デバッグも出来る。Flyswatter2が届きました。7日に注文してPriorityMail(2番目に早い)で本日13日に届きました。到着予定が6~10日と書いてあったので、早く届いたようです。V7から始めるUNIX講座ではからずも、生徒役をつとめることになり、ある程度は理解が深まったものの、まだまだ理解不足であり、ピースがちらばっている感じ。再度、勉強しようかなという気運が高まって来たので、まずは情報整理から。今回で16回目になります、早いものです。続きましたが、諸事情により、第16回でいったん区切りとさせて頂く事になりました。私自身も非常に勉強になりました、まごろくさん及び聴いていただいた方々に感謝いたします。forkしてexecというのは知っていましたが何故というのはずっともやもやでした。forkしてからexecしないことはないので最初から目的とするプロセスを起動すれば良いのにと。System360ではアドレスは24bitしかなかった。上位の8ビットをタグに使っていたりしたが、ハードウエアが変わったらプログラムが動かなくなった。ALGOLなどが前提としたスタックの観念を持たない。放送当日のG2Mの調子が悪くて前回の復習が中心になりますがご了承下さい。前回、何に使うのか(functionに登録するのは、何か)という話題がありました。sleep(3)です。あっという間でしたね。今回はクロック割り込みです。汎用OSでは、どんなプログラムが動くか分かりません。for(;;))するような、プログラムがいるかもしれません。・メモリ上に命令がリニアに並んでいる。・PC(プログラムカウンタ)に次に実行する命令のアドレスが書いてある。PCについては、以下を参照して下さい。バッファキャッシュに構造やロジックが記載されています。本日の内容を理解するのに役立ちます。お持ちの方は参照ください。initは、UNIX系システムのプログラムのひとつであり、他の全てのプロセスを起動する役目を持つ。全てのプロセスはinitの子プロセスになります。前回でディレクトリファイルにファイル名とinodeが対になって管理している。ディレクトファイルで管理している。VAX(DECの32ビットマシン)はリファレンスビットがなかった。ハードウエアによっては、エラー書き込み例外からの再実行が許さないものもあったので、この実装を参考にした。ページ・アウトの対象とする。→メモリが足らなくなってくると針が動き出す。以下の内容に対しての復習、補足です。最近使われていないものは今後も使われることがないと仮定する考え方です。→参照の局所性に基づきます。まとめ第2回はexec()です。前回まででfork()をざっと見ましたので、新しく作ったプロセスを別プロセスに化けさせるexec()です。第2回目が始まる前に30分ほど復習の時間をとっていただけましたので、メモを書いておきます。V7から始めるUNIX講座、UST中継しますが保存しないので記憶および視聴者の方のつぶやきを元にまとめながら、疑問に思ったことを書いていきます。いや面白かった、V7の関数って一つ一つは短い、1ページに収まるくらいです。Linuxのソースコード見るのは確かに敷居が高すぎる。V7で勉強して基本を押さえるってのは、良いなと思いました。写経を続けて、Entityの追加のとこまで来ました。開発してるとDBの内容はどんどん変わっていきますね。ウェブリブログこの広告は60日以上更新がないブログに表示がされております。以下の方法で非表示にすることが可能です。・記事の新規投稿をおこなう×この広告は1年以上新しい記事の投稿がないブログに表示されております。