Computer Basics
시스템 콜(System Call)
Bumang
2023. 8. 22. 08:47
시스템 콜(System Call)이란?
사용자 프로그램이 디스크 파일을 접근하거나 화면에 결과를 출력하는 등의 작업이 필요한 경우, 즉 사용자 프로그램이 특권 명령의 수행을 필요로 하는 경우, 운영체제에게 특권 명령의 대행을 요청하는 것이 시스템 콜이다. (커널 모드의 명령을 사용자 모드에서 명령으로 할 수 있게 해주는 것이다.) SUDO 아닌가? 아님
시스템 콜의 유형
시스템 콜은 다섯 가지의 중요한 범주로 나눌 수 있다. 프로세스 제어, 파일 조작, 장치 조작, 정보 유지보수, 통신과 보호. 여기서는 각 범주들에 어떠한 기능들이 있는지만 간략하게 살펴본다. (자세한 내용을 알고 싶으면 홍릉과학출판사의 Operating System Concepts 8th Edition, 64page 부터 참고하길 바란다.)
=> 요약하자면 CPU가 CU(Control Unit)에 보내는 신호들 아닌가?
프로세스 제어(Process Control)
- 끝내기(end), 중지(abort)
- 적재(load), 실행(execute)
- 프로세스 생성(create process)
- 프로세스 속성 획득과 설정(get process attribute and set process attribute)
- 시간 대기(wait time)
- 사건 대기(wait event)
- 사건을 알림(signal event)
- 메모리 할당 및 해제 : malloc, free
파일 조작(File Manipulation)
- 파일 생성(create file), 파일 삭제(delete file)
- 열기(open), 닫기(close)
- 읽기(read), 쓰기(write), 위치 변경(reposition)
- 파일 속성 획득 및 설정(get file attribute and set file attribute)
장치 관리(Devide Management)
- 장치를 요구(request devices), 장치를 방출release device)
- 읽기, 쓰기, 위치 변경
- 장치 속성 획득, 장치 속성 설정
- 장치의 논리적 부착(attach) 또는 분리(detach)
정보 유지(Information Maintenance)
- 시간과 날짜의 설정과 획득(time)
- 시스템 데이터의 설정과 획득(date)
- 프로세스 파일, 장치 속성의 획득 및 설정
통신(Communication)
- 통신 연결의 생성, 제거
- 메시지의 송신, 수신
- 상태 정보 전달
- 원격 장치의 부착 및 분리
PS. GPT님의 말로는 sudo는 시스템콜이 아니라고 합니다.