Linux가 데스크탑, 랩톱, 서버, 내장 장치, 휴대 전화 등 다양한 유형의 컴퓨터에서 잘 작동하는 이유는 무엇입니까? 주로 시스템이 열려 있기 때문에 다른 환경에서 작동하도록 일부를 수정할 수 있습니까? 또는이 OS가 광범위한 플랫폼에서보다 쉽게 작동하도록하는 Linux 커널 및 / 또는 시스템의 다른 속성이 있습니까?
Linux가 데스크탑, 랩톱, 서버, 내장 장치, 휴대 전화 등 다양한 유형의 컴퓨터에서 잘 작동하는 이유는 무엇입니까? 주로 시스템이 열려 있기 때문에 다른 환경에서 작동하도록 일부를 수정할 수 있습니까? 또는이 OS가 광범위한 플랫폼에서보다 쉽게 작동하도록하는 Linux 커널 및 / 또는 시스템의 다른 속성이 있습니까?
답변:
개방성은 확실히 그 일부이지만, 핵심 요인은 Linus Torvald의 모든 작업이 크든 작든 모든 주요 작업이 기본 Linux 커널에 자리 잡고 있다는 주장입니다. 그가 어떤 시점에서 선을 긋고 "좋아요, 멋진 슈퍼 컴퓨터 하드웨어를 위해서는 포크가 필요합니다"라고 결정했다면 완전히 분리 된 고급형 및 소형 시스템 변형이 개발되었을 것입니다. 그 대신 사람들은 모든 것이 비교적 잘 어울리도록 열심히 노력했습니다.
그리고 한 쪽이 다른 쪽을 해칠 수있는 kludges는 일반적으로 허용되지 않습니다. 다시 말하지만 사람들이 더 어렵고 정확한 방식으로 문제를 해결하도록 강요하는 경우가 많습니다. 필요에 따라 kludge는 역사적인 각주가됩니다.
몇 년 전 인터뷰 에서 :
Q : Linux는 다목적 시스템입니다. PC, 거대한 서버, 모바일 및 기타 10 대 정도의 장치를 공급합니다. 당신의 특권적인 입장에서 리눅스가 가장 잠재력을 발휘할 수있는 분야는 무엇입니까?
A : Linux의 진정한 힘은 정확히 하나의 틈새 시장이 아니라고 생각합니다. 모두가 함께 플레이하고, 다른 사람들과 다른 회사들은 그들에게 중요한 것에 대해 완전히 다른 동기와 신념을 가지고 있습니다. 그래서 나는 어떤 특정 분야에도 관심이 없습니다.
Linux는 다음과 같은 여러 가지 유형의 하드웨어로 확장됩니다.
fork
것이 가능하며 fork
가상 메모리가 아닌 시스템에서 합리적으로 효율적으로 수행 될 수 없다는 가정을 가지고 있습니다. 표시된 포트는 Linux 커널의 일부를 사용하고 일부 Linux 소프트웨어를 실행할 수 있지만 대부분이 포트에 의해 노출되는 API는 일반적인 Linux 커널과 다릅니다. (예 : 메모리 매핑 - 분명히 가상 메모리를 필요로하는)
Linux Kernel은 확장 성이 뛰어납니다. 코어 커널은 비교적 작으며 필요한 작업을 수행합니다. 장치 드라이버는 선택 사항이며 소규모 시스템의 경우 커널에서 제외 될 수 있습니다. 최소 커널 요구 사항을 넘어 대부분의 기능은 선택적 기능으로 구현됩니다.
대부분의 커널 옆에 설치된 구성 파일을 살펴보십시오. 켜져있는 모든 기능과 지원되는 드라이버가 나열됩니다.
드라이버는 커널에 내장되어 있거나로드 가능한 모듈로 지원됩니다. 이를 통해 커널이 실행중인 하드웨어에 동적으로 커널을 구성 할 수 있습니다. 이것은 많은 배포판에서 사용되는 접근 방식입니다.
컴파일 도구를 사용하는 것 외에도 새 하드웨어에 맞게 커널을 수정하는 것은 비교적 간단합니다. 새 프로세서의 경우 관련 기능 만 기존 기능을 수정하여 구현하면됩니다. 새 장치에는 관련 후크가있는 새 드라이버 만 필요합니다. 새로운 파일 시스템도 마찬가지로 사소한 수정입니다.
코드베이스는 외부 포크없이 이러한 유연성을 유지하도록 잘 유지되었습니다. 조건부 컴파일은 가능한 한 최소로 유지되는 매우 유연한 커널을 구동합니다.
이 답변을 뒷받침하는 자세한 기술 전문 지식이 부족하지만 필자의 경험에 따르면 Linux는 자주 사용하는 다른 운영 체제 (주로 Windows)와 비교할 때 확장 성이 뛰어납니다. 아마도 아마도 Windows가 Linux뿐만 아니라 확장되지 않는 이유가 문제 일 것입니다.
그런 식으로 문제를 해결하는 것이 여전히 유용하다면, 최종 사용자가 새로운 시스템을 구입할 때 주로 운영 체제의 사본을 더 많이 판매하기 때문에 시장에서 가장 강력한 최신 하드웨어에 맞춰 기능을 추가하도록 동기를 부여하는 것이 좋습니다. . 따라서 어느 시점에서나 최신 버전의 Windows는 오래되고 성능이 떨어지는 하드웨어에서는 성능이 좋지 않습니다.
그것이 당신의 질문을 지나치게 단순화하면 용서하십시오.