大学生寒假在家过于无聊,整理一下以前学过的知识,顺便复习一下,水平较低,专业性差,仅供参考,不喜勿喷(反正也没人看)。
一、Linux中的设备管理
Linux采用文件系统管理硬件设备,所有的设备都看成是特殊的文件,从而将硬件设备的特性及管理细节对用户隐藏起来,实现设备无关性。(也就是说,我们想要操作设备,就需要去操作与该设备关联的文件)
(1)设备管理的特点
·每个设备都对应文件系统中的一个索引节点,都有一个文件名。
·应用程序通常可以通过系统调用open()打开设备文件,建立起与目标设备的连接。
·对设备的使用类似于对文件的存取。
·设备驱动程序都是系统内核的一部分,它们必须为系统内核或者它们的子系统提供一个标准的接口。
·设备驱动程序使用一些标准的内核服务,如内存分配等。
(2)设备分类
按设备属主关系
系统设备(系统在生成时,就已经被划入系统的管理范围的设备)
用户设备(后来出现的设备)
按设备信息交换单位来分
字符设备(提供连续的数据流,应用程序可以顺序读取,通常不支持随机存取)