[問題] mmap的大小限制?
小弟目前在研究有關mmap的相關機制,
發生了一個很奇怪的現象:
即當我存取實體記憶體 fd = open( "/dev/mem", O_RDWR );
然後再呼叫mmap
p=mmap(0,size,PROT_WRITE,MAP_SHARED,fd,0);
之後再將我程式中一個很大的array搬進去p所指到的記憶體空間中
當我的size變數不大的時候,這樣都是成功的;但是當size>100000
的時候,程式變會hang在那邊了
但是如果我是採用下面的方式去取得fd
fd = open( "/home/aska/1.jpg", O_RDWR );
再做mmap,這樣的作法不管我size傳進去的大小都可以map成功
不曉得是/dev/mem這邊有什麼存取的限制嗎?
我的系統是fedora 6 ,感謝各位了~~^__^
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 60.244.105.113
推
04/25 01:05, , 1F
04/25 01:05, 1F
推
04/27 18:02, , 2F
04/27 18:02, 2F
→
04/27 18:03, , 3F
04/27 18:03, 3F
LinuxDev 近期熱門文章
PTT數位生活區 即時熱門文章
52
111