91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

英創(chuàng)信息技術(shù)Windows CE5.0文件系統(tǒng)分析

英創(chuàng)信息技術(shù) ? 來源:英創(chuàng)信息技術(shù) ? 作者:英創(chuàng)信息技術(shù) ? 2020-01-16 09:04 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

我們的基本測試程序(即應(yīng)用程序)是以低效率的小文件(一個文件大小不超過512字節(jié),試驗文件大小為180字節(jié))為單位,256個小文件存放在一個目錄中,總共256個目錄循環(huán)寫。同時在測試程序中啟動一個定時線程,定時時間為5s – 100s之間的隨機(jī)數(shù),定時到時該線程強(qiáng)制重啟系統(tǒng),這樣對文件系統(tǒng)施加一個隨機(jī)重啟的沖擊。為了觀察CPU的基本工作情況,測試程序主線程每2s從調(diào)試串口輸出CPU負(fù)載率等系統(tǒng)信息?;镜脑囼炃闆r如下:

1、CPU常規(guī)負(fù)載率在65%水平,當(dāng)系統(tǒng)進(jìn)行NandFlash整理時,負(fù)載率會上升至95%的水平,且最長時間會持續(xù)近10s。

2、經(jīng)過連續(xù)24小時試驗,大約有3%的主板的FAT表會損壞,導(dǎo)致系統(tǒng)啟動失敗。

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

// CreateFile -> WriteFile -> CloseHandle

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

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

// 第一種方法:

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

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

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

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

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

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • WINDOWS
    +關(guān)注

    關(guān)注

    4

    文章

    3702

    瀏覽量

    94097
  • 嵌入式主板
    +關(guān)注

    關(guān)注

    7

    文章

    6107

    瀏覽量

    37096
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    汽車零部的陽光模擬試驗研究:技術(shù)原理、測試標(biāo)準(zhǔn)與試驗特點

    ,介紹了陽光模擬試驗的測試原理、核心參數(shù),并系統(tǒng)分析了GB/T2423.24、GJB150.7A及DIN75220等主流標(biāo)準(zhǔn)的測試方法、特點及適用場景,旨在為選擇
    的頭像 發(fā)表于 03-09 18:03 ?232次閱讀
    汽車零部<b class='flag-5'>件</b>的陽光模擬試驗研究:<b class='flag-5'>技術(shù)</b>原理、測試標(biāo)準(zhǔn)與試驗特點

    龍芯中科助力2025教育信息技術(shù)應(yīng)用創(chuàng)新大賽成功舉辦

    2025年11月13日-15日,由中國教育技術(shù)協(xié)會主辦、浙江大學(xué)與中國教育技術(shù)協(xié)會網(wǎng)絡(luò)安全專業(yè)委員會聯(lián)合承辦,中國電子工業(yè)標(biāo)準(zhǔn)化技術(shù)協(xié)會信息技術(shù)應(yīng)用創(chuàng)新工作委員會、浙江高校信
    的頭像 發(fā)表于 11-21 16:23 ?801次閱讀

    明晚8點|睿擎文件系統(tǒng)實戰(zhàn):從開發(fā)到發(fā)布全流程解析

    文件操作到鏡像發(fā)布,一次直播掌握完整開發(fā)流程!在嵌入式系統(tǒng)開發(fā)中,文件系統(tǒng)是數(shù)據(jù)存儲、配置管理和資源訪問的核心基礎(chǔ)。然而在實際開發(fā)中,文件操作效率低下、鏡像打包流程復(fù)雜、
    的頭像 發(fā)表于 11-11 11:53 ?656次閱讀
    明晚8點|睿擎<b class='flag-5'>文件系統(tǒng)</b>實戰(zhàn):從開發(fā)到發(fā)布全流程解析

    睿擎派文件系統(tǒng)指南:從開發(fā)到發(fā)布全流程實踐 | 技術(shù)解析

    在嵌入式系統(tǒng)開發(fā)中,文件系統(tǒng)扮演著至關(guān)重要的角色,它負(fù)責(zé)數(shù)據(jù)的持久化存儲、配置文件管理和資源訪問等核心功能。睿擎平臺提供了一套完整的文件系統(tǒng)解決方案,從開發(fā)階段的API調(diào)用到調(diào)試階段的
    的頭像 發(fā)表于 11-05 18:13 ?8125次閱讀
    睿擎派<b class='flag-5'>文件系統(tǒng)</b>指南:從開發(fā)到發(fā)布全流程實踐 | <b class='flag-5'>技術(shù)</b>解析

    CubeMX移植RT-Thread 3.1.5文件重復(fù)怎么解決?

    CubeMX6.7.0內(nèi)移植RT-Thread Nano3.1.5文件重復(fù),主要是兩個部分 1、 和 兩個地方重復(fù)rtconfig.h 2、shell相關(guān)的文件也會重復(fù) 和 請問下各位有沒有辦法可以解決這個問題的?
    發(fā)表于 09-24 07:11

    技術(shù)貼|【RK3588】ELF 2開發(fā)板如何添加exFAT和NTFS文件系統(tǒng)格式

    如何通過系統(tǒng)配置實現(xiàn)對該兩種文件系統(tǒng)的支持,并配置自動掛載功能。Windows系統(tǒng)格式化存儲設(shè)備在使用TF卡前,需通過Windows自帶工具
    的頭像 發(fā)表于 08-27 17:21 ?3567次閱讀
    <b class='flag-5'>技術(shù)</b>貼|【RK3588】ELF 2開發(fā)板如何添加exFAT和NTFS<b class='flag-5'>文件系統(tǒng)</b>格式

    Linux三大主流文件系統(tǒng)解析

    還在為選擇哪個文件系統(tǒng)而糾結(jié)?作為一名摸爬滾打多年的運維老鳥,我將用最接地氣的方式,帶你徹底搞懂 Linux 三大主流文件系統(tǒng)的奧秘。
    的頭像 發(fā)表于 08-05 17:37 ?1466次閱讀

    佛瑞亞如何通過信息技術(shù)推動業(yè)務(wù)增長

    在數(shù)字化、信息化的浪潮下,信息技術(shù)已經(jīng)不僅是后臺工具,更成為驅(qū)動企業(yè)發(fā)展的關(guān)鍵力量。本期Women Inspiring Mobility,我們采訪了佛瑞亞中國區(qū)信息技術(shù)總監(jiān)馬瑛,了解她和團(tuán)隊如何將
    的頭像 發(fā)表于 07-29 14:00 ?924次閱讀

    創(chuàng)龍TL3562-MiniEVM開發(fā)板試用體驗】問題3 擴(kuò)展ubuntu文件系統(tǒng)

    在ubuntu系統(tǒng)下,沒放多少自定義的東西,報空間不夠,原以為是內(nèi)存不夠,故換一個32G的SD卡作為根文件系統(tǒng)(其實根本原因是rootfs.img鏡像大小,默認(rèn)rootfs.img分區(qū)大小為6G,但
    發(fā)表于 07-08 22:11

    飛凌嵌入式ElfBoard ELF 1板卡-文件系統(tǒng)簡介

    /3/4等,ELF 1開發(fā)板使用的是Ext3文件系統(tǒng),每種文件系統(tǒng)類型都有自己的特性,下面我們逐一介紹一下。一、Ext2/3/4Ext全稱Linux extended file system
    發(fā)表于 06-19 17:22

    科普|信創(chuàng)是什么?一讀懂“信息技術(shù)應(yīng)用創(chuàng)新”戰(zhàn)略

    什么是信創(chuàng)?信創(chuàng),即“信息技術(shù)應(yīng)用創(chuàng)新”,是國家推動IT系統(tǒng)自主可控、安全可控的重要戰(zhàn)略工程。它不僅是技術(shù)層面的創(chuàng)新,更承載著保障國家網(wǎng)絡(luò)安
    的頭像 發(fā)表于 06-13 10:06 ?8530次閱讀
    科普|信<b class='flag-5'>創(chuàng)</b>是什么?一<b class='flag-5'>文</b>讀懂“<b class='flag-5'>信息技術(shù)</b>應(yīng)用創(chuàng)新”戰(zhàn)略

    服務(wù)器數(shù)據(jù)恢復(fù)—重裝系統(tǒng)導(dǎo)致XFS文件系統(tǒng)分區(qū)丟失的數(shù)據(jù)恢復(fù)案例

    服務(wù)器數(shù)據(jù)恢復(fù)環(huán)境&故障: 一臺服務(wù)器上通過磁盤柜+RAID卡組建的riad5磁盤陣列,服務(wù)器上層安裝Linux操作系統(tǒng),搭建XFS文件系統(tǒng)。服務(wù)器上層分配一個LUN,并劃分了兩個分區(qū)
    的頭像 發(fā)表于 06-12 11:20 ?813次閱讀
    服務(wù)器數(shù)據(jù)恢復(fù)—重裝<b class='flag-5'>系統(tǒng)</b>導(dǎo)致XFS<b class='flag-5'>文件系統(tǒng)分</b>區(qū)丟失的數(shù)據(jù)恢復(fù)案例

    服務(wù)器數(shù)據(jù)恢復(fù)—ocfs2文件系統(tǒng)被格式化為Ext4文件系統(tǒng)的數(shù)據(jù)恢復(fù)案例

    服務(wù)器存儲數(shù)據(jù)恢復(fù)環(huán)境&故障: 人為誤操作將Ext4文件系統(tǒng)誤裝入一臺服務(wù)器存儲上的Ocfs2文件系統(tǒng)數(shù)據(jù)卷上,導(dǎo)致原Ocfs2文件系統(tǒng)被格式化為Ext4文件系統(tǒng)。
    的頭像 發(fā)表于 06-10 12:03 ?751次閱讀
    服務(wù)器數(shù)據(jù)恢復(fù)—ocfs2<b class='flag-5'>文件系統(tǒng)</b>被格式化為Ext4<b class='flag-5'>文件系統(tǒng)</b>的數(shù)據(jù)恢復(fù)案例

    服務(wù)器數(shù)據(jù)恢復(fù)—AIX小型機(jī)誤刪數(shù)據(jù)如何恢復(fù)!

    和oradata2。 AIX小型機(jī)采用JFS2文件系統(tǒng)分配和管理邏輯卷。JFS2文件系統(tǒng)的根目錄存儲Oracle數(shù)據(jù)庫核心文件(.dbf文件),用于支撐關(guān)鍵業(yè)務(wù)
    的頭像 發(fā)表于 04-16 18:12 ?609次閱讀
    服務(wù)器數(shù)據(jù)恢復(fù)—AIX小型機(jī)誤刪數(shù)據(jù)如何恢復(fù)!

    如何正確選擇嵌入式文件系統(tǒng)?

    Linux嵌入式系統(tǒng)中,文件系統(tǒng)和緩存機(jī)制常導(dǎo)致數(shù)據(jù)存儲穩(wěn)定性問題。本文通過案例分析原因,對比不同文件系統(tǒng)特性,為開發(fā)者提供優(yōu)化建議,助力提升數(shù)據(jù)穩(wěn)定性和
    的頭像 發(fā)表于 03-17 11:35 ?1119次閱讀
    如何正確選擇嵌入式<b class='flag-5'>文件系統(tǒng)</b>?