第7章 内存管理

来源:互联网 发布:淘宝美工好学吗 编辑:程序博客网 时间:2024/05/08 14:34
 

1.跟windows一样,linux不允许直接访问物理内存,都是通过虚拟地址访问的,然后再映射到真实的物理地址。

2.linux可以分配大量的内存,因为有swap交换空间,相当于windows的pagafile文件了吧。

3.文件锁定:

当一个程序正在对文件进行写操作时,文件会进入一个暂时状态,在这个状态下,如果另外一个程序尝试读这个文件,他就会自动停下来等待这个状态的结束。(今天下午还对这块提问来,原来在这里,看过的都忘了,linux自动给你同步,阻塞)

while

a = open(O_RDWR|O_CREAT|0XECL)//原子形式创建的,如果已存在,则返回失败,只能通过unlink删除它,他可以再次创建。

if(a == -1)

error

else

进入临界区

close

unlink

4.区域锁定:

当一个大文件,一个程序长期收集数据,一个程序对数据进行处理,如果用文件锁的话,那么那个程序一直在收集,则处理就不行了,所以要对一个文件进行并发访问,局部锁定,有的地方可读(共享锁,可以多个进程获得),有的地方可写(独占锁,只有一个进程可以获得),通过fcntl控制。每个字节再忍一时刻只能拥有一把类型的锁,

5.数据库dbm

通过键值索引数据。很简单,用的时候再看

原创粉丝点击