본문 바로가기
컴퓨터공학기초 개념/운영체제

5. 운영체제의 구조

by devraphy 2021. 3. 26.

1. CPU Protection Rings

  • CPU도 권한 체계를 갖고 있다.
    - 사용자 모드: 일반적인 명령 실행 = 응용프로그램이 사용하는 명령어 

    - 커널 모드: 특권 명령어 실행 및 원하는 작업 수행을 위한 자원접근이 가능 = OS가 사용하는 명령어 

- 대부분의 운영체제는 Ring 0(커널모드)과 Ring 3(사용자모드)만 사용한다.

 

 

a) 커널이란 무엇인가? 

  • OS 본연의 핵심 기능을 의미한다. 
  • 즉, OS가 CPU에 접근 및 조정할 때 사용하는 기능을 말한다.

b) 쉘에 대하여

  • 쉘은 OS와 사용자를 연결시키는 인터페이스의 역할을 한다. 
  • 위에 첨부된 CPU Protection Ring 전개도에서 볼 수 있듯이, Ring 3(사용자 모드)가 Ring 0(커널 모드)를 감싸고 있기 때문에 shell(껍질)이라는 이름이 붙게된 것이다. 

 


2. 응용프로그램과 운영체제의 구조 

 

  • 사용자 영역은 응용 프로그램의 영역에서 사용되는 명령어를 의미한다. 
  • 커널 영역은 컴퓨터 자원인 하드웨어에 접근 및 이용을 위해 사용되는 명령어를 의미한다. 

a) 시스템 콜은 커널 모드에서 실행된다. 

  • 커널 모드에서만 사용 가능한 기능들이 있다.
  • 커널 모드에 있는 기능을 실행/사용하려면, 반드시 시스템 콜을 통해 커널모드를 거쳐서 호출해야한다. 
  • 시스템 콜은 운영체제에서 제공한다. 

b) 사용자 모드와 커널 모드 분리의 장점

  • 함부로 응용 프로그램이 컴퓨터 시스템을 헤치지 못한다. 

3. 정리

  • 운영체제는 시스템콜을 제공한다.
  • 프로그래밍 언어별로 운영체제 기능을 활용하기 위해, 시스템콜을 API의 형태로 제공한다.
  • 응용 프로그램에서 운영체제 기능이 필요한 경우, 해당 API를 사용해서 프로그램을 작성한다. 
  • 응용 프로그램에서 운영체제의 기능을 필요로 하는 API(코드 또는 메소드)가 실행되면, 시스템 콜이 호출되어 커널 모드로 변경된 후에 해당 명령이 실행되고 다시 사용자 모드로 변경되어 응용 프로그램으로 return하는 방식으로 전개된다.   

댓글