Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- pintos
- 핀토스
- corou
- HTML
- 시스템콜
- 티스토리챌린지
- 오블완
- Flutter
- Java
- 4기
- defee
- userprog
- 백준
- 알고리즘
- 크래프톤 정글
- 코드트리
- 소켓
- TiL
- 자바스크립트
- 모션비트
- JavaScript
- 큐
- 리액트
- 사이드프로젝트
- CSS
- 크래프톤정글
- Vue.js
- 자바
- 스택
- 나만무
Archives
- Today
- Total
미새문지
크래프톤 정글 week09, day67 - 시스템 콜 함수 간단정리 본문
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 |