Log In
21 votes

Which of the following devices should get higher priority in assigning interrupts?

  1. Hard disk
  2. Printer
  3. Keyboard
  4. Floppy disk
in Operating System
edited by
How can we understand priority among those?
among these options  can say that keyboard has the maximum priority. but if options are different , how we can comment?
In peripherals, priority is given based on the speed of the device. Higher the speed, higher the priority. Hard disk has the highest speed(MBps) among the given options and thus has the highest priority. Whereas, keyboard is the slowest one because we humans write so slow(like 1-3 word per second) when compared to CPU, and thus keyboard has lowest priority. You may have noticed sometimes that when you are copying/moving a large file on to your hard disk from other device, like pen drive, and then you try to type something using keyboard the typed words are shown with some lag. This is because of the priority being given to hard disk right now.

4 Answers

29 votes
Best answer

It should be a Hard disk. I don't think there is a rule like that. But hard disk makes sense compared to others here.

selected by
Arjun i was thinking about virtual memory here that if virtual memory implemented then secondary storage may have higher priority. Is it the right way to think about it.
Makes sense. Also, that should be for the primary hard disk. We can have many hard disks on a machine and it is not necessary to give all of them higher priority than the keyboard.
The transfer rate of hard disk (memory) device is higher than the transfer rate of keyboard (input device) . so there should be hard disk is higher priority than the keyboard ,
..... is correct ???
why transfer rate matters here? Priority is based on how critical a device is. In many real time systems, keyboard should have the top priority but on a computer system, I guess this is a bit ambiguous.
@arjun sir : By transfer rate . it can be like if its give high tarnsfer rate then old data would be getting repleced by next data very soon so now to avoid data loss , hardisk has a higher priority ? is it ryt ?
No. Data overwritten from where?
If hard disk is writing in some buffer and cpu does not respond it then there could be some data overwritten..

Due to its speed it should have high priority..

as keyboard input given by the user will not as fast as data written by disk into buffer, same case with mouse also.
@Vaishali Any reference?
No reference..from My notes only..
Then it is like old 1000 note :)
So...this is not the proper reason?

No. I do not know what that buffer is even. See here for working of harddisk

Speed differences between two devices. A slow device may write data into a buffer, and when the buffer is full, the entire buffer is sent to the fast device all at once. So that the slow device still has somewhere to write while this is going on, a second buffer is used, and the two buffers alternate as each becomes full.

Source: Peter Baer Galvin, "Operating System Concepts"
What is the fast device here?
May be processor..

When I read problem, I felt it should be keyboard, as initially BIOS is loading and it has to respond to any commands from keyboard. Till that disk is not yet accessed. And any command fed from keyboard has to be abided over anything from disk (as I already said disk is not loaded, so in fact nothing will come from disk). So as a pure command input, keyboard should be given higher priority. 

But then I read the answer and it says disk. So I googled it a bit and come up with these links which also think keyboard should be the answer:

So whats right?

@Arjun sir

I think I read it somewhere that floppy disks can be used in case of system recovery (System Disk). And whenever we first start the computer floppy disks are read first.

So, may be floppy disks should get highest  priority.

@Arjun Sir

why transfer rate matters here? Priority is based on how critical a device is. In many real-time systems, a keyboard should have the top priority but on a computer system, I guess this is a bit ambiguous.

The speed of I/O devices matters here because if we talk about keyboard then one can maximum type 3-4 characters in 1 sec. and within 1 sec, our CPU can execute millions of instructions(MIPS) depends on a frequency of the processor, main memory, and cache data transfer rate is faster than a keyboard, printer, scanner etc..

If CPU will service interrupt of the keyboard then there will be a chance that MM which has high data generating speed within some buffer, we might lose some data that is the reason CPU has to first service interrupt of higher speed device than compare to slower ones. That is how interrupt driven priority based I/O implemented.


1.Hard disk

2.Floppy disk


4. keyboard

Will priority sequence be this correct? please check
@vaishali @Arjun sir

Speed of device will only matter to deliver the interrupt first to CPU but here we are talking about which one of interrupt CPU service over others.

And which operation or what request generated by HDD a keyboard cant interrupt?

It should be keyboard?

I found this reference. according to this keyboard has higher priority. There is a table given in that link, which has the IRQ(Interrupt Request) number and also the I/O device name. But I could not find hard disk in that table.

An Interrupt Request is a signal from a hardware device on your computer to your CPU. When a hardware device needs the CPU to do something (such as move the cursor as you move the mouse), the device sends an Interrupt Request to the CPU. Since a CPU can get several of these Interrupt Requests at once from various devices along the same path (e.g., the serial port or the PCI bus), it needs a way to distinguish between them. To do so, the computer assigns an Interrupt Request number (the IRQ number) to each device and its path to the CPU.

The IRQ number is a numeric way to assign the priority that the devices have with the CPU. The lower the value of the IRQ number, the more important the need for the input or action to take place. Some devices that are assigned IRQ numbers include the disk drive controllers (floppy and hard disk), mouse, keyboard, and sound card.

# cat /proc/interrupts
0:           7514294       IO-APIC-edge   timer
1:              4528       IO-APIC-edge   i8042
6:                 2       IO-APIC-edge   floppy
8:                 1       IO-APIC-edge   rtc
9:                 0       IO-APIC-level  acpi
12:             2301       IO-APIC-edge   i8042
15:               41       IO-APIC-edge   ide1
16:             3230       IO-APIC-level  ioc0
17:             1016       IO-APIC-level  vmxnet ether
NMI:               0
LOC:         7229438
ERR:               0
MIS:               0

The first column specifies the IRQ associated with the interrupt. The following column shows the number of interrupts that were generated for each processor in the system; The last two columns provide information about the interrupt controller and the device name that registered the handler for that interrupt.


6 votes

Answer: (A)

Devices with high speed get more priority in assigning interrupts.

Here is the explanation taken from Morris Mano:

3 votes
Hard disk should be given higher priority as all user programs and OS are stored in here.
No doubt, it's (C) keyboard has the highest priority of them all.


It's a rule. From highest to lowest.


Please provide references me too think it should be keyboard.
Highest priority is given to the device which has high probability of data loss.
1 vote

Devices with high speed transfer such as Hard disk (according to given options it has high speed among all) are given high priority, and slow devices such as keyboard receive low priority.

So, clearly Hard disk is answer. Option (A).

Check the similar one:


Related questions

24 votes
2 answers
Which of the following is true? Unless enabled, a CPU will not be able to process interrupts. Loop instructions cannot be interrupted till they complete. A processor checks for interrupts before executing a new instruction. Only level triggered interrupts are possible on microprocessors.
asked Sep 26, 2014 in CO and Architecture Kathleen 4.1k views
20 votes
4 answers
A computer has six tape drives, with $n$ processes competing for them. Each process may need two drives. What is the maximum value of $n$ for the system to be deadlock free? $6$ $5$ $4$ $3$
asked Sep 26, 2014 in Operating System Kathleen 6k views
30 votes
8 answers
If an instruction takes $i$ microseconds and a page fault takes an additional $j$ microseconds, the effective instruction time if on the average a page fault occurs every $k$ instruction is: $i + \dfrac{j}{k}$ $i +(j\times k)$ $\dfrac{i+j}{k}$ $({i+j})\times {k}$
asked Sep 26, 2014 in Operating System Kathleen 6.4k views
36 votes
5 answers
In a computer system where the best-fit' algorithm is used for allocating jobs' to memory partitions', the following situation was encountered:$\begin{array}{|l|l|} \hline \textbf{Partitions size in $KB$} & \textbf{$4K \ 8K \ 20K \ 2K$} \\\hline \textbf{Job sizes in $KB$} & \text{$2K ... $} \\\hline \end{array}$When will the $20K$ job complete?
asked Jul 10, 2015 in Operating System Arjun 4.7k views