ZeroBase/CS

시스템콜과 modebit

Red_Horse 2025. 8. 10. 21:45

시스템 콜(System Call)

  • 정의: 사용자 프로그램이 운영체제의 커널 기능(파일 관리, 프로세스 관리, 장치 제어 등)에 접근하기 위한 인터페이스
  • 역할:
    • 프로세스 관리 (생성, 종료 등)
    • 파일 관리 (생성, 읽기, 쓰기, 삭제)
    • 디바이스 관리
    • 시간·날짜 관리
    • 프로세스 간 통신
  • 예시: kill() → 프로세스를 종료하는 시스템 콜

시스템 콜 동작 과정

  1. 유저 프로그램이 I/O 요청을 위해 트랩(Trap) 발생
  2. 커널이 요청이 유효한지 확인
  3. 유저 모드 → 커널 모드로 전환 (Mode Bit 변경)
  4. 해당 커널 함수 실행
  5. 작업 완료 후 다시 유저 모드로 복귀

커널(Kernel)

  • 운영체제의 핵심 부분
  • 주요 기능: 보안, 메모리 관리, 프로세스 관리, 파일 시스템 관리, I/O 처리
  • 모든 하드웨어 자원에 직접 접근 가능

유저 모드와 커널 모드

구분 접근 권한 특징
유저 모드 제한적 자원 접근 제한, 보안성 높음
커널 모드 무제한 모든 하드웨어·시스템 자원 접근 가능
 

Mode Bit

  • 역할: 현재 CPU가 유저 모드인지 커널 모드인지 구분
  • :
    • 1 → 유저 모드
    • 0 → 커널 모드
  • 시스템 콜 호출 시 1 → 0으로 전환, 작업 완료 후 다시 0 → 1

시스템 콜의 장점

  • 복잡성 은닉: 유저 프로그램은 커널 내부 동작을 몰라도 됨
  • 안정성: 커널이 자원 사용을 통제 → 시스템 안정성 확보
  • 보안성: 잘못된 접근이나 악의적인 조작 방지

 

시스템 콜은 유저 모드에서 커널 모드로 안전하게 전환해 운영체제 기능을 제공하는 다리이며, Mode Bit은 이 모드 전환을 구분하는 플래그이다.

'ZeroBase > CS' 카테고리의 다른 글

프로그램 컴파일 과정  (0) 2025.08.12
메모리 계층  (0) 2025.08.11
운영체제와 컴퓨터 시스텀의 구조  (2) 2025.08.10
CSRF(Cross-Site Request Forgery)  (3) 2025.08.08
XXS(Cross-Site Scripting)  (0) 2025.08.07