컴퓨터 시스템 구조
- 각각마다 controller 달려있음
Mode bit
- 사용자 프로그램의 잘못된 수행으로 다른 프로그램 및 운영체제에 피해가 가지 않도록 하기 위한 보호장치 필요
- **Mode bit**을 통해 하드웨어적으로 두 가지 모드의 operation 지원
- 보안을 해칠 수 있는 중요한 명령어는 모니터 모드에서만 수행 가능한 **'특권명령'** (위험한 기계어)으로 규정
- Interrupt나 Exception 발생시 하드웨어가 mode bit을 0으로 바꿈
- 사용자 프로그램에게 CPU를 넘기기 전에 mode bit을 1로 셋팅
- <u>**모니터모드** = 커널모드, 시스템 모드</u>
- 만약 권한이 없는 기게어를 시행할 시 CPU가 운영체제한테 자동으로 넘어간다 (Exception)
- Interrupt
- ex> CPU가 Disk 에서 file을 읽어오고 싶음-> divice controller에 요청 보냄 -> divice cotroller가 작업 끝내면 CPU에 interrupt 발생시킴
-
- 1 사용자모드 : 사용자 프로그램 수행
- 0 모니터무드 : OS 코드 수행
Registers
- CPU의 연산을 저장하기 위한 아주 빠르고 작은 크기의 레지스터
- PC(Program Counter) 레지스터 : 메모리의 주소를 가지고 있음 (다음번에 실행할 메모리의 주소)
Timer
- 무한 루프와 같이 계속 돌거나 시간이 너무 오래 걸리는 작업 진행중일 때 운영체제가 CPU로부터 권한을 뺏어오는데 필요한 하드웨어(CPU 독점 막기 위함)
- Timer에 시간 셋팅이 된 채로 CPU에 넘어가고 이 시간이 지나면 다시 운영체제가 권한을 뺏어옴
- 타이머
- 정해진 시간이 흐른 뒤 운영체제에 제어권이 넘어가도록 언터럽트를 발생시킴
- 타이머는 매 클럭 틱 때마다 1 씩 감소
- 타이머 값이 0이 되면 타이머 인터럽트 발생
- CPU를 특정 프로그램이 독점하는 것으로부터 보호
- 타이머는 time sharing을 구현하기 위해 널리 이용됨
- 타이머는 현재 시간을 계산하기 위해서도 사용
'이론공부 > 운영체제' 카테고리의 다른 글
03. 프로세스 관리 (0) | 2022.05.18 |
---|---|
02. 컴퓨터 시스템의 구조 -3 (0) | 2022.05.13 |
[운영 체제] 02. 컴퓨터 시스템의 구조-2 (0) | 2022.05.01 |
[운영체제] 01. 운영체제 개요 (0) | 2022.04.28 |
[운영체제] 01. 운영체제란? (0) | 2022.04.25 |
댓글