哦?锁定内存是编程才用的着,你是电脑新手怎么会接触呢?
专业解释:一般情况下我们在编程的时候,给应用程序分配的内存都是可以移动的或者是可以丢弃的,这样能使有限的内存资源充分利用,所以,在某一个时候我们分配的那块内存的地址是不确定的,因为他是可以移动的,所以得先锁定那块内存块,这儿应用程序需要调用API函数GlobalLock函数来锁定句柄。如下: lpMem=GlobalLock(hMem); 这样应用程序才能存取这块内存。
也就是用程序代码吧内存相应的模块锁住,达到相应的目的
内存锁定
1、锁定内存是实时应用程序存在的最重要的问题之一。在实时环境中,进程必须能够保证可连续驻留在内存中,以缩短延迟并防止换页和交换。
2、在 SunOS 中,进程是否驻留在内存中由其当前状态、可用物理内存总量、活动进程数以及进程的内存需求确定。此驻留适用于分时环境,但实时进程通常不可接受此驻留。在实时环境中,进程必须保证可在内存中驻留,以缩短进程的内存访问和分发延迟。
3、SunOS 中的实时内存锁定是由一组库例程提供的。通过这些例程,使用超级用户权限运行的进程可以将其虚拟地址空间的指定部分锁定到物理内存中。采用此方式锁定的页面可免于进行换页,直到解除锁定这些页面或进程退出为止。
4、操作系统会限制在系统范围内可以随时锁定的页面数。此限制是一个可调参数,其缺省值在引导时计算得出。缺省值是基于页帧数减去另一个百分比(当前设置为 10%)得出的。