[4월 29일 3교시] 라이브러리 파일 관련 함수 3 줄단위 입력 #include<stdio.h> char* fgets(char *buf, int n, FILE *fp); 기능 fp로 부터 입력, buf는 '\0'으로 끝난다. \n이 나올때까지 입력받아 \n까지 포함하여 buf에 저장. 입력한 문자열이 n-1을 초과하면 n-1개의 문자만 돌려준다. char *gets(char* buf); 기능 표준 입력으로부터 문자열을 읽음. 버퍼의 영역을 넘어 데.. 컴퓨터 공부/Advanced UNIX System Programming 2009.04.29
[4월 29일 2교시] 라이브러리 파일 관련 함수 2 freopen #include<stdio.h> FILE *freopen(const char *pathname, const char *type, FILE *fp); 기능 : fp가 가리키는 스트림(주로 stdin, stdout, stderr)으로 파일을 개방. 리턴 : 성공시 FILE포인터, 실패시 NULL (printf를 파일 스트림과 연결하여 txt파일에 출력가능하게 할 수 있다.) fdopen #include<stdio.h> FILE *fdopen(int filedes, const char *typ.. 컴퓨터 공부/Advanced UNIX System Programming 2009.04.29
[4월 29일 1교시] 라이브러리 파일 관련 함수 1 sync(), fsync() 기능 : 버퍼 캐시의 내용을 디스크에 쓰도록 한다. (실제 메모리와 캐시 사이에 inconsistency가 있을 때 synchronization을 위해 사용) #include<unistd.h> void sync(void); 데몬 프로세스에 의해 30초마다 호출. int fsync(int filedes); 지정된 파일에 대해서만 버퍼 캐시 내용에 대해 I/O작업을 수행. Blocking함수. .. 컴퓨터 공부/Advanced UNIX System Programming 2009.04.29
[4월 28일 3교시] 파일 및 디렉터리 관련 시스템 콜 link #include<unistd.h> int link(const char *existingpath, const char *newpath); 기능 존재하는 파일에 대해 새로운 디렉터리 항목 생성. i-node에 대한 연결 계수(link count) 1증가. 슈퍼 유저만이 디렉터리에 대한 링크 설정 가능. 서로 다른 파일 시스템 간 링크를 허용하지 않음. 리턴 : 성공시 0, 실패시 -1 unlink #include&l.. 컴퓨터 공부/Advanced UNIX System Programming 2009.04.28
[4월 28일 2교시] 접근 권한 개인적임 참고주소 : http://en.allexperts.com/q/Unix-Linux-OS-1064/real-effective-user-id.htm 참고주소 : http://blog.naver.com/PostView.nhn?blogId=andong_c&logNo=70031560512 파일 접근 모드 read, write, execute에 대한 user, group, other로 구성. 특수한 용도로는 suid, sgid, sticky비트로 구성. 디렉터리 접근 read : 파일들의 이름을 읽을 수 있음.. 컴퓨터 공부/Advanced UNIX System Programming 2009.04.28
[4월 28일 1교시] 파일 관련 시스템 콜2 추천사이트 : http://www.kldp.org file descriptor 복제 #include<unistd.h> int dup(int filedes); // 가장 작은 번호 int dup2(int filedes, int filedes2); // filedes2 번호 기능 : 사용 중인 file descriptor 복사, dup의 의미는 duplicate 리턴 : 성공시 할당 받은 descriptor번호, 실패시 -1 dup()호출 예시 dup2.. 컴퓨터 공부/Advanced UNIX System Programming 2009.04.28
[4월 27일 3교시] 파일 관련 시스템 콜 open : 파일열기 #include<fcntl.h> int open(const char *pathname, int oflag, mode_t mode); 기능 : 존재하는 파일을 열거나 새로운 파일을 만드는 함수. 리턴 : 성공시 fd값, 실패시 -1 pathname : 열고자 하는 파일의 이름 oflag : 플래그 - 단일 지정 : 읽기, 쓰기, 읽기/쓰기 - 중복 지정 O_APPEND(쓰기는 파일 끝 추가), O_C.. 컴퓨터 공부/Advanced UNIX System Programming 2009.04.27
[4월 27일 2교시] Test Macro _POSIX_SOURCE : POSIX에서 정의한 심볼만 사용 _XOPEN_SOURCE : XPG3에서 정의한 심볼만 사용 __STDC__ : ANSI C를 지원하는 컴파일러에서 상수로 정의 gcc의 -D옵션 : #define을 추가한다는 뜻. Primitive System Data Type(기본 시스템 데이터 형) <sys/types.h> : typedef로 정의된 변수 형태 파일시스템 참고주소 : http://blog.. 컴퓨터 공부/Advanced UNIX System Programming 2009.04.27
[4월 27일 1교시] Shell(쉘) 사용자가 명령을 읽어들여 실행하는 명령어 해석기 bash : Bourne Again SHell sh, csh, ksh, tcsh등 file descriptor(파일 디스크립터) 현재 사용하고 있는 파일을 유닉스 커널에서 인식하기 위해 사용. 양의 정수값 Calendar time 1970.1.1부터 초를 계산한 값 Process time clock time(프로세스를 수행하는 데 컬린 시.. 컴퓨터 공부/Advanced UNIX System Programming 2009.04.27