반응형
유저 모드(사용자 모드)와 커널 모드
보통 운영체제는 유저 모드와 커널 모드 두 가지 프로세서 접근 모드를 지원한다. 애플리케이션은 유저 모드에서 실행되고 핵심 운영 체제 구성 요소는 커널 모드에서 실행된다. 많은 드라이버가 커널 모드로 실행되지만 일부 드라이버는 유저 모드에서 실행될 수 있다.
사용자가 직접적으로 하드웨어 장치를 제어한다면 큰 문제가 발생할 수 있기 때문에 사용자 애플리케이션은 System Call을 통해 하드웨어 요청이나 중요한 시스템 요청을 진행한다. 요청을 하면 유저 애플리케이션은 유저 모드에서 커널모드로 잠시 전환되었다가 커널모드에서 작업을 실행한 뒤 응답을 유저 애플리케이션으로 반환한다.
유저 모드
- 프라이빗 가상 주소 공간과 프라이빗 핸들 테이블을 애플리케이션에 제공
- 가상 주소 공간이 제한되어 있음
- 애플리케이션 간에 서로 간섭할 수 없고 크래시가 발생시 해당 애플리케이션 하나로 제한
- 코드 작성, 프로세스 실행 명령 등 실행 가능
커널 모드
- 단일 가상 주소 공간을 공유한다. 따라서 커널 모드 드라이버는 다른 드라이버 및 운영 체제 자체와 격리되지 않음
(커널 모드 드라이버가 충돌하면 전체 운영 체제가 충돌함) - 모든 시스템 메모리 등 하드웨어에 직접 접근 가능
참조 사이트
사용자 모드 및 커널 모드 - Windows drivers
Windows를 실행하는 컴퓨터의 프로세서에는 사용자 모드와 커널 모드라는 두 가지 모드가 있습니다.
learn.microsoft.com
운영체제 :: 커널모드와 유저모드 ( 사용자모드 ) 의 차이
1. 필요성 보통 운영체제에서는 커널모드와 유저모드 두가지 프로세서 접근모드를 지원한다. 그 이유는 유저 어플리케이션이 함부로 운영체제의 치명적인 데이터를 수정하거나 삭제하지 못하
phaphaya.tistory.com
'프로그래밍 > 운영체제' 카테고리의 다른 글
프로세스 제어 블록 (PCB, Process Control Block)란? (8) | 2023.07.20 |
---|---|
프로그램의 실행 (6) | 2023.07.20 |
데이터 전송 명령어(data transfer instruction) 정리 (6) | 2023.06.30 |
데이터 전송 명령이란? (12) | 2023.06.28 |
메모리 구조(Memory Structure)에 대해서 (0) | 2023.02.17 |
댓글