타이머 (Timer)
Jan 25, 2026
핵심 개념
섹션 제목: “핵심 개념”지정된 기간 후에 컴퓨터를 인터럽트하도록 설정할 수 있는 장치로, 운영체제가 CPU에 대한 제어를 유지하도록 보장한다.
사용자 프로그램이 무한 루프에 빠지거나 시스템 서비스를 호출하지 않고 운영체제에 제어를 반환하지 않을 수 있는 문제를 방지한다.
가변 타이머 동작 원리
섹션 제목: “가변 타이머 동작 원리”가변 타이머(variable timer)는 고정 속도 클록(fixed-rate clock)과 카운터(counter)로 구현된다.
1 카운터 설정
운영체제가 카운터 값 설정 2 클록 틱
클록이 틱할 때마다 카운터 감소 3 인터럽트
카운터가 0에 도달하면 인터럽트 발생 반복
예: 1밀리초 클록을 가진 10비트 카운터는 1밀리초 ~ 1,024밀리초 간격으로 인터럽트 허용
타이머의 동작
섹션 제목: “타이머의 동작”- 사용자에게 제어를 넘기기 전에, 운영체제가 타이머가 인터럽트하도록 설정되어 있는지 확인
- 타이머가 인터럽트하면, 제어가 자동으로 운영체제로 전달됨
- 운영체제는 인터럽트를 치명적 오류로 취급하거나 프로그램에 더 많은 시간을 줄 수 있음
타이머와 특권 명령어
섹션 제목: “타이머와 특권 명령어”타이머의 내용을 수정하는 명령어는 특권 명령어(privileged instructions)이다. 사용자 모드에서 타이머를 임의로 변경할 수 없다.
Linux 타이머
섹션 제목: “Linux 타이머”| 설정 | 설명 |
|---|---|
HZ | 타이머 인터럽트 빈도를 지정하는 커널 구성 매개변수 |
jiffies | 시스템 부팅 이후 발생한 타이머 인터럽트 수 |
예: HZ 값이 250이면 타이머가 초당 250개의 인터럽트 생성 (4밀리초마다 하나)
트레이드오프
섹션 제목: “트레이드오프”- 장점: 운영체제의 CPU 제어 보장, 무한 루프 프로그램으로부터 시스템 보호
- 단점: 타이머 인터럽트 처리 오버헤드
관련 개념
섹션 제목: “관련 개념”- 인터럽트 (Interrupt) - 타이머가 CPU에 신호를 보내는 데 사용하는 메커니즘
- 특권 명령어 (Privileged Instructions) - 타이머 수정 명령어가 속하는 커널 모드 전용 명령어
- 이중 모드 연산 (Dual-Mode Operation) - 타이머가 보호를 제공하는 대상인 사용자/커널 모드 구분
- 커널 (Kernel) - 타이머 인터럽트 발생 시 제어를 넘겨받는 운영체제 핵심 프로그램
- Operating System Concepts, 10th Edition, Chapter 1, p.26-27