Gamin

Gamin은 파일과 디렉터리를 모니터링하는 시스템으로, 파일 얼터레이션 모니터(FAM)의 일부를 독립적으로 구현한다. 하나의 서비스로서 실행되며 파일이나 디렉터리의 수정을 감지할 수 있다. gam_server는 Gamin의 데몬 역할을 한다.

기원 
gamin이라는 단어는 프랑스어로 소년을 의미한다. (여성에 해당하는 용어는 gamine이다) Gamin 프로젝트는 Marmot이라는 이름의 초기 프로젝트에 기반을 둔다.(marmot은 프랑스어로 아이를 의미한다)

애플리케이션 
리눅스에서 Gamin은 Inotify 또는 Dnotify를 사용하여 파일시스템 활동을 모니터링한다. FreeBSD에서 Gamin은 네이티브 FreeBSD 커널 이벤트 통보 매커니즘으로서 kqueue/kevent을 사용하지만 이 경우 kqueue는 inotify 대비 주된 단점이 하나 있다: inotify는 파일명 기반 모니터링 기능이며 kqueue는 모니터링되는 파일의 식별을 위한 파일 서술자를 사용한다. 그러므로 FreeBSD에서 gam_server는 모니터링되는 디렉터에서 각 파일을 열어야 한다.
수많은 파일이 저장된 디렉터리를 모니터링할 때에는 문제가 될 수 있는데 그 이유는 시스템이 최대 파일 서술가 카운트(kern.maxfiles 및 kern.maxfilesperproc)의 커널 제한에 쉽게 도달할 수 있기 때문이다.

각주

외부 링크 
 The Gamin project page

FreeBSD
리눅스