글
(1) 모듈의 이해
: 리눅스는 모노리딕 커널이다. 즉, 커널이 한 덩어리다.
(커널의 모든 기능이 내부자료구조와 함수들에 접근할 수 있는 한 덩어리다)
- 그럼 기능이 조금만 변해도 다시 컴파일 해야 하는가?
- NO! 우리에겐 모듈 이란 기능이 있다
○ 모듈 : 커널코드의 일부를 커널이 동작하는 상태에서 로드, 언로드 할 수 있다.
- 장점 : 커널의 크기를 최소화 할 수 있고, 커널을 매우 유연하게 만든다.
- 디바이스 드라이버, 파일시스템, 통신프로토콜, 시스템콜 등을 모듈로 구현할 수 있다.
- 커널이 부팅된 후, 동작하는 상태에서 디바이스 드라이버와 같은 커널루틴을 동적으로 추가/제거 하는것
(2) 모듈프로그램 명령어들
KERNEL 2.4 | KERNEL 2.6 |
init_module(){...} cleanup_module(){...} |
modue_init(<사용자 임의 시작함수>); module_exit(<사용자 임의 종료함수>); |
- 모듈로드 : insmod
- 모듈확인 : ismod
- 모듈제거 : rmmod
- 커널 2.4의 컴파일 --> 그냥 컴파일로 가능.
- 커널 2.6의 컴파일 --> Make파일을 이용해서 컴파일.
※ 출처 : http://idkkangjs.blog.me/30091117058
'L inux > Kernel' 카테고리의 다른 글
프로세스 - Task 자료 구조체 (0) | 2011.09.26 |
---|---|
프로세스 - 프로세스와 프로세스 디스크립터 (0) | 2011.09.26 |
시스템 콜(System Call) - 3 (0) | 2011.09.26 |
시스템 콜(System Call) - 2 (1) | 2011.09.26 |
시스템 콜(System Call) - 1 (0) | 2011.09.26 |
RECENT COMMENT