리눅스는 유닉스인가?


답변:


224

“Unix”와“Linux”의 의미에 따라 다릅니다.

  • UNIXThe Open Group등록 상표 입니다 . 이 상표는 많은 역사를 가지고 있으며 유닉스 계열 시스템을 지칭하는“Unix”가 널리 사용되어 일반화되지 않았다는 것은 확실하지 않습니다 (아래 참조). 현재 Open Group은 단일 UNIX 인증 을 통과 한 모든 시스템에 상표 사용을 허가합니다 . 인터넷을 통해 유닉스가 언급 된 이유는 무엇입니까?를 참조하십시오 . .

  • Unix 는 1969 년 Bell Labs 에서 탄생 한 운영 체제입니다 . 여러 회사에서이 원래 시스템에서 파생 된 코드 (예 : AIX , HP-UX , Solaris)를 판매하고 판매 합니다. 유닉스 운영 체제의 진화를 참고하십시오 .

  • 프로그래머, 사용자 및 관리자에게 유사한 인터페이스를 제공한다는 점에서 Unix와 유사한 시스템이 많이 있습니다. 가장 오래된 프로덕션 시스템은 Berkeley Software Distribution 으로 Unix 기반 (즉, 원래 구현에서 파생 된 코드 포함)에서 Unix와 유사한 인터페이스로 점차 진화했습니다. FreeBSD , NetBSD , OpenBSD , Mac OS X 등 BSD 기반 또는 BSD 파생 운영 체제가 많이 있습니다 . 다른 예로는 OSF / 1 (현재는 Unix와 같은 비 유닉스 기반 시스템이었습니다), 미닉스(원래 교육 도구로 사용되는 장난감 유닉스 계열 운영 체제, 현재 프로덕션 임베디드 유닉스 계열 시스템), 가장 유명한 Linux .


  • 엄밀히 말하면, Linux 는 Unix의 커널처럼 설계된 운영 체제 커널입니다.

  • Linux 는 Linux를 커널로 사용하는 Unix 계열 운영 체제의 이름으로 가장 일반적으로 사용됩니다. 커널 외부의 많은 도구가 GNU 프로젝트의 일부 이므로 이러한 시스템을 종종 GNU / Linux라고 합니다. 모든 주요 Linux 배포판 은 GNU / Linux 및 기타 소프트웨어로 구성됩니다.

  • 임베디드 세계에서 많은 GNU 도구를 사용하지 않는 Linux 기반 Unix와 유사한 시스템이 있지만 GNU 개발 도구, 특히 GCC를 사용하지 않는다고 생각합니다 .

  • Linux를 커널로 사용하지만 Unix와는 다른 운영 체제가 있습니다. 가장 잘 알려진 것은 Android입니다 . Unix와 유사한 사용자 경험 (Unix와 같은 명령 줄을 설치할 수는 있지만)이나 관리자 경험 또는 대부분의 프로그래머 경험 (“기본”Android 프로그램은 유닉스와 완전히 다릅니다).


70
GNU가 "GNU is Not Unix"를 의미한다는 것을 잊지 마십시오!
alex

57
"Gnu는 유닉스가 아닙니다"는 Gnu가 유닉스 고유 코드를 기반으로하지 않으며 Gnu가 유닉스 스펙을 구현하고 싶지 않다는 것을 의미합니다. 인용문 : "Free Unix! 이번 추수 감사절을 시작으로 GNU (Gnu 's Not Unix 용)라는 완전한 Unix 호환 소프트웨어 시스템을 작성하여 사용할 수있는 모든 사람에게 무료로 제공 할 것입니다."
jlliagre

8
Linux 배포판이 UNIX 인증을 받기를 원한다면 크게 변경할 필요가 없으며 그렇게 할 수 있습니다. 그러나 나는이 시점에서 그다지 가치가없는 것에 대해 모든 돈을 지불하는 사람에 대해 들어 본 적이 없습니다.
Kevin Cantu

6
@ 케빈 : 칼데라 (현재는 다른 이름으로 알려짐)는 한 번도 노력하지는 않았지만 (아이디어는 포기 하지 않고 갑자기 아이디어를 버리고 LSB 를 강요했습니다. 리눅스).
Gilles

4
@milkovsky 아니요. 대답에서 설명하는 것처럼“Linux”라는 단어에는 두 가지 의미가 있습니다. “Android is Linux-based”는 1 (커널)을 의미하는 것이 사실입니다. "Linux는 Unix와 유사합니다"는 의미 2 (운영 체제)와 함께 적용됩니다.
Gilles

58

모든 의도와 목적에있어 전형적인 현대 리눅스 배포판 (우분투, 데비안, 레드햇, 페도라, 슬랙웨어 등)은 유닉스이지만 엄밀히 말하면 인증을받지 않고 유닉스라고 주장 할 수있는 시스템은 없습니다. 유닉스 계열. 유닉스에서 영감을 받아 문화를 이어갑니다.

이것은 BSD 시스템에도 적용됩니다.

Mac OS X은 유닉스 인증을 받았으므로 이름과 유닉스 모두 유닉스입니다. (그리고 실제로는 BSD를 기반으로합니다).

리눅스 자체는 단지 커널이기 때문에 유닉스 계열이 아닌 시스템 (예 : 안드로이드)을 구축하는 데 사용될 수 있습니다.


1
참고 : Mac OS X 커널은 BSD 커널을 기반으로하지 않습니다. 사용자 모드 부분은 FreeBSD를 기반으로하며 부분적으로는 NetBSD를 알고 있습니다.
0xC0000022L

2
오늘날의 커널은 BSD 커널과 다소 다를 수 있지만 처음에 (적어도 부분적으로) 커널을 기반으로 한 것 같습니다.
hasen

3
FreeBSD는 ATT Unix의 직접적인 후손이며 한 번 ATT Unix 코드가 포함되어 있습니다. 그것은 유닉스에 의해서만 영감을 얻은 것이 아닙니다.
Rob

2
@ 0xC0000022L 그리고 우리는 지금 더 나아갈 것입니다. "초기 Mach 버전에는 커널에 BSD 코드가 많은 모 놀리 식 커널이있었습니다. Mach 3.0은 최초의 마이크로 커널 구현이었습니다." 나에 관해서 는 , osxbook.com/book/bonus/ancient/whatismacosx/arch_xnu.html 은 권위있는 소스입니다.
poige

2
결론 : "BSD가 담당하는 일부 측면에는 프로세스 모델 사용자 ID, 권한, 기본 보안 정책 POSIX API, BSD 스타일 시스템 호출 TCP / IP 스택, BSD 소켓, 방화벽 VFS 및 파일 시스템이 포함됩니다 (Mac OS X 파일 시스템 참조) 세부 사항) System V IPC 암호화 프레임 워크 다양한 동기화 메커니즘 ". 나에 관해서는 이것이 BSD를 기반으로한다고 말하기에 충분합니다. 진실을 마주하다.
poige

23

리눅스는 '유닉스와 비슷하다.'그렇게 간단하게 복제본이라고 부를 수 있습니다. BSD도 마찬가지입니다 (물론 BSD는 리눅스보다 유닉스에 더 가깝다고 생각할 수 있습니다).

Linux에 Unix와 같은 타이틀을 제공하는 가장 중요한 것은 시간이 지남에 따라 구축 된 POSIX (Portable Operating System Interface [Unix]) 표준과 거의 완벽하게 호환된다는 사실입니다 .

다른 핵심은 Wikipedia에서 시연 한 것처럼 코드상속입니다 . Linux는 실제로 Unix 소스에서 유래 한 것이 아니라 처음부터 거의 구축 된 것입니다 (그러나 논쟁의 여지가 있습니다).

기본적으로 유닉스와 리눅스를 분리하는 가장 중요한 것은 조상과 그것이 충족하는 표준입니다.


1
고려해야 할 단일 유닉스 사양 도 있습니다 .
Dennis Williamson

필자는 BSD가 Linux보다 Unix에 더 가깝다고 말하고 싶습니다. BSD의보다 자유로운 라이센스와 AT & T UNIX와의 긴밀한 개발로 인해 많은 BSD 소스 코드와 API가 상용 Unix에서 사용됩니다. Solaris의 UFS 파일 시스템 및 기타 다른 상용 UNIX는 BSD에서 직접 제공되었습니다. 또한 리눅스를 포함한 모든 것이 사용하는 Berkely Sockets API (필수 소스는 아님)는 BSD에서 개발되었습니다.
penguin359

3
전체 SCO 대 IBM 혼란 이후 Linux 커널에 Unix 코드 가 전혀 없음 이 분명해 졌습니다.
vonbrand

11

정답은 철저하게 설명하지만, UNIX 초기 개발과 Linux가 어떻게 발전했는지에 대한 모든 세부 사항을 알기 위해서는 전체 다큐멘터리를보아야합니다.

먼저 리눅스는 리누스와 다른 프로그래머가 만든 커널이라는 것을 고려해야합니다. 그는 GPL과 함께 릴리스하기로 결정했는데, 그 당시에는 FSF (RMS 및 기타 사람들)가 자체 커널과 GNU를 개발하고있는 라이센스가있었습니다.

우리가 일반적으로 리눅스라고 부르는 것은 처음에는 커널과 원래 GNU 프로젝트에서 온 다른 모든 도구입니다. 이 두 프로젝트는 역사적으로 다릅니다. 당시 FSF 사람들의 커널이 Linux 커널을 선호하도록 포기 되었기 때문에 훨씬 좋았습니다.

나는 다큐멘터리가 있다는 것을 기억하고, 당신은 그것을 정말로보아야하며, 프로그래밍 문화에 중요하다는 것을 알게됩니다.

"* nix"에 대해 생각할 때 고려해야 할 또 다른 사항은 POSIX 및 기타 아키텍처 표준 항목과 관련된 모든 것입니다. OS 디자인 / 연구의 주제이지만 관련 OS가 작동하는 방식을 정확하게 정의하며 커널이 도구와 잘 작동 할 때 중요합니다.


실제로 POSIX는 이제 언급 된 SUS (Single Unix Specification)라고합니다.
0xC0000022L

1
@STATUS POSIX는 SUSv2의 기초입니다. Austin Group은 나중에 POSIX를 만든 IEEE와 UNIX 상표를 소유 한 Open Group 및 UNIX 사양을 공동 작업 그룹으로 구성했습니다. 그들은 SUSv3으로도 알려진 POSIX : 2001을 출시했습니다. 그들은 내가 알 수있는 한 동일합니다. POSIX는 여전히 SUSv4의 핵심 인 POSIX : 2004 및 POSIX : 2008로 개발되고 있습니다. POSIX가 아직 죽었다고 생각하지 않습니다. en.wikipedia.org/wiki/Single_UNIX_Specification
penguin359

SUS가 일부 추가 된 POSIX라는 것을 알고 있습니다.
vonbrand

그 다큐멘터리에 링크?
Edward Torvalds

edward torvalds 죄송합니다. 제목을 기억할 수 없습니다. 그것은 주로 RMS를 특징으로하며 오래된 문서처럼 보였다.
jokoon

6

이미 많은 훌륭한 답변이 있지만 훌륭한 Dennis Ritchie (Unix 공동 제작자)의 견해 는 다른 기술 답변에 대한 흥미로운 보완책이 될 것이라고 생각했습니다.

Dennis Ritchie는 Linux를 합법적 인 Unix 파생물로 간주 한 것으로 보입니다. A의 LinuxFocus.org 1999 인터뷰 , 그는 질문을 받았다,

모든 Linux 추진력에 대한 귀하의 의견은 무엇이며 많은 회사가이를위한 소프트웨어 개발을 시작하기로 한 결정은 무엇입니까?

그 질문에 대한 그의 대답은

나는 리눅스 현상이 유쾌하다고 생각한다. 유닉스가 제공 한 것에 기반을두고 있기 때문이다. Linux는 가장 직접적인 Unix 파생 제품 중 가장 건강에 좋은 것으로 보이지만 워크 스테이션 및 메인 프레임 제조업체의 다양한 공식 BSD 시스템뿐만 아니라 다양한 BSD 시스템도 있습니다. 물론 "자유 소스"유닉스에서 파생 된 세계를 관찰하는 것은 도울 수 없습니다. 유닉스에서 파생 된 세계는 상업 세계에서 여전히 발생하고있는 것과 같은 종류의 조각화와 투쟁으로 고통 받고있는 것 같습니다.


1

역사적으로 Linus Torvalds는 Minix OS의 복제본을 개선했습니다. Linux의 개발은 특정 플랫폼 및 고객 기반에 중점을 두지 않으며 Linux 개발자는 다양한 경험과 관점을 가지고 있습니다. HP-UX, AIX, Solaris 및 기타 OS와 같은 OS는 대부분 공급 업체에 적합합니다.

Linux 커뮤니티에는 엄격한 표준 도구 또는 환경 세트가 없습니다. 이러한 표준화 부족으로 인해 Linux 내에서 상당한 불일치가 발생합니다. 일부 개발자의 경우 다른 운영 체제의 최고 성능을 사용할 수있는 기능이 더해 지지만 Linux의 장치 이름을 AIX에서 가져올 수있는 경우와 같이 Linux에서 UNIX 요소를 복사하는 것이 항상 편리한 것은 아닙니다. 파일 시스템 작업은 HP-UX에 중점을 둡니다. 이러한 종류의 비 호환성은 다른 Linux 배포판에서도 발견됩니다.


0

Unix, 원래 UNICS (Uniplexed Infomation and Computing Service).

Unix (UNIX로 상표 표시됨)는 원래 AT & T Unix에서 파생 된 멀티 태스킹, 다중 사용자 컴퓨터 운영 체제 제품군입니다. 개발은 1969 년에 시작되어 1973 년 10 월 Bell abs 외부에서 발표되었습니다.

캘리포니아 대학, 버클리 (BSD), Microsoft (Xenix), IBM (AIX) 및 Sun Microsystems (Solaris)와 같은 공급 업체의 다양한 학술 및 상업용 변종.

  • BSD ( B의 erkeley S의 oftware의 D의 istribution) 릴리스 여러 진행되고 오픈 소스 개발 사업 예 FreeBSD의, 오픈 BSD, NetBSD의 다윈 및 TrueOS위한 기초를 제공 하였다.
  • Xenix는 Microsoft가 라이센스 한 다양한 마이크로 컴퓨터 플랫폼을위한 단종 된 Unix 운영 체제 버전입니다.
  • AIX ( dvanced I nteractive 전자 X ecutive)을 개발하고 컴퓨터 플랫폼의 몇 가지에 대한 IBM 판매.

Linux 는 Linux 커널을 중심으로 구축 된 무료 및 오픈 소스 소프트웨어 운영 체제 제품군입니다. Linux의 정의 구성 요소는 1991 년 9 월 17 일 Linus Torvalds에 의해 처음 릴리스 된 운영 체제 커널 인 Linux 커널입니다.

Linux는 데스크탑 및 서버 사용을 위해 Linux 배포판 (또는 짧은 배포판)으로 알려진 형태로 패키지됩니다. 가장 인기 있고 주류 인 Linux 배포판은 Arch Linux, CentOS, Debian, Fedora, Gentoo Linux, Linux Mint, Mageia, openSUSE 및 Ubuntu 및 Red Hat Enterprise Linux와 같은 상용 배포판입니다.

셸이라고도하는 사용자 인터페이스는 명령 줄 인터페이스 (CLI), 그래픽 사용자 인터페이스 (GUI) 또는 관련 하드웨어에 연결된 컨트롤을 통해 제공되며 내장 시스템에 공통입니다. CLI는 일반적으로 터미널 에뮬레이터 창이나 별도의 가상 콘솔을 통해 사용할 수 있지만 데스크탑 시스템의 경우 기본 모드는 일반적으로 그래픽 사용자 인터페이스입니다.

  • CLI 쉘 은 텍스트 기반 사용자 인터페이스이며 입력 및 출력 모두에 텍스트를 사용합니다. Linux에서 사용되는 주요 쉘은 원래 GNU 프로젝트 용으로 개발 된 Bourne-Again Shell (bash)입니다.
  • GUI 셸 은 KDE (K Desktop Environment), GNOME, MATE, Cinnamon, Unity, LXDE, Pantheon 및 Xfce이지만 다양한 추가 사용자 인터페이스가 존재합니다. 가장 많이 사용되는 사용자 인터페이스는 X 윈도우 시스템을 기반으로하며 종종 "X"라고도합니다.

GNU 는 운영 체제이며 광범위한 컴퓨터 소프트웨어 모음입니다. GNU는 전부 자유 소프트웨어로 구성되어 있으며 대부분은 GNU Project 자체 GPL에 따라 라이센스가 부여됩니다. GNU는 "GNU 's Not Unix!"의 약어로 GNU의 디자인은 Unix와 비슷하지만 자유 소프트웨어이기 때문에 Unix와 다르고 Unix 코드를 포함하지 않기 때문에 Unix와 다릅니다. GNU 운영 체제의 개발은 Richard Stallman이 1983 년 MIT (MIT) 인공 지능 연구소에서 근무하면서 시작되었습니다.

기본 구성 요소에는 GNU 컴파일러 모음 (GCC), GNU C 라이브러리 (glibc) 및 GNU 핵심 유틸리티 (coreutils)뿐만 아니라 GNU 디버거 (GDB), GNU 바이너리 유틸리티 (binutils), GNU Bash 쉘 및 그놈도 포함됩니다. 데스크탑 환경.


-7

Linux는 Linus Torvalds 및 수많은 다른 회사에서 개발 한 Unix-Like 운영 체제입니다.
BSD는 합법적 인 이유로 Unix-Like라고하는 UNIX 운영 체제입니다.
OS X은 Apple Inc.에서 개발 한 그래픽 UNIX 운영 체제입니다.

리눅스는 "실제"Unix OS의 가장 두드러진 예입니다. BSD 또는 OS X보다 많은 하드웨어를 지원하며 더 많은 하드웨어를 지원합니다. BSD와 Linux를 비교할 때 발견 한 흥미로운 인용문은 다음과 같습니다.

리눅스는 많은 PC 해커들이 앉아서 PC 용 유닉스 시스템을 작성하려고 할 때 얻는 것입니다. BSD는 많은 유닉스 해커들이 앉아서 유닉스 시스템을 PC에 이식하려고 할 때 얻는 것입니다.

BSD는 Linux보다 Unix OS와 비슷합니다. 애플이 BSD와 리눅스 컴포넌트를 사용한다는 점도 주목할 만하다. Apple은 iOS 및 OS X 플랫폼에서 Debian 및 Ubuntu의 APT를 사용합니다. 그리고 BSD를 기반으로합니다. (커널은 다윈인데, 이것은 자체 커널입니다. Beastie 오리너구리는 BSD의 Beastie와 오리너구리가 혼합되어 있기 때문에 Darwin 마스코트입니다.)

"실제"Unix 운영 체제 (무엇이든 실행되고 많은 하드웨어를 지원하는 운영 체제)를 원한다면 Linux를 사용해보십시오.
저급 하드웨어 지원과 두통을 원한다면 (많은 증오가 있지만 신경 쓰지 않는다는 것을 알고 있습니다) BSD를 사용하십시오.
1000 달러 이상을 지출하려면 OS X 및 iOS를 사용하십시오. (다시 나는 아마 많은 증오를 얻을 것이다.)

나는 오랫동안 리눅스 사용자로서 90 년대에서 2000 년대 초반까지 사용했다가 잠시 동안 사용을 중단했지만 2012 년 중반 내 영구 OS로 다시 사용하기 시작하여 원하는 사람에게 추천 할 수 있습니다. Windoze 이외의 다른 것을 시도하십시오.


4
Linux가 Wayland / systemd / etc와 함께 최근에 변경되면서 유닉스 계열 시스템에서 점점 더 많이 제거되고 자체 엔티티가되었습니다. 실제 시스템이 Linux에 대해 "무관심"한 태도를 개발 한 시점까지 진정한 Unix 및 Unix 계열 시스템과의 호환성이 떨어집니다. 귀하의 "권장 사항"은 기본이 아니며 귀하가 15 년 동안이 자료를 만지지 않은 것에 동의합니다.
Rob

11
Linux는 OS가 아니라 커널입니다.
Martin Schröder

3
애플은 데비안의 APT를 사용하지 않습니다. APT (Java Annotation Processing Tool)라는 완전히 다른 도구가 포함되어 있습니다. 또한 탈옥 커뮤니티는 APT를 Apple의 의지에 따라 iOS 소프트웨어를 설치하기위한 패키지 관리자로 사용합니다.
abarnert

4
실제로이 답변의 거의 모든 내용이 잘못되었습니다. "많은 시스템에서 실행 == 유닉스"는 말도 안됩니다. Apple은 iOS를 실행하는 1000 달러 이상의 시스템을 출시하지 않았습니다. BSD는 단일 OS가 아닌 Unix 및 Unix 계열 시스템의 제품군입니다. Linux는 Unix와 유사한 사용자 영역 (GNU와 같은), 제거 된 Unix-ish 사용자 영역 (eLinux 또는 Android와 같은) 또는 원하는 다른 항목과 결합 할 수있는 커널입니다. 등등.
abarnert
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.