본문 바로가기
CS/운영체제

[Chapter 2. 시스템 구조] 이중 연산 모드와 모드 비트

by 베어 그릴스 2022. 8. 14.
320x100
본 정리는 운영체제(Operating System: Concepts) 9th edition과 22학년도 1학기 건국대학교 운영체제 수업을 바탕으로 하고 있습니다.

 

운영체제에서는 컴퓨터 시스템의 정확한 동작을 보장해야 한다.

 

따라서 커널이나 다른 프로그램의 오동작을 야기할 수 있는 명령어는 커널 내에서만 수행하도록 해야 하기 때문에

운영체제를 위해 실행되는 작업과 사용자를 위해 실행되는 작업을 구분한다.

 

이중 연산 모드


CPU의 상태 레지스터 중 1비트를 모드 비트(mode bit)로 사용한다.

 

1. 사용자 모드 - 모드 비트 : 1

     사용자 영역의 응용 프로그램이 사용하는 모드로, 사용자 공간 상의 코드만 실행 가능하다.

     트랩이나 인터럽트 발생 시 하드웨어는 사용자 모드에서 커널 모드로 전환한다.

 

2. 커널 모드 (시스템 모드, 특권 모드 privileged mode) - 모드 비트 : 0

     커널 영역의 운영체제가 사용하는 모드로, 커널 공간 상의 코드(특권 명령)만 실행 가능하다.

     CPU 작업 스케줄이나 하드웨어를 제어하는 디바이스 드라이버와 메모리를 관리하는 기능 등을 수행한다.

 

특권 명령(privileged instruction) : 커널 모드에서만 수행 가능한 명령어

ex. 사용자 모드에서 특권 명령 수행을 시도 → 하드웨어는 운영체제로 트랩을 건다.

 

모드 비트 변경도 커널 모드에서 특권 명령으로 가능하다!

728x90