智能卡EF的结构
发布时间:2008/11/19 0:00:00 访问次数:593
与dos系统里的文件相反,在智能卡里bf具有其内部结构。每一个ff的结构可根据预定的用途来选择。这对 外部世界来说是一个很大的优点,因为这些内部结构使得所构造的数据元可访问得迅速而直接。bf结构的分 类如图1所示。
图1 智能卡操作系统bf文件结构的分类
在智能卡里这些数据结构的管理需要非常大量的程序代码。这就是数据结构相互都不对称,而宁可以其经 常实际需要的形式出现的原因。 ̄
1.透明文件结构
透明数据结构经常指的是二进制的或杂乱无章的结构;换句话说,一个透明文件根本就没有内部结构。包 括在文件里的数据可以字节或字组的方式通过使用区距值来读出或写入。read binary,write binary,和 update binary等命令可用于这些方面。
最小的具有透明结构的文件是一字节。在任何标准中都没有明确地规定最大的文件空间。然而,把以短格 式(256)或长格式(65 536)的最大可读字节量与最大的区距值结合起来,得到最大的容量分别是65 791 字节或98 303字节。这些数字很容易产生对目前智能卡可用的存储器大小的错觉。实际上,透明文件极少大 过几百个字节。图2说明了透明文件结构的构造。例如,从一个10字节长的文件中使用3个字节的区距值来读 出5字节,其存取的处理,如图3所示。
图2 透明文件结构
图3 用3字节的区距从透明文件中读取5字节
这种文件结构主要用于那些没有内部结构的数据。或者是非常少量的数据。比较典型的例子就是存储一张 可以由终端从智能卡读出的数字化的护照照片。然而,如果需要的话。这种直线的、一维的数据结构可以用 来模拟其他数据结构。当然,这种情况下,终端的存取操作将以更复杂的形式进行,因为在文件本身里必须 存储一些有关文件结构的参数值。
2,线性固定文件结构
线性固定文件结构是基于链接固定长度的记录的文件结构。一个记录由一串单独的字节组成。这种数据结 构里的单独记录可以自由存取。存取的最小单位是一个记录,也就是说不可能只存取记录的一部分。read record,write record和update record命令就可以用于这种数据结构的文件的读出和写入。
第1个记录永远编号为记录1,最大允许的记录编号为“fe”,或用十进制表示为254,因为“ff”被保留做 未来扩充之用。单个记录的长度由访问命令确定,其范围可由1~254字节。然而,在文件内的所有记录必须 具有相同的长度。图4说明了线性固定文件结构的构造。
图4 线性固定文件结构
这种数据结构的一个典型应用是电话号码簿,其中首先是名字,接着是在固定位置的相关的电话号码。
3,线性可变文件结构
在线性固定文件结构中所有记录的长度都必须一致的事实,意味着使用此种结构时存储空间经常被浪费, 因为很多面向记录的数据的长度是可变的。例如,在电话号码簿中的名字就不是等长的。减小存储空间占用 量的挑战被线性可变结构满足了,其中每个记录可以有单独规定的长度,无可回避的结果是,在每个记录中 必须有一个含有其长度信息的补充字段。从图5就可以看出其结构不同于线性固定结构。
图5 线性可变文件结构
第1个记录的编号为1,文件的最大长度为254个记录,各个记录的长度由访问命令决定,其范围可由1~254 字节。对此结构的访问命令和线性固定结构是一样的,即read record,write record和update record。
这种文件结构更适合用于记录长度变化较大的存储以及要节省智能卡存储器的记录。例如,前述电话簿就可优化得使每一记录的长度准确地和它所包含的条目一致,这就是说记录的长度都不是一样的。然而,管理这样的文件结构需要智能卡操作系统中的程序代码以及额外的存储器以存储记录长度数据。因此之故,对于只有小量存储器的微控制器的操作系统常常不提供这种文件结构。为了相容性,iso/iec 7816-4标准在一些协议子集里明确地允许这种局限性。
4.循环文件结构
循环文件结构立足于线性固定文件结构的基础之上。因而,它是由一些具有相同长度的记录所组成。另外,ef里含有一个指针,它总是指向最后一个写入的记录。这个记录总是编号为记录1。如果指针达到ef中最后一个记录。当下一个写访问发生时,将由操作系统自动把指针设置到指向第1个记录。它运行起来就类似时钟的时针一样。
与dos系统里的文件相反,在智能卡里bf具有其内部结构。每一个ff的结构可根据预定的用途来选择。这对 外部世界来说是一个很大的优点,因为这些内部结构使得所构造的数据元可访问得迅速而直接。bf结构的分 类如图1所示。
图1 智能卡操作系统bf文件结构的分类
在智能卡里这些数据结构的管理需要非常大量的程序代码。这就是数据结构相互都不对称,而宁可以其经 常实际需要的形式出现的原因。 ̄
1.透明文件结构
透明数据结构经常指的是二进制的或杂乱无章的结构;换句话说,一个透明文件根本就没有内部结构。包 括在文件里的数据可以字节或字组的方式通过使用区距值来读出或写入。read binary,write binary,和 update binary等命令可用于这些方面。
最小的具有透明结构的文件是一字节。在任何标准中都没有明确地规定最大的文件空间。然而,把以短格 式(256)或长格式(65 536)的最大可读字节量与最大的区距值结合起来,得到最大的容量分别是65 791 字节或98 303字节。这些数字很容易产生对目前智能卡可用的存储器大小的错觉。实际上,透明文件极少大 过几百个字节。图2说明了透明文件结构的构造。例如,从一个10字节长的文件中使用3个字节的区距值来读 出5字节,其存取的处理,如图3所示。
图2 透明文件结构
图3 用3字节的区距从透明文件中读取5字节
这种文件结构主要用于那些没有内部结构的数据。或者是非常少量的数据。比较典型的例子就是存储一张 可以由终端从智能卡读出的数字化的护照照片。然而,如果需要的话。这种直线的、一维的数据结构可以用 来模拟其他数据结构。当然,这种情况下,终端的存取操作将以更复杂的形式进行,因为在文件本身里必须 存储一些有关文件结构的参数值。
2,线性固定文件结构
线性固定文件结构是基于链接固定长度的记录的文件结构。一个记录由一串单独的字节组成。这种数据结 构里的单独记录可以自由存取。存取的最小单位是一个记录,也就是说不可能只存取记录的一部分。read record,write record和update record命令就可以用于这种数据结构的文件的读出和写入。
第1个记录永远编号为记录1,最大允许的记录编号为“fe”,或用十进制表示为254,因为“ff”被保留做 未来扩充之用。单个记录的长度由访问命令确定,其范围可由1~254字节。然而,在文件内的所有记录必须 具有相同的长度。图4说明了线性固定文件结构的构造。
图4 线性固定文件结构
这种数据结构的一个典型应用是电话号码簿,其中首先是名字,接着是在固定位置的相关的电话号码。
3,线性可变文件结构
在线性固定文件结构中所有记录的长度都必须一致的事实,意味着使用此种结构时存储空间经常被浪费, 因为很多面向记录的数据的长度是可变的。例如,在电话号码簿中的名字就不是等长的。减小存储空间占用 量的挑战被线性可变结构满足了,其中每个记录可以有单独规定的长度,无可回避的结果是,在每个记录中 必须有一个含有其长度信息的补充字段。从图5就可以看出其结构不同于线性固定结构。
图5 线性可变文件结构
第1个记录的编号为1,文件的最大长度为254个记录,各个记录的长度由访问命令决定,其范围可由1~254 字节。对此结构的访问命令和线性固定结构是一样的,即read record,write record和update record。
这种文件结构更适合用于记录长度变化较大的存储以及要节省智能卡存储器的记录。例如,前述电话簿就可优化得使每一记录的长度准确地和它所包含的条目一致,这就是说记录的长度都不是一样的。然而,管理这样的文件结构需要智能卡操作系统中的程序代码以及额外的存储器以存储记录长度数据。因此之故,对于只有小量存储器的微控制器的操作系统常常不提供这种文件结构。为了相容性,iso/iec 7816-4标准在一些协议子集里明确地允许这种局限性。
4.循环文件结构
循环文件结构立足于线性固定文件结构的基础之上。因而,它是由一些具有相同长度的记录所组成。另外,ef里含有一个指针,它总是指向最后一个写入的记录。这个记录总是编号为记录1。如果指针达到ef中最后一个记录。当下一个写访问发生时,将由操作系统自动把指针设置到指向第1个记录。它运行起来就类似时钟的时针一样。