




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
內(nèi)存映射文件主要內(nèi)容一、內(nèi)存映射文件原理二、Linux內(nèi)存映射文件三、實(shí)驗(yàn)13Linux內(nèi)存映射文件一、內(nèi)存映射文件原理通過(guò)文件系統(tǒng)訪問(wèn)文件時(shí),進(jìn)程調(diào)用文件系統(tǒng)功能,在執(zhí)行讀寫(xiě)前,分配好存放文件內(nèi)容的內(nèi)存空間。讀文件時(shí),先執(zhí)行讀系統(tǒng)調(diào)用,將文件從外存讀入內(nèi)存,然后從內(nèi)存讀取內(nèi)容。寫(xiě)文件時(shí),先將內(nèi)容寫(xiě)入內(nèi)存,然后執(zhí)行寫(xiě)系統(tǒng)調(diào)用,將文件從內(nèi)存寫(xiě)入外存。借助于文件系統(tǒng)的文件訪問(wèn)操作通過(guò)內(nèi)存映射文件系統(tǒng)訪問(wèn)文件時(shí),進(jìn)程調(diào)用虛擬內(nèi)存管理功能,在執(zhí)行讀操作前,分配給文件虛擬內(nèi)存空間。以指令形式讀文件內(nèi)容所屬虛擬內(nèi)存區(qū)時(shí),發(fā)生缺頁(yè)中斷,系統(tǒng)為文件分配物理內(nèi)存,啟動(dòng)設(shè)備I/O操作,裝入文件內(nèi)容到內(nèi)存。讀文件的操作隱含執(zhí)行。借助于內(nèi)存映射文件的文件訪問(wèn)操作以指令形式修改文件內(nèi)容所屬虛擬內(nèi)存區(qū)時(shí),該虛擬內(nèi)存區(qū)已映射到物理內(nèi)存區(qū),所做修改會(huì)改變物理內(nèi)存中的文件內(nèi)容,根據(jù)建立內(nèi)存映射文件時(shí)的參數(shù),可以決定是否將內(nèi)存中的內(nèi)容同步保存到磁盤文件中。借助于內(nèi)存映射文件的文件訪問(wèn)操作虛擬存儲(chǔ)管理系統(tǒng)對(duì)程序頁(yè)面的裝入和文件內(nèi)容的裝入使用內(nèi)存映射文件技術(shù)可以減少文件內(nèi)容遞交給用戶進(jìn)程時(shí)的中轉(zhuǎn)環(huán)節(jié)。內(nèi)存映射文件的優(yōu)點(diǎn)及缺點(diǎn)內(nèi)存映射文件方法將文件直接映射到用戶空間,缺頁(yè)中斷時(shí),數(shù)據(jù)直接從磁盤加載到用戶空間,減少數(shù)據(jù)傳輸環(huán)節(jié),節(jié)約緩沖時(shí)間。但缺頁(yè)中斷處理又會(huì)增加一部分時(shí)間。二、Linux內(nèi)存映射文件1、內(nèi)存映射函數(shù)mmapvoid*mmap(void*start,size_tlength,intprot,intflags,intfd,off_toffset);原型成功則返回映射區(qū)起始地址返回值二、Linux內(nèi)存映射文件length:映射區(qū)的長(zhǎng)度(字節(jié)數(shù)。prot:映射區(qū)的保護(hù)方式??梢允牵簣?zhí)行、讀取、寫(xiě)入、不可訪問(wèn)。start:映射區(qū)的起始地址,可由系統(tǒng)決定。參數(shù)說(shuō)明二、Linux內(nèi)存映射文件fd:由open返回的文件描述符。offset:被映射對(duì)象內(nèi)容的起點(diǎn),必須是分頁(yè)大小的整數(shù)倍。flags:映射區(qū)的特性??梢允牵海?)對(duì)映射區(qū)域的寫(xiě)入數(shù)據(jù)復(fù)制回文件;(2)對(duì)映射區(qū)域所做的修改不會(huì)寫(xiě)回原文件。2、解除內(nèi)存映射munmapintmunmap(void*start,size_tlength);原型解除進(jìn)程地址空間中mmap所建立的以start為起始地址長(zhǎng)度為length的一個(gè)內(nèi)存映射關(guān)系返回值3、內(nèi)存映射的步驟(1)用open系統(tǒng)調(diào)用打開(kāi)文件,并返回文件描述符fd(2)用mmap對(duì)fd建立內(nèi)存映射,返回映射首地址指針start(3)使用普通指令對(duì)文件映射區(qū)進(jìn)行訪問(wèn)操作(4)用munmap(void*start,size_tlength)關(guān)閉內(nèi)存映射(5)用close系統(tǒng)調(diào)用關(guān)閉文件fd三、實(shí)驗(yàn)13Linux內(nèi)存映射文件1、Linux文件操作函數(shù)簡(jiǎn)介(1)文件打開(kāi)(open)intopen(constchar*pathname,intflags,intperms)intclose(intfd)(2)文件關(guān)閉(close)ssize_tread(intfd,void*buf,size_tcount);(3)文件讀(read)ssize_twrite(intfd,void*buf,size_tcount);(4)文件寫(xiě)(write)off_tlseek(intfd,off_toffset,intwhence);(5
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 會(huì)議疫情防控處置應(yīng)急預(yù)案(3篇)
- 福州職業(yè)技術(shù)學(xué)院《項(xiàng)目建設(shè)與生產(chǎn)管理》2024-2025學(xué)年第一學(xué)期期末試卷
- 應(yīng)急預(yù)案結(jié)束后單位要干嘛(3篇)
- 淮安疫情流調(diào)溯源應(yīng)急預(yù)案(3篇)
- 常州工學(xué)院《MATAB語(yǔ)》2024-2025學(xué)年第一學(xué)期期末試卷
- 校園心理健康應(yīng)急預(yù)案范文(3篇)
- 新疆財(cái)經(jīng)大學(xué)《計(jì)算機(jī)基礎(chǔ)及應(yīng)用(一)》2024-2025學(xué)年第一學(xué)期期末試卷
- 黃岡職業(yè)技術(shù)學(xué)院《計(jì)算機(jī)動(dòng)畫(huà)與虛擬現(xiàn)實(shí)》2024-2025學(xué)年第一學(xué)期期末試卷
- 江蘇農(nóng)林職業(yè)技術(shù)學(xué)院《項(xiàng)目設(shè)計(jì)實(shí)訓(xùn)》2024-2025學(xué)年第一學(xué)期期末試卷
- 阜陽(yáng)職業(yè)技術(shù)學(xué)院《中外古典建筑賞析》2024-2025學(xué)年第一學(xué)期期末試卷
- 部隊(duì)課件的教學(xué)設(shè)計(jì)方法
- 2025-2026學(xué)年人教版2024八年級(jí)上冊(cè)開(kāi)學(xué)摸底考試英語(yǔ)模擬卷
- 2025至2030中國(guó)CPU市場(chǎng)運(yùn)行現(xiàn)狀與發(fā)展前景分析報(bào)告
- DB37-T4899-2025深遠(yuǎn)海養(yǎng)殖管理工作指南
- 污水處理企業(yè)生態(tài)環(huán)境合規(guī)管理指引
- 物業(yè)消防改造服務(wù)方案(3篇)
- 海南省白沙縣等兩地2024-2025學(xué)年七年級(jí)下學(xué)期期末考試數(shù)學(xué)試卷(含詳解)
- 產(chǎn)品交付流程管理辦法
- 二零二五版知識(shí)產(chǎn)權(quán)保護(hù)與保密協(xié)議
- 電影行業(yè)人才需求與培養(yǎng)策略報(bào)告
- 全域土地綜合整治實(shí)施方案
評(píng)論
0/150
提交評(píng)論