티스토리 뷰

운영체제

[운영체제] 시스템 콜

Hani_Levenshtein 2020. 9. 20. 04:31

안녕하세요 Hani입니다.

지난 포스팅에선 프로세서의 연산을 방해하지 않기위해 예외상황이나 I/O 장치를 관리하는 인터럽트가 존재함을 알아봤습니다.

이번에는 시스템 콜 인터럽트라는 것을 알아볼 것입니다.


System Call

 

시스템 콜이 무엇인지 설명하기에 앞서 우리는 OS 와 어플리케이션의 관계를 다시 상기해볼 필요가 있습니다.

 

어플리케이션은 사용자로 부터 받은 명령을 실행하기 위해 OS 에게 요청을 합니다.

OS는 프로세스로부터 요청받은 자원 (메모리, CPU, I/O 장치)을 허가하고 할당합니다.

 

이런 요청을 받는 운영체제 서비스로는 프로세스 관리, 주기억장치 관리 등 중요한 서비스들이 존재합니다.

사소하지만 우클릭해서 파일을 하나 만드는 것도 OS 를 거쳐야 합니다.

OS 의 허락없이 명령이 실행되지 않는 이유는 사용자의 실수나 고의에 의해서 하드웨어나 시스템 소프트웨어가 망가지는 것을 방지하기 위함입니다.

 

영역을 나누자면 바깥의 사용자 모드 (User Mode)와 안쪽의 커널 모드 (Kernel Mode)로 나눌 수 있는데 OS의 영향 아래에 있는 커널 모드로 진입해야만 합니다.

 

이를 위해 운영체제는 사용자 모드에서 커널 모드로 들어오기 위한 명령들이 존재하는 System Call Interface를 제공합니다.

System Call Interface에 존재하는 명령을 호출하여 OS의 커널 서비스를 요청하는 것을 시스템 콜이라고 합니다.


시스템 콜에 대한 포스팅이었습니다.

오타 지적과 조언은 언제나 환영입니다.

'운영체제' 카테고리의 다른 글

[운영체제] 프로세스 동기화  (0) 2020.12.24
[운영체제] CPU 스케쥴링  (0) 2020.12.24
[운영체제] 인터럽트  (0) 2020.09.15
[운영체제] 운영체제와 HW, SW  (0) 2020.09.15
[운영체제] 부팅  (0) 2020.09.04
댓글