freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

6、論文格式模板201x網(wǎng)絡(luò)本科畢設(shè)本科畢業(yè)設(shè)計論文-資料下載頁

2025-08-06 06:43本頁面
  

【正文】 系統(tǒng)的基本任務(wù)是在目標(biāo)板上運行 Linux 內(nèi)核。參考如 圖 所示的“主機/目標(biāo)機”交叉開發(fā)環(huán)境,建立一個嵌入式 ARM Linux 系統(tǒng)需要下面 4 個步驟。 主 機 (PC 或 工 作 站 ) 目 標(biāo) 板 (IQ80321) 主 機 操 作 系 統(tǒng) (Redhat Linux) 交 叉 工 具 鏈 軟 件 調(diào) 試工 具 遠(yuǎn) 程 控 制 臺 調(diào) 試 監(jiān) 視 器 (RedBot) BSP, 驅(qū) 動 程序 , 和 內(nèi) 核 根 文 件 系 統(tǒng) JTAG 并 口 以 太 網(wǎng) 串 口 網(wǎng) 絡(luò) 接 口 用 戶 應(yīng) 用 圖 交叉開發(fā)環(huán)境1. 準(zhǔn)備交叉開發(fā)工具鏈工具鏈(toolchain)實際上包含許多部件,其中最重要的一個是 gcc 編譯器,另一個是 binutils(一組操作二進(jìn)制文件的工具) 。有了這些工具就可以編譯內(nèi)核了,不過其實通常情況下還需要 C 庫 glibc,以支持編譯更多的應(yīng)用。2. 編譯 ARM Linux 內(nèi)核為了編譯一個可以在 IOP321 上運行的 Linux 內(nèi)核,需要為官方 Linux 內(nèi)核打上一系列補丁。我們?yōu)? 官方內(nèi)核源代碼打 rmk1,ds0 和 dj9 補丁包,從而得到 版本內(nèi)核。然后使用 make 命令即可調(diào)用 armlinux 工具鏈生成內(nèi)核映像文件 zImage。后來我們又將內(nèi)核升級到了 。3. 編譯 ARM Linux 內(nèi)核 系統(tǒng)軟件架構(gòu)為了驗證上述屬性控制的對象放置策略,我們設(shè)計實現(xiàn)了一個原型系統(tǒng),可以稱為 iSCSIOSDRAID。該系統(tǒng)基于本實驗室自主開發(fā)的磁盤陣列控制器,并融入了OSD 研究領(lǐng)域的最新成果。原型系統(tǒng)的整體結(jié)構(gòu)如 圖 所示。整個系統(tǒng)可以分為啟動器(Initiator )和目標(biāo)器(Target)兩大部分 1。應(yīng)用程序的 I/O 請求首先送給文件系統(tǒng),文件系統(tǒng)把對文件的訪問轉(zhuǎn)換為對 OSD 對象的訪問。OSD 啟動器(相當(dāng)于 OSD 的設(shè)備驅(qū)動程序)收到請求之后,根據(jù) OSD 標(biāo)準(zhǔn)發(fā)出SCSI 命令給目標(biāo)器。 應(yīng) 用 Linux VFS OSD 文 件 系 統(tǒng) OSD 啟 動 器 iSCI 啟 動 器 TCP/I TCP/I iSCI 目 標(biāo) 器 OSD 目 標(biāo) 器 IP 協(xié) 議 iSCI 協(xié) 議 SCIOSD 網(wǎng) 絡(luò) RAID 控 制 器 啟 動 器 目 標(biāo) 器 圖 OSD 原型系統(tǒng)結(jié)構(gòu)SCSI 命令從啟動器到目標(biāo)器的傳輸可以采用多種物理途徑。最直接的方式是通過 SCSI 扁平電纜,或者還可以使用光纖。但是這兩種方式都要求有合適的主機適配卡(HBA )和驅(qū)動程序,并且需要對標(biāo)準(zhǔn)的驅(qū)動程序進(jìn)行必要的改造,這是比較困難的。因此,在現(xiàn)階段我們采用 iSCSI 和 TCP/IP 協(xié)議,利用以太網(wǎng)來傳輸 SCSI 命1在 T10 SCSI 標(biāo)準(zhǔn)中,術(shù)語“應(yīng)用客戶端(application client) ”即表示啟動器,發(fā)出 SCSI 命令;“設(shè)備服務(wù)器(device server) ”即表示目標(biāo)器,負(fù)責(zé)處理 SCSI 命令。令。這種選擇的優(yōu)點是顯而易見的:以太網(wǎng)涉及的軟件和硬件(TCP/IP 協(xié)議,網(wǎng)絡(luò)接口卡 NIC 以及交換機等)都是通用的標(biāo)準(zhǔn)組件;而 iSCSI 協(xié)議也已經(jīng)趨于成熟,無論是啟動器還是目標(biāo)器都有大量參考代碼和實現(xiàn)。在原型實現(xiàn)中,最關(guān)鍵的模塊是 OSD Initiator 和 OSD Target。其中 OSD Initiator 我們借用了 IBM 提供的源代碼 1() [5][14][11]。RAID 控制器軟件分為 5 個模塊,如 圖 所示。 Cache 管 理 (CM) RAID 核 心 (RK) SCI 啟 動 器 (SI) iSCI FETD Agilent TSDK OSD TML 對 象 管 理 . 全 局 配 置 (GC) iSCI TML FC 啟 動 器 OSD 啟 動 器 iSCI 啟 動 器 RAMdisk (ST) 圖 RAID 控制器軟件結(jié)構(gòu)ST 負(fù)責(zé)接收主機的 SCSI 命令并返回應(yīng)答和數(shù)據(jù)。為了提高 I/O 數(shù)傳率,CM 進(jìn)行預(yù)讀和延遲寫緩存管理,使 I/O 請求盡可能在緩存中完成。RK 進(jìn)行 RAID 處理,包括常用的 RAID 級別和重構(gòu)。最后,真正的磁盤讀寫操作和磁盤狀態(tài)檢測由 SI 完成。GC 模塊使系統(tǒng)管理員可以通過幾種方式對磁盤陣列進(jìn)行配置、管理,比如串口1 IBM 已經(jīng)根據(jù) OSDv1 既實現(xiàn)了啟動器、也實現(xiàn)了目標(biāo)器,但是僅啟動器的源代碼是公開的。控制臺和 GUI 應(yīng)用程序。SCSI 目標(biāo)器模塊的設(shè)計比較復(fù)雜。在通常的操作系統(tǒng)中,SCSI 子系統(tǒng)都是作為啟動器實現(xiàn)的。磁盤陣列與主機連接之后,對磁盤陣列來說主機就是啟動器,而RAID 控制器必須作為主機的一個 SCSI 設(shè)備,具有目標(biāo)器的功能,從主機接收 SCSI命令進(jìn)行處理。仿照 SCSI 子系統(tǒng)的結(jié)構(gòu),ST 也分為目標(biāo)器中間層(STML)和前端驅(qū)動(FETD)兩個部分。我們設(shè)計的 ST 模塊目前支持三種協(xié)議的啟動器,分別是 FC(光纖通道) 、iSCSI 和OSD。FC 目標(biāo)器的實現(xiàn)相對比較獨立,基于 Agilent 提供的軟件開發(fā)包。而 iSCSI與 OSD 則具有比較緊密的聯(lián)系,兩者使用了同一個 iSCSI 前端驅(qū)動,因為 OSD 目標(biāo)器也依賴 iSCSI 進(jìn)行 SCSI 命令的傳輸。iSCSI 前端收到 SCSI 命令之后,可以選擇將命令發(fā)送給 iSCSI 或者 OSD 中間層進(jìn)行處理。當(dāng)然,這兩種目標(biāo)器的中間層能夠處理的 SCSI 命令是有區(qū)別的。下一節(jié)詳細(xì)給出 iSCSI 和 OSD 目標(biāo)器的設(shè)計。 功能模塊劃分Cache 管理模塊在整個軟件系統(tǒng)中處于關(guān)鍵位置。為了盡可能減少內(nèi)存復(fù)制的開銷,實現(xiàn)了內(nèi)存“零拷貝” 。CM 作為內(nèi)存管理中心,使用伙伴算法、以分條單元(Stripe Unit)為單位分配內(nèi)存緩沖區(qū)。對于每個 I/O 請求使用紅黑樹算法在 Cache中查找是否命中,該算法能夠以 O(log2 n)的時間復(fù)雜度進(jìn)行搜索、插入、刪除操作。RAID 核心算法模塊的主要任務(wù)是將對虛擬磁盤的讀寫轉(zhuǎn)換為對物理磁盤的讀寫。在當(dāng)前的 Linux 內(nèi)核中利用文件系統(tǒng)層和磁盤驅(qū)動程序?qū)又g的 MD 模塊實現(xiàn)了軟RAID 方案,由于涉及文件系統(tǒng)層的同步調(diào)用故效率不高。我們獨立實現(xiàn)了幾種常見RAID 級別(0,1,10,3,5,6 等)的算法,達(dá)到了比較好的效果。在最初的設(shè)計中,RK 發(fā)出的讀寫請求在送到磁盤進(jìn)行處理之前,還要經(jīng)過 I/O調(diào)度模塊,目的是通過分析、合并或者重新組織隊列中的 I/O 請求,提高 I/O 通道的數(shù)傳率。我們實現(xiàn)了 FCFS、CLOOK 和 LOOK 等幾種 I/O 調(diào)度算法,并在原型系統(tǒng)中進(jìn)行了大量測試。但是統(tǒng)計發(fā)現(xiàn)隊列的長度總是小于 3,這樣調(diào)度算法就達(dá)不到預(yù)期的效果。因此目前已經(jīng)取消了 I/O 調(diào)度模塊。最后,SCSI 啟動器模塊負(fù)責(zé)與物理磁盤連接,并實現(xiàn)磁盤例測和熱插拔??刂破鬈浖械膯悠髂K是相對所連接的磁盤設(shè)備而言的。目前該模塊支持 SCSI 磁盤,也支持 SATA 磁盤。 功能模塊設(shè)計從 Error! Reference source not ,磁盤自愈與數(shù)據(jù)主動遷移模塊可以劃分為磁盤 I/O 過濾器、磁盤屬性管理、磁盤自愈、數(shù)據(jù)遷移、磁盤狀態(tài)檢測及配置接口六個功能模塊。磁盤 I/O 過濾器模塊分層過濾磁盤讀寫請求,并分析讀寫請求執(zhí)行情況,然后調(diào)用其它功能模塊進(jìn)行相應(yīng)處理,當(dāng)磁盤請求處理失敗時,會調(diào)用磁盤自愈功能模塊,當(dāng)磁盤健康狀況不滿足標(biāo)準(zhǔn)時,則會調(diào)用數(shù)據(jù)遷移功能模塊,因此,磁盤 I/O 過濾器功能模塊在磁盤自愈與數(shù)據(jù)主動遷移模塊中非常重要。 磁盤 I/O 過濾器讀寫過濾器是磁盤自愈與數(shù)據(jù)主動遷移模塊的驅(qū)動器,同時也是整個數(shù)據(jù)流動的入口,該功能模塊的設(shè)計對于整個模塊的可移植性非常關(guān)鍵。在設(shè)計中使用了分層次過濾磁盤 I/O 的思想,該功能模塊提供過濾框架及注冊接口,其它功能模塊可調(diào)用該功能模塊提供的注冊接口安裝過濾器,過濾磁盤 I/O。在磁盤 I/O 過濾器的上層,提供讀寫磁盤的接口以供 RAID 系統(tǒng)其它模塊調(diào)用,而在過濾器的最底層,則會調(diào)用操作系統(tǒng)提供的磁盤讀寫接口,真正讀寫磁盤。在 Error! Reference source not ,操作系統(tǒng)提供的讀寫磁盤接口主要是調(diào)用 SCSI 中間層提供的接口。 SCSI 中間層是 Linux 中 SCSI 子系統(tǒng)一部分, 圖 給出了 SCSI 子系統(tǒng)在 Linux 系統(tǒng)中的位置。SCSI 子系統(tǒng)處于內(nèi)核態(tài),位于文件系統(tǒng)之下,SCSI 子系統(tǒng)又可分為三層,最上層是主要設(shè)備類型的抽象接口,比如磁盤、磁帶以及光驅(qū)等設(shè)備,在該層中看不到設(shè)備任何細(xì)節(jié),代表的是一類設(shè)備的訪問方式,與具體設(shè)備無關(guān),中間一層即上面提過的 SCSI 中間層,該層稱為公共層或統(tǒng)一層,這一層提供了一系列的通用接口,下面一層與具體設(shè)備驅(qū)動相關(guān)。用 戶 態(tài) 程 序 及 服 務(wù)系 統(tǒng) 調(diào) 用 接 口虛 擬 文 件 系 統(tǒng) ( V F S )文 件 系 統(tǒng) ( E x t 3 , J F F S 等 )塊 設(shè) 備 驅(qū) 動 ( S C S I 子 系 統(tǒng) 是 該 層 的一 部 分 )S C S I I D E 其 它 塊 設(shè) 備用 戶 態(tài)內(nèi) 核 態(tài)圖 SCSI 子系統(tǒng)在 Linux 系統(tǒng)中的位置RAID 系統(tǒng)通過調(diào)用 DH 模塊提供的讀寫磁盤接口來讀寫磁盤,此時磁盤讀寫請求就會進(jìn)入到過濾器,并在過濾器中各子過濾器間流動,最終進(jìn)入 SCSI 中間層,然后調(diào)度磁盤驅(qū)動真正執(zhí)行磁盤讀寫操作。當(dāng) SCSI 中間層處理完磁盤 I/O 請求后,會調(diào)用請求者提供的回調(diào)函數(shù)(這里讀寫磁盤都是調(diào)用異步讀寫接口),回調(diào)函數(shù)會控制該響應(yīng)從低到高 I/O 過濾路徑返回,因此各子過濾器也能夠過濾到響應(yīng)。 磁盤屬性管理磁盤屬性管理是整個磁盤自愈與數(shù)據(jù)遷移模塊的核心功能模塊,它管理磁盤的健康狀況信息,并提供接口供磁盤 I/O 過濾器模塊調(diào)用以報告對磁盤讀寫的操作結(jié)果。當(dāng)磁盤過濾器完成一個磁盤 I/O 操作時,會將操作結(jié)果發(fā)給該模塊,用以統(tǒng)計 I/O 出錯次數(shù),如果該 I/O 操作正常,則直接往上層返回,否則需要調(diào)用磁盤自愈模塊并重新執(zhí)行該 I/O 請求。當(dāng)該功能模塊統(tǒng)計的 I/O 出錯次數(shù)超過某一數(shù)值或者磁盤狀態(tài)檢測模塊檢測的 SMART 信息預(yù)測磁盤可能出現(xiàn)故障時,會啟動數(shù)據(jù)遷移來保護(hù)磁盤數(shù)據(jù)的可靠性。磁盤屬性管理模塊會維護(hù)磁盤健康狀態(tài)信息,當(dāng)信息發(fā)生改變時,會將相關(guān)信息存儲到磁盤特定位置,以防止磁盤健康狀況屬性的丟失。同時,磁盤屬性管理功能模塊還為終端配置接口功能模塊提供交互接口,用于對磁盤健康標(biāo)準(zhǔn)參數(shù)的配置,以及狀態(tài)信息的反饋。狀態(tài)信息反饋包括磁盤健康狀況、磁盤自愈工作情況以及數(shù)據(jù)遷移進(jìn)度等。 圖 描述了磁盤屬性管理功能模塊的劃分圖。讀 寫 請 求狀 態(tài) 分 析磁 盤 健 康 狀 況管 理配 置 接 口 及狀 態(tài) 反 饋磁 盤 屬 性 存 取數(shù) 據(jù) 遷 移 管 理磁 盤 自 愈 管 理保 留扇 區(qū)管 理替 換映 射管 理磁 盤 健 康 參數(shù) 設(shè) 置圖 磁盤屬性管理功能模塊劃分讀寫請求分析:提供接口供磁盤 I/O 過濾器調(diào)用,分析磁盤讀寫 I/O 執(zhí)行情況,并將相關(guān)信息向磁盤健康管理部分報告。數(shù)據(jù)遷移管理:管理數(shù)據(jù)遷移部分信息,提供啟動及停止數(shù)據(jù)遷移相關(guān)接口,對數(shù)據(jù)遷移源磁盤及遷移目標(biāo)磁盤信息進(jìn)行維護(hù),根據(jù)遷移進(jìn)度實現(xiàn)目標(biāo)磁盤替換源磁盤。磁盤自愈管理:管理自愈相關(guān)信息,包括保留扇區(qū)以及替換映射信息的管理,保留扇區(qū)是每個磁盤都保留一部分扇區(qū)用來替換磁盤壞扇區(qū)。對保留扇區(qū)的管理是提供統(tǒng)一的分配保留扇區(qū)的接口,供磁盤自愈功能模塊調(diào)用以實現(xiàn)壞扇區(qū)的替換。替換映射信息是使用保留扇區(qū)替換壞扇區(qū)產(chǎn)生的扇區(qū)位置的對應(yīng)關(guān)系,使得以后對壞扇區(qū)的讀寫 I/O 請求會重定位到保留扇區(qū)。將磁盤自愈相關(guān)信息放入磁盤屬性管理中是為了統(tǒng)一對磁盤屬性進(jìn)行管理。 磁盤自愈磁盤自愈功能模塊是磁盤讀寫 I/O 請求在處理過程中因為磁盤故障出錯后對出錯扇區(qū)屏蔽及替換,并將出錯扇區(qū)的數(shù)據(jù)恢復(fù)的功能模塊。它包括壞扇區(qū)替換、數(shù)據(jù)恢復(fù)及替換映射表更新三方面的內(nèi)容,其中壞扇區(qū)替換所使用的保留扇區(qū)分配是調(diào)用磁盤屬性管理功能模塊提供的接口。磁盤自愈功能模塊結(jié)構(gòu)如 圖 所示。壞 扇 區(qū) 替 換 壞 扇 區(qū) 數(shù) 據(jù) 恢 復(fù)R A I D 算 法 接 口映 射 表 更 新圖 磁盤自愈功能模塊結(jié)構(gòu)當(dāng)磁盤屬性管理模塊檢測到磁盤讀寫 I/O 錯誤后,會調(diào)用磁盤自愈功能模塊,該模塊對出錯的壞扇區(qū)替換,然后結(jié)合 RAID 算法將壞扇區(qū)數(shù)據(jù)恢復(fù)出并寫入到替換后的保留扇區(qū)中,并對替換映射表更新。替換映射表對磁盤 I/O 讀寫有導(dǎo)向作用,增加自愈功能后,對磁盤進(jìn)行讀寫操作需要查詢該表,如果讀寫的扇區(qū)在該表中出現(xiàn),那么需要使用該扇區(qū)對應(yīng)的保留扇區(qū)作為請求目標(biāo)扇區(qū),即需要對請求進(jìn)行重定位操作。替換映射表由許多表項組成,每一個表項由壞扇區(qū)與替換該壞扇區(qū)的保留扇區(qū)地址構(gòu)成。當(dāng)出現(xiàn)一個壞扇區(qū)并在保留扇區(qū)中查找空閑扇區(qū)替換該壞扇區(qū)后,就需要在映射表中增加一項,描述替換對應(yīng)關(guān)系,用來對壞扇區(qū) I/O 請求重定向。由于增加磁盤自愈后讀寫請求都需要查找映射表,以確定所請求的扇區(qū)中是否存在壞扇區(qū),因此該映射表會經(jīng)常被查詢,需要設(shè)計比較好的查詢算法,以降低查詢所帶來的性能損失,設(shè)計時以哈希表的方式,依據(jù)原扇區(qū) LBA 進(jìn)行散列,來提高查詢效率。在磁盤屬性管理中提及
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1