사람들은 왜 Linux를 운영 체제 대신 커널이라고 부르나요?

사람들은 왜 Linux를 운영 체제 대신 커널이라고 부르나요?

사람들은 왜 Linux를 운영 체제 대신 커널이라고 부르나요? 내가 아는 한, 커널은 운영 체제의 일부입니다.

답변1

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

핵심 부분은 리눅스 커널입니다. (당신은 그것을 얻을 수 있습니다kernel.org, 원래는리누스 토발즈누가 "리눅스"라고 이름을 붙였나요? )

커널 자체는 거의 사용되지 않습니다. 모든 유형의 하드웨어를 관리하고 애플리케이션에서 사용하는 인터페이스를 제공합니다. 따라서 이를 사용하려면 해당 코어를 사용하는 애플리케이션이 필요합니다.

반면에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를 "GNU/Linux"라고 부르는 것을 매우 주장합니다(C 컴파일러가 아마도 가장 중요할 것입니다). 나는 그다지 소란스럽지 않았고 다른 사람도 마찬가지였습니다.

명확하게 생각해 보면 GNU/Linux는 분명히 운영 체제(커널이 아님)를 나타냅니다. 문맥에서 벗어나면 "Linux"의 의미는 훨씬 더 모호해집니다.

답변3

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

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

코어 위에 일련의 다른 구성 요소를 구축합니다. 우선, 최소한 다른 구성 요소가 없으면 커널은 별로 쓸모가 없습니다. 반면에 이러한 구성 요소 중 실제로 필수 구성 요소는 거의 없으며 대부분은 다른 구성 요소로 대체할 수 있습니다.

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

사람들은 왜 Linux를 운영 체제 대신 커널이라고 부르나요?

두 가지 이유.

우선, 이것은 기술적으로 사실입니다. "Linux"라는 프로젝트는 하나의 커널만 유지 관리합니다. 제3자 배포자는 다른 소프트웨어를 함께 모아서 진정으로 유용한 시스템으로 바꿔야 합니다.

둘째, 자유 소프트웨어 재단(Free Software Foundation)은 Linux가 모든 영광을 누리고 있다는 사실에 약간 짜증을 냅니다. 특히 리누스는 이상주의자라기보다는 자유 소프트웨어 실용주의자이다.

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

그러나 그들은 Unix 커널을 대체할 커널을 찾는 데 어려움을 겪었습니다. 1987년에 Stallman은 Mach 마이크로커널과 Hurd라는 데몬 세트를 기반으로 하는 시스템을 채택하기로 결정했습니다. 그러나 허가 문제로 인해 사업 착수가 3년이나 지연됐고 그 이후로도 계속 정체돼 왔다.

동시에 Linus라는 학생이 MINIX에서 영감을 받아 자신의 커널을 작성했습니다. 커널만으로는 운영 체제를 구성하지 못하므로 GNU 구성 요소가 새 커널로 포팅되었습니다. 몇 달 안에 커널은 충분히 발전했고 시스템이 "자체 호스팅"될 수 있을 만큼 충분한 소프트웨어가 포팅되었습니다. 즉, Linux를 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- 안전한/

관련 정보