programing

inotify와 epoll의 차이

testmans 2023. 10. 17. 20:07
반응형

inotify와 epoll의 차이

i/o 뷰어 inotifyepoll의 차이점이 무엇인지 알고 싶습니다.

통고하지 않은

  • inotify_init(void)는 이벤트를 읽을 inotify 인스턴스를 만듭니다.
  • inotify_add_watch(intfd, constchar * path, int mask)는 경로 뒤의 파일 노드 주변에서 watch fd를 반환합니다.
  • inotify_rm_watch(intfd, intwd) fd에서 이벤트 감시를 중지합니다.

에폴

  • epoll_create(void)는 epoll 개체를 만듭니다.
  • epoll_ctl(intepfd, intop, intfd, struct epoll_event * event) 시청할 이벤트를 설정합니다.
  • epoll_wait(intepfd, struct epoll_event *events, int max events, int timeout); 이벤트가 발생할 때까지 차단

그래서 파일 시청에 대해서는 다른 접근법이 있는 것 같습니다.알림은 사용자가 이벤트가 발생할 때까지 epoll 블록을 차단하는 동안 이벤트를 수집할 시기를 결정하도록 시도합니다.

이거 맞는건가요?또 다른 차이점은 무엇입니까?

가장 큰 차이점은 epoll을 ANY fd에 사용할 수 있다는 것입니다.이것은 데이터를 전달하는 모든 유형의 방법을 관찰하는 데 좋다는 것을 의미합니다.소켓, IPC, 파일, 프린터..아무거나.inotify는 파일 시스템 전용입니다.

그러나 inotify는 파일 시스템에 고유하기 때문에 파일 속성 및 읽어오는 파일과 같은 광범위한 파일 시스템 고유 속성에 대한 알림을 받을 수 있습니다.이런 것들은 epoll을 통해서는 불가능합니다.

실제로 inotify는 파일 설명자를 반환합니다. 즉, epoll을 사용하여 어떤 inotify FD를 호출할지 결정할 수 있습니다.그래서 그 둘은 어느 정도 같이 어울립니다.

http://en.wikipedia.org/wiki/Inotify

언급URL : https://stackoverflow.com/questions/17207809/difference-between-inotify-and-epoll

반응형