커널 자체가 표준 C 라이브러리에 의존합니까?

커널 자체가 표준 C 라이브러리에 의존합니까?

저는 특히 임베디드 장치에서 Linux가 실제로 어떻게 작동하는지, 그리고 완전한 기능을 갖춘 시스템을 구축하는 데 필요한 모든 다양한 구성 요소에 대해 더 깊이 파고들고 있습니다.

나는 표준 C 라이브러리 구현(예: glibc)이 독립적이며 사용자 공간 애플리케이션이 Linux 커널과 통신하고 작동하는 데 필요하다는 것을 알고 있습니다.

그러나 Linux 코드 자체가 실제로 이 표준 라이브러리에 의존합니까? 이 Linux 없이도 직접 실행할 수 있나요?

답변1

아니요, 커널은 표준 C 라이브러리(또는 다른 라이브러리)에 의존하지 않고 독립적입니다. 사용자 공간 프로그램도 반드시 C 라이브러리에 의존하는 것은 아닙니다. C 라이브러리는 시스템 호출을 위한 편리한 래퍼를 제공하지만 C 라이브러리를 거치지 않고 직접 호출할 수 있으며, 다른 언어 런타임에서도 자체 래퍼를 제공할 수 있습니다.

(이는 일반적으로 C 라이브러리가 제공할 것으로 예상되는 꽤 많은 함수의 구현이 커널에 포함되어 있으며 때로는 커널에 더 적합한 단순화된 버전의 형태로 포함되어 있음을 의미합니다.이 커널 초보자 FAQ더 알아보기. )

관련 정보