: 중요 자원 관리를 위해 자원에 대한 접근 권한을 다르게 갖도록 모드를 두개로 나눈 것
유저모드
- 제한적인 접근 권한을 갖는다.(하드웨어 접근 불가)
- 애플리케이션 코드 실행(새로운 프로세스 실행)
- 시스템에 영향을 주는 악의적인 명령을 수행하지 못하도록 막는다.
- 유저모드 특권 level을 갖는다.
커널모드
- 컴퓨터 내 모든 자원에 접근 가능: 메모리, CPU 제어, 외부 process 호출 등
- 운영체제 코드, device driver
- 컴퓨터 부팅 시 시작된다.
- 커널모드 특권 level을 갖는다.
모드간 전환
- 유저 -> 커널
- 인터럽트 or 시스템 호출 발생 시.
- 주로 프로세스가 유저모드로 수행하다가 특별한 요청(시스템에 영향을 줄 수 있는)을 할 때
- 커널 -> 유저
- 요청받은 Task를 처리하고 system call의 리턴값으로 전해준다.
Mode bit -> 듀얼모드
: 0일때 커널모드, 1일때 유저모드로 구분짓는다.
Reference)
https://notesformsc.org/operating-system-structure/
https://blckdmask.tistory.com/69