Linux 시스템의 많은 구성 요소 중에서 커널이 무엇인지, GNU 부분이 무엇인지 혼란스러워합니다. 몇 가지 기본 개념을 이해하지만 쉘과 창 관리자 사이의 경계는 어디에 있습니까?
답변1
핵심
커널은 리소스를 관리합니다. 리소스에는 프로세서 시간, 메모리 및 주변 장치가 포함됩니다. 이는 리소스와 직접 통신하고 인터페이스를 사용자 공간에 노출함으로써 이를 수행합니다.
사용자 공간 도구(때때로 GNU 도구 및 유틸리티 포함)
사용자 공간 도구에는 ls, cat, dd, ln, mount 등과 같은 기본 유틸리티가 포함됩니다. 이를 통해 사용자는 커널에서 제공하는 리소스를 사용할 수 있습니다. BSD, OSX 및 기타 Unices와 달리 Linux는 GNU 도구의 기본 사용자이지만 모든 Linux 시스템이 이러한 도구를 사용하는 것은 아닙니다. Busybox는 Linux용 대체 도구 세트를 제공합니다.
껍데기
셸은 사용자가 사용자 공간 도구를 사용할 수 있는 환경을 제공합니다. 쉘의 예로는 bash, ksn, zsh 및 Fish가 있습니다. 일반적으로 사용자가 명령을 입력하여 사용자 공간 도구를 시작할 수 있는 프롬프트를 제공합니다.
창 관리자
이는 일반적으로 그래픽, 오디오 및 I/O 리소스를 관리하고 상위 수준 도구에 인터페이스를 제공하는 디스플레이 서버가 있는 상위 계층입니다. 일반적으로 디스플레이 관리자는 사용자 로그인 관리, 세션 관리 등의 기능을 제공하는 디스플레이 서버 상위 계층입니다. 그 위에는 일반적으로 창 관리자가 있습니다. 창 관리자는 애플리케이션이 콘텐츠를 렌더링할 수 있는 영역을 제공하며 사용자가 이동, 크기 조정, 순서 변경을 통해 이러한 영역과 상호 작용할 수 있도록 해줍니다.
답변2
"bash"를 쉘로 사용하는 경우 이는 GNU 유틸리티입니다. 시스템의 "coreutils" 패키지에는 , , mv
등과 같은 GNU 소프트웨어가 포함되어 있습니다.ls
rm
커널은 직접 상호 작용하는 것이 아니라 시스템의 다른 소프트웨어를 통해 상호 작용합니다. 간단히 말해서, 커널은 키 입력과 마우스 움직임을 읽고, 디스크에 데이터를 읽고 쓰고, 소프트웨어에서 계산을 예약하고 수행함으로써 소프트웨어가 시스템의 하드웨어와 상호 작용할 수 있는 방법을 제공합니다. 컴퓨터에서 실행하세요. 제가 간과했거나 무시한 세부 사항이 많이 있습니다. 읽어보시면 도움이 될 것입니다.커널 위키피디아 페이지.
귀하의 창 관리자는 GNU 소프트웨어가 아닐 가능성이 높지만 다른 소프트웨어 프로젝트(Gnome, KDE, XFCE 등)에서 제공됩니다. 그러나 이들은 모두 GNU C 라이브러리(glibc) 및 GNU 컴파일러 컬렉션(gcc)을 사용하는 등 GNU 소프트웨어에 의존하여 실행됩니다. 또한 시스템에 있는 대부분의 소프트웨어는 GNU General Public License(GPL)에 따라 라이센스가 부여되므로 GNU 라이센스의 혜택을 누릴 수 있습니다.