[pipex]課題の概要



pipex課題の目的は,以下のShellコマンドと同様の操作を行う簡単なプログラムを作成することである.
< file1 cmd1 | cmd2 > file2
実現する機能は本当に簡単ですが、内容をよく見るのは簡単ではありません.
まず、必要な概念について議論しましょう.

プロセス


プロセスとは、プログラムとそのメモリで実行されるワークユニットです.
プログラムを実行すると、オペレーティングシステムはプログラムコードに必要なリソースを割り当て、プログラムコードはRAM上で実行されます.

リダイレクト

<:指定したファイルの内容を標準入力に移動します.>:標準出力の内容を指定されたファイルに転送します.

パイプ本

cmd1 | cmd2:cmd 1で生成された標準出力は、cmd 2の標準入力に変換される.
これらの内容に基づいて、次のコマンドを説明します.
< file1 cmd1 | cmd2 > file2
最初に表示されるリダイレクト記号の前には0(標準入力)が省略されています.
  • file 1の内容を標準入力に移動し、cmd 1を実行します.
  • cmd 1の出力ストリームは、パイプを介してcmd 2の標準入力に伝達される.
  • cmd 2の出力ストリームをfile 2に渡す.
  • 強制的な内容は、上記の内容を単純に表すものである.
    そのため,プログラムに渡されるパラメータをグループ化する関数と課題要求の機能を実現しなければならない.