Объясните каждый шаг процесса от нажатия клавиши на клавиатуре до символа, отображаемого через терминал - PullRequest
0 голосов
/ 29 января 2019

Меня спросили в недавнем интервью, которое я искал почти сутки, но пока не получил ответа.Вопрос - Объясните полный процесс, связанный с нажатием клавиши на клавиатуре, пока символ не отобразится на терминале.

Это был вопрос дизайна, и он полностью зависит от глубоких знаний об операционных системах.Вот некоторые строки, которые я мог бы связать: прерывания ввода-вывода, очереди устройств, планирование, выгрузка.

Но интервьюер, казалось, был более сосредоточен на внутренней реализации.Скажем, например, 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

...