unix核心编程原理(三)

                                                                                                       设备编程:
stty用来让用户检测,修改控制键盘和显示器连接属性。对Unix来说,声卡,鼠标和磁盘文件是同一个对象。在Unix系统中,每个设备都被当作一个文件。每个设备都有一个文件名,一个i-节点号,一个文件所有者,一个权限位的集合和最近修改时间。你所了解的和文件有关的内容都将运用于终端和其他的设备。
tty*文件是终端,程序通过读取这些文件获得用户的键盘的输入,通过写入这些文件向终端屏幕发送数据。

常用的磁盘文件由字节组成,磁盘文件中的字节数就是文件的大小。设备文件是链接而不是容器。键盘和鼠标不存储击键数和点击数。设备文件的i-节点存储的是指向内核子程序的指针,而不是文件的大小和存储列表。内核中传输设备数据的子程序被称为设备驱动程序。
处理进程和外部设备间数据流的内核子程序的集合被称为终端驱动程序或tty驱动程序。

一个进程不一定必须要占一段连续的内存,就像文件在磁盘上被分成小块,进程在内存中也被分成小块。同样和文件有记录分配了的磁盘块的列表相似,进程也有保存分配到的内存页面的数据结构。因此,将进程表示为用户空间内的一个小方块只是某种程度的抽象。建立一个进程有点像建立一个磁盘文件。内核要找到一些用来存放程序指令和数据的空闲内存页。内核还要建立数据结构来存放相应的内存分配情况和进程属性。

你可能感兴趣的:(数据结构,编程,unix)