[운영체제] System-call 과 Kernel

glow_soon·2022년 6월 9일
0

System call (시스템 콜) : 프로세스가 운영체제에게 운영체제 기능을 요청하는 것, 운영체제가 관리하는 모든 자원을 프로세스가 필요로 할 경우 system call을 통해 사용
ex) open(), exec(), fork(), kill()....

Kernal (커널) : 운영체제의 핵심부분, 운영체제의 다른 부분 및 응용 프로그램 수행에 필요한 여러가지 서비스를 제공한다.
(CPU 스케줄링, 메모리 관리....등)

유저모드와 커널모드

커널에서 중요한 자원들을 관리하기 때문에, 사용자가 그 중요한 자원에 접근하지 못하도록 모드를 2가지로 나눈 것

유저모드

유저가 접근할 수 있는 영역을 제한적으로 두고, 프로그램의 자원에 함부로 침범하지 못하는 모드

커널모드

모든 자원에 접근, 명령을 할 수 있다.

프로세스가 실행되는 동안에는 수없이 많은 유저모드와 커널모드간의 전환이 있다.

  • 유저모드 -> 커널모드
    system call로 요청
  • 커널모드 -> 유저모드
    system call을 요청 받은 커널이 그 요청에 대한 일을 하고 결과 값을 system call의 리턴값으로 리턴한다.
profile
나는야 코린이

0개의 댓글