CS/OS

[OS] 시스템 콜

겜도리도리 2022. 5. 5. 22:20
반응형

개요

대다수의 운영체제들은 커널 모드와 사용자 모드가 구분되어 있다.

커널 모드는 모든 컴퓨터 리소스에 접근할 수 있다.

사용자 모드는 일반적인 프로그램이 작동되는 영역으로 컴퓨터 리소스에 제한적으로 접근이 가능하다.

따라서 커널 모드에 대한 직접적인 접근이 불가능한데, 이 때 커널에 작업을 요청하여 커널 모드에 처리한 결과를 사용자 모드의 프로그램에게 전달하는 것이 시스템 콜이다.

 

open()이라는 시스템 콜을 처리하는 예시

기능

시스템 콜은 다음과 같은 기능이 있다.

1. 사용자 모드에 있는 응용 프로그램이 커널의 기능을 사용할 수 있도록 한다.

2. 시스템 콜을 하면 사용자 모드에서 커널 모드로 바꿔준다.

3. 커널에서 시스템 콜을 처리하면 커널 모드에서 사용자 모드로 돌아가 작업을 계속한다.

유형

시스템 콜의 유형은 다음과 같다.

 

1. 프로세스 제어

프로세스를 끝내고(End) 중지(Abort)하고 적재(Load)하고 수행(execute)한다.

또한 프로세스를 생성하고 종료한다.

그 외에도 프로세스 혹성을 획득하거나 속성을 설정할 수 있다.

이벤트나 시간을 기다리기도 하고, 이벤트를 알리기도 한다.

메모리 할당 및 자유화도 담당한다.

 

2. 파일 조작

파일 생성, 파일 삭제, 열기(Open) 및 닫기(Close)

읽기, 쓰기, 위치 변경(Reposition)

파일 속성 획득 및 설정

 

3. 장치 관리

장치를 요구(Request)하거나 방출(Release)

읽기, 쓰기, 위치 변경(Reposition)

장치 속성을 획득하거나 설정함

장치를 논리적으로 부착(Attach)하거나 분리(Detach)함

 

4. 정보 유지

시간과 날짜 설정 및 획득

시스템 데이터 설정 및 획득

프로세스, 파일, 장치 속성의 설정 및 획득

 

5. 통신

통신 연결 생성 및 제거

메시지 송신, 수신

상태 정보 전달

원격 장치 부탁 및 분리

 

6. 보호

파일 권한 얻기 및 설정하기

 

반응형

'CS > OS' 카테고리의 다른 글

[OS] 프로세스  (0) 2022.08.02
[OS] 시스템 프로그램  (0) 2022.08.01
[OS] Paging  (0) 2022.06.13
[OS] VMM  (0) 2022.05.29
[OS] 커널 (마이크로 커널, 모놀리틱 커널)  (0) 2022.05.05