= New Linux Kernel = -- 김도집 2005.10.19 [[TableOfContents]] == 개요 == 내가 잘 모르거나, 새롭게 적용된 것들을 어떤 분류 기준도 없이 임의대로 정리한 것이다. == AIO == Asynchronous I/O == kprobes == kprobes를 이용하여 커널 모드 내에서 디버깅이 가능하다. [http://www.linuxjournal.com Linux Journal]에 실린 [http://www.linuxjournal.com/node/7905/print Kernel Korner - Kprobes—a Kernel Debugger]를 참고하라. == inotify == dnotify를 대체는 하는 것으로 inode에 기반한 파일 시스템의 변경을 감지하는 시스템이다. 커널 2.6.13에 처음으로 적용되었다. 공식 홈페이지는 [http://www.kernel.org/pub/linux/kernel/people/rml/inotify/]이다. === 간단한 테스트 === 다음은 inotify가 적용된 커널로 부팅한 경우에 간단히 테스트하는 방법이다. 다음을 실행해 보자. {{{#!vim sh dmesg |grep '^inotify device minor' |awk -F= '{ print $2 }' }}} 쉘에서 위와 같이 실행하며 inotify 디바이스의 부번호를 확인할 수 있다. 이 디바이스 부번호를 이용하여 디바이스 노드를 생성한다. {{{#!vim sh mknod /dev/inotify c 10 [디바이스부번호] }}} 이후 간단한 PERL Program으로 테스트 할 수 있는데, 자세한 것은 다음 사이트를 참조하라. * [http://www.edoceo.com/creo/inotify/] == class_simple == 리눅스 커널 2.6.13 버전 및 그 후속 버전에서는 class_simple_ 로 시작하는 API가 없다. 대신 class_ 로 시작하는 것들로 대체 되었다. 관련 API는 [wiki:KernelApi3 KERNEL API 3 - Linux Driver Model]를 참고하라.