[OS] 4. System call?

개잼·2023년 4월 22일
0
post-custom-banner

1. Kernel이 제공하는 2개의 Interface

커널이란?

커널은 2개의 Interface를 제공한다.

a. System call
b. Interrupt

이번에는 System call에 대해 알아보려고 한다.


2. System call?

응용프로그램에서 kernel 기능을 사용할 수 있는 유일한 방법

Kernel과 응용프로그램 사이의 인터페이스라고도 볼 수 있다.


3. System call 함수

System call 라이브러리를 통해 다양한 System call 함수를 제공 받는다.

ex) open(), close(), read(), fork(), exit(), wait()등의 System call 함수..


4. Duel Mode

우리는 System call에 대해 알게 되면서 Duel Mode에 대해서도 추가로 알 필요가 있다.

커널에서 중요한 자원을 관리, 이에 따라 User mode와 Kernel mode로 나눠서 사용하여 User가 함부로 kernel이 관리하는 컴퓨터 자원에 접근하는 것을 제한함.

즉, Duel Mode에는 User mode와 Kernel mode가 존재한다.


5. Mode Change

앞서 배운 User mode, Kernel mode는 System call 호출로 인해 서로 바뀔 수 있다.

  • User mode -> Kernel mode
    Process가 User mode에서 실행 되던 중, System call이 호출 되었을 때

  • Kernel mode -> User mode
    호출된 System call에 대해 Kernel이 그 요청에 대한 작업을 수행하고 결과값을 System call의 return 값으로 전해주면서 mode가 바뀌게 된다.

이에 대한 설명을 사진으로 나타내면 다음과 같다.

profile
천천히 나아가는 중
post-custom-banner

0개의 댓글