본문으로 이동
메뉴 여닫기
환경 설정 메뉴 여닫기
개인 메뉴 여닫기
로그인하지 않음
지금 편집한다면 당신의 IP 주소가 공개될 수 있습니다.
(시스템 콜에서 넘어옴)
System call
UNIX 계열의 시스템에서 응용 프로그램이 운영체제의 커널이 제공하는 서비스에 접근하기 위한 인터페이스
  • 사용자와 운영체제 서비스를 연결해 주는 인터페이스로 상위수준의 소프트웨어가 커널의 기능을 이용할 수 있도록 지원
  • 응용 프로그램이 시스템 호출을 하면 SVC(트랩) 명령으로 소프트웨어 인터럽트가 일어나 커널 모드로 넘어간다. 입출력을 요청하는 시스템 호출도 이 경로로 처리된다 → 인터럽트

시스템 호출 유형

편집 원본 편집
  • 프로세서 제어(process Control)
  • 파일 조작(file manipulation)
  • 장치 관리(Device Management)
  • 정보 유지(Information maintenance)
  • 통신(Communication)

운영체제는 사용자 모드와 커널 모드 두 가지 모드로 동작한다.

  1. 사용자 모드의 프로세스가 하드웨어 장치를 쓰거나 커널 서비스가 필요하면 시스템 호출 인터페이스(라이브러리 함수 → 트랩 명령)를 부른다
  2. CPU 가 커널 모드로 바뀌고, 커널이 해당 시스템 호출 처리 루틴을 실행한다
  3. 처리가 끝나면 다시 사용자 모드로 돌아가 결과를 돌려준다

비슷한 개념과 구분

편집 원본 편집
개념 뜻
시스템 호출 프로세스가 커널에 서비스를 요청하는 인터페이스. 사용자 모드 → 커널 모드 → 사용자 모드
인터럽트 하드웨어나 예외 상황이 CPU 에 사건을 알려 처리 루틴을 실행하게 하는 것. 시스템 호출은 이를 이용한 소프트웨어 인터럽트(트랩)다
시그널 커널이나 다른 프로세스가 프로세스에 사건을 알리는 통지 → 리눅스 시그널
스와핑 메모리가 모자랄 때 프로세스(페이지)를 디스크와 주기억장치 사이에서 옮기는 것