[문의] 커널레벨 프로그램 문의 !!!!!

scoh98의 이미지

여러분~~~~~~~~~~

기존의 유저레벨 프로그램을 리눅스 커널 레벨로 다운 시키는 방법 좀 가르쳐 주세요.

컴파일 옵션만 새로 잡아주면 되나요?

아님 소스를 수정해야 하나요?

궁금해서리.........

미리 감사합니다.

mach의 이미지

scoh98 wrote:
여러분~~~~~~~~~~

기존의 유저레벨 프로그램을 리눅스 커널 레벨로 다운 시키는 방법 좀 가르쳐 주세요.

컴파일 옵션만 새로 잡아주면 되나요?

아님 소스를 수정해야 하나요?

궁금해서리.........

미리 감사합니다.


답변: 컴파일 수준에서는 해결안되고, 소스를 수정해야 합니다.
* 참고
접근방법을 하나 소개하겠습니다.
- 해당 프로그램을 커널디바이스 드라이버유형으로 변경하여(모듈) 등록한다.
커널디바이스 드라이버를 작성하는 골격(skeleton)에 대해 공부하셔야 합니다.
주의사항은 메모리관리 관련 부분에 대한 전면적인 수정이 이뤄져야 합니다.
코드는 커널에 있고, 메모리는 유저영역을 할당하는 메카니즘을 익히면 좋겠습니다. 그외 고려사항이 더 있겠네요.
참고서적으로는 리눅스 디바이스 드라이버를 추천하는 바입니다.
* 여담
사실, 사용자 영역 프로그램이 어떤 작업을 수행하는지를 잘 분석해보고,
접근하셔야 할것입니다. 꼭, 커널레벨로 돌려야하는지 궁금하기도 하고요.

------------------ P.S. --------------
지식은 오픈해서 검증받아야 산지식이된다고 동네 아저씨가 그러더라.