그래서 저는 C 프로그램의 맥락에서 시스템 호출을 하고 있지만 제 교과서에는 실제로 터미널(Mac OSX)에서 시스템 호출을 수행하는 방법이 나와 있지 않습니다. "command"와 마찬가지로 명령줄에서 이러한 작업을 수행할 수 있습니까? 아니면 완전히 다른 개념입니까? 죄송합니다. 이는 매우 초보적인 내용이므로 답을 찾을 수 없습니다.
답변1
아니요, 터미널에서 실행되는 셸은 메모리에 대한 낮은 수준의 액세스를 제공하지 않으며 시스템 호출을 호출하고 결과를 처리해야 하기 때문에 시스템 호출을 직접 수행할 수 없습니다. 쉘의 역할은 전체 프로그램을 쉽게 실행할 수 있도록 하는 것입니다. 이러한 프로그램 중 일부는 시스템 호출 및 기타 운영 체제 리소스에 대한 보다 편리한 인터페이스를 제공합니다. 예를 들어, 이 mv
명령은 쾌적한 시스템 호출 인터페이스를 제공합니다 rename
. 이 명령은 ln
시스템 호출에 대한 인터페이스를 제공합니다 . 내장된 셸 명령을 사용하면 쉽게 액세스할 수 있지만 대부분의 경우 시스템 호출에서 제공하는 서비스는 너무 기본적이어서 셸에서 직접 액세스할 수 없습니다.link
symlink
cd
chdir