12.5 输入和输出

Symbian操作系统的输入/输出结构仿照其他操作系统的设计。本节会指出其中一些Symbian操作系统特有的基于自己目标平台的性质。

12.5.1 设备驱动

在Symbian操作系统中,设备驱动作为具有内核权限的代码运行,从而赋予用户级别的代码对系统保护资源的访问能力。同Linux与Windows一样,设备驱动程序代表软件去访问硬件。

Symbian操作系统中的设备驱动分为两层:一个是逻辑设备驱动(LDD),一个是物理设备驱动(PDD)。LDD为上层软件提供一个接口,而PDD直接与硬件进行交互。在这种模型下,LDD可以为一类特定的设备使用相同的实现,而PDD随着不同的设备改变。Symbian操作系统支持许多标准的LDD。有时,如果硬件非常标准或者常用,Symbian操作系统也提供PDD。

广告:个人专属 VPN,独立 IP,无限流量,多机房切换,还可以屏蔽广告和恶意软件,每月最低仅 5 美元

考虑串行设备的一个例子。Symbian操作系统定义了一个通用的串行LDD,该LDD定义了访问串行设备的程序接口。LDD给PDD提供一个接口,PDD提供串行设备访问接口。PDD实现有助于调节CPU和串行设备之间速度差异所必需的缓冲和流控制机制。一个单一的LDD(用户那边)可以连接任何用来运行串行设备的PDD。在某个特定的智能手机上,这些PDD可能包括一个红外端口或者一个RS-232端口。这两个是非常好的例子,它们使用相同的串行LDD,但是使用不同的PDD。

当LDD和PDD不在内存中时,它们可以由用户程序动态地加载进内存。程序编制工具能够检查是否需要加载。