ncが奇数ならばバッファにnull文字を追加し、ncをインクリメント。この処理はなんのため?・プログラムファイルの先頭8byte(4word)を取得ファイルのヘッダのフォーマットはどこで確認できるだろう?先頭4wordのそれぞれの意味は3079からのコメントを参考。ファイルの種類?によって分岐。W0が0407(テキストセグメントが保護されていない?)ならばデータセグメントサイズにテキストセグメントサイズを足す。・テキストサイズとデータサイズの可能な限り拡張する何のため?ここの処理以降、理解が足りていません。スワップ処理やファイル処理などを理解してから復習する予定です。テキストセグメントサイズの7bit目を切り上げて、6bit右シフト。estaburを使ってユーザセグメンテーションプロトタイプを設定。readi用のパラメータを設定してから、readiを実行しデータセグメントを読み出す・スタックセグメントの初期化スタックセグメントを初期化し、スタックにプログラムに対する引数を詰めます。manualを見ると、このように設定するらしいです。ユーザープロセスのスタックポインタを設定。スタックの後ろに-1を積む引数の設定を絵にするとこんな感じだと思います。引数周りはイメージしかつかめていません。今後詳細を追いたいです。各シグナルの設定が偶数ならば0クリアする。コピーしていたinodeを元に戻す。execntがNEXEC以上ならば、寝ているプロセスがいるかもしれないので起こす。その後execntをデクリメントするsbreakbreakシステムコールを実現します。データセグメントサイズを変更します。malloc周りで使用されるらしいです。estaburでユーザセグメンテーションプロトタイプを設定。新データセグメントサイズが拡張なのか縮小なのかで分岐。execシステムコールを使うことで、プログラムを実行できることが確認できました。execは理解が薄い箇所があります。スワップやファイル処理を把握してから復習したいです。7章で扱ったアドレス空間(データセグメントやテキストセグメントなど)についても復習する必要がありそうです。それにしても、今回の内容は重かったです。次章も量が多く大変そうです。Physics月別アーカイブはてなブログをはじめよう!takahiroxさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。