ChinaUnix.net
相关文章推荐:

mlock

请问在linux上是个人都能用mlock给内存加锁么??我怎么看N本书上都是说只有root可以使用mlock(),而普通用户不能呢!? 但是我试验了一下,好像人人能使用mlock()。 以下是我试验过程,大家看看有什么不对? [song@localhost ~]$ cat test.c #include #include #include main() { void * addr; if ((addr = mmap(0, getpagesize(),PROT_READ, MAP_PRIVATE|MAP_ANONYMOUS,1, ...

by basten54188 - C/C++ - 2008-12-11 09:40:27 阅读(2025) 回复(0)

相关讨论

2007-12-23 mm/mlock.c 提供系统调用 sys_mlock,sys_munlock,sys_mlockall,sys_munlockall. man mlock.c获取更多信息. mlock提供一种让用户参与调整内核swap策略的一种方式.用户指定的地址范围 内核保证不交换到磁盘. 入口函数sys_mlock,sys_munlock,sys_mlockall,sys_munlockall效验参数,对 齐开始地址然后转交下级函数. 仅以sys_mlock为例,其余函数应该不在话下. sys_mlock->do_mlo...

by hylpro - Linux文档专区 - 2008-10-31 22:02:59 阅读(801) 回复(0)

运行结果 Testing with user 'bin' (uid: 1) You have the right to call mlock 普通用户不是不能使用吗?求高手 #define _XOPEN_SOURCE 600 #include #include #include #include #include #include #include #include #include "posixtest.h" #define BUFSIZE 8 /** Set the euid of this process to a non-root...

by Linux_WSNs - C/C++ - 2011-10-31 15:07:47 阅读(1878) 回复(0)

我现在使用一个多进程的程序,有读和写共享内存,想用mlock来锁共享内存,不知道是否可行?

by shineyear - C/C++ - 2008-01-21 14:47:44 阅读(1911) 回复(4)

如下代码来自于linux 2.4.18版本。中代码mlock.c [code] static int do_mlock(unsigned long start, size_t len, int on) { unsigned long nstart, end, tmp; struct vm_area_struct * vma, * next; int error; if (on && !capable(CAP_IPC_LOCK)) return -EPERM; len = PAGE_ALIGN(len); end = start + len; if (end < start) return...

by 蓝色键盘 - 内核/嵌入技术 - 2006-03-13 13:19:42 阅读(5067) 回复(9)

如下代码来自于linux 2.4.18版本。中代码mlock.c [code] static int do_mlock(unsigned long start, size_t len, int on) { unsigned long nstart, end, tmp; struct vm_area_struct * vma, * next; int error; if (on && !capable(CAP_IPC_LOCK)) return -EPERM; len = PAGE_ALIGN(len); end = start + len; if (end < start) return...

by 蓝色键盘 - 内核源码 - 2006-03-13 13:19:42 阅读(4692) 回复(9)

本资源回复后,可见下载链接

linux

by 戴墨镜的乌龟 - 服务器资源下载 - 2012-02-05 15:00:08 阅读(1365) 回复(2)

二、 mlock系统调用简介 本组分析的系统调用包括mlock、munlock、mlockall、munlockall(分别对应sys_mlock、sys_munlock、sys_mlockall、sys_munlockall四个函数)四个有关内存加锁的系统调用。这四个系统调用代码基本上类似的,所以本组每个人(本组共四个人)分别取其中一个系统调用作为各自代码分析的重点,而本人分析的重点是系统调用mlock。 本文主要分析在LINUX中系统调用mlock的处理机制,包括初始化、处理过程、结束等。 2...

by LX20010 - Linux论坛 - 2004-03-06 22:37:43 阅读(833) 回复(0)

二、 mlock系统调用简介 本组分析的系统调用包括mlock、munlock、mlockall、munlockall(分别对应sys_mlock、sys_munlock、sys_mlockall、sys_munlockall四个函数)四个有关内存加锁的系统调用。这四个系统调用代码基本上类似的,所以本组每个人(本组共四个人)分别取其中一个系统调用作为各自代码分析的重点,而本人分析的重点是系统调用mlock。 本文主要分析在LINUX中系统调用mlock的处理机制,包括初始化、处理过程、结束等。 2...

by LX20010 - Linux系统管理 - 2004-03-06 22:37:43 阅读(5133) 回复(0)

一、 LINUX内存管理简介 1.1.LINUX的分页管理机制 在LINUX中,每一个用户进程都可以访问4GB的线性虚拟内存空间。其中从0到3GB的虚拟内存地址是用户空间,用户进程可以直接对其进行访问。从3GB到4GB的虚拟内存地址为核心空间,存放仅供核心态访问的代码和数据,用户进程不可访问。当用户进程通过中断或系统调用对其访问时,就会触发处理器的特权级转换(从处理器的特权级3切换到特权级0),即从操作系统的用户态切换到核心态。 所有...

by LX20010 - Linux论坛 - 2004-03-06 22:36:05 阅读(883) 回复(0)

一、 LINUX内存管理简介 1.1.LINUX的分页管理机制 在LINUX中,每一个用户进程都可以访问4GB的线性虚拟内存空间。其中从0到3GB的虚拟内存地址是用户空间,用户进程可以直接对其进行访问。从3GB到4GB的虚拟内存地址为核心空间,存放仅供核心态访问的代码和数据,用户进程不可访问。当用户进程通过中断或系统调用对其访问时,就会触发处理器的特权级转换(从处理器的特权级3切换到特权级0),即从操作系统的用户态切换到核心态。 所有...

by LX20010 - Linux系统管理 - 2004-03-06 22:36:05 阅读(1495) 回复(0)