미새문지

크래프톤 정글 week09, day67 - 시스템 콜 함수 간단정리 본문

크래프톤 정글/TIL

크래프톤 정글 week09, day67 - 시스템 콜 함수 간단정리

문미새 2024. 3. 15. 10:06
728x90

System Call(시스템 콜)

  • 어플리케이션 혹은 사용자 프로그램이 운영체제의 핵심 기능을 사용하기 위해 커널에 요청을 보내는 인터페이스
  • 즉, 사용자 모드에서 실행되는 프로그램이 시스템의 하드웨어 자원이나, 운영체제가 제공하는 낮은 수준의 서비스를 이용하고자 할 때 사용된다.

 

시스템 콜의 필요성

  • 컴퓨터 시스템은 보안과 안정성을 위해 유저 모드(User Mode)와 커널 모드(Kernel Mode) 두 가지 실행 모드를 구분한다.
  • 유저 모드에서 실행되는 프로그램은 직접 하드웨어를 제어할 수 없으며, 이러한 제한은 시스템이 보안을 유지하고, 잘못된 프로그램이 시스템에 해를 끼치는 것을 방지하기 위함
  • 따라서 하드웨어 자원에 접근하거나 운영체제의 특정 기능을 이용하고자 할 때는 시스템 콜을 통해 커널에 요청을 보내야 한다.

 

시스템 콜의 종류

프로세스 관리(Process Management)

fork(): 새 프로세스 생성

exit(): 프로세스 종료

wait(): 프로세스 종료 대기

execve(): 새 프로그램 실행

getpid(), getppid(): 프로세스 ID, 부모 프로세스 ID 획득

 

파일 조작(File Manipulation)

open(), close(): 파일 열기 및 닫기

read(), write(): 파일 읽기 및 쓰기

lseek(): 파일 내 위치 변경

stat(), fstat(): 파일 상태 정보 획득

 

디렉토리와 파일 시스템 조작(Directory and File System Manipulation)

mkdir(), rmdir(): 디렉토리 생성 및 삭제

chdir(): 작업 디렉토리 변경

rename(): 파일/디렉토리 이름 변경

 

통신(Communication) 및 네트워킹(Networking)

socket(), bind(), listen(), accept(), connect(): 소켓 통신 설정 및 연결

send(), recv(): 데이터 송수신

 

메모리 관리(Memory Management)

brk(), sbrk(): 힙 영역 관리

mmap(), munmap(): 메모리 매핑 및 해제

 

사용자 및 권한 관리(User and Permission Management)

chmod(), chown(): 파일 권한 및 소유자 변경

 

 

학습 시간 : 10 ~ 25시

728x90