我读到,驱动程序是扩展内核与硬件设备通信的能力的一种方式,因为内核必须可扩展的数量太多,而且还会更多。为了通过驱动程序建立与硬件设备的通信,用户空间中的程序必须通过系统调用 ioctl() 建立与驱动程序的连接。
现在,PTTY(伪Termimanl)模拟某事。它最初是真正的硬件,甚至有一个必须使用 ioctl() 访问的驱动程序才能使程序与 PTTY 通信。
由于其特殊的地位,我不确定这个伪终端最终是如何实现的,它是内核的一部分还是用户空间的一部分?
(PS 是 PTTY,与 TTY 相同)
答案1
它在内核空间中。 Linux 设备驱动程序中的这篇文章有点过时,但仍然应该普遍适用:https://lwn.net/images/pdf/LDD3/ch18.pdf
然而,最近有一些努力用名为“KMSCON”的用户空间控制台替换内核驱动程序 - 请参阅该项目的站点了解更多信息:http://cgit.freedesktop.org/~dvdhrm/kmscon/tree/README