쉘에서 실행되는 명령어들 중 일부는 동명의 syscall이 있습니다만
그렇다고 그 명령어들이 syscall에 바로 연결되어 있는 것은 아닙니다.
물론, 동명의 syscall이 있는 명령어들은 대체로 어떻게든 그 syscall을 호출하긴 하지요.
아무튼, 이들 명령어는 대개 별도의 프로그램으로 구현되어 있거나, 쉘의 내장 명령어로 구현되어 있습니다.
GNU Core Utilities (약칭 coreutils)이나, 사용하고 계시는 쉘의 소스 코드를 찾아보세요.
아니면 아예 별도의 프로젝트인 경우도 있을 수 있는데 대체로 검색해 보시면 금방 찾으실 수 있으실 겁니다.
질문하신 echo의 경우는 coreutils에 포함되어 있군요.
쉘에서 실행되는 명령어들 중 일부는 동명의
쉘에서 실행되는 명령어들 중 일부는 동명의 syscall이 있습니다만
그렇다고 그 명령어들이 syscall에 바로 연결되어 있는 것은 아닙니다.
물론, 동명의 syscall이 있는 명령어들은 대체로 어떻게든 그 syscall을 호출하긴 하지요.
아무튼, 이들 명령어는 대개 별도의 프로그램으로 구현되어 있거나, 쉘의 내장 명령어로 구현되어 있습니다.
GNU Core Utilities (약칭 coreutils)이나, 사용하고 계시는 쉘의 소스 코드를 찾아보세요.
아니면 아예 별도의 프로젝트인 경우도 있을 수 있는데 대체로 검색해 보시면 금방 찾으실 수 있으실 겁니다.
질문하신 echo의 경우는 coreutils에 포함되어 있군요.
이와 관련해서 최근에 자유게시판에 글이 하나 올라온 적이 있는데 참조해보세요:
http://kldp.org/node/156958
시스템콜로 따진다면 write() 하나로 구현 됩니다
시스템콜로 따진다면 write() 하나로 구현 됩니다.
Written By the Black Knight of Destruction
댓글 달기