콘텐츠로 이동

타이머 (Timer)

Jan 25, 2026

지정된 기간 후에 컴퓨터를 인터럽트하도록 설정할 수 있는 장치로, 운영체제가 CPU에 대한 제어를 유지하도록 보장한다.

사용자 프로그램이 무한 루프에 빠지거나 시스템 서비스를 호출하지 않고 운영체제에 제어를 반환하지 않을 수 있는 문제를 방지한다.

가변 타이머(variable timer)는 고정 속도 클록(fixed-rate clock)과 카운터(counter)로 구현된다.

1 카운터 설정
운영체제가 카운터 값 설정
2 클록 틱
클록이 틱할 때마다 카운터 감소
3 인터럽트
카운터가 0에 도달하면 인터럽트 발생
반복

예: 1밀리초 클록을 가진 10비트 카운터는 1밀리초 ~ 1,024밀리초 간격으로 인터럽트 허용

  1. 사용자에게 제어를 넘기기 전에, 운영체제가 타이머가 인터럽트하도록 설정되어 있는지 확인
  2. 타이머가 인터럽트하면, 제어가 자동으로 운영체제로 전달됨
  3. 운영체제는 인터럽트를 치명적 오류로 취급하거나 프로그램에 더 많은 시간을 줄 수 있음

타이머의 내용을 수정하는 명령어는 특권 명령어(privileged instructions)이다. 사용자 모드에서 타이머를 임의로 변경할 수 없다.

설정설명
HZ타이머 인터럽트 빈도를 지정하는 커널 구성 매개변수
jiffies시스템 부팅 이후 발생한 타이머 인터럽트 수

예: HZ 값이 250이면 타이머가 초당 250개의 인터럽트 생성 (4밀리초마다 하나)

  • 장점: 운영체제의 CPU 제어 보장, 무한 루프 프로그램으로부터 시스템 보호
  • 단점: 타이머 인터럽트 처리 오버헤드
  • Operating System Concepts, 10th Edition, Chapter 1, p.26-27