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
通过键值索引数据。很简单,用的时候再看