新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > Linux中代碼段和數(shù)據(jù)段的加載

        Linux中代碼段和數(shù)據(jù)段的加載

        作者: 時(shí)間:2016-09-12 來源:網(wǎng)絡(luò) 收藏

        請注意:

        entry = mk_pte(new_page, vma->vm_page_prot); /*這里是PAGE_COPY,_PAGE_PRESENT | _PAGE_USER | _PAGE_ACCESSED */

        當(dāng)我們對這樣的頁進(jìn)行寫操作的時(shí)候,mmu當(dāng)然會觸發(fā)page_fault.

        if (write_access) {

        if (!pte_write(entry))

        return do_wp_page(mm, vma, address, pte, entry);

        entry = pte_mkdirty(entry);

        }

        當(dāng)一個(gè)vma是可寫的,而vma中對應(yīng)的pte又是不可寫的,這就觸發(fā)了copy_on_write機(jī)制:do_wp_page會進(jìn)行相應(yīng)的copy_on_write處理過程。

        所以,不存在是否第一份不能被換出的情況。如果對數(shù)據(jù)段都是只讀的操作,那么你可以把數(shù)據(jù)段的頁想象成一個(gè)軟鏈接。一旦有了寫操作,那么數(shù)據(jù)段就變成了一份本地的page。


        上一頁 1 2 下一頁

        關(guān)鍵詞:

        評論


        相關(guān)推薦

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 勃利县| 利辛县| 疏附县| 大足县| 湘乡市| 临湘市| 漳州市| 遵义县| 宁阳县| 湖州市| 桂平市| 阿拉善左旗| 裕民县| 怀远县| 宽城| 涞水县| 乡城县| 运城市| 保德县| 高碑店市| 文安县| 榆林市| 临武县| 宜昌市| 阿城市| 南平市| 焉耆| 文化| 三穗县| 黎城县| 南川市| 双辽市| 论坛| 徐闻县| 读书| 巴林右旗| 淄博市| 陆良县| 栾城县| 龙岩市| 中江县|