내가 아는 한, Android는 사용자 공간에서 실행됩니다(그리고 Linux에는 사용자 공간에 대한 GPL 예외가 있으므로 GPL을 준수할 필요가 없습니다).
특별한 이유 없이 GNU(Linux 배포판에 사용됨)가 실제로 사용자 공간에서만 실행되는지 궁금합니다.
답변1
Linux 시스템에서 실행되는 유일한 코드는아니요사용자 공간에는 커널 코드 또는 커널에 삽입된 코드(예를 들어BPF를 사용). 다양한 GNU 프로그램이 사용자 공간에서 실행됩니다.
(여기에는 질문과 직접적인 관련이 없지만 지적할 가치가 있는 미묘한 차이가 있습니다.프로세스사용자 공간 및 커널 공간에서 실행: 사용자 공간 프로그램을 대신하여 처리되는 커널 요청은 호출 프로세스에서 실행되는 것으로 간주되지만 호출 프로그램에서 제공하는 코드를 포함하지 않고 실행되므로 GPL이 커널 경계에서 중지됩니다. )
답변2
Grub은 GNU 프로젝트이며 사용자 공간에서 실행되지 않으므로 이 문제에 대한 내기에서 이기고 싶다면 이 기술을 사용할 수 있습니다.
답변3
@StephenKitt의 답변을 완성하고 단순화하려면Linux는 커널이고, GNU는 운영체제 전체를 구성하는 프로그램입니다.. 그렇습니다. GNU 소프트웨어는 사용자 공간에서 실행됩니다.
Linux가 있고 이 사람들이 그것을 사용하고 있지만 그것은 그들이 사용하는 시스템의 일부일 뿐입니다. Linux는 커널입니다. 즉, 시스템에서 실행되는 다른 프로그램에 시스템 리소스를 할당하는 시스템의 프로그램입니다. 커널은 운영 체제의 중요한 부분이지만 그 자체로는 유용하지 않습니다. 전체 운영 체제 환경에서만 실행됩니다. Linux는 종종 GNU 운영 체제와 결합됩니다. 전체 시스템은 기본적으로 GNU와 Linux 또는 GNU/Linux입니다. 소위 "Linux" 배포판은 모두 실제로 GNU/Linux 배포판입니다.