[리눅스] Module Parameter
- 최초 등록일
- 2010.05.20
- 최종 저작일
- 2009.09
- 2페이지/ 한컴오피스
- 가격 1,000원
목차
실습 내용
실습 결과
발생한 문제
해결 방안
느낀점
본문내용
실습 내용
1. 디바이스 드라이버 고정된 내부 변수 값을 사용을 하며 실행되기 전에 값을 변경할 필요가 있음
* static type로 변수 선언
* module_param(변수명, type, 속성); // 모듈 매개 변수를 사용하는 매크로
* 실행
insmod ./test.ko 변수1=값1 변수2=값2
값에 공란이 들어갈 경우
insmod ./test.ko 변수1=값1 ‘변수2=값2‘
insmod ./test.ko ‘변수1=값1 변수2=값2‘
insmod ./test.ko 변수1=값1 변수2=\“값2\”
2. 커널에서 사용하는 동적 메모리 할당
* kmalloc : 할당, kfree : 해제
* kmalloc(크기, 할당 처리 방식)
할당 처리 방식
GFP_KERNEL : 동적 메모리 할당이 항상 성공하도록 요구, 할당 받을때까지 블록
GFP_ATOMIC : 할당 가능한 메모리가 있으면 할당
GFP_DMA : 연속된 물리 메모리를 할당
* vmalloc(크기)
크기 제한 없이 메모리를 할당, kmalloc 보다 할당 속도가 매우 느림
* 최대 할당 가능 크기 : 1024 * PAGE_SIZE(4096byte) = 4,194,304byte = 4MB
3. Memory Pool
* 사전에 예측되는 최소한의 메모리를 미리 할당, 고나리하는 방식
참고 자료
없음