본문 바로가기
3. 개발 관련/정리 :: issue 와 resovle

시스템 콜, 래퍼함수,

by kyuho.choi 2009. 7. 9.
728x90
반응형
물론 리눅스.

시스템 콜이란 유저레벨에서 사용되는 함수들의 집합으로 주로 배포되는 커널이나,

새로 컴파일하게되는 경우에도 많이 손이가지 않는 부분 중의 하나로 생각된다.


시스템 콜의 강점은 유저레벨에서 시스템 콜을 호출 함으로써 아주 쉬운방법으로 자신이 원하는

작업을 수행시킬 수 있다는 것이 아닐까 싶지만,

그럼 이런 함수들을 커널레벨에서 사용한다면 어떻게 될까?


물론 그냥 쓸수 있다면 여기다 이런거 안끄적거리고 있겠지 ㅡ,.ㅡ


유저레벨에서 사용할 수 있는 시스템 콜이기 때문이라고 해야할런지 커널레벨에서는 요놈의 시스템 콜들을

그냥 갖다 쓸수가 없다.

커널레벨에서 수행하고자 하는 경우에는 fork의 경우 do_fork, mmap->do_mmap와 같은 스타일로 대부분의 시스템 콜 함수에

"do_"라는 스타일로 커널레벨 함수가 정의되어 있다.

이는 모듈 프로그래밍에서도 마찬가지의 이야기가 된다.
728x90
반응형

댓글