프로세서의 특권 레벨로 프로세서의 모든 명령을 처리하며 시스템의 자원이나 하드웨어를 직접적으로 엑세스하여 컨트롤할 수 있는 모드. 실제 장치 드라이버나 운영체제 프로그램이 구동하는 모드
일반 응용 프로그램이 동작하는 비특권 모드. 시스템의 자원이나 하드웨어를 직접적으로 컨트롤 할 수 없으며 이를 하기 위해서는 System call(시스템 콜)을 사용해야 한다.
운영 체제의 커널이 제공하는 서비스에 대해, 응용 프로그램의 요청에 따라 커널에 접근하기 위한 인터페이스
즉, 프로세스가 컴퓨터를 관리하는 시스템(system)인 운영체제에게 어떤 기능(서비스)를 사용하게 해달라고 요청(call)할 때 사용하는 방법
시스템 콜(System call)은 내부 인터럽트
(==SW 인터럽트
, Trap
)의 한 종류로 볼 수 있다.
프로세스 제어
exec()
: 다른 프로그램의 실행fork()
: 새 프로세스의 생성wait()
: 자식 프로세스가 끝날 때 까지 대기파일 조작 : 파일 생성, 삭제, 관리 등 (open()
, read()
, write()
, ...)
장치 관리 : 장치 요구 및 장치 해제, 읽기, 쓰기, 재배치 등
정보 유지: 시간과 날짜의 설정과 획득, 시스템 자료의 설정과 획득
통신 : 통신 연결의 생성 및 제거, 메시지의 송수신, 상태 정보 전달 등
(공유 메모리에서 다른 프로세스 소유 메모리 접근 시)
https://github.com/haewon-park/csStudy/blob/5b257ba07925220d9f0c2d533bbdee358511c878/OS/systemCall.md
https://velog.io/@woo0_hooo/%EA%B8%B0%EC%88%A0%EB%A9%B4%EC%A0%91%EB%8C%80%EB%B9%84-System-Call%EC%9D%B4%EB%9E%80
https://mamu2830.blogspot.com/2021/01/whatIsSystemCall.html