1.ユニバーサルIOモデルがどのオブジェクトに使用されていますか?
通常のファイル、パイプ、FIFO、端末、機器、ソケット
2.なぜ、すべての標準的なファイルオープンの文字を処理開始をしましたか?
プログラムが起動し、プログラムのためのシェルのオープン標準のファイル識別子の前に、他の言葉で、プログラムはシェルのオープン・ファイル記述子を継承します。
リダイレクトした場合、シェルの標準的なファイルディスクリプタを調整し、その後、フォークのプログラムとなります。
3.標準のファイルディスクリプタとは何ですか?
0 STDIN_FILENO STDIN
1 STDOUT_FILENOの標準出力
2 STDERR_FILENOの標準エラー出力
4.なぜそれがユニバーサルIOと呼ばれていますか?
一般的なファイル、FIFO、パイプライン、端子、ソケット、デバイスを:すなわち、共通のIO APIプログラムを使用しては、以下を含む、一連のファイルを使用することができます。
一般的な前提ファイルIOを使用することができるようにするには、同じコールセットを達成するために、IOシステムです。
あなたは特別な機能のファイル利用可能のioctlを使用する必要がある場合。
オープンに注意を払う必要のある事項5.?
それがシンボリックリンクの場合、間接参照されます、pathname引数を開きます。
O_CLOEXEC内のフラグは、で、自動的に閉じるファイルディスクリプタをexecを実行します。
6.注意を払うにどのようなニーズを読むには?
ファイルの終わりを示す、戻り0を読み出します。
一般的に、我々は書きます
チャー BUF [MAX_READ + 1 ]。 nバイト = リード(FD、BUF、MAX_READ)。 BUF [nバイト] = 0 ;
ストリングのリード端部が設けられていないので、追加のバイトを定義する必要があります。
返された値の7.write場合は、値未満を記述する必要があります、どのようにこれが起こっていますか?
操作は、ディスク・ファイルの場合は、ディスクがいっぱいであることを示します。
注意を払うには何8.lseek必要?
lseekオフセットは負でもよいです。
lseekは、パイプライン、FIFO、ターミナル、ソケットには適用されません(これらの特性が読み出され、データがなくなっています)
lはオフセットとして意味長いのlseekが長い表します。
9.空のファイル
Linuxの空のファイル(なぜ、サンダーはまだディスクを占有し、ファイルが空で、ファイルをダウンロードしている)ではないウィンドウの上に、ユニークです。
ファイルは、ファイルサイズが空になっています>ディスクブロックを占めます。
唯一の書き込みデータは、唯一の空のように、ディスク・スペース、空のセクションを割り当て、スペースを割り当てません。
データの1バイトのみが書かれている場合は、ディスクの割り当てはブロック単位に基づいており、ディスク・ブロックは、ディスクブロックを割り当てます場合。
10.ioctl有用性?
ファイルの特別な機能を使用してください。