Modern Operating System --- Chap 5.5 Clocks

Clock also called timers are essential to the operation of any multiprogrammed system for

a variety of reasons. They maintain the time of day and prevent one process from monopolizing

the CPU, among other things. The clock software can take the form of a device driver, even 

though a clock is neither a block device, like a disk, nor a character device, like a mouse.

Two types of clocks are commonly used in computers, and both are different form the clocks

and watches used by people. The simpler clock  are tied to the 100- or 200-volt power line

and cause an interrupt on every voltage cycle, at 50 or 60 HZ. These clocks used to donimate,

but are rare nowadays. The other kind of clock is built out of three components: a crystal

oscillator, a counter and a holding register. When a piece of quartz crystal is properly cut and

mounted under tension, it can be made to generate a periodic signal of very great accuracy,

typically in a range of several hundred of megahertz, depending on the crystal chosen. Using

electronics, this base signal can be multiplied by a small integer to get frequencies up to 1000MHz

or even more. At least one such circuit is usually found in any computer, providing a synchronizing

signal to the computer's various circuits. This signal is fed into the counter to make it count down

to zero. When the counter gets to zero, it causes a CPU interrupt. Programmable clocks typically

have several modles of operation. In one-shot model, when the clock is started, it copies the value

of the holding register into the counter and then decrements the counter at each pulse from crystal.

When the cpunter gets to zero, it causes an interrupt and steps until it is explicitly started again

by the software. In square-wave mode, after getting to zero and causing the interrupt, the holding

register is automatically copied into the counter, and the whole process is repeated again indefinitely.

These periodic interrupts are called clock ticks.

原文地址:https://www.cnblogs.com/miaoyong/p/4852858.html