プロセスとパイプの概念を分かってもらうための説明を行う。
最初に、昨日のパーミッションの説明を踏まえ、/etc/passwd , /etc/group などで、 UserID,GroupIDといった概念を説明する。 次にプロセスの説明として、ps , kill コマンドの使い方を示し、ProcessIDや システム管理者(root)などの考え方を理解してもらう。
次に、パイプの概念を分かってもらうために、while-getchar-putchar-toupper の大文字変換の プログラムを示して、出力リダイレクト・入力リダイレクトを説明する。 最後にパイプの概念を説明して、 簡単なプログラムを組み合わせて処理を書くことができることの 説明をする。
パイプの便利さと、マルチタスクとシングルタスクの違いを説明するために、 iPhoneアプリを例にとって説明をする。 iPhoneアプリはシングルタスクOSだから、パイプを使ったプログラムは書けない、 だからこそ1つのプログラムで全機能を実装しなくちゃいけない。 プログラムの切り替え要求がくると、「プログラムは遺言を残して死ね」、 プログラムの再起動の時には、「遺言を読んで生き返れ」といった処理が行われる…といった 処理が行われることを説明する。
まあ、マルチタスクだって、遺言を残す場所が主記憶なだけでタイムスライス毎に、 ちょっぴり死んでいて…という言い方もできるけど..