[운영체제] 시스템 호출 (System Call)

2024. 12. 29. 16:16·운영체제

사용자 프로그램이 운영체제의 기능을 요청하는 매커니즘이다.

시스템 콜 (System Call) 이란

사용자 모드에서 실행되는 프로그램이 커널 모드에서 사용되는 서비스를 사용하기 위해 인터럽트를 발생시키는 방식으로 작동한다.

  • 일종의 소프트웨어 인터럽트이다.

커널이란?

자원에 접근하게 하는 기능, 프로그램이 안전하고 올바르게 실행되게 하는 기능은 운영체제의 핵심 서비스이다. 이렇게 운영체제에서 핵심 서비스를 담당하는 부분을 커널이라고 한다.

 

운영체제는 사용자가 실행하는 응용 프로그램이 하드웨어 자원에 직접 접근하는 것을 방지하여 자원을 보호한다.

만약 응용프로그램이 CPU, 메모리, 하드디스크에 마음대로 접근하고 조작하게 된다면 자원이 무질서하게 관리될 것이고 컴퓨터 전체에 큰 악영향을 끼칠 수 있게 된다.

응용프로그램이 자원에 접근할 일이 있을 때 운영체제에 요청을 하고, 운영체제는 커널 내에 자원에 접근하는 코드를 실행하여 작업을 대신 수행해준다.

시스템 콜의 목적

  • 사용자 프로그램이 하드웨어에 직접 접근하는 것이 아니라 운영 체제를 통해 안전하게 하드웨어 자원을 사용할 수 있도록 한다
  • 파일 시스템, 프로세스 관리, 메모리 관리 등 운영 체제가 관리하는 자원에 대한 접근을 제공한다.

시스템 콜 종류

- 강민철, [혼자 공부하는 컴퓨터구조+운영체제], 한빛미디어(2022), 280p

CPU가 시스템 호출을 처리하는 순서

  1. 시스템 호출을 발생시키는 명령어가 실행
  2. CPU는 작업을 백업 시키고 커널 내에 시스템 호출을 수행하는 코드를 실행
  3. 기존에 실행하던(백업 해놓은) 작업 수행

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

[운영체제] 교착상태 (DeadLock)  (0) 2025.04.29
'운영체제' 카테고리의 다른 글
  • [운영체제] 교착상태 (DeadLock)
의중
의중
  • 의중
    개발어려워
    의중
  • 전체
    오늘
    어제
    • 전체글 (30)
      • Algorithm (12)
      • SSAFY (1)
      • 자료구조 (4)
      • 운영체제 (2)
      • JAVA (2)
      • ML, DL (0)
      • BackEnd (2)
      • DevOps (1)
      • 네트워크 (3)
      • DB, SQL (3)
  • hELLO· Designed By정상우.v4.10.3
의중
[운영체제] 시스템 호출 (System Call)
상단으로

티스토리툴바