시스템 콜 레퍼런스
본 자료는 4페이지 의 미리보기를 제공합니다. 이미지를 클릭하여 주세요.
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
해당 자료는 4페이지 까지만 미리보기를 제공합니다.
4페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

시스템 콜 레퍼런스에 대한 보고서 자료입니다.

목차

1. 시스템 콜 명칭
2. 사용법
3. 설명
4. 분류

본문내용

서로 연결되어 있다. 그러므로 link 는 서로 다른 장치들 사이에는 사용이 불가능하다. 서로 다른장치(파일시스템) 사이를 연결하려면 symlink(2) 를 사용해야 한다.
23
ulink()
#include
int unlink(const char *pathname);
unlink 는 파일 시스템에서 pathname 이름을 가진 파일을 지운다. 만약 지우려는 파일이 파일에 대한 가장최근연결(링크가 오직 하나라면) 이며, 다른 어떠한 프로세스도 이 파일을 열고 있지 않다면, 파일은 지워지고, 파일이 사용한 공간은 사용가능하도록 파일시스템에 되돌려준다.
만약 지우려는 파일의 가장 최근 연결된 파일이지만, 이 파일을 다른 프로세스가 열고 있다면, 다른 프로세스가 이 파일을 닫을때까지 파일은 존재한체로 남게 되다.
만약 pathname이 심볼릭 링크파일이라면 연결은 제거된다.
24
chmod()
#include
#include
int chmod(const char *path, mode_t mode);
path로 주어진 파일의 모드를 mode 모드로 변경한다. 모드는 다음과 같이 or'ing 에 의해서 변경할수 있다.
S_ISUID
04000 실행을 위한 사용자 ID 설정
S_ISGID
02000 실행을 위한 그룹 ID 설정
S_ISVTX
01000 스티키 비트
S_IRUSR
04000 유저에 대하여 읽기 권한
S_IWUSR
02000 유저에 대하여 쓰기권한
S_IXUSR
00100 유저에 대하여 실행/접근 권한
S_IRGRP
00040 그룹에 대하여 읽기 권한
S_IWGRP
00020 그룹에 대하여 쓰기권한
S_IXGRP
00010 그룹에 대하여 실행/접근 권한
S_IXGRP
00010 그룹에 대하여 실행/접근 권한
S_IROTH
00004 다른 사람에 대하여 읽기 권한
S_IWOTH
00002 다른 사람에 대하여 쓰기 권한
S_IXOTH
00001 다른 사람에 대하여 실행/접근 권한
프로세스의 유효 UID 는 0(root)이거나 파일의 소유자와 같아야 한다.
프로세스의 유효 UID 가 0이 아니고 파일의 그룹의 프로세스의 그룹 유효 ID나 추가 그룹 ID중 하나가 다르다면 S_ISGID 비트는 꺼지게 된다. 그러나 에러를 유발하지는 않는다.
25
chown()
#include
#include
int chown(const char *path, uid_t owner, gid_t group);
int fchown(int fd, uid_t owner, gid_t group);
int lchown(const char *path, uid_t owner, gid_t group);
chown(2) 계열의 함수들은 path에 지정되어있는 파일 혹은 fd(파일지정자)가 가르키는 파일의 소유(및 그룹)권한을 변경하기 위해 사용된다. chown(2)을 이용해서 파일의 권한을 변경하기 위해서는 해당 파일에 대한 권한을 가지고 있어야 한다. 슈퍼유저는 임의로 권한의 변경이 가능하다.
lchown(2)은 심볼링 링크(sybolic links)에 대한 소유 권한을 변경 하기 위한 목적으로 과거(2.1.x)에 사용되었었다. 그러나 최근의 커널들은 심볼릭 링크에 대한 권한 변경을 허용하지 않는다. lchown(2)역시 내부적으로 chown(2)와 동일한 시스템 콜을 사용한다.
26
lseek()
#include
#include
off_t lseek(int fildes, off_t offset, int whence);
lseek()는 열린 파일 지정자 fildes로 부터 offset만큼 위치를 변경한다. 위치 변경시 기준점을 정할 수 있는데 whence를 이용해서 지정가능 하다.
SEEK_SET
파일의 처음을 기준으로 offset을 계산한다.
SEEK_CUR
파일의 현재 위치를 기준으로 offset을 계산한다.
SEEK_END
파일의 마지막을 기준으로 offset을 계산한다.
실수로 파일의 마지막을 초과해서 lseek를 사용했을 경우 lseek에서 리턴을 하지는 않지만 write()혹은 read()에서 에러를 발생하게 되므로 주의 해야 한다.
27
access()
#include
int access(const char *pathname, int mode);
access 는 프로세스가 pathname 으로 지정된 파일에 대해서 읽기, 쓰기, 실행권한을 가지고 있는지 체크한다. 만약 pathname 파일이 심볼릭링크된 파일이라면 원본 파일을 체크한다.
mode 는 R_OK, W_OK, X_OK, F_OK 로 구성된다.
R_OK 는 읽기, W_OK 는 쓰기, X_OK 는 실행 여부를 체크하며 F_OK 는 파일의 존재유무를 체크한다.
28
rename()
#include
int rename(const char *oldpath, const char *newpath);
파일의 이름을 바꾸거나, 필요할 경우 파일을 이동시킨다. 하드링크 파일은 영향을 받지 않는다.
29
mkdir()
#include
#include
#include
#include
int mkdir(const char *pathname, mode_t mode);
mkdir(2)는 pathname이름을 가지는 디렉토리를 만들려고 시도한다.
mode는 사용할 수 있는 권한에 대한 허가권을 지정한다. 이것은 일반적으로 umask에 의해 수정된다. 만들어진 파일의 허가권은 (mode & ~umask)이다. 새롭게 만들어진 디렉토리는 프로세스의 유효(effective) uid의 소유이다. 만알 파일을 포함하는 디렉토리가 그룹 id비트가 설정되어 있거나 파일 시스템이 BSD 그룹 의미로 마운트 되어 있다면, 새 디렉토리는 부모로 부터 그룹 소유권을 상속받는다. 그렇지 않으면, 프로세스의 유효 gid의 소유가 된다.

키워드

  • 가격1,000
  • 페이지수12페이지
  • 등록일2004.09.23
  • 저작시기2004.09
  • 파일형식한글(hwp)
  • 자료번호#268344
본 자료는 최근 2주간 다운받은 회원이 없습니다.
청소해
다운로드 장바구니