버클리 소프트웨어 배포

Berkeley Software Distribution
BSD
BSD wordmark.svg
개발자컴퓨터 시스템 연구 그룹
기입처C
OS 패밀리원래 Unix(v7/32v), 이후 Unix와 유사함
동작 상태단종
소스 모델원래 소스 사용 가능, 나중에 오픈 소스 사용 가능
초기 릴리즈1978년 3월 9일, 44년 전(1978-03-09)
최종 릴리즈4.4-Lite2 / 1995년 6월, 27년 전(1995-06)
이용가능기간:영어
플랫폼PDP-11, VAX, 인텔 80386
커널 타입모노리식
유저랜드BSD
체납
사용자 인터페이스
Unix 쉘
면허증.BSD

버클리 소프트웨어 배포 또는 버클리 표준 배포[1](BSD)는 캘리포니아 대학의 컴퓨터 시스템 연구 그룹(CSRG)에 의해 개발 및 배포된 Research Unix 기반단종된 운영 체제입니다."BSD"라는 용어는 일반적으로 FreeBSD, OpenBSD, NetBSDDragonFly BSD를 포함한 하위 시스템을 나타냅니다.

BSD는 Bell Labs에서 개발원본 Unix의 소스 코드를 기반으로 했기 때문에 처음에는 Berkeley Unix로 불렸다.1980년대에 BSD는 많은 테크놀로지 회사의 설립자와 엔지니어가 라이선스를 허용하고 친숙하기 때문에 DEC Ultrix나 Sun Microsystems SunOS와 같은 독자적인 Unix 변종 형태로 워크스테이션 벤더에 의해 널리 채택되었습니다.

이러한 독점 BSD 파생 모델은 1990년대에 UNIX SVR4OSF/1로 대체되었지만, 이후 출시에서는 FreeBSD, OpenBSD, NetBSD, DragonFly BSD, Darwin 및 TrueOS포함한 여러 오픈 소스 운영 체제의 기반을 제공했습니다.그 결과,[2] 이것들은 Apple의 MacOSiOS, 그리고 TCP/IP 코드의 (적어도) 일부를 사용한 (적어도)[3] Microsoft Windows 등 독점적인 운영체제에 의해 사용되고 있습니다.FreeB로부터의 코드SD는 또한 플레이스테이션[4] 4와 닌텐도 스위치의 [5][6]운영체제를 만드는데 사용되었다.

역사

A simple flow chart showing the history and timeline of the development of Unix starting with one bubble at the top and 13 tributaries at the bottom of the flow
Unix 시스템의 심플한 진화.Junos, PlayStation 3 시스템 소프트웨어 및 기타 자체 포크는 표시되지 않습니다.

1970년대에 Bell Labs에서 Unix를 최초로 배포한 제품에는 운영체제에 대한 소스 코드가 포함되어 있어 대학의 연구원들이 Unix를 수정하고 확장할 수 있었습니다.운영체제는 Unix가 처음 소개된 운영체제 원리에 관한 심포지엄의 프로그램 위원회에 있었던 컴퓨터 공학 교수 밥 파브리의 요청에 따라 1974년 버클리시에 도착했다.시스템을 실행하기 위해 PDP-11/45를 구입했지만 예산상의 이유로 이 머신은 RSTS를 사용하는 버클리 수학 및 통계 그룹과 공유되었기 때문에 Unix는 하루에 8시간(낮에 실행하기도 하고 밤에 실행하기도 합니다)만 실행했습니다.다음 해에는 Ingres 데이터베이스 [7]프로젝트의 자금을 사용하여 더 큰 PDP-11/70이 버클리 대학에 설치되었습니다.BSD를 이해하기 위해서는 1969년 AT&T Bell Labs가 처음 출시한 운영체제 Unix의 역사를 깊이 살펴볼 필요가 있습니다.BSD는 Unix의 변형으로 시작되었으며, 1970년대 후반 Bill Joy가 이끄는 캘리포니아 버클리 대학의 프로그래머들이 개발을 시작했습니다.

처음에 BSD는 Unix의 복제품도 아니었고 심지어 실질적으로 다른 버전의 BSD도 아니었습니다.AT&T가 소유한 코드와 얽힌 몇 가지 추가 기능이 포함되어 있을 뿐입니다.

1975년, 톰슨은 벨 연구소에서 안식년을 얻어 초빙 교수로 버클리 대학에 왔다.는 버전 6 Unix 설치를 도왔고 시스템을 위한 Pascal 구현 작업을 시작했습니다.대학원생인 Chuck Haley와 Bill Joy는 Thompson의 Pascal을 개선하고 개선된 텍스트 편집기를 구현했습니다.[7]다른 대학들은 버클리에서의 소프트웨어에 관심을 갖게 되었고, 1977년에 Joy는 1978년 [8]3월 9일에 출시된 첫 번째 버클리 소프트웨어 배포(1BSD)를 컴파일하기 시작했습니다. 1BSD는 그 자체로 완전한 운영 체제가 아니라 버전 6 Unix의 추가 기능이었습니다.약 30부가 [7]발송되었다.

1979년 [9]5월에 출시된 두 번째 버클리 소프트웨어 배포판(2BSD)에는 1BSD 소프트웨어의 업데이트 버전뿐만 아니라 오늘날까지 유닉스 시스템에서 유지되고 있는 두 개의 새로운 프로그램인 vi text 에디터(ex비주얼 버전)와 C 셸이 포함되어 있습니다.빌 조이가 보낸 2BSD [7]사본은 75장 정도.

VAX-11/780은 초기 BSD 타임셰어링 시스템에 사용된 일반적인 미니 컴퓨터입니다.

1978년 버클리에서는 VAX 컴퓨터가 설치되었지만, VAX 아키텍처에 대한 UNIX/32V의 Unix 포트는 VAX의 가상 메모리 기능을 이용하지 않았습니다.32V의 커널은 버클리 대학원생인 외잘프 바바오슬루의 가상 메모리 구현과 새로운 커널, 2BSD 유틸리티의 VAX 포트 및 32V의 유틸리티가 포함된 완전한 운영 체제를 포함하도록 크게 수정되었으며, 그 대신 1979년 말에 3BSD 유틸리티가 3BSD로 출시되었습니다.통상, NIX(Virtual Memory Unix 의 경우) 및 BSD 커널 이미지는 호출되었습니다./vmunix4.4까지BSD

Black and white 4.3 BSD UWisc VAX Emulation Login screenshot
1987년경 위스콘신 대학의 "4.3 BSD UNIX".시스템 부팅 및 로그인

4.3 이후BSD는 1986년 6월에 출시되었으며, BSD는 노후화된 VAX 플랫폼에서 이전하는 것으로 결정되었습니다.Computer Consoles Inc. 개발한 Power 6/32 플랫폼(코드네임 "Tahoe")은 그 당시에는 유망해 보였지만, 얼마 지나지 않아 개발자들에게 버림받았다.단, 4.3은BSD-Tahoe 포트(1988년 6월)는 BSD에서 기계에 의존하는 코드와 기계에 의존하지 않는 코드를 분리하여 시스템의 미래 휴대성을 향상시켰기 때문에 가치가 있음이 입증되었습니다.

CSRG는 이식성 외에도 OSI 네트워크 프로토콜 스택 구현, 커널 가상 메모리 시스템 개선 및 인터넷의 [10]성장을 수용하기 위한 (LBL의 Van Jacobson과 함께) 새로운 TCP/IP 알고리즘에 대한 작업을 수행했습니다.

그때까지 BSD의 모든 버전은 독점적인 AT&T Unix 코드를 사용했기 때문에 AT&T 소프트웨어 라이선스의 대상이 되었습니다.소스코드 라이선스는 매우 비싸졌고, 몇몇 외부 당사자들은 완전히 AT&T 외부에서 개발되어 라이선스 요건의 적용을 받지 않는 네트워킹 코드의 개별 릴리스에 관심을 표명했다.이것에 의해, AT&T 코드의 라이센스 계약자가 아닌 유저가 이용할 수 있게 되어, BSD 라이센스의 조건에 근거해 자유롭게 재배포 가능한 Networking Release 1(Net/1)이 개시되었습니다.1989년 6월에 발매되었습니다.

Net/1 이후 BSD 개발자인 Keith Bostic은 BSD 시스템의 AT&T 이외의 섹션을 Net/1과 동일한 라이선스로 출시할 것을 제안했습니다.이를 위해 그는 AT&T 코드를 사용하지 않고 대부분의 표준 Unix 유틸리티를 재실장하는 프로젝트를 시작했다.18개월 이내에 AT&T 유틸리티는 모두 교체되었고 커널에는 몇 개의 AT&T 파일만 남아 있는 것으로 확인되었습니다.이러한 파일은 삭제되어 1991년6월에 Networking Release 2(Net/2)가 출시되었습니다.이 릴리스는 거의 완전한 운영체제이며 자유롭게 배포할 수 있습니다.

Net/2는 인텔 80386 아키텍처에 대한 BSD의 2개의 독립된 포트의 기초가 되었습니다.William Jolitz의 프리 386BSD와 버클리 소프트웨어 디자인(BSDi)의 독자 BSD/386(나중에 BSD/OS로 개명)은 단기간에 이루어졌지만, 초기 코드는 BSD가 되었습니다. 직후에 개시된 SD 프로젝트.

BSDi는 곧 AT&T의 Unix System Laboratories(USL) 자회사와 법적 문제에 직면하게 되었습니다.이 자회사는 System V의 저작권 및 Unix 상표의 소유주였습니다.USL v. BSDi 소송은 1992년에 제기되었고, USL의 소스 저작권 주장의 유효성이 결정될 때까지 Net/2 배포에 대한 금지 명령으로 이어졌다.이 소송은 BSD의 자유 소프트웨어 후손들의 법적 지위가 문제가 되는 동안 거의 2년 동안 개발을 지연시켰고, 결과적으로 이러한 법적 모호성이 없는 리눅스 커널 기반의 시스템이 더 큰 지지를 얻었다.이 소송은 1994년 1월 버클리에게 유리하게 해결되었다.버클리 배포판의 18,000개 파일 중 USL 저작권 고지를 표시하기 위해 3개 파일만 삭제하고 70개를 수정해야 했습니다.합의의 또 다른 조건은 USL이 다음 4.4에서 버클리 소유 코드의 사용자와 배포자를 상대로 더 이상의 소송을 제기하지 않는다는 것이었다.BSD [11]릴리즈

버클리에서의 최종 출시는 1995년 4.4였다.BSD-Lite 릴리스 2 이후 CSRG가 해체되고 버클리에서의 BSD 개발이 중단되었습니다.그 이후, 직간접적으로 4.4를 기반으로 한 몇 가지 변형BSD-Lite(FreeBSD, NetBSD, OpenBSD 및 DragonFly BSD 등)는 유지되고 있습니다.

BSD 라이선스의 허용 특성으로 인해 오픈 소스 및 독자 사양의 많은 다른 운영 체제가 BSD 소스 코드를 통합할 수 있게 되었습니다.예를 들어 Microsoft Windows에서는 TCP/IP[12] 구현에 BSD 코드를 사용하여 Windows 2000 이후 [13]BSD 명령줄 네트워킹툴의 재컴파일 버전을 번들하고 있습니다.애플의 맥OS와 iOS의 기반인 다윈은 4.4를 기반으로 합니다.BSD-Lite2 및 FreeBSD.Solaris와 같은 다양한 상용 Unix 운영 체제에도 BSD 코드가 포함되어 있습니다.

Research Unix와의 관계

제8판부터 Bell Labs의 Research Unix 버전은 BSD와 밀접한 관계가 있었습니다.이는 VAX용 4.1cBSD가 Research Unix 8th Edition의 기반으로 사용되었을 때 시작되었습니다.이는 소스 코드와 4.3에서 향상된 기능을 통합한 제9판 등 후속 버전에서도 계속되었습니다.BSD. 그 결과 이러한 최신 버전의 Research Unix는 System V보다 BSD에 더 가까웠습니다.Dennis Ritchie는 2000년 Usenet에 올린 글에서 BSD와 Research [14]Unix의 관계를 다음과 같이 기술했다.

Research Unix 8th Edition은 (아마도) BSD 4.1c에서 시작되었지만 엄청난 양이 제거되어 자체 제품으로 대체되었습니다.이것은 9일과 10일로 계속되었다.일반적인 사용자 명령어 세트는 SysVish보다 BSD 맛이 조금 더 났지만 상당히 다양했습니다.

시스템 V와의 관계

Eric S. Raymond시스템 V와 BSD의 오랜 관계를 요약하면서 다음과 같이 말했습니다. "대략적으로 긴 글과 짧은 글자를 구분했습니다. 프로그래머와 기술자는 버클리 및 BSD, 더 비즈니스 지향적인 유형은 AT&[15]T 및 시스템 V입니다."

1989년, 데이비드 A.Curry는 BSD와 System V의 차이에 대해 썼다.그는 시스템 V를 종종 "표준 유닉스"로 간주하는 것으로 특징지었다.그러나 그는 BSD가 고급 기능과 [16]성능으로 인해 대학과 정부의 컴퓨터 센터에서 더 인기가 있다고 설명했습니다.

UNIX를 사용하는 대부분의 대학 및 정부 컴퓨터 센터는 System V가 아닌 Berkeley UNIX를 사용합니다.여기에는 몇 가지 이유가 있지만, 아마도 가장 중요한 두 가지 이유는 Berkeley UNIX가 네트워킹 기능을 제공한다는 것입니다. 네트워킹 기능은 최근까지 시스템 V에서는 전혀 사용할 수 없었던 것입니다.또한 Berkeley UNIX는 보다 빠른 파일 시스템, 보다 나은 가상 메모리 처리, 그리고 더 나은 가상 메모리 처리 기능을 필요로 하는 연구 환경에 훨씬 적합합니다.다양한 프로그래밍 언어를 사용합니다.

테크놀로지

버클리 소켓

Black and white 4.3 BSD UWisc VAX Emulation Lisp Manual screenshot
4.3 위스콘신 대학의 BSD.Franz Lispman 페이지 표시
SunOS 4.1.1 P1270750 1/4-inch tape
SunOS 4.1.1, 4.3용 테이프BSD 유도체
BSD 기반의 NEWS-OS 운영 체제를 실행하는 소니 뉴스 워크스테이션

버클리 유닉스는 인터넷 프로토콜 스택을 지원하는 라이브러리를 포함하는 최초의 유닉스이다.버클리 소켓IP의 전신인 ARPNet의 NCPUnix 실장은 FTP와 Telnet 클라이언트와 함께 1975년에 일리노이 대학에서 제작되어 [17][18]버클리 대학에서 이용할 수 있었다.그러나 PDP-11의 메모리 부족으로 인해 복잡한 설계 [19]및 성능 문제가 발생하였습니다.

소켓을 Unix 운영 체제의 파일 기술자에 통합함으로써, 디스크에 액세스하는 것만큼 네트워크를 통해 데이터를 읽고 쓰는 것이 거의 쉬워졌습니다.AT&T Laboratory는 결국 자체 STREAMES 라이브러리를 출시했습니다.이 라이브러리는 다른 아키텍처를 가진 소프트웨어 스택에 많은 동일한 기능을 통합했지만 기존 소켓 라이브러리의 광범위한 배포로 새로운 API의 영향을 줄였습니다.BSD의 초기 버전은 Sun Microsystems의 SunOS형성하기 위해 사용되었고, 인기 있는 Unix 워크스테이션의 첫 번째 물결을 만들었다.

바이너리 호환성

일부 BSD 운영 체제에서는 바이너리 호환성 계층을 사용하여 동일한 아키텍처에서 다른 여러 운영 체제의 네이티브 소프트웨어를 실행할 수 있습니다.이는 에뮬레이션보다 훨씬 간단하고 빠릅니다. 예를 들어 Linux용 애플리케이션을 효과적으로 최대 속도로 실행할 수 있습니다.따라서 BSD는 서버 환경뿐만 아니라 Linux 전용 상용 소프트웨어 또는 클로즈드 소스 소프트웨어의 가용성이 높아지고 있기 때문에 워크스테이션 환경에도 적합합니다.이를 통해 관리자는 기존의 상용 어플리케이션을 보다 현대적인 운영체제로 이행할 수 있습니다.이러한 어플리케이션은 보다 나은 대체 어플리케이션으로 대체될 때까지 기능을 유지할 수 있습니다.

표준

현재의 BSD 운영체제바리안트에서는, 기존의 BSD 동작의 대부분을 유지하면서, IEEE, ANSI, ISO, 및 POSIX 규격의 대부분이 서포트되고 있습니다.AT&T Unix와 마찬가지로 BSD 커널은 모노리식입니다.즉, 커널 내의 디바이스 드라이버는 운영체제 코어의 일부로서 특권 모드로 동작합니다.

BSD 후손

FreeBSD, OpenBSD, NetBSD, MidnightBSD, GhostBSD, DarwinDragonFly BSD를 비롯한 여러 운영 체제가 BSD를 기반으로 합니다.NetBSD와 FreeB 모두SD는 1993년에 작성되었습니다.처음에 386BSD(Jolix라고도 함)에서 파생되어 4.4를 통합했습니다.1994년 BSD-Lite 소스 코드.OpenBSD는 1995년에 NetBSD에서 분기되었고 DragonFly BSD는 FreeB에서 분기되었습니다.2003년 SD.

BSD는 또한 SunSunOS, Sequent의 DYNIX, NeXTNextSTEP, DEC의 Ultrix 및 OSF/1 AXP(현재의 Tru64 UNIX)와 같은 여러 Unix의 독점 버전에서도 사용되었습니다.NextSTEP은 나중에 애플사의 MacOS기반이 되었다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ "Why you should use a BSD style license for your Open Source Project". The FreeBSD Project. BSD (Berkeley Standard Distribution). Retrieved August 3, 2021.
  2. ^ "Apple Kernel Programming Guide: BSD Overview". Retrieved March 27, 2021.
  3. ^ "Actually, Windows DOES use some BSD code". Archived from the original on March 25, 2018. Retrieved March 24, 2018.
  4. ^ "Open Source Software used in PlayStation 4". Archived from the original on December 12, 2017. Retrieved October 3, 2019.
  5. ^ "任天堂製品に関連するオープンソースソフトウェアのソースコード配布ページ|サポート情報|Nintendo". www.nintendo.co.jp. Archived from the original on July 26, 2020. Retrieved July 26, 2020.
  6. ^ Cao (March 8, 2017). "Nintendo Switch runs FreeBSD". FreeBSDNews.com. Archived from the original on July 26, 2020. Retrieved July 26, 2020.
  7. ^ a b c d Salus, Peter H. (2005). "Chapter 7. BSD and the CSRG". The Daemon, the Gnu and the Penguin. Groklaw. Archived from the original on June 14, 2020. Retrieved September 6, 2017.
  8. ^ Salus (1994), 페이지 142
  9. ^ Toomey, Warren. "Details of the PUPS archives". tuhs.org. The Unix Heritage Society. Archived from the original on July 9, 2006. Retrieved October 6, 2010.
  10. ^ M.K. McKusick, M.J. Karels, Keith Sclower, Kevin Fall, Marc Teitelbaum 및 Keith Bostic(1989)버클리 컴퓨터 시스템 연구 그룹에 의한 현재의 연구.Proc. European Unix Users Group.
  11. ^ Eric S. Raymond. "The Art of Unix Programming: Origins and History of Unix, 1969–1995". Archived from the original on October 5, 2014. Retrieved July 18, 2014.
  12. ^ Barr, Adam (June 19, 2001). "Microsoft, TCP/IP, Open Source, and Licensing". Archived from the original on November 14, 2005. Retrieved June 7, 2019.
  13. ^ "BSD Code in Windows". everything2.com. March 20, 2001. Archived from the original on August 25, 2008. Retrieved January 20, 2009.
  14. ^ Dennis Ritchie (October 26, 2000). "alt.folklore.computers: BSD (Dennis Ritchie)". Archived from the original on July 14, 2014. Retrieved July 3, 2014.
  15. ^ 레이먼드, 에릭 S.Unix 프로그래밍의 기술.2003. 페이지 38
  16. ^ 카레, 데이비드UNIX 시스템에서의 C 사용: 시스템 프로그래밍 가이드1989. 페이지 2-3
  17. ^ Chesson, G. L. (1976). "The network Unix system". ACM SIGOPS Operating Systems Review. 9 (5): 60–66. doi:10.1145/1067629.806522.
  18. ^ RFC 681
  19. ^ Quarterman, John S.; Silberschatz, Abraham; Peterson, James L. (December 1985). "4.2BSD and 4.3BSD as examples of the Unix system". Computing Surveys. 17 (4): 379–418. CiteSeerX 10.1.1.117.9743. doi:10.1145/6041.6043. S2CID 5700897.

참고 문헌

외부 링크