色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

英創信息技術Windows CE5.0文件系統分析

英創信息技術 ? 來源:英創信息技術 ? 作者:英創信息技術 ? 2020-01-16 09:04 ? 次閱讀

由于工控設備漸進變化的基本特征,Windows CE5.0仍然被大量的應用在當前的嵌入式主板中。英創公司的EM9160、EM9360等型號的工控主板也都繼續預裝CE5.0操作系統。由于CE5.0文件系統是基于微軟的Windows95/98內核的FAT文件系統,當基于FAT的CE5.0文件系統應用到NAND Flash器件上時,NandFlash的以扇區為單元的讀寫方式、以及塊為單元的擦除方式,有可能讓CE5.0文件系統產生很大的NandFlash存儲單元整理工作量。大規模的NandFlash整理將消耗很大一部分CPU時間,如果此時應用程序又有很重的數據存儲的任務,在非常極端情況下,有可能導致CE5.0文件系統的FAT表損壞。本文則是針對這種情況,提出兩種解決方法。

目前我們通常使用的NandFlash的邏輯結構有兩種,一種是扇區(Sector)大小為512字節,一個塊(Block)包括32個扇區,被稱為小扇區結構;另一種是扇區大小為2048字節(即2KB),一個塊包括64個扇區,這種結構的NandFlash通常稱為大扇區。可以容易算出,文件系統對NandFlash的整理,大扇區的工作量是小扇區的8倍。因此在同樣的運行條件下,大扇區結構的NandFlash對文件系統的負載就高得多。為了確定CE5.0文件系統的這個潛在問題,我們選用了EM9160的精簡版,其基本配置為16-bit數據寬度 32MB內存+128MB大扇區NandFlash作為實驗平臺。采用16-bit數據寬度是讓CPU的處理能力至少降低一倍,而128MB大扇區NandFlash為文件系統只提供了768個Block,從而更容易觸發文件系統的后臺整理進程。

我們的基本測試程序(即應用程序)是以低效率的小文件(一個文件大小不超過512字節,試驗文件大小為180字節)為單位,256個小文件存放在一個目錄中,總共256個目錄循環寫。同時在測試程序中啟動一個定時線程,定時時間為5s – 100s之間的隨機數,定時到時該線程強制重啟系統,這樣對文件系統施加一個隨機重啟的沖擊。為了觀察CPU的基本工作情況,測試程序主線程每2s從調試串口輸出CPU負載率等系統信息。基本的試驗情況如下:

1、CPU常規負載率在65%水平,當系統進行NandFlash整理時,負載率會上升至95%的水平,且最長時間會持續近10s。

2、經過連續24小時試驗,大約有3%的主板的FAT表會損壞,導致系統啟動失敗。

在測試程序中采用的文件寫方式是最直接的流程:

// CreateFile -> WriteFile -> CloseHandle

當所寫的文件已經存在于NandFlash時,CE5.0的TFAT文件系統會以某種方式保留原文件,這樣若在寫文件過程中遇到系統重啟,重啟后系統還能恢復原來的文件。但這樣做的代價是CE5.0文件系統會啟動后臺線程并行來處理這些老文件。經過大量的試驗分析,我們相信正是這種類似的并行操作NandFlash的機制,可能存在某種缺陷,導致在極端情況下FAT的損壞。

根據上面的分析,我們的第一種處理方法,就是在應用程序中增加刪除同名文件,再進行常規文件寫流程,即:

// 第一種方法:

// DeleteFile -> CreateFile -> WriteFile -> CloseHandle

就可把原來需要后臺并行處理的任務變成了應用程序線程順序執行,從而大幅度減少多個線程并行操作NandFlash的情況。修改后的試驗表明,FAT損壞率至少降低一個數量級以上,在目前的試驗規模上已完全不能檢測到FAT損壞的情況。

第一種方法是通過應用程序調整,來降低NandFlash操作的并行度,從而避免觸發CE5.0文件的缺陷顯現。但第一種方法還不能完全消除對NandFlash的并行操作,因為后臺的整理總是存在的。由此產生第二種方法,就是通過監視CPU負載率,一旦CPU負載超過某個閾值,應用線程就暫停文件寫操作,這樣就能主動避免應用程序與后臺并行操作NandFlash。其基本流程變成:

// 第二種方法:
bRet = g_pNandMonitor->EnterNandAccess(dwTimeout); // 獲取NAND訪問權
// 若bRet = TRUE,進入正常NAND操作:
// DeleteFile -> CreateFile -> WriteFile -> CloseHandle
g_pNandMonitor->LeaveNandAccess(); // 歸還NAND訪問權

在上述流程中,使用了我們構造的一個CPU負載率監控類NandFlashMonitor,當CPU負載率超過指定閾值時,應用線程調用EnterNandAccess函數,將導致應用線程阻塞(掛起)直至超時或CPU負載率低于指定閾值。采用CPU負載率監測手段后,可以看到在后臺整理時段,CPU負載率從原來的95%的水平下降到85%的水平,說明在這個時段的應用程序的NandFlash確實是停掉了,同時也說明在這個時段分配給應用程序的資源實際是很少的,所以寫文件的效率是很低的。采用延時寫的方法,是不會對總體性能影響的。需要檢測類NandFlashMonitor代碼的客戶,可郵件向英創技術支持索取。

總之,通過試驗表明,CE5.0的TFAT文件系統對NandFlash管理策略上確實存在某種缺陷,在大扇區NandFlash及頻繁文件操作的應用中,這種缺陷就可能對設備產生威脅。但我們也可以有充分的手段徹底規避這樣的風險,同時又不降低系統的整體性能。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • WINDOWS
    +關注

    關注

    4

    文章

    3551

    瀏覽量

    88911
  • 嵌入式主板
    +關注

    關注

    7

    文章

    6085

    瀏覽量

    35439
收藏 人收藏

    評論

    相關推薦

    EE-329:在SHARC處理器上運行FAT16文件系統和DOS命令

    電子發燒友網站提供《EE-329:在SHARC處理器上運行FAT16文件系統和DOS命令.pdf》資料免費下載
    發表于 01-06 14:22 ?0次下載
    EE-329:在SHARC處理器上運行FAT16<b class='flag-5'>文件系統</b>和DOS命令

    EE-289:在ADSP-BF533 Blackfin處理器上實現FAT32文件系統

    電子發燒友網站提供《EE-289:在ADSP-BF533 Blackfin處理器上實現FAT32文件系統.pdf》資料免費下載
    發表于 01-05 09:13 ?0次下載
    EE-289:在ADSP-BF533 Blackfin處理器上實現FAT32<b class='flag-5'>文件系統</b>

    服務器數據恢復——Ext4文件系統umount失敗的數據恢復案例

    為32字節,主要描述塊位圖、i-節點位圖及i-節點表的地址等信息。 超級塊(Superblock):用于存儲文件系統的配置參數(塊大小、總塊數、i-節點數等)和動態信息(當前空閑塊數和i-節點數)。Ext4
    的頭像 發表于 11-13 13:25 ?332次閱讀
    服務器數據恢復——Ext4<b class='flag-5'>文件系統</b>umount失敗的數據恢復案例

    虛擬化數據恢復—UFS2文件系統數據恢復案例

    虛擬化數據恢復環境: SAN環境下通過iSCSI實現FreeNAS,FreeNAS采用的UFS2文件系統。物理存儲架構在一臺服務器上,另外兩臺服務器上安裝ESXi虛擬化系統。整個存儲建立一個稀疏
    的頭像 發表于 11-11 11:02 ?178次閱讀

    讀懂MSA(測量系統分析)

    讀懂MSA(測量系統分析)
    的頭像 發表于 11-01 11:08 ?992次閱讀
    一<b class='flag-5'>文</b>讀懂MSA(測量<b class='flag-5'>系統分析</b>)

    服務器數據恢復—EXT3文件系統下誤刪除數據的恢復案例

    服務器數據恢復環境: 郵件服務器中有一組由8塊盤組成的RAID5陣列, 上層是Linux操作系統+EXT3文件系統。 服務器故障: 由于誤刪除導致文件系統中的郵件數據丟失。
    的頭像 發表于 10-23 15:11 ?182次閱讀
    服務器數據恢復—EXT3<b class='flag-5'>文件系統</b>下誤刪除數據的恢復案例

    測量系統分析

    電子發燒友網站提供《測量系統分析.doc》資料免費下載
    發表于 10-10 11:46 ?0次下載

    電路原理 電力系統分析電力電子電磁學

    電路原理 模電數電電力電子電磁學 PLC電力系統 電力系統分析
    發表于 10-07 16:21

    Linux根文件系統的掛載過程

    Linux根文件系統(rootfs)是Linux系統中所有其他文件系統和目錄的起點,它是內核啟動時掛載的第一個文件系統
    的頭像 發表于 10-05 16:50 ?446次閱讀

    時鐘噪聲對DAC性能影響系統分析

    電子發燒友網站提供《時鐘噪聲對DAC性能影響系統分析.pdf》資料免費下載
    發表于 09-26 09:14 ?0次下載
    時鐘噪聲對DAC性能影響<b class='flag-5'>系統分析</b>

    ubuntu刪除的文件怎么恢復

    : Ubuntu文件系統概述 Ubuntu是一個基于Linux的操作系統,其文件系統Windows系統有所不同。在Ubuntu中,
    的頭像 發表于 08-30 15:10 ?1573次閱讀

    如何修改buildroot和debian文件系統

    本文檔主要介紹在沒有編譯環境的情況下,如何修改buildroot和debian文件系統方法,如在buildroot文件系統中添加文件、修改目錄等文件操作,在debian
    的頭像 發表于 07-22 17:46 ?515次閱讀
    如何修改buildroot和debian<b class='flag-5'>文件系統</b>

    linux--sysfs文件系統

    sysfs文件系統 sysfs,全稱為System Filesystem,是一個由Linux內核實現的虛擬文件系統。它扮演著一個橋梁的角色,將內核中的設備和驅動程序信息文件的形式呈現
    的頭像 發表于 07-08 11:37 ?934次閱讀
    linux--sysfs<b class='flag-5'>文件系統</b>

    淺談現場總線的智能照明系統分析與應用研究

    淺談現場總線的智能照明系統分析與應用研究 張穎姣 安科瑞電氣股份有限公司 上海嘉定 201801 【摘要】:科學技術的發展使得照明控制的方法不斷發生改變,近年來照明控制系統大多在現場總線的基礎上實現
    的頭像 發表于 02-26 09:29 ?541次閱讀
    淺談現場總線的智能照明<b class='flag-5'>系統分析</b>與應用研究

    【服務器數據恢復】異常斷電導致UFS2文件系統故障的數據恢復案例

    一臺服務器通過FreeNAS(本案例使用的是UFS2文件系統)實現iSCSI存儲,整個UFS2文件系統作為一個文件掛載到ESXi虛擬化系統(安裝在另外2臺服務器上)上。該虛擬化
    的頭像 發表于 02-22 14:48 ?590次閱讀
    【服務器數據恢復】異常斷電導致UFS2<b class='flag-5'>文件系統</b>故障的數據恢復案例
    主站蜘蛛池模板: 亚洲色在线| 亚洲国产欧美在线人成aaaa20| 亚洲蜜桃AV永久无码精品放毛片 | 精品视频中文字幕| 亚洲综合网国产精品一区| 久久亚洲电影www电影网| JIZZ19学生第一次| 天天啪免费视频在线看| 韩国精品无码少妇在线观看网站| 最近更新2019中文字幕国语| 欧美一夜爽爽爽爽爽爽| 国产人妻精品午夜福利免费不卡| 一级做a爰片久久毛片免费 | 国产中文字幕在线| 97公开超碰在线视频| 婷婷射精AV这里只有精品| 久久国产乱子伦精品免费M| 啊…嗯啊好深男男高h文总受| 羞羞在线观看| 男男被强bl高h文| 国产三级视频在线| MM131亚洲精品久久安然| 亚洲.日韩.欧美另类| 嗯啊快拔出来我是你老师视频| 国产久久精品热99看| 97色伦久久视频在观看| 亚洲qingse中文字幕久久| 末成年美女黄网站色大片连接| 国产精品亚洲电影久久成人影院| 116美女写真午夜电影z| 十九禁啊啪射视频在线观看| 久久人人爽人人片AV人成| 国产精品v片在线观看不卡| 99re久久热免费视频| 亚洲国产精品免费线观看视频| 欧美一区二区影院| 久久精品18| 国产亚洲精品精华液| 超碰97av 在线人人操| 中文字幕人成人乱码亚洲影视S| 午夜免费福利小电影|