К настоящему времени я потратил как минимум 10 часов, пытаясь разобраться в знаменитом сообщении в блоге Линуса Акессона, и мне все еще не удается. Итак, позвольте мне задать свои сомнения по поводу tty / ptty в виде серии коротких вопросов.
1) Находится ли tty / ptty в пространстве пользователя или ядра?
2) Какое соединение tty / ptty с устройствами или драйверами, какая-то нумерация или что-то в этом роде?
3) Кажется, что tty связан с чем-то, что называется управляющим терминалом процесса. Каковы отношения и связан ли каждый процесс с терминалом?
4) В целом, я до сих пор не понимаю, где, черт возьми, вписывается эта концепция терминала. Процесс хочет что-то прочитать из stdio, но не может просто сделать это из нужного файла устройства. Какую именно проблему намеревается решить tty?
5) Я где-то читал, что есть попытки переместить tty из пользовательского пространства в пространство ядра. Является ли tty просто историческим остатком, чем сильной конструктивной особенностью?