시스템 콜이란
운영체제에서 프로그램이 구동되는데 있어 파일을 읽어 오거나, 파일을 쓰거나,
혹은 화면에 메시지를 출력하는 등 많으 부분이 커널 모드를 사용한다.
시스템 콜은 이러한 커널 영역의 기능을 사용자 모드가 사용 가능하게, 즉
프로세스가 하드웨어에 직접 접근해서 필요한 기능을 사용할 수 있게 해준다.
( 프로세스가 운영체제 기능을 사용할 수 있게 요청)
시스템 콜들은 실제로 운영체제에서 사용하라고 만들어놓은 코드들(함수)로,
프로그래밍을 할 때 시스템콜이 들어있는 헤더파일을 불러와서 사용합니다.
System Call 은 사용자 프로세스가 소프트웨어 인터럽트를 통해 커널의 기능을 이용하기 위한 서비스를 요청하는 하나의 방법이다.
처리방식
- 사용자 프로세스가 시스템 콜을 요청하면 제어가 커널로 넘어옴(사용자 모드 -> 커널 모드)
- 커널은 내부적으로 각각의 시스템 콜을 구분하기 위해 기능별로 고유번호를 할당하고,
그 번호에 해당하는 제어루틴을 커널 내부에 정의 - 커널은 요청받은 시스템 콜에 대응하는 기능번호를 확인
- 커널은 그 번호에 맞는 서비스 루틴을 호출
- 서비스 루틴을 모두 처리하고 나면 커널 모드에서 사용자 모드로 다시 전환
System Call 기능
- 사용자 모드에 있는 응용 프로그램이 커널의 기능을 사용할 수 있도록 한다.
- 시스템 호출을 하면 사용자 모드에서 커널 모드로 바뀐다.
- 커널에서 시스템 호출을 처리하면 커널 모드에서 사용자 모드로 돌아가 작업을 계속한다.
현대 운영체제는 수백개의 시스템 콜을 가지고 있음
시스템 콜의 종류
- 프로세스 컨트롤
- 프로세스 생성 및 종료
- 메모리에 로드, 실행
- 프로세스 속성 값 확인, 지정
- wait 이벤트, signal 이벤트
- 메모리 할당
- 파일 메니지먼트
- 파일 생성, 파일 삭제
- 열기, 닫기
- 읽기, 쓰기, Reposition
- 파일 속성 값 확인, 지정
- 디바이스 매니지먼트
- 디바이스 요청 및 해제
- 읽기, 쓰기, Reposition
- 디바이스 속성 확인, 지정
- 비 물리적인 디바이스 해제 및 장착
- 정보 관리
- 시간 확인, 시간 지정
- 시스템 데이터 확인, 지정
- 프로세스, 파일, 디바이스 속성 가져오기
- 프로세스, 파일, 디바이스 속성 설정하기
- 커뮤니케이션
- 커뮤니케이션 연결 생성 및 삭제
- 메시지 송신, 수신
- 상태 정보 전달
- remote 디바이스 해제 및 장착
- 보안
- Permission 획득
- Permission 설정
참고자료 : https://fjvbn2003.tistory.com/306 [Chaos and Order:티스토리],
https://mamu2830.blogspot.com/2021/01/whatIsSystemCall.html [마무],
'Computer Science' 카테고리의 다른 글
파일 시스템이란? (0) | 2022.07.28 |
---|---|
경쟁상태란 무엇일까 (0) | 2022.07.06 |
인터럽트란? (Interrupt) (0) | 2022.06.29 |
프로세스와 스레드의 차이 (0) | 2022.06.14 |
파이프라인이란? (0) | 2022.06.09 |