Это называют Расширением Фигурной скобки и присутствует также в zsh
.
Одно важное различие между ударом и zsh - то, который в zsh расширении параметра выполняется в фигурных скобках, но в ударе дело обстоит не так.
Это не действительно волшебно, это - аппаратные средства. Информация о периферийных событиях прибывает в ЦП через системную шину, которая является шлюзом к другим аппаратным средствам; программно (в коде ядра) с ними имеют дело через понятие запроса на прерывание (IRQ).
Взгляните на них в порядке:
http://en.wikipedia.org/wiki/Northbridge_%28computing%29
http://en.wikipedia.org/wiki/Front_side_bus.
Теперь полагайте, что ядро - то, что определяет то, что продолжается в ЦП.Далее:
http://en.wikipedia.org/wiki/Interrupts
http://en.wikipedia.org/wiki/IRQ
Для получения более определенного WRT код ядра Linux это использует обработчики, которые стреляют по получении запроса на прерывание. Базовые детали этого сделаны с архитектурно-зависимым кодом asm, многие из которых Вы найдете в (например), src/arch/x86/kernel
. Я не кодирую в asm ( .S
файлы), таким образом, это является греческим мне, к сожалению, но идея здесь (должен быть в том, что материал Википедии), то, что по получении IRQ, ядро предвосхищает любой код пространства пользователя, работает для обработки IRQ (возможно передающий что-то на любой процесс пространства пользователя).