커널에서 파일 처리에 대한 질문입니다.

crom0923의 이미지

안녕하세요.

Freebsd를 사용하는 user입니다. 다름이 아니라, 커널내에서 파일을 open, write 등을 사용하고 싶은데.. 어떻게 해야 할지 잘 모르겠네요.

커널에서 디스크에 접근하는 블럭번호들을 파일로 저장하고 싶은데.. 파일을 열고 쓰고 하는 작업이 어떻게 이루어 지는지 궁금합니다. 그냥 open, write 로는 해결이 안되는거 같아서요~

ixevexi의 이미지

http://linuxkernel.net/linux/faq/index.php?cmd=read&section=kernelprog-advanced2&num=1

이걸 읽어보셔요 간단하게 코드의 예제가 나와있고
결론적으로 말하자면

리눅스 커널에서는 open write 함수가 없으므로 어쩔 수 없이
시스템 콜을 써야하는데 시스템 콜을 쓰면 당연히 커널에서 데이터(포인터)의
위치를 검사하므로 에러가 나게 됩니다.

그러므로 set_fs라는 함수를 통해 커널의 메모리 어드레스 한계를 조정해주는것이 그 요지입니다.

구글링해보니 다음과 같은 글이 잘 나와있네요..
http://www.linuxjournal.com/node/8110/print

C++, 그리고 C++....
죽어도 C++

ixevexi의 이미지

헉 쓰고보니 프비 -_-;; 죄송..

C++, 그리고 C++....
죽어도 C++