關(guān) 閉

新聞中心

EEPW首頁 > 工控自動化 > 設(shè)計(jì)應(yīng)用 > 動態(tài)多應(yīng)用智能卡文件系統(tǒng)的研究與設(shè)計(jì)

動態(tài)多應(yīng)用智能卡文件系統(tǒng)的研究與設(shè)計(jì)

作者: 時(shí)間:2011-04-20 來源:網(wǎng)絡(luò) 收藏

  1.2 訪問以及管理

  所有EF 頭中都含有屬性字段,指明此文件的特殊信息。屬性字段占兩字節(jié),字段中的每一 比特位代表一種屬性。它們在創(chuàng)建時(shí)確定,不允許更改。目前只使用了前三個(gè)比特位,分別是:

  1)可刪除屬性。此屬性位為1 表示可以被刪除,0 表示不可被刪除。

  2)可寫屬性。此屬性位為1 表示可以被修改,0 則表明此文件為只讀文件。

  3)可讀屬性。此屬性位為1 表明此文件可以被瀏覽,0 表示不可以被瀏覽。

  要對文件訪問需要達(dá)到一定的安全狀態(tài)。當(dāng)該的進(jìn)程現(xiàn)有狀態(tài)滿足所需要狀態(tài),并且符 合和該文件的屬性要求時(shí),該進(jìn)程才能訪問文件。當(dāng)前進(jìn)程的安全狀態(tài)是由其是否滿足當(dāng)前目錄文件 下的KEF 中的相應(yīng)密鑰決定的。在MF 下僅有DF(目錄),沒有EF 文件,其KEF 則只含有創(chuàng) 建密鑰,讀密鑰,刪除密鑰。而一般的KEF 文件中含有四個(gè)密鑰,分別是讀密鑰,寫密鑰, 創(chuàng)建密 鑰,刪除密鑰。

  為了方便文件管理,有一些典型變量要保存在 RAM 中,把這些變量封裝成一個(gè)結(jié)構(gòu)體CMB, 放在進(jìn)程的PCB 中。一個(gè)CMB 塊包含如下變量:1)mfhead。此變量總指向最高層MF 文件頭地址。 2)mfsecurity。此變量表明MF 達(dá)到的安全狀態(tài)。其初始值在進(jìn)程建立時(shí)賦值。3)dfsecurity。此變量 表明現(xiàn)行選擇的DF 達(dá)到的安全狀態(tài)。其初值在進(jìn)程建立時(shí)賦值。4)currentdf、currentwef。這兩個(gè) 變量分別為當(dāng)前DF、當(dāng)前WEF 文件頭地址。在進(jìn)程時(shí)它們的值為NULL,在進(jìn)程運(yùn)行過程中由 SELECT 命令顯式賦值。5)currentrecord_adr。此變量在當(dāng)前WEF 為記錄結(jié)構(gòu)時(shí)使用,它指向當(dāng)前使 用記錄號, 如為透明文件,無效地址。在進(jìn)程建立或者重新選擇WEF 時(shí),其值被賦為0。由記錄結(jié)構(gòu) WEF 讀、寫命令更改。6)currentef_kef。此變量為當(dāng)前DF 下KEF 文件頭地址。當(dāng)創(chuàng)建進(jìn)程時(shí),就 會創(chuàng)建一個(gè)CMB 塊,其 currentdf 被賦為當(dāng)時(shí)正在訪問的DF,安全狀態(tài)被賦為0。如果currentdf 為 0 時(shí),表示當(dāng)前的工作目錄為MF。

  1.3 EEPROM 的劃分

  該的EEPROM 大小為256K,其中分為應(yīng)用數(shù)據(jù)區(qū)(32K),應(yīng)用代碼去(160K),區(qū) (16K)以及交換區(qū)(48K)。

  應(yīng)用數(shù)據(jù)區(qū)存放著應(yīng)用的配置數(shù)據(jù),并且都是以文件的形式存儲的。應(yīng)用數(shù)據(jù)區(qū)的 EEPROM 是 以頁的形式分配給各個(gè)應(yīng)用,每頁大小為32 字節(jié)。每個(gè)文件的頁地址信息由文件分配表詳細(xì)記 錄。應(yīng)用代碼區(qū)存放著應(yīng)用的運(yùn)行代碼。應(yīng)用代碼區(qū)分為40 塊,每塊大小為4K。塊和應(yīng)用是一一對 應(yīng)的關(guān)系,即每塊對映一個(gè)應(yīng)用。區(qū):存放操作的信息以及用于管理應(yīng)用及文件的一些系統(tǒng) 表:應(yīng)用使用表,文件分配表,文件打開表,數(shù)據(jù)區(qū)使用表。文件打開表是用來防止讀寫沖突的,當(dāng) 某文件正在被改寫時(shí),需要給該文件上鎖,等對該文件操作完成后再對該文件解鎖。

  數(shù)據(jù)區(qū)使用表記錄了應(yīng)用數(shù)據(jù)文件在數(shù)據(jù)區(qū)的存儲情況,當(dāng)一個(gè)應(yīng)用要訪問某一個(gè)數(shù)據(jù)文件時(shí),需要查看該表,檢查 該文件是否屬于該應(yīng)用,防止應(yīng)用篡改其他應(yīng)用的數(shù)據(jù)文件。操作系統(tǒng)的信息用超級塊記錄。交換區(qū) 就是當(dāng)內(nèi)存不足時(shí),使用交換區(qū)來擴(kuò)充內(nèi)存。

  2 文件系統(tǒng)

  2.1 文件分配表

  該操作系統(tǒng)中,文件系統(tǒng)僅到應(yīng)用數(shù)據(jù)區(qū),和應(yīng)用系統(tǒng)區(qū)以及應(yīng)用代碼去無關(guān),所以文件系 統(tǒng)占32K 的EEPROM 空間。數(shù)據(jù)區(qū)是以頁的形式分配給文件的,每頁大小是32 字節(jié),共設(shè)有1024 頁。存儲在系統(tǒng)區(qū)的文件分配表占用1K 空間。分配表如圖2 所示:該表一共有1024 頁(用十六進(jìn)制 表示),第1 頁代表數(shù)據(jù)區(qū)的前32 個(gè)字節(jié),以后依次類推。當(dāng)表項(xiàng)為FFFF,表示文件結(jié)束。當(dāng)記錄 為FFFE 時(shí),該頁可用。每頁的表項(xiàng)記錄該文件下一頁的頁碼。如圖所示。該文件占用的頁碼分別是 1,0xC,0xD,0x10,0x14。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉