Это так. На вашем компьютере у вас есть блок под названием (A) PIC. Этот блок принимает данные от некоторых ваших периферийных устройств, таких как клавиатура PS2, и вызывает прерывание на процессоре. В современной системе есть два APIC. Один из них называется первичным, а другой называется подчиненным, и каждый из них удерживает 8 строк IRQ. Когда вы нажимаете клавишу на клавиатуре, APIC получает сигнал в строке 1 (IRQ 1), который затем вызывает прерывание на CPU.
APIC может быть запрограммирован так, что даже если он получает сигнал в строке 1, он не будет поднимать прерывание 9 на CPU (хотя, как бы странно это не было по умолчанию, если вы его не программируете), потому что это будет конфликтовать с некоторыми внутренних прерываний ЦП, поэтому вы обычно проецируете его в другое место. В вашем случае кажется, что он переводит его на прерывание 0x31, которое звучит так, будто оно может быть правильным (добавляет IRQ + 0x30).
Я сильно не верю, что он отображен для прерывания 9, потому что это противоречило бы прерыванию исключения Double Fault для процессора, в книге, вероятно, просто указывается настройка по умолчанию.