[운영체제 기초]5. 이중모드와 하드웨어 보호
이중모드, 하드웨어 보호
학습목표
- 이중 모드와 하드웨어 보호가 하는 역할을 이해하고 설명할 수 있다.
1. 이중 모드는 뭘까?
이중 모드는 사용자 모드와 관리자 모드를 의미한다.
CPU에 있는 이중모드와 관련된 비트의 값에 따라 모드를 식별할 수 있으며, 이 값을 조작해서 모드를 전환한다.
2. 이중 모드는 왜 생겼을까?
만약에 사용자가 고의 혹은 실수로 치명적인 명령(STOP, HALT, RESET 등)을 사용하는 일이 생기면 어떻게될까?
시스템이 다운되면 컴퓨터를 사용하던 사람들은 아무런 작업을 할 수 없게된다.
다시 시스템의 전원을 켜면 해결되는 문제이지만, 서버컴퓨터의 경우 부팅에 많은 시간을 필요로한다.
그동안 다른 사용자들이나 프로그램들이 피해를 받게되고 중요한 작업을 하는중이었다면 피해는 더 심각할 것이다.
이를 방지하기 위해 치명적인 명령어를 사용할 수 없는 사용자 모드와 관리자 모드로 나누게 되었다.
OS의 작업을 처리할 때는 관리자모드로, 사용자 프로그램의 작업을 처리할 때는 사용자 모드로 전환된다.
그래서 실제로 프로그램을 실행할 때는 관리자모드와 사용자모드를 왔다갔다 하면서 처리하게 된다.
관리자 모드(Supervisor)는 시스템 모드(System), 모니터 모드(Monitor), 특권 모드(Priviliged)라고도 불리운다.
3. 입출력장치 보호(Input/Output device protection)
일반 사용자 프로그램이 직접 입출력 장치에 접근하게되면 다른 사람의 읽고 쓰거나 프린터가 혼잡해지는 일 등이 발생하게 된다.
때문에 특권 명령인 IN/OUT을 사용자 프로그램이 직접 수행하려고 하면 OS는 Privileged instruction violation을 발생시켜서 해당 프로그램을 종료시킨다.
4. 메모리 보호(Memory protection)
사용자 프로그램이 주어진 메모리 영역을 넘어서는것을 허용하게 되면 다른 유저의 메모리 영역을 침범해서 읽고 쓰는것이 가능해진다.
그래서 OS에서는 MMU를 두어 다른 메모리 영역을 침범하는 프로그램이 있는지 감시하도록 한다.
MMU는 프로그램이 자신의 메모리 영역을 벗어난곳을 요청하면 CPU에게 이 사실을 알린다.
그러면 CPU는 해당 프로그램을 강제종료한다.
MMU(Memory Management Unit) - MMU 설정은 특권명령: 운영체제만 바꿀 수 있다.
5. CPU 보호(CPU protection)
프로세서는 명령을 끝내고 다음 작업으로 넘어가야 하는데, 수행해야하는 명령이 무한루프 라면 끝나지 않게된다.
그러면 다른 사용자들의 요청을 수행할 수 없게되므로 사용자 프로그램이 실수 또는 고의로 CPU 시간을 독점하는 것을 방지해야한다.
OS는 타이머를 두고 일정 시간을 경과하게 되면 타이머 인터럽트(내부인터럽트)를 발생시킨다.
Reference
- 양희재 교수님의 운영체제 강의
https://youtu.be/a9YcKlp-5yk
'Computer Science > Operating System' 카테고리의 다른 글
[운영체제 기초]7. 프로세스 관리 (0) | 2021.02.09 |
---|---|
[운영체제 기초]6. 운영체제 서비스 (0) | 2021.01.19 |
[운영체제 기초]4. 인터럽트 기반 시스템 (0) | 2021.01.15 |
[운영체제 기초]3. 고등운영체제 (0) | 2021.01.15 |
[운영체제 기초]2. 역사 (0) | 2021.01.13 |
댓글
이 글 공유하기
다른 글
-
[운영체제 기초]7. 프로세스 관리
[운영체제 기초]7. 프로세스 관리
2021.02.09 -
[운영체제 기초]6. 운영체제 서비스
[운영체제 기초]6. 운영체제 서비스
2021.01.19 -
[운영체제 기초]4. 인터럽트 기반 시스템
[운영체제 기초]4. 인터럽트 기반 시스템
2021.01.15 -
[운영체제 기초]3. 고등운영체제
[운영체제 기초]3. 고등운영체제
2021.01.15