Provided by: manpages-ko_20050219-2_all bug
        읽기를 시도한다.
 
        만일 count가 0이라면 read()는 0을 반환하며 다른 결과는  가지지  않는다.
        만일 count가 SSIZE_MAX보다 크다면, 결과는 예측할 수 없다.
        포인터의 위치는 읽은 수만이동된다.   만일  이  수가  요구된  바이트의
        수보다  작더라도  에러는  아니다;  이것은  실제로  즉시  이용할 수 있는
        바이트가 거의 없기 때문이거나 (아마도 이것은  파일의  끝이어 닫았거나
        파이프나 단말기에읽기 때문이다.) read()가 어떤 신호에 의해 인터럽트가
        되었기 때문이다.
 
        에러시, -1을 리턴하며 errno는 적당한 값으로  설정된다.   이  경우  파일
        포인터의 위치가 바뀔지 어떨지는 예측할수 없다.
        EAGAIN 넌-블록킹  I/O가 O_NONBLOCK을 사용하여 선택되어졌고 즉시 읽을 수
               있는 데이터가 없다.
 
        EIO    I/O 에러. 이것은  백그라운드  프로세스  그룹에  있는  프로세스가
               제어되는 tty 단말기에읽기를 시도할때, 그리고 이것이 무시되거나
               봉쇄되는 SIGTTIN이거나 또는 프로세스  그룹이  고아일때  일어낫
               또한  디스크나  테이프에 읽는동안 저레벨(low-level) I/O 에러가
               있을 때 일어낫
 
        EISDIR fd가 디렉토리를 가리킨다.
 
        EBADF  fd가 유효한 파일 기술자가 아니거나 읽기 위해 옆좋痴않았다.
 
        EINVAL fd가 읽기에 적당하지 않은 객체와 연결되었다.
 
        EFAULT buf는 접근할 수 없는 주소공간을 가리키고 있다.
 
        fd에 접속된 객체에 의존하여 다른 에러가 일어날 수 있다.  POSIX는 데이터
        일부를  읽은  후  인터럽트  되었을  경우 read가 -1이나( errno는 EINTR로
        설정된다.) 이미 읽은 바이트의 수를 리턴하도록 허용한다.
 

RESTRICTIONS

        NFS 파일 시스템에 읽은 적은 양의 데이터는 단지 처음 타임  스탬프에섯       갱신되며  연속적인  콜은  그렇게 하지 않는다.  이것은 캐싱(caching)하는
        클라이언트  쪽  특성  때문인데,  모든  NFS  클라이언트가   섰熾  접근
        시간(atime)  갱신을  하지는  않으며  클라이언트  쪽  캐쉬에 읽기를 한
        클라이언트는 섰쪽 읽기가 없기 때문에 섰熾접근시간 갱신을 하지  않기
        때문이다.   UNIX  구문은  클라이언트  쪽  캐싱  특성을  불가능하게 하여
        얻어지며  이것은  대부분의  상황에 섰  부하를   증가시키고   성능을
        감소시킨다.
        select(2), write(2), fread(3)