麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 系統(tǒng) > Linux > 正文

unix共享內(nèi)存的知識點講解

2020-10-14 22:40:32
字體:
供稿:網(wǎng)友

   共享內(nèi)存優(yōu)點:1.在進(jìn)程之間不通過內(nèi)核傳遞數(shù)據(jù),即不通過系統(tǒng)調(diào)用拷貝數(shù)據(jù),達(dá)到快速,高效的數(shù)據(jù)傳輸。

    2.隨內(nèi)核持續(xù)

    *nix的共享內(nèi)存有兩套API:Posix和System V

    兩者的主要差別是共享內(nèi)存的大小

    1.Posix共享內(nèi)存大小可通過函數(shù)ftruncate隨時修改

    2.System V共享內(nèi)存大小在創(chuàng)建時就已經(jīng)確定,而且最大值根據(jù)系統(tǒng)有所不同

    Posix共享內(nèi)存

    #include <sys/mman.h>  (mmap,munmap,msync,shm_open,shm_unlink)

    最主要的函數(shù)  -- mmap

    void* mmap(void* addr,size_t len,int prot,int flags,int fd,off_t offset)

    函數(shù)將一個句柄映射到內(nèi)存中,這個句柄可以是open的文件句柄,也可以是shm_open的共享內(nèi)存區(qū)對象。

    *nix一切皆文件的觀點,shm_open也是在/dev/shm目錄下創(chuàng)建一個文件對象,返回對象的描述符。

    mmap將句柄作為共享內(nèi)存的底層支撐對象,映射到內(nèi)存中,這樣可以不通過read、write在進(jìn)程之間共享內(nèi)存。由此推測一下,在*nix的進(jìn)程間傳 遞數(shù)據(jù)更加原始的方法是進(jìn)程間讀寫一個文件。但是頻繁的open、read、write、lseek系統(tǒng)調(diào)用會消耗過多的計算資源。所以想到了將這個文件 句柄映射到內(nèi)存中,這樣就提高了進(jìn)程間傳遞數(shù)據(jù)的效率。

    需要注意的函數(shù) -- msync

    當(dāng)修改了內(nèi)存映射區(qū)的內(nèi)存后,內(nèi)核會在某個時刻將文件的內(nèi)容更新。為了確信文件被更新,調(diào)用函數(shù)msync.文件的更新可以是同步(MS_SYNC)也可以是異步(MS_ASYNC)。(估計這里也是調(diào)用了函數(shù)write更新文件)

    System V共享內(nèi)存

    #include <sys/shm.h>  (shmget,shmat,shmdt,shmctl)

    由于System V的共享內(nèi)存有大小的限制,所以可考慮,使用共享內(nèi)存數(shù)組來解決這個問。雖然數(shù)組的大小即一個進(jìn)程可以獲取共享內(nèi)存的數(shù)量也是有限制,但是可以緩解System V單個共享內(nèi)存過小的問題。


(責(zé)任編輯:VEVB)

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 欧美成人黄色小视频 | 精品国产91久久久久久浪潮蜜月 | 一级电影免费在线观看 | 国产精品久久久久一区二区 | 久久69精品久久久久久国产越南 | 校花被肉干高h潮不断 | 亚洲国产成人久久一区www妖精 | 国产999在线| 国产一级在线观看视频 | 久久色播 | 免费a视频在线观看 | 久久久久久久免费精品 | 欧美黄色免费视频 | 日韩视频―中文字幕 | 黄色片网页 | 免费国产自久久久久三四区久久 | 欧美特黄a | 日本s级毛片免费观看 | 最近高清无吗免费看 | 久草在线视频看看 | 毛片在线免费视频 | 欧美乱论 | 羞羞视频免费网站 | 91成人免费看 | 欧美日韩视频在线播放 | 国产91av视频 | 黄色av网站免费 | 毛片免费大全短视频 | 一道本不卡一区 | 一区二区三区黄色 | 2023av在线视频 | 久久久www免费看片 亚洲综合视频一区 | 毛片a级毛片免费播放100 | 特黄一级小说 | 亚洲国产午夜精品 | 欧美日韩国产成人在线观看 | 欧美一级二级毛片视频 | 亚洲精品一区二区三区免 | 成人视屏网站 | 一级做a爱片久久毛片a高清 | 调教小男生抽打尿孔嗯啊视频 |