BSD와 GNU / Linux 사용자 영역의 주요 차이점은 무엇입니까?


37

나는 유닉스와 리눅스에서 BSD와 GNU 등에 대해 많이 읽었지만 BSD와 GNU 사용자 영역 사이에 실제로 언급되는 실제 차이점이 무엇인지 이해하지 못합니다. 정교한 사람이 있습니까?

대답 할 때 GNU / 리눅스가 주류 UNIX가 아니었던시기 (OS X 제외)를 경험할만큼 오래 살지 않았다는 점을 명심하고 역사적 연결을 충분히 설명하십시오.


2
커맨드 라인 환경에서 OS X의 GNU / Linux와의 차이점 목록을 여기에 게시했습니다 : reddit.com/r/commandline/comments/4jydnw/… .
nisetama

답변:


27

"userland"라는 용어는 서로 다른 맥락에서 많은 것을 언급 할 수 있지만 여기서는 "GNU userland"대 "BSD userland"를 배포판과 함께 제공되는 기본 최소 프로그램 세트로 해석합니다.

가장 큰 차이점은 두 사용자 영역이 완전히 다른 소스 코드로 시작한다는 것입니다. GNU 고양이 소스 코드 NetBSD 고양이 소스 코드 . 개념이 간단한 프로그램에서 NetBSD의 고양이가 전통적인 단일 문자 명령 행 플래그를 사용한다는 것을 알 수 있습니다. GNU 프로그램에는 단일 문자 플래그뿐만 아니라 --something-long유형 옵션 도 있습니다. GNU 프로그램은 또한 POSIX 호환성을 지향합니다.

소스 코드의 차이로 인해 두 사용자 영역에서 서로 다른 동작을하는 경우가 있습니다.

또한 NetBSD는 (적어도) 표준 C 라이브러리 인 자체 버전의 libc를 사용하는 것처럼 보입니다. 나는 여기 내 머리 위로 들어가고 있지만 libc와 동적 연결은 이상하게 상호 관련되어 있습니다. 다시 말하지만, 소스 코드가 다르면 동작이 달라집니다.

나는 쉘 사용자로서, 당신은 그것이 ps다르게 행동 하고, 당신 과 ls는 약간 다른 출력 을 줄 수 있다고 생각 합니다. 명령 행 플래그 --long-option유형 을 사용하는 경우 일부 프로그램에 대해 동등한 명령 행 플래그를 찾아야 합니다.

역사적으로, BSD 사용자 영역은 V6 및 V7 Bell Labs Unix에서 32V 포트를 통해 VAX 하드웨어로 직접 내려갑니다. GNU 사용자 영역은 80 년대 초반 코드를 철저히 보호하려는 AT & T의 시도에 대한 반응으로 적어도 다소 새로 작성되었습니다. AT & T는 1983 년 벨 시스템 사업이 끝난 후 유닉스를 "수익 화"하려고 노력했다. 그 중 일부는 대부분의 사람들이 소스 코드를 보지 못하게하는 방식으로 소스 코드에 라이센스를 부여하는 것이 었습니다. Richard Stallman과 다른 사람들은 이것에 문제가있었습니다. GNU 프로젝트는 자유롭게 공유 할 수있는 유닉스 계열 시스템을 만들기 위해 특별히 존재했습니다.

한편 AT & T는 1993 년까지 캘리포니아 대학 시스템을 BSD ( 'B'는 캘리포니아 대학이 위치한 버클리) 시스템에 대해 소송을 제기했습니다. 버클리 사람들은 AT & T의 모든 원본을 새로운 코드로 교체했으며,이 새로운 코드는 최소한 NetBSD 사용 자국의 조상이되었습니다. AT & T와 UCB는 1994 년 합의에 와서 밝혀 2004 년에 대중에게.

당연히 적어도 아이디어는 교차 수분을 가지므로 GNU와 BSD 사용자 랜드 사이에는 개념적 유사성이 있지만 코너 케이스는 분명히 다릅니다.


1
두 링크 모두 한 위치를 가리 킵니다.

그렇다면 실제 쉘 사용에 대한 경향이 있습니까? 긴 깃발과 코너 사건?
투쟁

12
저의 경험은 GNU가 확장 성을 더욱 중요하게 생각한다는 것입니다. 어쩌면 그것은 "코너 사례"로 계산되지만 sed긴 입력 라인 의 질식 또는 grep이진 데이터 의 segfaults는 실제로 매우 실망 스럽습니다 .
tripleee 2016 년

하나의 큰 차이점은 GNU가 자체 커널을 가지고 있지 않은 반면 BSD는 자체 커널을 기반으로 빌드하고 자체 커널을 빌드한다는 것입니다. MAC OS X은 Darwin을 BSK 기반 커널로 사용합니다.
visualication

@visualication 거기 GNU HURD이다하지만 아직 발표 아니에요
드미트리 Kudriavtsev
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.