kernel-level에서 저만의 함수(system call)을 만들어서 사용할 수 있는 방법이 있을까요..?
특정한 기능(print_one을 bash에 입력하면 1이 출력된다거나..)을 갖는 kernel-level로 작성한 모듈을 sudo insmod ~~.ko 해서 사용하고 싶은데, 도무지 어떻게 할 수 있을지 모르겠습니다..
다만, 애초에 device driver를 이용하면 user application에서 open(), read() 같은 system call을 호출했을 때에 device driver에서 작성한 함수를 사용하게끔 하는 거니, 작성자님이 원하시는 기능을 구현할 수 있을지도 모르겠습니다.
또, bash에 print_one을 입력해서 1이 출력되게 하는 건 굳이 kernel level에 접근하지 않고도 alias command를 사용하시면 충분히 하실 수 있을 것 같습니다.
저도 정확히는 모르겠습니다.
다만, 애초에 device driver를 이용하면 user application에서 open(), read() 같은 system call을 호출했을 때에 device driver에서 작성한 함수를 사용하게끔 하는 거니, 작성자님이 원하시는 기능을 구현할 수 있을지도 모르겠습니다.
또, bash에 print_one을 입력해서 1이 출력되게 하는 건 굳이 kernel level에 접근하지 않고도 alias command를 사용하시면 충분히 하실 수 있을 것 같습니다.
bash에서 실행하는 명령은 시스템콜이 아니라
bash에서 실행하는 명령은 시스템콜이 아니라 bash 내부 명령, 혹은 PATH의 경로에 있는 실행파일입니다.
원하시는게 그거라면 /usr/bin 같은 곳에 프로그램을 추가하시면 됩니다.
시스템콜 추가는 https://www.kernel.org/doc/html/next/process/adding-syscalls.html 를 참고하시면 됩니다.
댓글 달기