CPU卡檔案系統

2021-06-28 02:18:00 字數 3393 閱讀 4779

智慧卡的檔案系統類似dos 的樹形檔案系統。iso7816 支援兩類檔案:df(dedicated file ) 和ef(ele2

mentary file) 。df 檔案有點類似dos 的目錄,而ef 檔案則有點類似dos 的資料檔案。df 檔案之下的

df 檔案,類似dos 的子目錄。當然,df 之下還可以有df 檔案。同dos 檔案系統一樣,智慧卡的檔案系

統也必須有乙個根檔案,這個根檔案是乙個df 檔案,我們把它稱為mf (master file) 檔案,mf 檔案類似

dos 的根目錄。

在智慧卡的檔案系統結構中,mf 檔案有且只能有乙個;df 檔案是可選的,這兩種檔案主要起管理和

形成樹形的檔案系統結構的作用,真正存放資料的是ef 檔案。

mf 檔案是智慧卡檔案系統的根。在mf 檔案下可以建立各種df 和ef 檔案。雖然系統允許在根下

直接生成各種ef 應用檔案,但最佳的檔案組織方法是每一種應用均分配乙個df 檔案,在相應的df 文

件下再具體組織各種ef 應用資料。

df 檔案含有檔案控制資訊和可分配的儲存空間的資訊,其下可以建立各種df 和ef 檔案。一般而

言,乙個df 檔案將被用來儲存某一應用的所有資料。df 檔案在使用者儲存器中佔據一塊靜態儲存器,一

旦df 檔案建立,其儲存器的大小就不能變動。但在該df 檔案下的ef 檔案則可以重新分配所使用儲存

器大小,也可以被刪除。該df 檔案被刪除之後,其下的df 和ef 檔案也同時被刪除,釋放的儲存器塊可

由其它df 檔案使用。

ef 檔案是智慧卡樹形檔案系統的葉,其下不能再建立其他任何檔案。

當訪問乙個檔案時,我們可以使用下面幾種方法中的至少一種來進行:

(1) 通過檔案標誌符(file identifier) 來訪問

在智慧卡檔案系統中每乙個檔案都有乙個檔案標誌符,它占用2 個位元組。值「3fff」和「ffff」系統保

留,不能用於具體的檔案。對於mf 檔案來說,它的檔案標誌符必須為「3f00」。因此,當我們訪問智慧卡

的檔案系統時,起點就是從檔案標誌符為「3f00」的mf 檔案開始。

(2) 通過檔案路徑來訪問

所謂檔案路徑,就是無分隔符的檔案標誌符的串聯形式。智慧卡檔案系統的檔案路徑起始於mf 文

件或者當前的df 檔案的檔案標誌符,而以要訪問的檔案的檔案標誌符結束;在這兩者之間則是相關的

df 檔案的檔案標誌符。如果當前的df 檔案的檔案標誌符未知,則「3fff」可以作為檔案路徑的開始。如

果檔案路徑以mf 檔案的檔案標誌符開始,則稱該檔案路徑為絕對路徑;如果以當前df 檔案的檔案標誌

符開始,則稱為相對路徑。

(3) 通過ef 短標誌符來訪問

對於任意乙個ef 檔案,可以通過乙個5bit 編碼的短標誌符來訪問,其範圍為1~30 。0 具有特殊含

義,表示當前正在訪問的ef 檔案。短標誌符不能用於檔案路徑,也不能用作檔案標誌符。

(4) 通過df 檔名來訪問

每個df 檔案可以有乙個1~16 位元組長的檔名。為了能夠明確無誤的通過df 檔名來訪問df 文

件,智慧卡中的每個df 檔案的檔名必須不同。

ef 檔案的結構可分為透明結構和記錄結構兩種。

(1) 透明結構:透明結構ef 檔案在通過介面被訪問時只被視為資料單元(data unit) 序列,而好像沒

有結構一樣,所以我們稱之為透明結構。所謂資料單元,就是可被訪問的最小的位集(smallest set of bits) ,

如1 個位元組,2 個位元組等等。透明結構本質上也就是二進位制資料結構。

(2) 記錄結構:記錄結構ef 檔案在通過介面被訪問時被視為具有結構的記錄(record) 序列。所謂記

錄,就是可被作為乙個整體加以處理的具有結構的位元組串,類似於pascal 語言的記錄的概念。

ef 檔案中的資料可以通過記錄、資料單元或者資料物件來訪問。對記錄結構的ef 檔案而言,資料

被儲存在連續的記錄序列中;對透明結構的ef 檔案而言,資料被儲存在連續的資料單元序列中。如果試

圖訪問不在ef 檔案中的記錄、資料單元或者資料物件,將導致錯誤。資料訪問方法、記錄編號方法以及

資料單元的大小等作為檔案系統的特徵,在智慧卡的復位應答過程atr (answer to reset) 中由智慧卡給

出,還可以由智慧卡中的atr 檔案給出,以及由其他檔案控制資訊給出。如果智慧卡在上面提及的三種

方式中不止一處給出了資料訪問方法、記錄編號方法以及資料單元的大小等資訊,那麼對於任意乙個ef

檔案而言,由於不同出處給出的資訊可能不一樣,因此很明顯只能有乙個資訊是有效的。而有效的資訊

就是從mf 檔案到該ef 檔案的檔案路徑上最靠近該ef 檔案的位置給出的資訊。

(1) 記錄結構ef 檔案中記錄的訪問方法

對記錄結構的ef 檔案,其中的記錄可以通過記錄編號來訪問。記錄編號是無符號8 位整數,其取值

範圍為01~fe。值00 保留作特殊用途;值ff 保留來將來使用。在每個記錄結構的ef 檔案中,每個記

錄的記錄編號都是唯一並且是有序的。

對於線性記錄結構的ef 檔案:當建立新增記錄時,記錄編號按照以一定順序予以指定。也就是說記

錄的記錄編號按照記錄的建立順序指定。因此,第乙個記錄(記錄編號為1) 就是第乙個建立的記錄;第

二個記錄(記錄編號為2) 就是第二個建立的記錄⋯⋯以次類推。

對於迴圈記錄結構的ef 檔案:第乙個記錄(記錄編號為1) 總是最後建立的記錄;第二個記錄(記錄

編號為2) 就是倒數第二個建立的記錄⋯⋯以次類推。很顯然,對於迴圈記錄結構的ef 檔案的記錄編

號順序剛好和線性記錄結構的ef 檔案相反。

記錄編號值00 總是表示當前記錄,就是記錄指標(record pointer) 當前指向的記錄。

(2) 透明結構ef 檔案中資料單元的訪問方法

對每乙個透明結構的ef 檔案而言,其內部的資料單元通過偏移(offset) 來訪問。偏移是乙個無符號

整數,長度為8 位或者15 位(由不同的訪問命令來決定) 。當偏移為0 時,則訪問該透明結構ef 檔案的

第乙個資料單元;偏移為1 時,訪問第二個資料單元;偏移為2 時,訪問第三個資料單元⋯⋯以次類推。

在預設情況下,也就是智慧卡沒有給出資料單元大小的資訊時,預設採用每個資料單元大小為1 位元組。

(3) 資料物件的訪問方法

所謂資料物件,就是採用抽象語法表示asn. 1 (abstract syntax notation) 的編碼規則,如ber(basic en2

coding rule) 等對資料按照一定的格式編碼形成的乙個資料結構。該資料結構通常包含三部分資訊:標籤

(tag) 、長度(length) 和資料(data) 。標籤給出了資料的資料型別,如整數、ascii 字串、unicode 字串、

structure 結構型別等等;長度則給出了資料的長度。很明顯,這種資料物件本質上是自描述的。因此,當

訪問資料物件時,可以通過標籤等對資料物件進行訪問。

sd卡檔案系統

在手機tf卡經歷多次受損後 chksdk終於失去作用 換了讀卡器,先前的是用類似u盤的,後面是專業 先前手機執行狀態下解除安裝unmountsd卡再裝上測試可行 曾有多次 可能導致檔案系統內交叉鏈結太多 壞前有大量讀寫,直接執行解除安裝,結果檔案系統變成raw 尋求解答,發現原格式是fat檔案系統根...

製作SD卡檔案系統

一 先說一下關於檔案系統方面的東西 因為根檔案系統主要負責啟動執行的配置檔案,所以linux在啟動必須先掛載根檔案系統。這樣 在啟動後就可以自動或手動掛載其他檔案系統。常見的檔案系統型別 儲存裝置 檔案系統 型別 ramdram proc,sysfs,ranfs sdram rom各種 flash ...

linux 檢視cpu資訊 proc檔案系統

總核數 物理cpu個數 x 每顆物理cpu的核數 總邏輯cpu數 物理cpu個數 x 每顆物理cpu的核數 x 超執行緒數 檢視物理cpu個數 cat proc cpuinfo grep physical id sort uniq wc l 檢視每個物理cpu中core的個數 即核數 cat pro...