亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊(cè) 查看新帖 |

Chinaunix

  平臺(tái) 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 1384 | 回復(fù): 0
打印 上一主題 下一主題

mmap幾個(gè)概念 [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報(bào)告]
發(fā)表于 2010-01-01 21:21 |只看該作者 |倒序?yàn)g覽
1,mmap用MAP_PRIVATE時(shí),不管是否有fd,文件內(nèi)容,都只是與本進(jìn)程自己有關(guān),當(dāng)沒有fd時(shí),表示是在進(jìn)程空間總”圈地“,有fd時(shí),是把文件內(nèi)容映射到進(jìn)程空間,但對(duì)于其他進(jìn)程,是看不見的,此時(shí)映射的是所謂的匿名文件,是請(qǐng)求二進(jìn)制0的,當(dāng)fd是通過O_RDONLY打開的時(shí)候,不能同時(shí)指定PROT_WRITE,只有fd有寫權(quán)限,才能指定這區(qū)域有PROT_WRITE,才能往區(qū)域里寫入,否則就是只讀區(qū)域。2,mmap是MAP_SHARED時(shí),是表達(dá)與其他進(jìn)程”共享“該文件的意愿。當(dāng)其他進(jìn)程,也通過MAP_SHARED或者不帶O_TRUNC的open->write文件操作來跟新文件時(shí),二者是能夠相互看到更新的,二者更新的是內(nèi)存中同一個(gè)page cache。特別說下的,open中的O_TRUNC,實(shí)際上是先”刪除“該文件,重新分配一個(gè)新的inode,所以,如果一個(gè)進(jìn)程以PROT_READ和MAP_SHARED進(jìn)行mmap一個(gè)文件到進(jìn)程空間,但同時(shí)有另外進(jìn)程使用O_TRUNC打開了文件,那么第一個(gè)進(jìn)程中相應(yīng)的區(qū)域會(huì)是處于”刪除“狀態(tài),當(dāng)然,還是能夠讀到文件老的內(nèi)容(及原來inode)的。mmap中有個(gè)MAP_DENYWRITE項(xiàng),本來是用于上面說的這種情況,阻止其他進(jìn)程再對(duì)這個(gè)文件進(jìn)行常規(guī)文件操作(指的就是open等操作),但在mmap的man中有:MAP_DENYWRITE              This flag is ignored.  (Long ago, it signalled that attempts to  write  to  the  underlying  file              should fail with ETXTBUSY. But this was a source of denial-of-service attacks.)
但是,在我們的loader中,加載可執(zhí)行文件運(yùn)行時(shí),由于loader的代碼是內(nèi)核中運(yùn)行的,這個(gè)選項(xiàng)是有用的,應(yīng)用程序不能open一個(gè)正在運(yùn)行的可執(zhí)行文件,會(huì)報(bào)ETXTBUSY錯(cuò)誤。

本文來自ChinaUnix博客,如果查看原文請(qǐng)點(diǎn):http://blog.chinaunix.net/u/22255/showart_2137330.html
您需要登錄后才可以回帖 登錄 | 注冊(cè)

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號(hào)-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號(hào):11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報(bào)專區(qū)
中國互聯(lián)網(wǎng)協(xié)會(huì)會(huì)員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請(qǐng)注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP