![Linux는 왜 운영 체제가 아닌가? [폐쇄]](https://linux55.com/image/150049/Linux%EB%8A%94%20%EC%99%9C%20%EC%9A%B4%EC%98%81%20%EC%B2%B4%EC%A0%9C%EA%B0%80%20%EC%95%84%EB%8B%8C%EA%B0%80%3F%20%5B%ED%8F%90%EC%87%84%5D.png)
운영체제의 사전적 정의를 찾아보았습니다.
작업 예약 및 주변 장치 제어와 같은 기본적인 컴퓨터 기능을 지원하는 낮은 수준의 소프트웨어입니다.
글쎄, 그것은 커널의 정의와 매우 비슷해 보입니다.
Linux는 모든 하드웨어 인터페이스를 처리하고, 사용자 공간 프로그램은 그 밖의 모든 것을 처리합니다. 그러나 나는 사람들이 "리눅스는 운영체제가 아니라 커널이다"라고 말하는 것을 계속 듣습니다. 그래서 뭐예운영 체제? Linux는 왜 그 중 하나가 아닌가?
답변1
답변2
옛날 옛적에...
...두 명의 유명한 컴퓨터 전문가인 Brian W. Kernighan과 Rob Pike가 다음과 같은 책을 썼습니다.유닉스 프로그래밍 환경(1984, ISBN 0139376992) 다음 두 인용문은 앞으로 다가올 문제를 예고합니다(1페이지).
"'유닉스'란 무엇인가? 좁은 의미로는 시분할 운영체제이다.핵심: 컴퓨터의 자원을 제어하고 이를 사용자에게 할당하는 프로그램입니다. "
좋아요, UNIX=커널입니다. 그러나 다음 단락에서 Kernighan과 Pike는 다음과 같이 말합니다(1페이지).
"넓은 의미에서 'UNIX'에는 일반적으로 커널뿐만 아니라 컴파일러, 편집기, 명령 언어, 파일 복사 및 인쇄 프로그램과 같은 기본 프로그램도 포함됩니다."
글쎄, 이는 커널과 커널 주위에 구축된 "환경"을 의미하는 데에도 사용될 수 있습니다.
GNU 프로젝트와 Linux 커널
시간을 거슬러 1980년대쯤유닉스 프로그래밍 환경실제로 공개된 바 있다Richard Stallman이 GNU 프로젝트를 시작하다맥주의 "운영 체제"가 아닌 더 넓은 의미의 "운영 체제"를 구축하기 위해 여러 GNU 도구가 "The Hurd" 위에 있고, 이는 다시 GNU Mach 마이크로커널 위에 있습니다. .이 GNU 운영 체제는 존재한 적이 없습니다., 부분적으로는 Mach-plus-Hurd 시스템을 만들기가 어려웠고 부분적으로는 다른 커널이 등장하여 대부분의 작업이 이 새로운 커널로 옮겨졌기 때문입니다.
1991년에 Linus Torvalds는 자신의 Linux 커널(이 이름에도 사연이 있다: 프로젝트의 "작업 이름"은 분명히 Linus의 UNIX에 대한 "Linux"였습니다(또는 그가 실제로 "복제"한 MINIX, Linus는 이를 "Freax"라고 부르고 싶었지만 Ari Lemmke는 Linux 이름을 유지했습니다). Linux는 GPL v.2("and after..." 절 제외)를 준수하고 (여전히) gcc로 컴파일되며 GNU 도구는 이 커널 위에 설정되어...
묻는 사람에 따라 "Linux" 또는 "Gnu\Linux"(Gnu-slash-Linux 읽기)입니다.
네이밍 논란
Stallman은 이름에 "GNU"를 포함할 것을 주장했습니다.. "수용된 견해"는 이것이 순전히 의미론적인 논쟁이라는 것입니다. 실제로는 Kernighan과 Pike의 첫 인용문에서 알 수 있듯이 전체 "운영 체제"를 지정하기 위해 커널 이름을 사용하는 것을 선호합니다. 어떤 사람들은 Linux(또는 Gnu\Linux...) 매뉴얼과 같이 실용적이거나 미적인 이유로 시스템을 "Linux"라고 부르기를 고집합니다.리눅스 작동 방식Brian Ward 작성 "나는 가능한 한 가장 일반적이고 덜 당황스러운 이름을 사용하려고 노력합니다"라고 Ward는 말했습니다(xxii 페이지, ISBN 9781593275679).
어떤 사람들은 운영 체제의 다양한 부분을 중요도에 따라 순위를 매기고 해당 중요한 부분을 가장 잘 반영하는 이름을 고수하려고 합니다. Stallman은 Linux가 도구와 컴파일러를 강조하면서 Gnu\Linux 생태계의 작은 부분이라고 주장합니다. 대조적으로, William F. Shots는 그의 책에서리눅스 명령줄, Linux\GNU는 "커널이 먼저 부팅되고 다른 모든 것이 그 위에서 실행되므로 기술적으로 더 정확할 것"이라고 주장합니다(xxix 페이지, ISBN 9781593273897). 이제 GNU 비트에 의존하지 않는 하나의 주요 Linux 배포판(Android라고 함)이 있으므로 GNU\Linux를 다른\Linux와 구별하는 실용적인 이유가 더욱 강화되었습니다.
Linus Torvalds의 기사, 1996년, Peter H. Salus에서 재인쇄됨데몬, Gnu, 펭귄: 무료 및 오픈 소스의 역사(pp. 143-4, ISBN 9780979034237), Linus는 다음과 같이 말했습니다.
크레딧이 크레딧이 필요한 곳(양쪽 모두)에 적용되는 한 사람들이 Linux를 무엇이라고 부르는지는 중요하지 않습니다. 개인적으로는 계속해서 "리눅스"라고 부르겠습니다...
가시성 문제
때때로 간과되는 것은 이름에 "GNU"를 포함해야 하는 또 다른 이유가 있다는 것입니다.시계. Richard Stallman은 명확하게 표현할 철학과 홍보할 조직을 갖고 있었습니다. 그는 사람들이 자신의 조직 이름을 알기를 원하고 사람들이 GNU 도구, 기부, 작업에 참여하고 사용하고 공유하기를 원합니다. 따라서 Stallman은 물론 이름에 "GNU"를 원합니다. 라는 제목의 기사에서GNU에 대해 들어본 적이 없는 GNU 사용자Stallman은 매일 GNU 도구를 사용하는 많은 사람들이 GNU에 대해 들어본 적이 없다고 한탄했습니다. 요즘 거의 모든 사람들이 Linux에 대해 들어봤습니다.
이런 종류의 홍보는 때로는 진부해 보일 수도 있지만 효과적입니다. GNU/Linux 명명 논란을 듣고 GNU와 FSF에 대해 더 알고 싶었습니다. 나는 Richard Stallman이발가락 사이로 먹는 것에 관한 히피 밈, 그러나 이 귀찮은 GNU\Linux에 대해 더 많이 알게 된 후에야 나는 그의 논문 모음집 등을 읽었습니다.무료만큼 무료. 준신화적인 스톨만 독단주의자(원한다면 스톨만 미치광이)가 주제에 대한 토론을 지배하므로 주로 법률 문서 비전을 통해 자신의 철학을 표현하기로 한 그의 결정이나 "전략적 문제"와 같은 냉철한 것입니다.낮은 GPL그들이 마땅히 받아야 할 홍보를 얻지 못하고 있습니다.
스톨먼의 아이디어는 계속해서 실질적인 영향을 미쳤으며, "자유 문화"에 대한 비전을 분명히 밝힌 사람은 스톨먼뿐만이 아니었습니다. 실제로,자유로운 문화하버드 대학교 법학과의 Roy L. Furman 교수인 Lawrence Lessig가 쓴 책의 제목입니다.크리에이티브 커먼즈, 그리고2016년 대선 후보 패배. 책에서 레식은 이렇게 말합니다.
이 책의 제목과 주장의 대부분은 Richard Stallman과 Free Software Foundation의 작업에서 영감을 받았습니다. 사실 스톨먼 자신의 작품을 다시 읽어보니, 특히 "자유 소프트웨어, 자유 사회, 나는 여기서 제시하는 모든 이론적 통찰력이 Stallman이 수십 년 전에 설명한 통찰력이라는 것을 알고 있습니다.
실제로 나는 종종 "Linux"를 사용하지만 FSF의 비전에 점점 더 매료되고 있기 때문에 끈질긴 GNU\Linux 군중에 합류할 수 있습니다.
아니면... 이 아이디어가 내 장난감을 자극합니다... Ginux(gee-nix)처럼 GNU와 Linux가 포함되지 않은 이름을 지정하면 어떨까요? 그거 재미 있겠는데. 그냥 생각입니다.
추신
Linux 커널이 출시된 지 거의 20년이 지났지만 이 주제는 여전히 (아마도 너무 많은) 흥분을 불러일으킵니다. Bryan Lunduke는 최근에리눅스 매거진라고Linux의 철자가 틀린 이유그는 UNIX(및 MINIX 및 Linux)의 기반이 되는 이전 MULTICS처럼 "Linux"를 "Linucs"로 표기해야 한다고 결론지었습니다. 2018년 3월 15일 현재 해당 기사에는 123개의 댓글이 달렸습니다. 어떤 사람들은 이것을 매우 심각하게 받아들였고 Mr. Lunduk은 다음과 같은 공식을 공식화할 필요성을 느꼈습니다.YouTube 동영상 응답"논란"에. 이 질문은 FLOSS 괴짜들을 귀찮게 할 것입니다영원히.
답변3
짧지만 이해하기 쉽게 설명하겠습니다.
운영 체제는 인간과 전자 부품 간의 인터페이스입니다. Linux 커널에는 광범위한 하드웨어를 이해하기 위한 지침이 있지만 인터페이스는 없습니다. 콘솔도 없고, 창도 없고, 명령도 없고, 아무것도 없습니다. 이것이 바로 대부분의 사람들이 사용하는 표준 "linux" 운영 체제를 언급할 때 항상 "GNU/Linux"라고 말해야 하는 이유입니다. GNU는 표준 Linux 커널을 둘러싼 "래퍼"로서, 사용자가 원하는 것은 무엇이든 하드웨어가 달성할 수 있도록 하는 충분한 리소스를 갖추고 있습니다.
Ubuntu, Debian, Fedora, Redhat, Slackware 등은 모두 "맛"입니다. (때때로) 색상, 효과, 도구 등을 통해 "사용자 경험을 형성"하려는 방식으로 배열된 인터페이스 역할을 하는 (일반적으로) GNU 소프트웨어 세트입니다.
답변4
나는 Linux라는 커널이 있다는 데 동의합니다. 저 할 수 있어요보다그것에.
리눅스라는 운영체제가 있다면 그것은 무엇인가? Linux 운영 체제의 일부인 것과 Linux 운영 체제의 일부가 아닌 것은 무엇입니까?
우리의 정의는 Android와 같은 운영 체제에 어떻게 적용됩니까? 안드로이드는 리눅스 커널을 사용합니다. 그러나 현재 Linus Torvald의 워크스테이션에 설치된 Linux 기반 운영 체제와는 공통점이 거의 없습니다.
운영 체제를 정의하는 한 가지 방법은 "독립 소프트웨어 공급업체"가 응용 프로그램 소프트웨어를 작성할 수 있는 제품으로 정의하는 것입니다. 이 정의가 다음에 반영된 것을 볼 수 있습니다.리눅스 표준 라이브러리. 그러나 Ubuntu(및 Debian)는 더 이상 LSB를 지원하지 않습니다.
따라서 "특정" Linux 운영 체제 역할을 하는 명확하게 정의된 플랫폼 제품군이 없습니다. 다음과 같이 Linux 커널을 사용하는 다양한 운영 체제를 식별할 수 있습니다.
- 우분투
- 페도라 모자
- "안드로이드 오픈소스 프로젝트"+"기타 하드웨어 관련 [...] 라이브러리"
- Android + 독점 하드웨어 라이브러리 + Google제공하다그리고가게, 중국 이외의 대부분의 휴대폰에 사용됩니다.
- OpenWrt
Ubuntu Desktop 18.04에서 그래픽 애플리케이션을 사용하고 있다고 가정합니다. 위의 정의는 GNOME 그래픽 인터페이스가 운영 체제의 일부임을 알려줍니다.
GNOME은 Ubuntu Desktop 18.04 및 Fedora Workstation 29의 일부입니다. 이들은 밀접하게 관련된 두 가지 운영 체제입니다. 누군가 두 운영 체제용 소프트웨어를 패키지화하면 두 운영 체제 간의 공통점을 활용할 수 있습니다. (최근 예시는 여기). 이런 의미에서 사람들은 Linux 운영 체제의 공통 계보에 의존합니다. 그러나 이는 일시적인 과정입니다. 일반적인 Linux 운영 체제에 대한 구체적인 정의는 제공하지 않습니다.
플랫 팩비교적 일반적인 프로젝트입니다. 다양한 Linux 기반 운영 체제에서 실행되도록 설계되었으며 애플리케이션에 공통 인터페이스를 제공합니다. (가속 그래픽 인터페이스OpenGL과 같은그러나 이것은 특별한 도전이다. ) 이러한 인터페이스가 다양한 그래픽 응용 프로그램을 실행하는 데 충분한 "Linux OS"의 기반을 정의한다고 생각할 수도 있습니다. 나는 FlatPak 인터페이스가 매우 흥미롭다고 생각하지만 그 주장을 증명할 수는 없습니다.