우리는 시스템 호출이 운영 체제 커널의 서비스 프로세스에 의한 요청이라는 것을 알고 있습니다.[1]제가 이 질문을 드리는 이유는 프로세스가 실제로 자체적으로 신호를 생성할 수 있는지, CPU에 직접 산술 연산을 요청하거나 파일을 읽고 쓸 수 있는지 알고 싶었기 때문입니다. 또는 프로세스가 실제로 이를 운영 체제에 요청합니까?
답변1
"신호"와 "파일"은 운영 체제의 컨텍스트 내에서만 존재하므로 응용 프로그램은 커널을 대신하여 작동하도록 커널에 요청해야 합니다. 산술 연산은 CPU에 의해 수행되므로 애플리케이션이 직접 수행할 수 있습니다.
답변2
나는 string.h의 문자열 라이브러리 함수가 시스템 호출을 전혀 사용하지 않는다는 사실을 깨닫지 못했습니다.