minix中的文件锁

1.名称与功能

文件锁,或称为“建议文件锁”(advisory file locking)。

进程在执行可能会与其他操作冲突的操作之前,先要对文件锁进行查询,或者上锁。

这个操作并不是由OS强制执行。

2.实现

使用文件结构 file_lock 表来记录所有的锁。

 21803    EXTERN struct file_lock {
 21804      short lock_type;              /* F_RDLOCK or F_WRLOCK; 0 means unused slot */
 21805      pid_t lock_pid;               /* pid of the process holding the lock */
 21806      struct inode *lock_inode;     /* pointer to the inode locked */
 21807      off_t lock_first;             /* offset of first byte locked */
 21808      off_t lock_last;              /* offset of last byte locked */
 21809    } file_lock[NR_LOCKS];

lock_type:锁类型,读锁还是写锁;0表示不使用这个单元;

lock_pid:标示上锁进程;

lock_inode: 指向文件inode的指针;

lock_first,lock_last:从哪个字节开始,锁到哪个字节为止。

 

 

posted @ 2012-12-09 14:01  Jun14  阅读(210)  评论(0)    收藏  举报