FAM就是文件变更监视模块,它向应用程序提供了一组API,当指定的文件或目录发生变化时,由其向应用程序发出通知。FAM由两部分组成:后台守护程序FAM,它负责接收请求和发送通知;库文件LIBFAM,客户端应用程序用它来与FAM通信。若远程主机打开了受监视的文件,本地的FAM会与远程主机的FAM联系,将请求发送给远程FAM。
FAM也可以在某个文件开始或停止运行时通知它的客户端。(比如:在IRIX交互桌面中,如果一个程序正在运行那么它的图标就会不会闪烁)。
FAM是由Bruce Karsh在1989年为IRIX编写的,并由Bob Miller在1995年重写。这个公开源代码的FAM版本构建并运行于Linux和IRIX之上,与IRIX6.5.8中的FAM相同。
什么是IMON?
IMON就是信息节点监视模块,它是内核的一部分,当文件有变动时由它通知FAM。由应用程序告诉FAM对某个目录或文件进行监视,FAM再将这个请求传送给IMON。当被监视的这些文件有变化时,内核通知IMON,再由IMON通知FAM,最后由FAM通知负责监视这个文件的应用程序。
IMON是由Wiltse Carpenter在1989年为IRIX的内核编写的,再由Roger Chickering移植到Linux下。Linux下的IMON内核补丁与IRIX下的IMON在许多方面都很类似,只是与内核文件系统的挂接代码不同。