저는 여러 교과서에서 Linux가 가볍다는 내용을 읽었습니다(예를 들어 1.4MB 플로피 디스크에 들어갈 수 있음). 그렇다면 Ubuntu 또는 Fedora CD에서 다운로드한 파일 크기가 더 크거나 큰 이유는 무엇입니까?
장치 드라이버가 커널을 확장합니까? 예: 새 하드웨어가 있고 장치 드라이버를 설치하는 경우 커널 코드가 확장됩니까, 아니면 드라이버가 커널에서 사용할 서비스로 설치됩니까?
Ubuntu와 같은 LiveCD를 사용할 때 시스템이 부팅되면 OS의 700MB가 모두 RAM에 로드됩니까, 아니면 일부만 로드됩니까?
이런 질문을 하게 된 이유는 초심자에게 흔한 질문이고, 한 곳에 모아두면 좋겠다고 생각했기 때문입니다.
답변1
플로피 디스크에 아주 작은 Linux 시스템을 설치하는 것은 거의 불가능합니다. (여기다음은 몇 가지 예입니다. 이러한 파일 중 다수는 여러 개의 플로피 디스크에 걸쳐 있습니다. )은 1.44MB에 불과하여 어떤 응용 프로그램에도 충분한 공간이 없습니다. 흥미로운 명령을 실행하지 않고도 최소한의 명령줄을 얻을 수 있다고 생각합니다.
보다 현실적인 소규모 시스템의 예로 내 홈 라우터는 Linux를 실행합니다. 전체 디스크 이미지(커널과 프로그램)의 크기는 4MB입니다(실제로는 2.8MB에 가까운 것 같습니다). 이는 오래된 커널 버전을 갖춘 전용 시스템으로, 특정 장치에 필요한 드라이버만 있고 프로그램은 많지 않습니다. 주로 소규모 웹 서버, SSH 클라이언트 및 서버, 셸을 포함한 네트워크 관리 도구입니다.
Ubuntu나 Fedora와 같은 배포판에는 수천 개의 프로그램이 함께 제공됩니다. 이러한 프로그램 중 일부는 그 자체로 수십 MB를 차지합니다. 이 프로그램 중 일부문서수십MB가 소요됩니다. 모든 주변 장치, 네트워크 프로토콜 및 기타 부품을 위한 장치 드라이버핵심이제 약 100MB입니다. PC에 연결할 수 있는 다양한 장치가 있습니다.
GUI와 웹 브라우저를 갖춘 기본 시스템의 경우 수백 MB가 필요합니다. 전체 데스크톱 환경, 워드 프로세서 등을 갖춘 보다 완벽한 시스템을 위해서는 몇 GB가 필요합니다. 각 프로그램(Gnome 및 KDE, Firefox 및 Chrome 등)에 대해 여러 대안을 제공하기 시작하면 한계가 없습니다.
Windows의 크기를 비교하려면 Linux 배포판에는 Windows보다 훨씬 많은 내용이 포함되어 있다는 점을 기억하세요. Ubuntu 및 Fedora와 같은 배포판에는 Windows에 별도로 설치해야 하는 많은 응용 프로그램이 함께 제공됩니다.
답변2
"Linux"는 실제로는 커널일 뿐입니다. 자체 버전을 컴파일하여 사용자 정의하거나 배포판의 사전 컴파일된 버전을 사용할 수 있습니다. 커널은 컴퓨터를 실행하고 애플리케이션과 도구를 위한 환경을 제공합니다. 따라서 실제로 커널로 무엇인가를 하고 싶다면 애플리케이션이 필요합니다. Ubuntu 및 Fedora와 같은 배포판은 커널뿐만 아니라 애플리케이션 및 도구도 제공합니다. Linux는 UNIX를 구현한 것이므로 전통적인 UNIX 유틸리티가 많이 제공됩니다.
장치 드라이버는 커널과 함께 배포됩니다. 모듈은 커널의 일부로 포함되거나 별도의 파일로 존재할 수 있습니다. 일반적으로 모듈로 컴파일됩니다. 이는 Windows DLL이 작동하는 방식과 개념적으로 유사합니다. 이렇게 하면 모든 장치 드라이버를 내장하기 위해 RAM에 거대한 커널이 필요하지 않으며 커널은 다양한 환경에서 작동할 수 있습니다.
커널은 부팅 시 RAM에 로드되어 그대로 유지됩니다. 응용 프로그램은 사용하는 동안 로드되고 종료되면 메모리를 해제합니다. 모듈은 일반적으로 하드웨어가 감지되거나 특정 운영 체제 기능이 사용될 때 삽입될 때 로드됩니다. 모듈을 제거하거나 제거할 수도 있습니다.
답변3
1 - 기본 시스템이 적합할 수 있습니다. CD 버전(예: 우분투 또는 페도라)에는 사용해야 하는 일부 프로그램(Firefox, Gnome, Banshee 등)과 일부 미디어 코덱과 같은 시스템 이상의 기능이 포함되어 있습니다.
2 - 대부분의 드라이버는 번들로 제공되어 커널 모듈로 실행되지만 중요하지 않은 독점 드라이버는 번들로 제공되지 않고 오픈 소스 드라이버만 번들로 제공됩니다. 사용자 정의 커널이 없는 경우 기본 사용에 필요한 모든 드라이버가 있어야 하지만 독점 드라이버가 더 나은 성능을 제공할 수 있습니다.
3 - 아니요, 필요한 것만 로드합니다. 커널 이미지/모듈 및 사용 중인 프로세스(예: xorg/systemd 등...)
답변4
Claudiop과 ultrasawblade에서 알 수 있듯이 훨씬 더 작게 사용자 정의할 수 있는 매우 작은 커널이 있고 UNIX 계열 시스템에 일반적으로 나타나는 도구가 있으며 사무실, 브라우저, 멀티미디어 소프트웨어, 게임 등과 같은 거대한 응용 프로그램이 있습니다. 프로그래밍 방식으로 그래픽 사용자 인터페이스는 더 많은 공간을 차지합니다.
10년 전에 나는 실제로 플로피 디스크에 그러한 Linux를 가지고 있었는데 그 이름은 다음과 같습니다.토마스 RTBT1.4MB 클래식 플로피 디스크에 설치할 수 있지만 1.7MB 커널을 포함하도록 다시 포맷됩니다. 즉, 장치 드라이버가 거의 없고 도구가 거의 없으며 셸이 매우 제한적이고 GUI가 없으며 이와 유사한 것은 없습니다. 정말 관심이 있으시다면 아마 찾으실 수 있을 겁니다.
대부분의 드라이버는 커널의 일부입니다. 새 하드웨어의 경우 - 커널에 이미 드라이버가 포함되어 있거나 작동하는 일반 드라이버(마우스, 하드 드라이브, 키보드...)가 있습니다. 일부 드라이버는 클라이언트 공간 프로그램입니다(예: 인쇄: CUPS). 웹에서 새 드라이버를 검색하거나 공급업체 페이지를 방문할 필요가 없습니다. 드문 예외가 있을 수 있습니다.
예, 전체 CD가 RAM에 로드되어 유사 HDD 역할을 합니다.