다윈(운영 체제)
Darwin (operating system)개발자 | 애플 |
---|---|
기록 위치 | C, C++, 목표-C, 어셈블리 언어 |
OS 제품군 | Unix 유사 [1][2]BSD[3] |
작업 상태 | 현재 |
소스 모델 | 오픈 소스 |
초기 릴리즈 | 2000년 11월 15일; | 전
최신 릴리즈 | 21.3.0 / 2022년 1월 26일; | 전
리포지토리 | github |
플랫폼 | 전류: x86-64, 64비트 ARM, 32비트 ARM(32비트 ARM 지원은 폐쇄 소스) 기록:PowerPC(32비트 및 64비트), IA-32 |
커널형 | 잡종 |
체납 사용자 인터페이스 | 명령줄 인터페이스(유닉스 셸) |
면허증 | 대부분 APSL(Apple Public Source License), 비공개 드라이버 포함[4] |
공식 웹사이트 | opensource |
다음에 대한 시리즈 일부 |
마코스 |
---|
다윈은 애플사가 2000년 처음 출시한 오픈소스 유닉스 유사 운영체제다.넷스텝, BSD, 마하 등 무료 소프트웨어 프로젝트 코드에서 파생된 코드와 애플이 개발한 코드로 구성됐다.
Darwin은 MacOS(기존 OS X 및 Mac OS X), iOS, watchOS, tv OS, iPadOS 및 브리지가 설치된 Unix 기반 핵심 구성요소 세트를 형성한다.OS는 기반이다.대부분 POSIX 호환성이 있지만, 그 자체로는 POSIX의 어떤 버전과도 호환성이 있다고 인증된 적이 없다.Leopard를 시작으로, MacOS는 싱글 유닉스 사양 버전 3(SUSv3)과 호환되는 것으로 인증되었다.[5][6][7]
역사
다윈의 유산은 1989년 처음 출시된 NeXT의 NeXTSTEP 운영체제(OPENSTEP)의 측면으로 보완된 유닉스 파생상품으로 시작됐다.애플은 1997년 NeXT를 인수한 뒤 차기 운영체제를 오픈스텝(OPENSTEP)을 기반으로 하겠다고 발표했다.이것은 1997년에 랩소디, 1999년에 맥 OS X 서버 1.0, 2000년에 맥 OS X 퍼블릭 베타, 2001년에 맥 OS X 10.0으로 개발되었다.
1999년 애플은 Mac OS X Server의 Mach 2.5 마이크로커널, BSD Unix 4.4 OS, Apache Web 서버 컴포넌트의 소스 코드를 공개하겠다고 발표했다.[8]당시 스티브 잡스 임시 최고경영자(CEO)는 영국의 자연주의자인 찰스 다윈을 향해 "진화에 관한 것이기 때문"[9]이라고 귀띔했다.2000년에, 맥 OS X의 핵심 운영 체제 컴포넌트는 다윈으로 Apple Public Source License (APSL)에 따라 오픈 소스 소프트웨어로 출시되었다; 코코아 및 카본 프레임워크와 같은 상위 레벨 컴포넌트는 폐쇄 소스로 남아 있었다.
애플은 다윈 8.0.1까지 주요 맥 OS X 출시 때마다 다윈을 독립형 운영 체제로, 인텔 x86 시스템에 다윈을 설치할 수 있는 바이너리 설치기(ISO 이미지)를 출시했다.[10]마이너 업데이트는 별도로 설치된 패키지로 출시됐다.다윈은 이제 소스 코드로만 이용 가능하다.
디자인
커널
다윈의 커널은 XNU로 OSF의 OSFMK 7.3[11](Open Software Foundation Mach Kernel), FreeBSD의 다양한 요소(프로세스 모델, 네트워크 스택, 가상 파일 시스템 포함),[12] I/O Kit라고 하는 객체 지향적인 디바이스 드라이버 API를 사용한다.[13]하이브리드 커널 디자인은 마이크로커널의[14][failed verification – see discussion] 유연성과 단일 커널의 성능을 제공한다.[15]
하드웨어 및 소프트웨어 지원
Darwin currently includes support for the 64-bit x86-64 variant of the Intel x86 processors used in Intel-based Macs and the 64-bit ARM processors used in the iPhone 5S and later, the 6th generation iPod Touch, the 5th generation iPad and later, the iPad Air family, the iPad Mini 2 and later, the iPad Pro family, the fourth generation and later App2020년형 애플 M1 맥스 등 애플 실리콘을 탑재한 르 TV, 홈팟 제품군, 맥스(Macs)[16][17]는 물론 라즈베리파이 3B까지.XNU 커널의 오픈소스 포트는 2009년 이후 업데이트된 것으로 보이지는 않지만 애플이 공식적으로 지원하지 않는 인텔과 AMD x86 플랫폼에서 다윈을 지원하는 것이 존재한다.[18]XNU 커널의 오픈 소스 포트도 ARM 플랫폼용으로 존재한다.[19]이전 버전은 32비트 PowerPC, 64비트 PowerPC, 32비트 x86 및 32비트 ARM의 일부 또는 전부를 지원했다.
BSD 계통(대규모 FreeB)을 통해 POSIX API를 지원한다.SD userland)와 다양한 다른 UNIX 유사 시스템을 위해 작성된 많은 프로그램을 소스 코드 변경 없이 다윈에서 컴파일할 수 있다.
다윈은 Carbon 및 Cocoa API나 Quartz Compositer 및 Aqua 사용자 인터페이스와 같은 MacOS의 정의 요소를 많이 포함하지 않기 때문에 Mac 애플리케이션을 실행할 수 없다.그러나 그것은 멀티캐스트 DNS 응답자이자 Bonjour 네트워킹 기술의 핵심 구성요소인 mDNSResponder와 고급 서비스 관리 프레임워크인 launchd와 같은 덜 알려진 macOS의 많은 특징들을 지원한다.
면허증
애플은 2003년 7월 자유소프트웨어재단(FSF)이 GNU 일반공용면허와 양립할 수 없는 자유 소프트웨어 라이선스로 분류한 애플공용출처 라이선스(APSL) 2.0 버전 아래 다윈을 출시했다.[20]이전 버전은 오픈 소스 정의의 요건을 충족하지는 못했지만 무료 소프트웨어의 FSF 정의를 충족하지 못한 이전 버전의 APSL 라이센스에 따라 출시되었다.[21]
발매이력
다음은 주요 다윈 릴리스와 릴리스 날짜 및 해당 MacOS 릴리스의 표입니다.[22]해당 MacOS 릴리스가 다른 날짜에 릴리스되었을 수 있다는 점에 유의하십시오. 해당 날짜는 MacOS 페이지를 참조하십시오.
버전 | 날짜 | 해당 릴리스 | 메모들 |
---|---|---|---|
0.1 | 1999년 3월 16일 | Mac OS X Server 1.0 릴리스 |
|
0.2 | 1999년 4월 14일 | Mac OS X Server 1.0.1 | |
0.3 | 1999년 8월 5일 | 랩소디 5.5 기준
| |
1.0 | 2000년 4월 12일 | 개발자 미리보기 3
| |
1.1 | 2000년 4월 5일 | 개발자 미리보기 4 | |
1.2.1 | 2000년 11월 15일 | Mac OS X 공용 베타(코드 이름 "Kodiak") | |
1.3.1 | 2001년 4월 13일 | Mac OS X v10.0(코드 이름 "치타") |
|
1.4.1 | 2001년 10월 2일 | Mac OS X v10.1(코드 이름 "퓨마") | |
5.1 | 2001년 11월 12일 | Mac OS X v10.1.1
| |
5.5 | 2002년 6월 5일 | Mac OS X v10.1.5 | |
6.0.1 | 2002년 9월 23일 | Mac OS X v10.2(코드 이름 "Jaguar") | |
6.8 | 2003년 10월 3일 | Mac OS X v10.2.8 | |
7.0 | 2003년 10월 24일 | 맥 OS X 팬더 | Mac OS X v10.3.0 |
7.9 | 2005년 4월 15일 | Mac OS X v10.3.9 | |
8.0 | 2005년 4월 29일 |
| Mac OS X v10.4.0 |
8.11 | 2007년 11월 14일 | Mac OS X v10.4.11 | |
9.0 | 2007년 10월 26일 | Mac OS X v10.5.0 | |
9.8 | 2009년 8월 5일 | Mac OS X v.10.5.8 | |
10.0 | 2009년 8월 28일 | Mac OS X v10.6.0 | |
10.8 | 2011년 6월 23일 | Mac OS X v10.6.8 | |
11.0.0 | 2011년 7월 20일 | Mac OS X v10.7.0
| |
11.4.2 | 2012년 10월 4일 | Mac OS X v10.7.5(보조) | |
12.0.0 | 2012년 2월 16일 | OS X 마운틴 라이온 | OS X v10.8.0 |
12.6.0 | 2015년 1월 27일 | OS X v10.8.5(보안 업데이트 2015-001 포함) | |
13.0.0 | 2013년 6월 11일 | OS X v10.9.0
| |
13.4.0 | 2014년 9월 17일 | OS X v10.9.5 | |
14.0.0 | 2014년 9월 18일 | OS X v10.10.0 | |
14.5.0 | 2015년 8월 13일 | OS X v10.10.5 | |
15.0.0 | 2015년 9월 16일 | OS X v10.11.0 및 iOS 9.0
| |
15.6.0 | 2016년 7월 18일 | OS X v10.11.6 및 iOS 9.3.3 | |
16.0.0 | 2016년 9월 13일 | MacOS v10.12.0 및 iOS 10.0.1(초기 릴리스 버전) | |
16.5.0 | 2017년 3월 27일 | macOS v10.12.4 및 iOS 10.3 | |
16.6.0 | 2017년 7월 19일 | macOS v10.12.6 및 iOS 10.3.3 | |
17.0.0 | 2017년 9월 19일 | ||
17.5.0 | 2018년 3월 29일 | MacOS 10.13.4
| |
17.6.0 | 2018년 6월 1일 | MacOS v10.13.5 | |
17.7.0 | 2018년 7월 9일 | macOS v10.13.6 및 iOS 11.4.1 | |
18.0.0 | 2018년 9월 24일 | ||
18.2.0 | 2018년 10월 30일 | macOS v10.14.1 및 iOS 12.1
| |
19.0.0 | 2019년 9월 19일 | ||
19.2.0 | 2019년 12월 10일 | macOS 10.15.2 및 iOS 13.3 | |
19.3.0 | 2020년 1월 28일 | macOS 10.15.3 및 iOS 13.3.1 | |
19.4.0 | 2020년 3월 24일 | ||
19.5.0 | 2020년 4월 30일 | macOS 10.15.5 및 iOS 13.5 | |
19.6.0 | 2020년 6월 1일 | macOS 10.15.6 베타 2 및 iOS 13.6.0 베타 2 | |
20.0.0 | 2020년 6월 22일 | macOS 11.0 베타 1 및 iOS 14.0 베타 1 | |
20.1.0 | 2020년 9월 3일 | macOS 11.0 및 iOS 14.0 | |
20.2.0 | 2020년 11월 12일 | macOS 11.1 및 iOS 14.3 | |
20.3.0 | 2021년 2월 1일 | macOS 11.2, iOS 14.4, iPadOS 14.4, watchOS 7.3 및 tvOS 14.4. | |
20.4.0 | 2021년 4월 20일 | macOS 11.3, iOS 14.5, iPadOS 14.5, watchOS 7.4 및 tvOS 14.5. | |
20.5.0 | 2021년 5월 24일 | macOS 11.4 및 iOS 14.6 | |
20.6.0 | 2021년 6월 2일 | macOS 11.5 베타 2 및 iOS 14.7 베타 2 | |
21.0.0 | 2021년 6월 7일 | macOS 12.0 베타 1 및 iOS 15.0 베타 1 | |
21.0.1 | 2021년 10월 25일 | MacOS 12.0 | |
21.1.0 | 2021년 10월 25일 | macOS 12.0.1 및 iOS 15.0 | |
21.2.0 | 2021년 12월 7일 | macOS 12.1 및 iOS 15.2 | |
21.3.0 | 2022년 1월 26일 | macOS 12.2 및 iOS 15.3 |
Mac OS X v10.1.1 릴리즈와 함께 다윈 1.4.1에서 5.1로 버전 번호를 점프한 것은 다윈을 Mac OS X 버전에 연결하고 NeXTSTEP에서 이어받은 빌드 번호 지정 시스템을 개발하기 위한 것이었다.MacOS의 빌드 번호 지정 시스템에서는 모든 버전이 고유한 시작 빌드 번호를 가지고 있으며, 이 빌드 번호는 MacOS의 전체 버전을 식별한다.Mac OS X v10.0은 4, 10.1은 5로 시작하는 빌드 번호를 가지고 있었다(이전의 빌드 번호는 개발자 릴리스를 나타낸다).[34]
명령어터미널에서 uname -r이 다윈 버전 번호(20.3.0")를 표시하고 uname -v 명령을 실행하면 다윈 버전 번호가 포함된 XNU 빌드 버전 문자열이 표시된다.sw_vers 명령에는 해당 ProductName("macOS"), ProductVersion 번호("11.2.3") 및 BuildVersion 문자열(20D91")이 표시된다.
파생 프로젝트
다윈의 자유로운 소프트웨어 특성 때문에, 운영 체제를 수정하거나 향상시키는 것을 목표로 하는 프로젝트들이 있어 왔다.
오픈다윈
오픈다윈은 다윈 체제를 기반으로 한 커뮤니티 주도의 운영체제였다.2002년 4월 애플과 인터넷 시스템 컨소시엄에 의해 설립되었다.애플 개발자와 무료 소프트웨어 커뮤니티 간 협업을 늘리는 게 목표였다.애플은 OpenDarwin에 대한 개선이 다윈 릴리스에 통합될 것이기 때문에 이 프로젝트의 혜택을 받았고, 자유/오픈 소스 커뮤니티는 GNU-Darwin과 같은 무료 소프트웨어 배포에 사용될 수 있는 자체 운영 체제에 대한 완전한 통제권을 부여받음으로써 혜택을 받았다.[35]
2006년 7월 25일, OpenDarwin 팀은 OpenDarwin이 "Mac OS X 관련 프로젝트의 단순한 호스팅 시설"이 되었다고 생각하여 프로젝트가 중단되고 있으며, 독립형 다윈 운영 체제를 구축하려는 노력이 실패했다고 발표했다.그들은 또한 다음과 같이 말하고 있다: "출처의 이용가능성, 애플 대표들과의 상호작용, 출처를 만들고 추적하는 어려움, 그리고 지역사회의 관심 부족이 모두 이것에 기여했다."[36]마지막 안정적 발매는 2004년 7월 16일에 발매된 버전 7.2.1이었다.[37]
퓨어다윈
퓨어다윈은 애플이 출시한 다윈 소스 코드에서 부팅 가능한 운영체제 이미지를 만드는 프로젝트다.[38]다윈 8.x 이후 OpenDarwin이 중단되고 부팅 가능한 이미지가 출시된 이후 많은 컴포넌트가 폐쇄 소스가 되면서 완전한 운영체제를 만드는 것이 점점 어려워지고 있다.2015년 이 프로젝트는 X11 GUI로 다윈 9를 기반으로 한 프리뷰 릴리즈를 만들었고,[39] 이어 다윈 17을 기반으로 한 명령줄 17.4 베타만 만들었다.[40]
기타 파생 프로젝트
- MacPorts(구 다윈포트), Fink, Homebrew는 UNIX 프로그램을 다윈 운영 체제에 포팅하고 패키지 관리를 제공하는 프로젝트다.또한 RPM, pkgsrc, Portage와 같은 몇몇 표준 UNIX 패키지 관리자에는 다윈 포트가 있다.이들 중 일부는 기본 시스템에 간섭하지 않기 위해 자체 네임스페이스에서 작동한다.
- GNU-Darwin은 무료 소프트웨어 패키지를 다윈에 포팅하는 프로젝트다.그들은 리눅스 배포와 유사한 방식으로 OS 이미지를 패키징한다.
- 다윈 프로젝트는 다윈에서 마이크로소프트 윈도 소프트웨어를 실행할 수 있는 와인 항구였다.
- SEDarwin은 TrustedB의 항구다.SD 의무 접근 제어 프레임워크 및 다윈에 대한 SELinux 프레임워크의 일부.[41]맥 OS X 10.5에 통합되었다.[42]
- 다바트 프로젝트는 L4 마이크로커널 계열의 다윈의 실험항이다.기존 다윈 바이너리와의 이진 호환성을 목표로 한다.[43]
- 달링 프로젝트는 리눅스 시스템에서 macOS 바이너리를 실행하기 위한 호환성 계층이다.그것은 일부 다윈 소스 코드를 사용한다.[44]
- 드라이버 지원에 초점을 맞춘 다양한 프로젝트가 있다. 예를 들어, 무선 드라이버,[45][46] 유선 NIC 드라이버[47][48][49] 모뎀 드라이버,[50] 카드 리더,[51][52][53] ext2 및 ext3 파일 시스템.
참고 항목
참조
- ^ "Kernel Architecture Overview". Kernel Programming Guide.
- ^ "darwin-xnu/README.md at master". GitHub. Archived from the original on March 31, 2019. Retrieved November 21, 2019.
- ^ "Apple - Public Source - Darwin FAQ". Archived from the original on November 19, 2004. Retrieved August 9, 2021.
- ^ "Binary Drivers required for PureDarwin". Archived from the original on November 18, 2009. Retrieved July 20, 2009.
- ^ "Mac OS X Leopard - Technology - UNIX". Leopard Technology Overview. Apple Inc. Archived from the original on December 27, 2008.
Leopard is now an Open Brand UNIX 03 Registered Product, conforming to the SUSv3 and POSIX 1003.1 specifications for the C API, Shell Utilities, and Threads.
- ^ The Open Group (May 18, 2007). "Mac OS X Version 10.5 Leopard on Intel-based Macintosh computers certification". Retrieved February 11, 2013.
- ^ "macOS version 10.13 High Sierra on Intel-based Mac computers". The Open Group. Retrieved November 19, 2017.
- ^ Walsh, Jeff (March 22, 1999). "Apple goes open source with key OS components". InfoWorld. Vol. 21, no. 12. IDG InfoWorld. p. 40. Retrieved February 17, 2020.
- ^ Kahney, Leander. "Apple Opens OS Code". Wired. Condé Nast. Retrieved February 17, 2020.
- ^ "Apple ISO download directory". Archived from the original on October 7, 2016.
- ^ Jim Magee. WWDC 2000 Session 106 - Mac OS X: Kernel. 14 minutes in. Archived from the original on December 11, 2021.
- ^ "Mac Technology Overview: Kernel and Device Drivers Layer". Apple Developer Connection. Retrieved February 11, 2013.
- ^ Singh, Amit (January 7, 2004). "XNU: The Kernel". Retrieved February 11, 2013.
- ^ Roch, Benjamin. "Monolithic kernel vs. Microkernel". CiteSeerX 10.1.1.89.9877.
{{cite journal}}
:Cite 저널은 필요로 한다.journal=
(도움말) - ^ "Additional Features". Porting UNIX/Linux Applications to OS X. Apple Inc.
- ^ "XNU board config for BCM2837". GitHub. December 16, 2021.
- ^ "Raspberry Pi 3 Model B".
Quad Core 1.2GHz Broadcom BCM2837
- ^ "Voodoo XNU Kernel Source". Apache SVN 클라이언트 필요.
- ^ "XNU on ARMv7". GitHub. January 25, 2022.
- ^ "FSF's Opinion of the Apple Public Source License (APSL) 2.0".
- ^ "The Problems with older versions of the Apple Public Source License (APSL)".
- ^ "Open Source Releases". Apple Developer Connection. Retrieved February 11, 2013.
- ^ "Technical Note TN2029: Mac OS X v10.1". Apple Developer Connection. Archived from the original on November 14, 2001.
- ^ Siracusa, John (September 5, 2002). "Mac OS X 10.2 Jaguar". Ars Technica. Retrieved May 31, 2008.
- ^ Siracusa, John (November 9, 2003). "Mac OS X 10.3 Panther". Ars Technica. Retrieved May 31, 2008.
- ^ Siracusa, John (April 28, 2005). "Mac OS X 10.4 Tiger". Ars Technica. Retrieved May 30, 2008.
- ^ Siracusa, John (October 28, 2007). "Mac OS X 10.5 Leopard: the Ars Technica review". Ars Technica. Retrieved May 30, 2008.
- ^ Siracusa, John (August 31, 2009). "Mac OS X 10.6 Snow Leopard: the Ars Technica review". Ars Technica. Retrieved November 29, 2009.
- ^ 탈옥한 아이폰 4S에서 발견된 것과 같이
- ^ "System Extensions and DriverKit - WWDC19 - Videos".
- ^ "SystemExtensions". Apple Developer Documentation.
- ^ "DriverKit". Apple Developer Documentation.
- ^ System Extensions and DriverKit. Apple Developer Documentation.
- ^ Prabhakar, Ernie (November 9, 2001). "Darwin Version - New Scheme in Software Update 1". darwin-development (Mailing list). Archived from the original on January 14, 2009. Retrieved June 2, 2008.
- ^ "OpenDarwin". OpenDarwin Project. Archived from the original on January 6, 2006.
- ^ OpenDarwin Core Team and Administrators (July 25, 2006). "OpenDarwin Shutting Down". OpenDarwin Project. Archived from the original on August 4, 2006.
- ^ "OpenDarwin 7.2.1 Released". August 5, 2004. Archived from the original on August 5, 2004. Retrieved October 7, 2019.
- ^ "PureDarwin".
- ^ PureDarwin Xmas(2015년)
- ^ "PureDarwin 17.4 Beta". GitHub. PureDarwin. November 30, 2019. Retrieved January 11, 2020.
- ^ "Security Enhanced Darwin". SEDarwin. January 22, 2007. Archived from the original on October 5, 2011.
- ^ "What's New In Mac OS X: Mac OS X v10.5". Mac OS X Reference Library. Apple Inc. November 13, 2009. Archived from the original on December 8, 2009.
- ^ "L4/Darwin (aka Darbat)". Ertos.nicta.com.au. May 9, 2007. Archived from the original on December 19, 2013.
- ^ "Darling: macOS translation layer for Linux". www.darlinghq.org. Retrieved January 11, 2020.
- ^ yuriwho (May 5, 2002). "WirelessDriver Home Page". Wirelessdriver.sourceforge.net. Retrieved July 12, 2010.
- ^ "iwi2200 Darwin". SourceForge. March 27, 2009. Retrieved June 13, 2010.
- ^ "Port BSD tulip driver(s) to Darwin OS Download Port BSD tulip driver(s) to Darwin OS software for free at". SourceForge.net. Retrieved July 12, 2010.
- ^ "RealTek network driver for Mac OS X/Darwin". SourceForge. March 15, 2006. Retrieved June 3, 2010. 2006년 3월 15일 이후 프로젝트 진행 안 함.
- ^ fansui; et al. (August 1, 2007). "RTL8150LMEthernet". SourceForge. Retrieved June 13, 2010.
- ^ "ZyXEL Modem Drivers for OS X/Darwin Download ZyXEL Modem Drivers for OS X/Darwin software for free at". SourceForge.net. May 14, 2002. Retrieved July 12, 2010.
- ^ "Mac OS X PC Card ATA Driver". Pccardata.sourceforge.net. December 20, 2001. Retrieved July 12, 2010.
- ^ "Mac OS X Ext2 Filesystem Download Mac OS X Ext2 Filesystem software for free at". SourceForge.net. October 14, 2002. Retrieved July 12, 2010.
- ^ "ext2 filesystem in user space". SourceForge. July 14, 2008. Retrieved June 13, 2010.
외부 링크
- Apple Developer Connection에서 다윈 릴리스
- 개별 패키지의 소스 코드
- 다윈 마스코트 헥슬리
- PureDarwin.org
- 웨이백 머신에 있는 애플 박물관 "MacOS X 빌드 번호" (2011년 12월 25일 보관)