Меня спросили в недавнем интервью, которое я искал почти сутки, но пока не получил ответа.Вопрос - Объясните полный процесс, связанный с нажатием клавиши на клавиатуре, пока символ не отобразится на терминале.
Это был вопрос дизайна, и он полностью зависит от глубоких знаний об операционных системах.Вот некоторые строки, которые я мог бы связать: прерывания ввода-вывода, очереди устройств, планирование, выгрузка.
Но интервьюер, казалось, был более сосредоточен на внутренней реализации.Скажем, например, 3 терминала открыты, как этот ключ будет печатать что-то на одном терминале, как вы гарантируете, что он не будет печатать на другом?
Любой свет в этой области высоко ценится, так как это не тема для чтения, он будет приобретен только благодаря большому опыту в этой области.
Поиск Quora, stackoverflow, google, чтение OS OS, все возможно
Ближайший связанный пост - https://www.quora.com/What-happens-when-we-stroke-a-key-on-a-keyboard-Does-the-character-that-the-keyboard-gives-get-directly-written-to-stdin-or-is-there-any-buffer-between-the-device-and-stdin-How-does-the-kernel-manage-this