【mmap】求教此种情况下使用mmap的效率
文件大小:64MB左右,大概43万行,每行151字符
操作:对该文本文件每次顺序读出大概10KB打印直到读完
会有多个用户进程同时进行此操作,并且能保证所有用户进程都只是读操作,不写
一种办法是不用mmap,每个用户进程都各自对文件指针操作
另一种办法是以共享、只读、常驻内存模式使用mmap将文件映射到内存,每个用户进程直接访问映射的内存
环境:linux2.6.X CPU:mips或arm 物理内存:256MB
不知道哪种方式相对来说更省资源更快呢?(优先保证资源)
另外有几点不太明白(本人linux菜鸟):
1、mmap映射后是在系统空间还是在用户空间?
2、多个不同的进程分别对同一文件执行mmap后,是不是任何时刻都只有一份副本在内存中并且进程切换时不会涉及该内存,或者说进程切换时对该内存的维护开销灰常灰常小?(如果是这样的话很爽哦~)
3、页的问题会不会严重影响此种应用?比如:根本不能实现每次打印10KB。页大小按默认4KB算~
4、以上环境和应用,还有什么高效的办法实现吗?
不常上CSDN~也没看到linux专区,借宝地求教~
3天内必结贴散分!