Small-OS智能卡操作系统的设计准则

来源:互联网 发布:linux删除指定文件函数 编辑:程序博客网 时间:2024/05/29 15:58

Small-OS应当是一个简单的智能卡操作系统,它不需要大量的程序代码,正如产生它的真实模型那样,具有较低的复杂性,这使得它的结构可以理解并易于掌握。它严格地用模块方式建立,这就是说以合理的工作量就能用增加的命令直接予以扩充。其文件系统和所支持的命令均毫无例外地遵照国际标准ISO/IEC 7816-4。作为一个选项,选择了ISO/IEC 7816-4的协议子集N',进行了智能卡领域中通常都具有的一些扩充。

  因此,Smalll-OS的意图是用于卡发行后不需要下载应用的情况中。然而,取决于可使用的存储量,几个 不同的应用可以相互独立地在智能卡中运行。换言之,Small-OS是一个多应用的操作系统。不过,它没有可 能把程序代码下载到卡中并在卡内执行它。总之,Small-OS可与第1代的智能卡操作系统相比,比如那些仍 以不同形式在使用的GSM应用。

  尤其是ISO/IEC 7816-4标准中还描述了一个基本的文件系统和数条智能卡的基本命令。这方面的主要的特 点是智能卡的接口而不是操作系统的内部结构。此外,遗憾地是,这里有大量的选项和少量通道还有待于解 释。于是,在实践中用规范使可能的变化数量显著地减少以变得合理,诸如GSM 11.11规范那样,来保证不 同实现间的相容性。

  因此,对于真正的智能卡操作系统而言,“和ISO/IEC 7816-4相容”的规定决不表明在所有方面都严格相 同,这应当需要一个详细的规范,它应当再次成为ISO/IEC 7816-4标准的一个单独解释的部分。结果,在实 践中通常仅仅是命令被成功执行,而在出现差错时则有不同的差别。因而,对于Small-OS,对ISO/IEC相同 的7816ˉ4的解释通常是在伪代码上来确定的,在解释标准的限度内,Small-OS真正地遵照了ISO/IEC 7816 -4标准,并且尽可能相应于智能卡行业中通常对标准的理解。

  经常可以发现有关回送代码方面智能卡操作系统存在着主要差别,因为在ISO/IEC 7816-4中对各个回送代 码的使用和优先级未做详细描述,必须做出取舍。Samll-OS和所有其他操作系统不同,至少有编码公用的好 处。这就是说,有可能在每一点上去细致地决定产生那个回送代码。

  如果要对某个智能卡微控制器实现Small-OS,大约需要5~6KB ROM,128字节RAM和至少1KB的EEPROM,这取 决于存在的应用的数量(使用8051处理器)。作为一般的条件,假定采用T=1数据传输协议,加密算法采用 了DES,如果有某些应用确实需占用较多的内存,可以使用一个具有较多的EEPROM的微控制器而不存在任何 问题,这不会影响操作系统也不需要任何修改。

  Small-OS的层次结构与命令执行流程如图1~图5所示,图6为这些图中所用符号的图例。


图1 Small-OS的层次结构与所导致的调用安排
(调用标记A用于操作系统启动时,标记B用于调用命令,而标记C则用于命令内对文件系统的访问。调用标记“D”则用于加密算法。数字标明了程序调用的顺序)


图2  Small-OS:操作系统启动和测试过程的数据流程图


图3 Small-OS:复位和数据传送流程图


图4 Small-OS:命令处理的低层数据流程图


图5 Small-OS:对文件和as内核的访问的低层数据流程图


        图6 Small-OS的数据流程图中使用的符号(终端标识着位于所考虑的系统之外的与系统交换数据的对象。处理是在所考虑的系统之内的,
它处理输人的数据流并产生输出的数据流。数据存储是一个存储数据可写人和读出的地方。在Robertson[Robertson 96]中有关于这种类型的系统分析的详细介绍)

0 0
原创粉丝点击