우분투 시스템 콜 관련 질문입니다

unistd_32.h에 번호도 할당했고
시스템 콜 테이블에도 잘 등록했습니다.
그런데 여기서 시스템 콜 처리 함수를 newsyscall.c 이런식으로
새파일에다 해서 makefile에링크 시키는게 아니라
sched.c 파일에다 시스템콜 함수를 작성했는데요

예: (asmlinkage int sys_newsyscall(){printk("hello"); …})

사용자 응용 프로그램 작성 후 컴파일도 잘해서 ./newsyscall 이런식으로
실행을 했습니다. 그런데 dmesg를 쳐봐도 로그파일을 열어봐도
제가 원하는 문자열이 출력이 안되어있습니다.

sched.c 파일에다 시스템 콜 함수 작성하고 싶은데 어떻게 해야하는걸까요…
sched.c파일 에 인클루드 문장들 바로 밑부분 라인에 함수를 위치시켰는데(대략 73번째 라인)
함수 위치가 잘못된건가요;; 컴파일할때도 warning: no prototype 인가 이런식으로 뜨긴하던데…
뭐가 문젠지 너무 궁금해서 질문드립니다…

System.map파일에 추가한 시스템콜이 있는지 확인해보시기 바랍니다.

그리고 수정한 파일 목록과 내용을 전부 올려주세요

수정한 파일과 내용들입니다.

/usr/src/linux/include/asm-x86/unistd_32.h
#define __NR_fallocate 324
#define __NR_hello_os 325

#ifdef KERNEL

#define NR_syscalls 326

/usr/src/linux/arch/x86/kernel/syscall_table_32.S
.long sys_utimensat /* 320 /
.long sys_signalfd
.long sys_timerfd
.long sys_eventfd
.long sys_fallocate
.long sys_hello_os /
325 */

/usr/src/linux/kernel/sched.c

/* hello_os */
asmlinkage long sys_hello_os()
{
printk("Hello OS\n");
return 0;
}

이건 sched.c파일 제일 마지막 라인에 추가했습니다.

/usr/src/hello_os.c

#include <unistd.h>
#include <linux/unistd.h>
#include <errno.h>
#define __NR_hello_os 325

int main(void)
{
syscall(__NR_hello_os); /* call syscall */
return 0;
}