Just do IT
article thumbnail

CPU Protection Rings

   * CPU도 권한 모드라는 것을 가지고 있습니다

     - 사용자 모드 (user mode) : 일반적인 명령 실행

     - 커널 모드 (kernel mode by OS) : 특권 명령어 실행과 원하는 작업 수행을 위한

        자원 접근을 가능케 하는 모드

 

kernel 이란? - OS kernel

   1. (견과류, 씨앗의) 알맹이

   2. (사상, 주제) 핵심

shell 이란?

   1. (달걀 견과류 등의 딱딱한) 껍데기

   2. 고둥 껍데기 모양의 것

 

CPU Protection Rings

두 가지 모드

   * 사용자 모드 (user mode) : 응용 프로그램이 사용

   * 커널 모드 (kernel mode) : OS가 사용

 

우리가 만드는 프로그램은 맨 위에서 놀고 있습니다 (이미지)

   예) 1 ~ 1000 더하고

       파일에서 데이터 가져오기

       해당 테이터와 1 ~ 1000 더한 값을 더한다

 

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

   * 커널 모드에서만 실행 가능한 기능들이 있음

   * 커널 모드로 실행하려면, 반드시 시스템 콜을 사용해야 함(거쳐야 함)

   * 시스템 콜은 운영체제가 제공해준다

 

응용 프로그래머와 시스템 프로그래머

   - 응용 프로그래머 : 사용자 프로그램 개발

   - 시스템 프로그래머 : 운영체제 및 시스템 프로그램, 하드웨어 개발 (shell, API)

 

※ 정리

  * 사용자 모드와 커널 모드

   - 함부로 응용 프로그램이 전체 컴퓨터 시스템을 헤치지 못함  

   - 주민등록본은 꼭 동사무소 또는 민원 24시 (정부 사이트)에서 특별한 신청서를 써야만 발급

    -> 예) 동사무소 직원분들은 특별한 권한을 가지고, 주민등록본 출력 명령을 실행

   * 운영체제는 시스템 콜을 제공

   * 프로그래밍 언어별로 운영체제 기능을 활용하기 위해, 시스템 콜 기반으로 API 제공

   * 응용 프로그램 운영체제 기능 필요시, 해당 API를 사용해서 프로그램을 작성

   * 응용 프로그램이 실행되서, 운영체제 기능이 필요한 API를 호출하면, 

      시스템 콜이 호출되서, 커널 모드로 변경되어 OS 내부에서 해당 명령이 실행되고, 

      다시 응용 프로그램으로 돌아간다

 

출처 : 제로베이스

profile

Just do IT

@AmyG

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!