系统调用与设备驱动

以下文字翻译自Beginning Linux Programming的小节System Calls and Device Drivers


你可以通过一些 方法 function )来 获得以及控制文件和设备。这些方法 内置于 Unix(以及Linux)系统,被称为系统调用方法(system calls),是操作系统的接口。

在操作系统的核心( 内核 )是一些设备驱动(device drivers)。这是一系列用来控制系统硬件的底层接口(low-level interface)。[此处省略两个有关驱动的例子]

为了提供相似的接口,设备驱动封装了所有的硬件相关的特性。对于那些特殊的 硬件 特性,可以通过系统调用方法 ioctrl 来使用。

/dev目录下的设备文件也能够被打开,读取,写入以及关闭。例如,用来获取普通文件的open调用也可以用来获取用户终端、打印机、磁盘驱动器。

用来获得设备驱动的底层方法、系统调用方法有:

  • open: 打开文件或者设备
  • read: 读取已经打开的文件或者设备
  • write: 写入文件或者设备
  • close: 关闭文件或者设备
  • ioctrl: 传递控制信息到设备驱动

系统调用方法ioctrl用来提供一些必要的硬件指定控制(hardware-specific control)—— 对比 通常的输入输出,所以ioctrl的使用因设备不同而不同,因此,ioctrl不具备移植性。此外,每个驱动都定义了自己的一套ioctrl指令。

系统调用在用户手册(manual page)第二节中有详细的文档。在include文件里,可以看到函数的声明(prototype),可以了解到参数列表、返回值类型,以及一些常数定义。文件中这些原型都有详细的描述。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值