매뉴얼 페이지, 시스템 호출 및 libc

매뉴얼 페이지, 시스템 호출 및 libc

epoll_create라이브러리 함수(맨 페이지, 섹션 3)로 나열되지 않았지만 accept라이브러리 함수로 나열되는 이유는 무엇입니까 ? 두 기능 모두 커널 시스템 호출에 의해 제공되고 libc둘 다 커널 시스템 호출을 참조하지만?

나는 "왜"라는 질문이 일반적으로 인기가 없는지 알고 있지만, 이것은 이러한 개념과 섹션 2 및/또는 3에 무언가를 추가하는 표준 사이, 그리고 libc 관계 방식 사이의 관계를 더 잘 이해하기 위한 나의 요청입니다. 및 시스템 호출(모든 libc는 C 프로그램용 인터페이스를 커널 자체에 구현하는 것이기 때문입니다. 따라서 제가 이해하는 한 모든 시스템 호출은 libc 라이브러리가 모든 시스템 호출을 제공하기 때문에 라이브러리 함수입니다. 내 설명은?).

답변1

적어도 Linux Man Pages 프로젝트에서는 주어진 기능에 대한 주요 기준을 문서화해야 하는 섹션이 무엇입니까?섹션 3 소개:

이 매뉴얼의 섹션 3에서는 섹션 2에서 설명한 시스템 호출(시스템 호출 래퍼)을 구현하는 기능을 제외한 모든 라이브러리 함수를 설명합니다.

매뉴얼 accept페이지"3p" 섹션에서 이 내용을 접했을 수도 있습니다. 이는 POSIX 프로그래머 매뉴얼의 일부입니다. POSIX는 "순수한" C 라이브러리 함수와 시스템 호출을 구별하지 않습니다.시스템 인터페이스너 자신에 대해 신경 쓰지 마어디그들은 구현되었습니다.

귀하의 부가 질문에 관해서는 일부 시스템 호출에는 라이브러리 기능이 없습니다. 일반적으로 새로운 시스템 호출은 즉시 래퍼를 가져오지 않습니다. 게다가 일부 시스템 호출도 있습니다.init_module적어도 GNU C 라이브러리에서는 래퍼를 얻을 운명이 아닙니다.

관련 정보