关 闭

新闻中心

EEPW首页 > 工控自动化 > 设计应用 > 动态多应用智能卡文件系统的研究与设计

动态多应用智能卡文件系统的研究与设计

作者: 时间:2011-04-20 来源:网络 收藏

  1.2 访问以及管理

  所有EF 头中都含有属性字段,指明此文件的特殊信息。属性字段占两字节,字段中的每一 比特位代表一种属性。它们在创建时确定,不允许更改。目前只使用了前三个比特位,分别是:

  1)可删除属性。此属性位为1 表示可以被删除,0 表示不可被删除。

  2)可写属性。此属性位为1 表示可以被修改,0 则表明此文件为只读文件。

  3)可读属性。此属性位为1 表明此文件可以被浏览,0 表示不可以被浏览。

  要对文件访问需要达到一定的安全状态。当该的进程现有状态满足所需要状态,并且符 合和该文件的属性要求时,该进程才能访问文件。当前进程的安全状态是由其是否满足当前目录文件 下的KEF 中的相应密钥决定的。在MF 下仅有DF(目录),没有EF 文件,其KEF 则只含有创 建密钥,读密钥,删除密钥。而一般的KEF 文件中含有四个密钥,分别是读密钥,写密钥, 创建密 钥,删除密钥。

  为了方便文件管理,有一些典型变量要保存在 RAM 中,把这些变量封装成一个结构体CMB, 放在进程的PCB 中。一个CMB 块包含如下变量:1)mfhead。此变量总指向最高层MF 文件头地址。 2)mfsecurity。此变量表明MF 达到的安全状态。其初始值在进程建立时赋值。3)dfsecurity。此变量 表明现行选择的DF 达到的安全状态。其初值在进程建立时赋值。4)currentdf、currentwef。这两个 变量分别为当前DF、当前WEF 文件头地址。在进程时它们的值为NULL,在进程运行过程中由 SELECT 命令显式赋值。5)currentrecord_adr。此变量在当前WEF 为记录结构时使用,它指向当前使 用记录号, 如为透明文件,无效地址。在进程建立或者重新选择WEF 时,其值被赋为0。由记录结构 WEF 读、写命令更改。6)currentef_kef。此变量为当前DF 下KEF 文件头地址。当创建进程时,就 会创建一个CMB 块,其 currentdf 被赋为当时正在访问的DF,安全状态被赋为0。如果currentdf 为 0 时,表示当前的工作目录为MF。

  1.3 EEPROM 的划分

  该的EEPROM 大小为256K,其中分为应用数据区(32K),应用代码去(160K),区 (16K)以及交换区(48K)。

  应用数据区存放着应用的配置数据,并且都是以文件的形式存储的。应用数据区的 EEPROM 是 以页的形式分配给各个应用,每页大小为32 字节。每个文件的页地址信息由文件分配表详细记 录。应用代码区存放着应用的运行代码。应用代码区分为40 块,每块大小为4K。块和应用是一一对 应的关系,即每块对映一个应用。区:存放操作的信息以及用于管理应用及文件的一些系统 表:应用使用表,文件分配表,文件打开表,数据区使用表。文件打开表是用来防止读写冲突的,当 某文件正在被改写时,需要给该文件上锁,等对该文件操作完成后再对该文件解锁。

  数据区使用表记录了应用数据文件在数据区的存储情况,当一个应用要访问某一个数据文件时,需要查看该表,检查 该文件是否属于该应用,防止应用篡改其他应用的数据文件。操作系统的信息用超级块记录。交换区 就是当内存不足时,使用交换区来扩充内存。

  2 文件系统

  2.1 文件分配表

  该操作系统中,文件系统仅到应用数据区,和应用系统区以及应用代码去无关,所以文件系 统占32K 的EEPROM 空间。数据区是以页的形式分配给文件的,每页大小是32 字节,共设有1024 页。存储在系统区的文件分配表占用1K 空间。分配表如图2 所示:该表一共有1024 页(用十六进制 表示),第1 页代表数据区的前32 个字节,以后依次类推。当表项为FFFF,表示文件结束。当记录 为FFFE 时,该页可用。每页的表项记录该文件下一页的页码。如图所示。该文件占用的页码分别是 1,0xC,0xD,0x10,0x14。



评论


相关推荐

技术专区

关闭