320x100
본 정리는 운영체제(Operating System: Concepts) 9th edition과 22학년도 1학기 건국대학교 운영체제 수업을 바탕으로 하고 있습니다.
운영체제에서는 컴퓨터 시스템의 정확한 동작을 보장해야 한다.
따라서 커널이나 다른 프로그램의 오동작을 야기할 수 있는 명령어는 커널 내에서만 수행하도록 해야 하기 때문에
운영체제를 위해 실행되는 작업과 사용자를 위해 실행되는 작업을 구분한다.
이중 연산 모드
CPU의 상태 레지스터 중 1비트를 모드 비트(mode bit)로 사용한다.
1. 사용자 모드 - 모드 비트 : 1
사용자 영역의 응용 프로그램이 사용하는 모드로, 사용자 공간 상의 코드만 실행 가능하다.
트랩이나 인터럽트 발생 시 하드웨어는 사용자 모드에서 커널 모드로 전환한다.
2. 커널 모드 (시스템 모드, 특권 모드 privileged mode) - 모드 비트 : 0
커널 영역의 운영체제가 사용하는 모드로, 커널 공간 상의 코드(특권 명령)만 실행 가능하다.
CPU 작업 스케줄이나 하드웨어를 제어하는 디바이스 드라이버와 메모리를 관리하는 기능 등을 수행한다.
특권 명령(privileged instruction) : 커널 모드에서만 수행 가능한 명령어
ex. 사용자 모드에서 특권 명령 수행을 시도 → 하드웨어는 운영체제로 트랩을 건다.
모드 비트 변경도 커널 모드에서 특권 명령으로 가능하다!
728x90
'CS > 운영체제' 카테고리의 다른 글
[Chapter 3. 프로세스] 프로세스와 문맥 (0) | 2022.08.16 |
---|---|
[Chapter 2. 시스템 구조] 입출력 시스템을 위한 운영체제의 3가지 인터페이스 (시스템 콜, 커널-드라이버 인터페이스, HW 인터페이스), 시스템 콜이 처리되는 과정 (0) | 2022.08.15 |
[Chapter 2. 시스템 구조] 시스템 호출 (System Call) (0) | 2022.08.13 |
[Chapter 2. 시스템 구조] 운영체제가 제공하는 서비스 (0) | 2022.08.11 |
[Chapter 1. 서론] 컴퓨터 시스템과 운영체제 (0) | 2022.08.07 |