ハードリンク
echo hello > a
ln a b
cat a
>> hello
cat b
>> hello
echo good morning >> a
cat a
>> hello
>> good morning
cat b
>> hello
>> good morning
ページング
プログラムができるまで
- C言語のプログラムの「ビルド」は次のような複数の段階に分かれている
- preprocess
- #include, #ifdef, #define を処理して純粋なC言語のソースコードを表示する
gcc -E
でC言語のソースコードを処理すれば、preprocessだけで処理を中断した結果が出力される
- compile
- assemble
- link
- オブジェクトファイルから実行ファイルまたはライブラリを生成
基本的なプロセスAPI
- fork
- exec
- 自プロセスを新しいプログラムで上書きするシステムコール
- 実行すると、その時点で現在実行しているプログラムが消滅し、新しいプログラムをロードして実行
- fork して即座にexec するのが典型的な使用例
- wait
- forkしたプロセスの終了を待つ
- 子プロセスのうちどれか1つが終了するのを待つ
- waitpid(): 指定したプロセスが終了するのを待つ