O_NONBLOCK または O_NDELAY
ファ イルは非停止(non-blocking)モードでオープンされ
る。 open や他の、そのファイル・ディスクリプター に
対 するすべての操作も呼び出したプロセスを待たせるこ
となく返される。 FIFO (ネームド・パイプ)を扱う場 合
には fifo(4) も参照すること。
O_SYNC ファ イルは同期(synchronous) I/O モードでオープンさ
れる。そのファイル・ディスクリプターに対する全て の
write は、対応するハードウェアに物理的に書き込まれ
るまで呼び出したプロセスに戻らない。 以下の「制限」
を見よ。
と書いてある。
for(i=0;i<2;i++){
write(fd,buf,0x500000);
printf("5MB.\n");
}
open時に「O_SYNC」フラグを立ておくと、完全に5MB書き込むまで動作がブロックされるので、printfの"5MB."がなかなか表示されない。