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
'크래프톤 정글 > TIL' 카테고리의 다른 글
크래프톤 정글 week09, day69 - VFS Layer, Generic Block Layer, 시스템 콜 무한 에러 중 (1) | 2024.03.17 |
---|---|
크래프톤 정글 week09, day68 - 시스템 콜 구현 막혀있는 중 (2) | 2024.03.16 |
크래프톤 정글 week08, day66 - userprog 뜯기 (1) | 2024.03.14 |
크래프톤 정글 week08, day65 - Atomic Operation, Rax Register, Cache (1) | 2024.03.12 |
크래프톤 정글 week08, day64 - "User Mode vs Kernel Mode", "Register vs Memory", User Stack, 잔디심기 (1) | 2024.03.11 |