预计阅读本页时间:-
12.5.6 可移动存储器
可移动存储器带给操作系统设计人员一个有趣的两难处境。当往读取槽插入一张安全数据(Secure Digital,SD)卡时,该卡就同其他设备一样成为一个设备。它需要一个控制器、一个驱动、一种总线结构,而且很有可能通过DMA与CPU进行通信。然而,对这类模型移除存储介质是一个很严重的问题:操作系统怎样检测插入和移除?这一模型如何适应一张介质卡的不存在?还有更加复杂的情况,一些设备槽能够兼容不止一种类型的设备。例如,一张SD卡,一张miniSD卡(带有适配器),以及一张多媒体卡都使用同一类插槽。
Symbian操作系统使用可移动存储器的很多共同性来实现对它们的支持。每种可移动存储器通常具有如下特点:
1)所有的设备必须支持插入和移除。
广告:个人专属 VPN,独立 IP,无限流量,多机房切换,还可以屏蔽广告和恶意软件,每月最低仅 5 美元
2)所有的可移动存储器能够“热”拔,也就是正在使用时被拔下。
3)每种介质都能报告它自己的容量。
4)必须拒绝不适配的卡。
5)每种卡都需要电源。
为了支持可移动存储器,Symbian操作系统提供控制每种支持卡片的软件控制器。这些控制器和设备驱动工作在一起,这在软件层面上也是一样的。当一张卡插入时,就创建了一个套接字对象,该套接字对象构成数据流动过程中的通道。为了适应卡状态的改变,Symbian操作系统提供了一系列的当状态改变发生时的事件。设备驱动像活动对象一样被配置用来监听这些事件并作出反应。