봉황대 in CS

[Chapter 1. 서론] 이중 연산 모드와 모드 비트 본문

Computer Science & Engineering/Operating System

[Chapter 1. 서론] 이중 연산 모드와 모드 비트

등 긁는 봉황대 2022. 7. 1. 00:38

* 본 글은 '운영체제(Operating System: Concepts) 9th edition'의 내용과 2021학년도 1학기에 수강한 '운영체제' 과목 강의 내용을 함께 정리하여 작성하였습니다.

 

 

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

 

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

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

 

이중 연산 모드

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

 

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

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

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

 

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

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

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

 

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

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

 

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

 

 

반응형
Comments