[CS기초] 시스템 콜(System Call)

2025. 4. 28. 16:04·크래프톤 정글/CS기초(키워드, 개념정리)

시스템 콜(System Call)

운영체제(OS)는 사용자 프로세스와 하드웨어 사이에 위치하면서 직접적인 자원 접근을 통제합니다. 그런데 사용자 프로세스도 파일을 열거나, 메모리를 할당하거나, 네트워크 통신이 필요할 때가 있는데요. 이때 사용자 프로세스가 운영체제에게 요청을 전달하는 공식적인 방법이 바로 시스템 콜(System Call)입니다.

 

 

시스템 콜이란?

시스템 콜(System Call)은 시스템 자원 접근이 제한된 사용자 프로세스가 해당 자원을 사용하는 작업을 수행해야 할 때, 운영체제에게 이를 대신 처리하도록 요청하는 공식적인 메커니즘입니다.

 

즉 일반 프로세스가 직접 하드웨어나 커널 메모리에 접근하는 대신 시스템 콜을 통해 운영체제에 간접적으로 요청을 보내면, 운영체제가 해당 요청을 대신 처리해 줍니다. 이를 통해 보안과 안정성이 보장되고, 자원 관리가 일관되게 이뤄질 수 있게 되지요.

 

 

시스템 콜의 동작 흐름

  1. 사용자 프로세스가 시스템 콜 라이브러리 함수를 호출
    • (예: read(), write(), fork())
  2. 라이브러리는 특수한 명령어(소프트웨어 인터럽트)를 이용해 커널 모드로 진입
  3. 운영체제 커널이 해당 요청을 처리
  4. 처리 결과를 사용자 프로세스에게 반환하고, 사용자 모드로 복귀

요약하자면, 시스템 콜은 사용자 모드에서 요청 -> 커널 모드 진입 -> 요청 처리 -> 사용자 모드 복귀 순으로 이루어집니다.

 

 

대표적인 시스템 콜 종류

  • 파일 관리: open(), read(), write(), close()
  • 프로세스 관리: fork(), exec(), wait(), exit()
  • 메모리 관리: mmap(), brk()
  • 통신: socket(), bind(), connect()

 

시스템 콜의 필요성

  • 보안성: 사용자 프로세스가 임의로 하드웨어를 조작하는 것을 방지한다
  • 안정성: 하나의 프로세스 오류가 전체 시스템에 영향을 주지 않도록 보호한다
  • 일관성: 모든 프로세스가 동일한 인터페이스를 통해 자원을 사용하게끔 만든다

 

마치면서

시스템 콜은 프로세스가 운영체제에게 도움을 요청하는 공식 통로입니다. 사용자 프로세스는 직접 시스템 자원에 접근할 수 없기 때문에, 시스템 콜을 통해 운영체제에 요청을 전달하고, 운영체제가 이를 대신 수행하게 되죠. 이를 통해 각 프로세스는 보안과 안정성을 유지하면서 다양한 시스템 기능을 안전하게 활용할 수 있게 됩니다.

저작자표시 비영리 변경금지

'크래프톤 정글 > CS기초(키워드, 개념정리)' 카테고리의 다른 글

[CS기초] 이더넷(Ethernet)  (0) 2025.04.28
[CS기초] DMA (Direct Memory Access)  (0) 2025.04.28
[CS기초] Demand-Zero Memory  (0) 2025.04.28
[CS기초] Implicit Free List vs Explicit Free List  (0) 2025.04.28
[CS기초] 메모리 할당 정책 (Memory Allocation Policies)  (0) 2025.04.28
'크래프톤 정글/CS기초(키워드, 개념정리)' 카테고리의 다른 글
  • [CS기초] 이더넷(Ethernet)
  • [CS기초] DMA (Direct Memory Access)
  • [CS기초] Demand-Zero Memory
  • [CS기초] Implicit Free List vs Explicit Free List
그냥사람_
그냥사람_
IT 관련 포스팅을 합니다. 크래프톤 정글 8기 정경호
  • 그냥사람_
    그냥코딩
    그냥사람_
  • 전체
    오늘
    어제
    • 글 전체보기 N
      • 크래프톤 정글 N
        • 로드 투 정글(입학시험)
        • CS기초(키워드, 개념정리) N
        • 컴퓨터구조(CSAPP)
        • Code 정글(C언어) N
        • 마이 정글(WIL, 에세이)
      • 자료구조&알고리즘
        • 자료구조
        • 알고리즘
      • 일상
  • 블로그 메뉴

    • 홈
  • 링크

    • Github
  • hELLO· Designed By정상우.v4.10.3
그냥사람_
[CS기초] 시스템 콜(System Call)
상단으로

티스토리툴바