fork구현
글쓴이: kyh1026 / 작성시간: 화, 2009/06/16 - 12:51오전
안녕하세요~ ^^
fork에 +a를 하여 시스템콜을 구현하려고 합니다.
그래서 시스템콜 등록하는 방법대로 등록을 하였고
구현은 fork와 똑같이 하되 +a만 중간에 넣었습니다.
그런데 자꾸 자식 프로세스가 생성되자마자 죽는 현상이 일어나는데 이를 어떻게 해결해야될지 모르겠습니다.
라이브러리를 안거쳐서 그런 현상이 일어나는지 알아보려고
원래 커널의 코드로 작성된 sys_fork를 syscall() 매크로를 이용하여 호출을 해보았으나
자식프로세스가 생성되면서 잘 동작 하더군요
저도 sys_fork와 똑같이 sys_ 함수를 만들고 전달하는 인자를 똑같이하여
그 안에서 do_fork와 똑같은 일을 하는 함수를 기능을 추가하고 만들어서 콜 해주는 방식으로 구현을 했습니다.
호출하는것도 syscall()매크로를 이용하여 호출을 하였고요
do_exit()에 printk를 찍어서 확인한 결과 자식프로세스가 생성되자마자 죽습니다.
어째서 이런 현상이 일어나는건지 모르겠습니다.
Forums:
댓글 달기