티스토리 뷰

시스템 콜

프로그램에서 실행되는 시스템 콜은 함수 호출이긴 하지만 프로그램 자기 자신의 주소 공간에 존재하는 것이 아닌 커널에 존재하는 함수를 호출하는 것이다.

일반적인 함수 호출이 자신의 스택에 복귀 주소를 저장한 후 호출된 함수 위치로 점프하는 것임에 비해 시스템 콜은 주소 공간 자체가 다른곳으로 이동해야 하므로 일반 함수 호출과는 다른 방법을 사용한다.

그 방법은 프로그램 자신이 인터럽트 라인에 인터럽트를 세팅하라는 명령을 통해 이루어진다. 이는 프로그램이 스스로 인터럽트 라인을 세팅한다는 점만 다를 뿐 일반적인 인터럽트의 발생과 동일한 방법이라 할 수 있다.

어떤 프로그램이 CPU를 할당받고 명령을 수행도중 중간에 CPU를 선점당하는 경우 두가지로 나뉘게 된다.

  • 타이머에 의해 인터럽트가 발생한 경우
  • 입출력 요청을 위해 시스템 콜을 한 경우
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함