OS/OS - Overview

하드웨어 타이머 (Hardware Timer)

검정비니 2018. 9. 24. 08:32
728x90
반응형

하드웨어 타이머 (Hardware Timer)




우리는 운영체제가 CPU에 대한 제어를 유지할 수 있도록 보장해야 한다. 사용자 프로그램이 무한 루프(infinite loop)에 빠져 제어가 운영체제로 복귀하지 않는 경우가 없도록 반드시 방지해야 한다. 이러한 목적을 달성하기 위해 타이머(timer)를 사용할 수 있다. 타이머는 지정된 시간 후 컴퓨터를 인터럽트하도록 설정할 수 있다. 이 시간은 고정(예를 들면, 1/60초) 혹은 가변(예를 들면, 1밀리 초에서 1초까지 1밀리초 단위로 증가)일 수 있다. 가변 타이머는 일반적으로 fixed-rate clock과 계수기로 구현한다. 운영체제는 계수기 값을 설정한다. 클록이 똑딱(tick) 할 때마다 계수기의 값이 감소한다. 계수기가 0이 될 때 인터럽트가 발생하게 된다. 예를 들면,1 밀리초 클록의 10비트 계수기는 1 밀리초 단위로 1 밀리초에서 1024 밀리초 사이의 간격을 가지는 인터럽트를 허용한다.


사용자에게 제어를 양도하기 전에 운영체제는 타이머가 인터럽트를 할 수 있도록 설정 되었는지를 확인한다. 타이머가 인터럽트를 발생시키면, 제어는 자동적으로 운영체제로 넘어가며 운영체제는 인터럽트를 치명적인 오류로 취급하거나 또는 프로그램에게 더 많은 시간을 줄 수 있다. 타이머의 동작을 변경하는 명령은 분명히 특권 명령이다.


따라서 사용자 프로그램이 너무 오래 실행되는 것을 방지하기 위해 타이머를 사용할 수 있다. 가장 간단한 방법은 프로그램이 실행되도록 허용된 시간만큼 계수기를 초기화하는 것이다.

반응형

'OS > OS - Overview' 카테고리의 다른 글

운영체제 구조  (0) 2018.10.01
운영체제 설계 및 구현  (0) 2018.10.01
운영체제 이중 동작 모드 (OS dual-mode operation)  (2) 2018.09.24
입출력 구조  (0) 2018.09.20
부팅 시 운영체제가 실행되는 과정  (2) 2018.09.20