본문 바로가기

프로그래밍/Operating System

[Operating System] - 사용자와 커널 모드

728x90
반응형

패스트캠퍼스 올인원 패키지 - 컴퓨터 공학을 보고 정리하는 용도의 포스팅입니다.


CPU Protection Rings

CPU도 권한 모드가 있다

  • 사용자 모드 (user mode by applications)
    • 응용 프로그램이 사용
  • 커널 모드 (kernel mode by OS)
    • OS가 CPU를 사용할때 쓰는 모드
    • 특권 명령어 실행과 원하는 작업 수행을 위한 자원 접근 가능모드

실질적으로는 ring0과 ring3만 사용한다고 함.

ring3 = 사용자, ring0 = 커널


사용자 모드와 커널 모드

응용 프로그램이 함부로 전체 컴퓨터 시스템에 영향을 끼칠수 없음

  • 영향을 끼치려면? 악성 코드가 들어있으면 가능

응용 프로그램과 운영체제

위의 그림처럼 우리가 만들고 사용하는 프로그램은 가장 윗 단.

 

시스템콜은 커널 모드로 실행

  • 커널 모드에서만 실행 가능한 기능들이 있음
  • 커널 모드로 실행하려면 반드시 시스템 콜을 사용해야 함
  • 시스템 콜은 운영체제 제공

정리

  • 운영체제는 시스템 콜 제공
  • 프로그래밍 언어별로 운영체제 기능을 활용하기 위해, 시스템 콜을 기반으로 API제공
  • 응용 프로그램은 운영체제 기능 필요시, 해당 API를 사용해서 프로그램 작성

 

  • 시스템 콜을 사용하게 되는 전체적인 흐름은 다음과 같다
  1.  응용 프로그램 실행
  2.  운영체제 기능이 필요한 API호출
  3.  시스템 콜 호출
  4.  커널 모드 변경 -> OS 내부에서 해당 명령 실행
  5.  다시 응용프로그램으로 돌아감

 

 

 


Reference

패스트캠퍼스 - 올인원 패키지: 컴퓨터 공학 12강

728x90
반응형