구)홈페이지 오탈자 보기
IT CookBook, 리눅스 프로그래밍 기초: 시스템 호출, 라이브러리 함수별 실습

 

페이지오탈자 내용등록일
122

(3)

PMP(Portable Multimedia Player)와 같은   ->  스마트폰과 같은

2010-07-202
123

(6)

다중 프로세서(Multi Processor)란 CPU를 의미하는데, 두 개 이상의 CPU를 가진
   ->  다중 프로세서(Multi Processor)란 2개 이상의 CPU로 구성된 컴퓨터 시스템을 의미하는데, 이러한

2010-07-202
124

(15)

해석되어서 올바른 형태라면   ->   해석되며 올바른 형태로 입력된 경우에는

2010-07-202
125

(P. 25 3번째문단 첫단어)

텟넷은

->

텔넷은

2007-03-091
125

(4)

네트워크를 통해 접속해야 한다.   ->   네트워크를 통해 접속할 수 있다.

2010-07-202
126

(6)

텔넷의 접속을 허용하지 않을 수 있는데, 아래의 예가 바로 그것이다.
   ->   텔넷의 접속을 허용하지 않고 대신 보안 기능이 제공되는 접속만 허용하는 경우가 있다. 아래의 예는 그러한 시스템에서 putty라는 보안 터미널 프로그램으로 접속한 경우이다.

2010-07-202
129

(9)

본 교재에서는 다소 불편하지만   ->   본 교재에서는 배포 또는 판매되는 패키지마다 상이할 수 있는  

2010-07-202
129

(14)

불편하지만 단순한 방법을   ->   매우 단순한 cat 명령어를 

2010-07-202
134

(P. 34 소스 6-7사이)

- P34 소스 6-7사이^D 빠짐
- P37 2번 소스 3-4사이
- P45 1번 소스 3-4사이

2007-03-091
135

(17)

gcc로 목적 코드를 생성하려면   ->  gcc로 실행 코드를 만드는 대신 목적 코드를 생성하려면

2010-07-202
137

(37쪽 첫 소스 구문)

gcc -o test test.c -> gcc -g hello hello.c로 수정합니다.

2013-01-024
1140

(290쪽 40번째 줄)

close(p1[1]);close(p1[1]);

===>

close(p1[1]);close(p2[1]);

2007-04-021
247

(1)

그 중에서 가장 중요한 것은 시스템 차원에서   
   ->  그 중에서 가장 중요한 것은 파일이란 시스템 차원에서

2010-07-202
365

(ex03-01.c의 코드분석 중 15행 설명)

15행: ~data.txt 파일을 읽기 전용으로 개방한다.

->

15행: ~data.txt 파일을 읽기/쓰기용으로 개방한다.

2007-05-151
365

(20)

디렉터리에 있는 data.txt 파일을 읽기 전용으로 개방한다.
   ->  디렉터리에 있는 data.txt 파일을 읽고쓰기용으로 개방한다.

2010-07-202
365

(22)

프로그램 ex03-01이 data.txt 파일을 읽기 전용으로 개방했다.
   -> 프로그램 ex03-01이 data.txt 파일을 읽고쓰기용으로 개방했다.

2010-07-202
368

(68페이지의 5행과 9행 등)

data.txt 파일를 읽기 전용 상태로 ~~

->

data.txt 파일를 읽기/쓰기 상태로 ~~

2007-05-151
368

(10)

다시 파일의 내용을 모두 읽어서 화면에   -> 다시 파일의 내용을 읽어서 화면에

2010-07-202
368

(68쪽 파일 기술자 설명 마지막 줄)

68쪽 파일 기술자 설명 마지막 줄(소스코드 윗줄)을 다음과 같이 수정합니다.

~여러 프로그램에 의해 개방되든, 유일한 값인 파일 기술자의 실제 값으로 특정 프로그램과 특정 파일 사이의 개방 상태를 식별할 수 있다.

2013-01-024
370

(7)

내용을 읽게 되면 [그림 3-1]과 같이 읽은 바이트만큼   ->  내용을 읽으면 그 크기만큼

2010-07-202
370

(15)

"nread = read(filedes, buffer, 1024);" 제거

2010-07-202
377

(5)

O_CREAT와 함께 사용하게 되며 지정한 경로의 파일이 존재하지 않을 때 
  ->  O_CREAT와 함께 사용하게 되면  지정한 경로의 파일이 존재하지 않은 경우 그 이름의 파일이 

2010-07-202
377

(6)

새로운 파일을 생성하는 것이므로 반드시 세 번째 인자인 mode를 기술해서 초기 접근 권한을 설정해줘야 한다. 다음은 open을 사용하여 파일을 개방하는 예제 코드다.

->  O_CREAT등을 통해 새로운 파일을 생성하는 경우에는 세 번째 인자인 mode를 기술해서 초기 접근 권한을 설정해주기도 한다. 다음은 open을 사용하여 새로운 파일을 개방하는 예제 코드이다.

2010-07-202
378

(4)

. == -1)   ->    == -1)

2010-07-202
385

(4)

nread) < nread)   ->  nread) == nread)

2010-07-202
385

(10)

사용된 nread보다 작은지를 검사하는   ->  사용된 nread와 같은지를 검사하는 

2010-07-202
4100

(4)

4행: 26행에 의해서 출력된다. 21행에서   ->  4행: 코드의 26행에 의해서 출력된다. 코드의 21행에서 
5행: 36행에 의해서 출력된다.            ->  5행: 코드의 36행에 의해서 출력된다.
6행~9행: 39행~42행에 의해서             ->  6행~9행: 코드의 39행~42행에 의해서

2010-07-202
4101

(3)

즉, umak에 의해 등록된   ->  즉, umask에 의해 등록된

2010-07-202
4117

(9)

나타내는 부분이 소문자 L로 표시되어지며  ->  나타내는 부분이 소문자 l로 표시되어지며

2010-07-202
4118

(6)

파일에 대한 경로를 아주 길 수도  ->  파일에 대한 경로가 아주 길 수도

2010-07-202
4119

([예제 4-9] 7줄)

int nread   ->  int nread;

2010-07-202
4122

(8)

dev_t st_dev     -> dev_t st_dev;
ino_t st_ino     -> ino_t st_ino;
mode_t st_mode   -> mode_t st_mode;

2010-07-202
4123

(1)

nlink_t st_nlink           -> nlink_t st_nlink;
uid_t st_udi               -> uid_t st_udi;
gid_t st_gid               -> gid_t st_gid;
dev_t st_rdev              -> dev_t st_rdev;
off_t st_size              -> off_t st_size;
timestruc_t st_atim        -> timestruc_t st_atim;
timestruc_t st_mtim        -> timestruc_t st_mtim;
timestruc_t st_ctim        -> timestruc_t st_ctim;
blksize_t st_blksize       -> blksize_t st_blksize;
blkcnt_t st_blocks         -> blkcnt_t st_blocks;

2010-07-202
4124

([예제 4-1] 8줄)

struct stat finfo   ->  struct stat finfo;

2010-07-202
5136

(예제 5-3)

① 소스에 추가 : #include <unistd.h>
② 09행 오타 수정 : directiry → directory

2009-07-062
5138

(14)

[NAME_MAX +1]  ->  [NAME_MAX + 1]

2010-07-202
5138

(19)

NULL을 반환한게 된다.  ->  NULL을 반환하게 된다.

2010-07-202
5143

(결과화면 4번째 줄)

결과화면 4번째 줄을 다음과 같이 수정합니다.

$ ex05-04 -> $ ex05-05
 

2013-01-024
6152

(14)

다른 사용자 동시에  ->  다른 사용자가 동시에

2010-07-202
6156

(17)

부모 프로세가 무엇인지 찾고   ->   부모 프로세스가 무엇인지 찾고

2010-07-202
6156

(23)

모든 프로세스를 자세한 정보로  ->  모든 프로세스의 자세한 정보를

2010-07-202
6162

(11)

를 누른 신호로 후면으로  ->  를 통해 후면으로

2010-07-202
6162

(26)

$ fg 1  ->  $ fg %1

2010-07-202
7175

(1)

생성하는 법에 대해서   ->   생성하는 방법에 대해서

2010-07-202
7190

(15)

함수가 수행할 수 있도록 하시오.   ->   함수를 수행할 수 있도록 하시오.

2010-07-202
8211

(211쪽 첫번째 문단 마지막 문장)

211쪽 첫번째 문단의 마지막 문장을 다음과 같이 수정합니다.

그리고 프로세스 식별 변호와 그룹 식별 번호가 같기 때문에 그룹의 리더란 것을 알 수 있다
=> 그리고 프로세스, 그룹 식별 번호가 세션 식별 번호와 다르므로 그룹의 리더가 아닌 것을 알 수 있다.

2013-01-024
10238

(238 첫줄)

소스 컴파일후 실행 하면
 
    debian:~# ./a.out
    call raise(SIGUSR1) before blocking
    SIGUSR (10)
    Segmentation fault
    debian:~#

이렇게 나오고 더이상 진행 하지 않을 것입니다.

해결책은

17        act.sa_handler = handler; 
18        sigaction(SIGALRM,&act,NULL):

사이에 

act.sa_flags = 0 ; 추가 하시고 컴파일 및 실행하시면 됩니다.

2007-03-291
10242

(242 박스 안 : "인자"의 "반환값 "에서)

박스 안 : "인자"의  "반환값 "에서

  단 sigisnumber는 호출이 성공하면...

->

  단 sigismember는 호출이 성공하면...

2007-03-291
11284

(284쪽 위에서 4째줄)

alarm에 의해 SIGPIPE 시그널이 발생하면..

====>

alarm에 의해 SIGALRM 시그널이 발생하면..

2007-04-021