사람들이 Linux를 OS가 아닌 커널이라고 부르는 이유는 무엇입니까?

사람들이 Linux를 OS가 아닌 커널이라고 부르는 이유는 무엇입니까?

사람들이 Linux를 운영 체제가 아닌 커널이라고 부르는 이유는 무엇입니까? 내가 아는 한, 커널은 운영 체제의 한 부분입니다.

답변1

리눅스 시스템은 다양한 부분으로 구성됩니다.

중앙 부분은 리눅스 커널입니다. (당신은 그것을 얻을 수 있습니다kernel.org, 원래는 다음 사람이 쓴 것입니다.리누스 토발즈누가 이름을 "Linux"로 지었나요?)

커널 자체는 거의 쓸모가 없습니다. 모든 종류의 하드웨어를 관리하고 애플리케이션이 사용할 인터페이스를 제공합니다. 따라서 이를 사용하려면 이 커널을 사용하는 응용 프로그램이 필요합니다.

반면에GNU 프로젝트, 에 의해 시작리처드 스톨먼. 그 임무는 주변의 모든 표준 도구를 갖춘 완전한 무료 운영 체제를 만드는 것입니다.

몇 년 후 GNU 프로젝트는 순조롭게 진행되어 모든 표준 도구를 작성했지만 여전히 작동하는 커널이 누락되었습니다.

그래서 동시에 도구가 없는 커널(Linux)을 위한 프로젝트와 모든 도구는 있지만 커널이 없는 프로젝트(GNU)가 있었습니다. 둘 다 동일한 UNIX 사고방식으로 작성되었기 때문에 사람들이 적절하게 ""라고 부르는 완전한 운영 체제로 결합하는 것이 가능했습니다.GNU/리눅스".

그러나 이런 종류의 단순한 "GNU/Linux" 시스템이라도 실행하려는 소프트웨어가 없으면 그다지 유용하지 않습니다. (브라우저, 메일 서버 또는 이와 유사한 것.)

그러므로 일부분포(Debian, RedHat, SuSE, Arch 등과 같은)은 쉬운 설치 및 유지 관리를 위해 Linux 커널, GNU 도구 및 모든 종류의 응용 프로그램을 함께 패키지했습니다. (다른 커널을 사용하는 배포판도 있습니다. 예를 들어데비안 시스템FreeBSD 또는 GNU-Hurd를 커널로 사용합니다.)

이제 "일반적인" 사람들(예를 들어 단지 실행 중인 웹 브라우저를 원하는 사람)의 경우 이 배경은 너무 자세해서 단일 이름만 원합니다. 따라서 누군가가 "Linux"를 설치했다고 주장하는 대부분의 경우 그는 일반적으로 Linux 커널과 함께 제공되는 일부 배포판을 많은 배포판 중 하나로 설치했습니다.

간단히 말해서 사람들은 전체 시스템을 지칭하기 위해 중앙 커널의 이름을 사용하는 경우가 많습니다.

"운영 체제"라고 부르는 것을 결정하는 것은 사용자의 몫입니다. 이것은 단지 하드웨어를 관리하는 것(예: Linux)입니까, 아니면 사용자가 상호 작용하는 것(예: 선호하는 데스크톱 환경)입니까, 아니면 기본(명령줄 기반) GNU/Linux와 같은 중간에 있는 것일 수 있습니다.

답변2

커널은 더 큰 운영 체제의 구성 부분입니다. 일반적으로 Linux 배포판에서 더 큰 운영 체제에는 GNU 도구의 기반이 포함되어 있습니다. 이것이 바로 많은 사람들이 커널을 Linux라고 부르고 전체 운영 체제를 "GNU"라고 부르는 이유입니다. /Linux"(많은 사람들이 이렇게 구분하지 않지만).

사람들이 리눅스를 운영체제라고 부르는 이유는 부분들의 합으로 제공되는 운영체제 전체를 지칭하기 위해 이름을 선택해야 하기 때문이다. Linux는 사용자가 쉽게 볼 수 있는 가장 낮은 수준의 구성 요소이므로 이러한 이름과 역할을 맡는 것이 당연합니다. 사람들은 일반적으로 GNU grep을 "GNU grep"이라고 부르지 않고 그냥 "grep"이라고 부릅니다. 많은 사용자에게 GNU 도구는 Linux 커널만큼 눈에 띄게 서로 연결되어 있지 않습니다.

Richard Stallman은 사람들이 Linux를 "GNU/Linux"라고 부르는 것에 대해 매우 고집을 부리고 있습니다. Linux에는 많은 GNU 도구가 포함되어 있기 때문입니다(아마도 C 컴파일러가 가장 중요할 것입니다). 나는 그다지 소란스럽지 않고 다른 사람들도 그렇게 소란스럽지 않습니다.

명확성을 원한다면 GNU/Linux는 (커널이 아닌) 운영 체제를 명확하게 나타냅니다. "Linux"는 문맥상 훨씬 더 모호합니다.

답변3

내가 아는 한, 커널은 운영 체제의 한 부분입니다.

커널은 운영 체제의 "핵심"입니다. 대부분의 중요한 서비스를 제공합니다. 프로세스 시작, 종료 및 예약, 프로세스에 메모리 및 스왑 공간 할당, 프로세스 간 통신, 파일, 네트워크 스택의 하위 수준, 일정 수준의 IO 추상화.

커널 위에 다른 구성 요소 스택을 구축합니다. 한편으로, 커널은 적어도 일부 다른 구성 요소가 없으면 별로 사용되지 않습니다. 반면에 이러한 구성 요소 중 실제로 필수 구성 요소는 거의 없으며 대부분은 다른 구성 요소로 대체될 수 있습니다.

따라서 정확히 어떤 구성 요소가 "운영 체제"의 일부로 간주되어야 하는지는 명확하지 않습니다.

사람들이 Linux를 운영 체제가 아닌 커널이라고 부르는 이유는 무엇입니까?

두 가지 이유.

첫 번째는 엄밀히 말하면 그것이 사실이라는 것입니다. "Linux"라는 프로젝트는 커널만 유지 관리합니다. 실제로 유용한 시스템으로 전환하기 위해 다른 소프트웨어 모음을 구성하는 것은 제3자 배포자의 몫입니다.

두 번째는 자유 소프트웨어 재단이 Linux가 모든 영광을 얻는 것에 다소 짜증을 낸다는 것입니다. 특히 Linus는 이상주의자가 아닌 자유 소프트웨어 실용주의자이기 때문에 더욱 그렇습니다.

GNU 프로젝트는 Unix용 무료 소프트웨어 대체품을 만들기 위해 FSF에 의해 설정되었습니다. 그들은 컴파일러, binutils(어셈블러, 링커 등) libc(C 표준 라이브러리와 커널의 시스템 호출 인터페이스를 posix로 전환하는 래퍼 모두 제공), textutils, shellutils 및 fileutils(현재 다음과 같이 병합됨)와 같은 많은 중요한 구성 요소에 대한 대체 요소를 만들었습니다. 코어 유틸리티).

그러나 그들은 Unix 커널을 대체하는 데 어려움을 겪었습니다. 1987년 Stallman은 Mach 마이크로커널과 Hurd로 알려진 데몬 컬렉션을 기반으로 한 시스템을 사용하기로 결정했습니다. 그러나 라이센스 문제로 인해 프로젝트가 3년 지연되었으며 그 이후로 빈약한 개발 역사를 가지고 있습니다.

그러는 동안 Linus라는 학생이 MINIX에서 영감을 받아 자신의 커널을 작성했습니다. 커널만으로는 OS를 만들 수 없으므로 GNU 구성요소를 새 커널로 포팅했습니다. 몇 달 안에 커널은 충분히 발전했고 시스템을 "자체 호스팅"할 수 있을 만큼 충분한 소프트웨어가 포팅되었습니다. 즉, Linux on Linux를 구축하는 것이 가능해졌습니다. 그 직후 Linux는 GPL을 채택했고 빠르게 추진력을 얻기 시작했습니다.

좋든 나쁘든 Linux라는 용어는 커널뿐만 아니라 시스템 전체를 설명하는 데 사용되었습니다. 이는 커널을 여러 구성 요소 중 하나에 불과한 구성 요소로 보는 FSF를 짜증나게 했습니다. 그들의 관점에서 볼 때 그들은 그들의 프로젝트가 본질적으로 공동 선택되었다고 보았습니다.

답변4

리눅스는 커널이다. 이것이 커널이라고 부르는 주된 이유입니다. Ubuntu, Android 및 Chrome OS는 근본적으로 다른 운영 체제입니다. Ubuntu용 애플리케이션은 Windows에서 반드시 실행되지 않는 것처럼 Android에서 반드시 실행되지는 않습니다. 한 가지 간단한 이유는 운영 체제가 다르기 때문입니다. Linux 기반 운영 체제도 보안 관점에서 크게 다릅니다. Chrome OS는 매우 안전한 것으로 알려져 있습니다. Android는 그다지 안전하지 않습니다.http://www.forbes.com/sites/gordonkelly/2014/03/24/report-97-of-mobile-malware-is-on-android-this-is-the-easy-way-you-stay- 안전한/

관련 정보