안녕하세요.
Freebsd를 사용하는 user입니다. 다름이 아니라, 커널내에서 파일을 open, write 등을 사용하고 싶은데.. 어떻게 해야 할지 잘 모르겠네요.
커널에서 디스크에 접근하는 블럭번호들을 파일로 저장하고 싶은데.. 파일을 열고 쓰고 하는 작업이 어떻게 이루어 지는지 궁금합니다. 그냥 open, write 로는 해결이 안되는거 같아서요~
http://linuxkernel.net/linux/faq/index.php?cmd=read§ion=kernelprog-advanced2&num=1
이걸 읽어보셔요 간단하게 코드의 예제가 나와있고 결론적으로 말하자면
리눅스 커널에서는 open write 함수가 없으므로 어쩔 수 없이 시스템 콜을 써야하는데 시스템 콜을 쓰면 당연히 커널에서 데이터(포인터)의 위치를 검사하므로 에러가 나게 됩니다.
그러므로 set_fs라는 함수를 통해 커널의 메모리 어드레스 한계를 조정해주는것이 그 요지입니다.
구글링해보니 다음과 같은 글이 잘 나와있네요..http://www.linuxjournal.com/node/8110/print
C++, 그리고 C++.... 죽어도 C++
헉 쓰고보니 프비 -_-;; 죄송..
[url]http://linuxkernel.net/linux/faq/in
http://linuxkernel.net/linux/faq/index.php?cmd=read§ion=kernelprog-advanced2&num=1
이걸 읽어보셔요 간단하게 코드의 예제가 나와있고
결론적으로 말하자면
리눅스 커널에서는 open write 함수가 없으므로 어쩔 수 없이
시스템 콜을 써야하는데 시스템 콜을 쓰면 당연히 커널에서 데이터(포인터)의
위치를 검사하므로 에러가 나게 됩니다.
그러므로 set_fs라는 함수를 통해 커널의 메모리 어드레스 한계를 조정해주는것이 그 요지입니다.
구글링해보니 다음과 같은 글이 잘 나와있네요..
http://www.linuxjournal.com/node/8110/print
C++, 그리고 C++....
죽어도 C++
헉 쓰고보니 프비 -_-;; 죄송..
헉 쓰고보니 프비 -_-;; 죄송..
C++, 그리고 C++....
죽어도 C++