智慧卡的檔案系統類似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...