General correction

"Some of the benefits of this choice of kernel are the Mach-O binary format, which allows a single executable file (including the kernel itself) to support multiple CPU architectures, and the mature support for symmetric multiprocessing in Mach." - this is incorrect. The kernel architecture is completely orthogonal to the use of "fat binaries". —Preceding unsigned comment added by 86.10.5.236 (talk) 19:50, 20 March 2009 (UTC)[reply]

I'm not sure what "this choice of kernel" meant, but merely choosing something that uses Mach code didn't give it fat binaries; NeXT added them to their kernel - they weren't an inherent Mach-ism - so I removed that item. For that matter, the "mature support for symmetric multiprocessing in Mach" didn't magically make XNU a finely-threaded kernel - a lot of work, starting in, as I remember, Tiger, was done to get rid of the somewhat coarse threading (the "funnels") originally used - so I got rid of that bit as well. Guy Harris (talk) 19:59, 20 January 2012 (UTC)[reply]

Untitled discussion

I've begun expanding the article with work that's been done on the OpenDarwin page. There is alot of misconception WRT to the Darwin (XNU) kernel, and the reasons why it was chosen by Apple as the basis for Darwin, and by extention, Mac OS X.

It is *NOT* a microkernel, although it is based on one. It is a hybrid, and so does not have many (if any!) of the performance degredations that were inherrent in Mach's implementation.

Portability was not in fact, the main reason for choosing Mach as the basis of the kernel. Was portability the main requirement, there is another BSD kernel that has been far more widely ported, and hence, more portable. Mach *is* portable, but it's not the only reason.

At the time that Darwin was first released into the wild, the existing BSD kernels had no kernel support for threading, whereas Mach did (and was quite good at it). With the exception of FreeBSD, the BSDs at that time had no support for SMP hardware. FreeBSD's was very basic at that time as well. Mach was agressively multi-threaded, and had a more mature set of locking primitives, which made it run fairly well on small multi-processor machines that Apple intended to start selling.

The use of Mach-O instead of the newer ELF binary format has been critisized by many (manly as it's an older format and not widely used in other systems), although (to my knowledge at least) it offers a few advantages over ELF, such as the ability to host binaries for different CPU architectures in a single file, easing the distribution of the system (for example to non-technical users, who might otherwise buy a product for a machine that won't support it).

But of course, the biggest reason that Apple chose to use Mach as the basis of their kernel, is because of the fact that they bought NeXT, who had already done much of the work that would eventually become Mac OS X.

24.226.122.241 19:25, 17 August 2005 (UTC)[reply]

Well, the NeXT kernel at the time may have had SMP support, but the locking in the early versions of Mac OS X was rather coarse-grained (the "funnels"). Starting in, as I remember, Tiger, a lot of work to make the locking more fine-grained was done.
As for the use of Mach-O, the fat binary support wasn't from Mach-from-CMU, it was from NeXT, who added it to their kernel. Guy Harris (talk) 20:03, 20 January 2012 (UTC)[reply]

Proper perspective of Mach "kernel"

I have reorganized this article and added some language to put the Mach microkernel and characteristics of Unix-like operating systems in a more appropriate perspective. This is not a criticism of Macs or Mach, but just an attempt to correct problems that I seem to see often in writings by Mac users and enthusiasts. The previous article did not suffer from all examples or degrees of these problems, but here are some of them:

  • Not enough attention to the portability of microkernel architecture
  • The misconception that Mach is a kernel (as utilized in Darwin)
  • The misconception that Apple invented kernels or microkernels
  • The misconception that multithreading, symmetric multiprocessing, protected memory, and a multiuser environment are new developments made possible by the Mach kernel
  • The misconception that microkernel integration is automatically a Good Thing
  • The misconception that Mach integration is the most interesting and important thing about Darwin
  • Neglecting to mention historical problems and barriers to adoption of microkernels


211.128.87.99 01:25, 20 Jun 2005 (UTC)

It may be nice to mention some of the above to both Mach and kernel. -- Taku 01:29, Jun 20, 2005 (UTC)
I'll take a look... overall I think the subject of kernels and microkernels is well represented. Things don't seem to get confused except when people are trying to describe Mac internals.
The modern version of XNU focuses a lot more on Mach then the BSD elements. In fact almost every system level call has be replaced with a system that transports the call and arguments through a Mach message. The Mach messaging system plays a huge role in how the kernel works as well as how every user space process communicates with the kernel, regardless of its interface. 216.115.241.202 (talk) 21:39, 22 October 2016 (UTC)[reply]
So which "system level calls" have been replaced in that fashion? Not the file system or networking calls, for example. Guy Harris (talk) 22:29, 22 October 2016 (UTC)[reply]

Darwin as a functionally open source operating system?...

I know that the licence for Darwin is free software/open source, but how does this translate into the real world? Are there significant communities of users who run Darwin on their computers without the Mac OS X? Do people distribute Dawin distributions on CD or DVD with the Darwin kernel and a windowing system and application software and such?

Also, how easy is it to get most Mac applications to run on Darwin without the rest of the Mac OS X? Or the better question might be, how easy do people think it will be to run those applications on an x86 computer running Darwin once those applications are re-written for the new Intel Macs? For example, would I be able to install a free Darwin distribution on my computer and then get it to run Final Cut Pro?

If anyone knows more about this than I do, please expand the article. Blackcats 07:13, 7 November 2005 (UTC)[reply]

The fundamental question here seems to have been skipped in the rhetoric war below. Darwin IS its own standalone OS, and is freely downloadable, and already has a couple of flavors. You can get a Darwin CD ISO from Apple, or download the OpenDarwin variant from their website. But the only things you'll be able to run on it are the types of software that are run on *BSDs and Linux distributions (Gimp, OpenOffice.org, Mozilla, etc). You can't run FCP on it because it's missing the proprietary Apple GUI and I/O libraries, that are not open source, or free software. --JohnDBuell 23:58, 1 December 2005 (UTC)[reply]

Darwin it's not itself an operating system, it's just the kernel that power OS X. Being Darwin opensource there is also it's open counterpart called opendarwin. The opendarwin community also develop the a GNU-Darwin OS that is a free-software only OS and adopt GNOME as a userland enviroment. Luxiake 23:16, 16 November 2005 (UTC)[reply]

Pardon? I think the server I have in my office running Darwin 8.3 would disagree with you there. --bbatsell | « give me a ring » 22:56, 16 November 2005 (UTC)[reply]

What is the user interface in your server? As I suppose is Gnome or KDE. If you call it Darwin OS is because there are no other distros as it occurs for every BSD-like kernel (FreeBSD, NetBSD, OpenBSD etc..). By contrast linux has millions of distros so you can't say "Linux is an OS". Linux is the kernel, and every distro is indeed a different OS. Soo.. OSX and GNU/Darwin are two different distros of the Darwin kernel. But OSX is released as propietary software, being Darwin released under the APSL, that allows Apple to "steal" the free-soul of Darwin. Luxiake 23:16, 16 November 2005 (UTC)[reply]

In the world you live in, given that Darwin is a kernel, what is XNU? And what is the difference between Darwin and XNU? Also in which files can I find Darwin's "free-soul"? Also assuming you have read and understand the BSD license, how can you "steal" something that is given away freely? Also could you point out for us the page on the opendarwin website where they mention that they also develop gnu-darwin? Just wondering. AlistairMcMillan 04:41, 17 November 2005 (UTC)[reply]


Given that I do not know anything about programmming, I also think you should must be more respectful toward any other member of the community, even if you are mad about Apple and he is critizing it's products. Remember, we share, they make the money, the very big money. Given this necessary introduction I will answer your questions one by one:

1. As Apple states: "Darwin is the core of Mac OS X. The Darwin kernel is based on FreeBSD and Mach 3.0". What is a kernel if not the core of an OS? Do you think that Darwin alone could be sold and distributed as an OS or just being a Core needs indeed to be completed with other libraries and services?[[1]]

2. The original combination of FreeBSD and mach is no longer referred as XNU, but as a code it is now lost in the hybride structure of Darwin, being Darwin an attempt to give a monolithic identity to a mix of nanokernel, microkernel and monolithic kernel.

3. The free soul of Darwin relies in its free BSD portion that is nearly 70% of its microkernel.

4. Stealing comes from the act of making profit. The super-profit of Apple computer comes from the high quality code of FreeBSD that is an opensource project and aggressive marketing of course.

5. I already gave you the link to GNU-Darwin, you Mac-Maniac.

Luxiake 10:52, 17 November 2005 (UTC)[reply]

(1) Darwin is a complete operating system itself. Feel free to download an ISO and find out for yourself.
(2) Just plain wrong. [2] [3] [4] [5] [6]
(3) and (4) If the BSD portion is "free" how can Apple "steal" it?
(5) I was not asking for a link to GNU-Darwin. I was trying to point out that the OpenDarwin people (who are mostly Apple employees) have nothing to do with the GNU-Darwin people (who as far as I know only re-package Darwin with GNU software and haven't contributed anything else). AlistairMcMillan 02:21, 19 November 2005 (UTC)[reply]

White flag, white flag. I surrender. You're right. After some research and pondering, I was convinced by your argument. Everything is clear now. XNU is the kernel. Darwin is the OS. And OSX it's just a GUI and a collection of apps that allow every common user to have a smooth computing experience, in few words: just a distribution of Darwin O S. And being this GUI a proprietary software, indeed prevent full compatibility with the GNU-Darwin distribution. Now that the truth is shown, all we have to do is to rethink the OSX article starting from the very beginnig, where it's stated that OSX is an Operating System. And I want this do be carried out very urgently, being very unjust and unfair that OSX is sold as an OS and not just as a commercial distro of the Darwin OS. Plus, in the OSX article Darwin is referred as a kernel. Plus Plus, in rewriting the OSX article I propose to work in a group formed by a few of MAC enthusiastics, that are obviously biased toward Apple's job, and Jobs. Luxiake 19:18, 20 November 2005 (UTC)[reply]

Plus Plus Plus, here's a definition of Darwin a friend found in a blog: "Darwin is the fundamental, UNIX core of Mac OS X, which can also exist as an operating system in its own right. The standard Darwin OS uses a command-line interface, is open sourced, meaning that anybody interested can make improvements to the foundation of Mac OS X.[...]Darwin handles all the hardware management, interprocess management, and protocol management of Mac OS X."[[7]] Luxiake 14:56, 21 November 2005 (UTC)[reply]

GNU-Darwin...

...is NOT an operating system. It is a project to package software to run on Mac OS X or Darwin, similar to DarwinPorts or Fink. Again, it is NOT an operating system. AlistairMcMillan 12:15, 10 December 2005 (UTC)[reply]

I'm currently discussing this on the GNU-Darwin talk page, but I don't see how it can be discounted as an operating system, or a distro of Darwin. In the GNU-Darwin FAQs, it is referred to as both a distribution and an operating system. – Mipadi 16:45, 10 December 2005 (UTC)[reply]

GNU-Darwin is described as porting open-source software. Since GNU is very strong emphasising free-software, and there is a difference, I'd expect GNU-Darwin includes only free rather than simply open-source? But I'm not sure if this is a correct assumption so I've not edited it. – Stuzart 00:01, 02 Nov 07

Darwin as a functionally open source operating system?...(postwar edition)

Darwin is released by apple as binary packages. How can be this regarded as a OS? It's only after the work of the Opendarwin community that bootable Darwin CDs are released. Darwin it's not developed by Apple as a standalone OS. They develop OSX and darwin as a unique OS, and then only after they release any OSX edition, they release Darwin to the DEVs. Tecnically speaking Darwin is a set of binary packages released by apple for any OSX release. This is not clear at all in the article.

I think this has to be put clear once and always in order to avoid usless editwar Luxiake 11:59, 12 December 2005 (UTC)[reply]

Technically speaking Luxiake should find a subject about which he is knowledgeable and stop editing on the subject of Mac OS X and Darwin (a subject about which he is not knowledgeable). Try reading the Darwin page at apple.com. http://developer.apple.com/darwin/ Look for the entry headed Darwin 8.0.1 Installer CD, that says The Darwin 8.0.1 Installer CD is available. The one that has four links that point to downloadable ISO installer images. AlistairMcMillan 16:00, 12 December 2005 (UTC)[reply]


I'm sorry if my statements weren't precise enough. I wrote that after reading this [8] and following. These guys are opendarwin developers who are speaking, so please read carefully. You can understand that Darwin itself is not developed with the goal of being a standalone OS. Or better they are complaining about that.
After that, please drop your scornful attitude toward me. I used in the past to discredit you personally, but I understood that this attitude isn't fruitful nor civilized at all. We are working to a common project, or we are fighting for opposite causes? With your discreting GNU-Darwin you show you are too much biased in favour of Apple, and being and Administrator, I don't think you can contribute fairly to the common goals of wikipedia, or better you are discrediting Wikipedia's whole organization. I regret to say I'm very disappointed actually by this. I don't know if who gave you the authority is aware of such behaviour, but if this is the case, I certainly will stop contributing or consulting wikipedia.

Luxiake 18:49, 12 December 2005 (UTC)[reply]

One (notable?) thing about the Apple Darwin releases is that ISOs of the OS are made available after every major OS X release, but that updates are indeed released just as packages. It's up to someone else to make a Darwin/OpenDarwin 8.3 ISO image (corresponding to OS X 10.4.3). Dunno if this warrants inclusion or not. --JohnDBuell 16:38, 13 December 2005 (UTC)[reply]

Is Darwin Apple's "Sourceforge?"

I learned about Darwin since I'm doing streaming video and I found the Darwin Streaming Server. It has nothing to do with the kernel/OS. Is Darwin a "Sourceforge" style site or incubator for its open source projects? --Migs 08:57, 13 January 2006 (UTC)[reply]

Darwin is not a website, OpenDarwin.org is. They just used the name Darwin on a couple of open source projects. AlistairMcMillan 09:59, 13 January 2006 (UTC)[reply]
Apple's SourceForge is Mac OS Forge, although that's not where all of Apple's open source is hosted; Mac OS Forge is for the stuff that's done at Apple with an intent to open development to third parties (so, for example, they may have a version control system repository open), the LLVM Web site has LLVM (which started as a University of Illinois project) and LLVM-related projects (such as clang), and other stuff that's just done as a tarball dump is at opensource.apple.com. Guy Harris (talk) 20:20, 20 January 2012 (UTC)[reply]

References

This article need references throughout the article, if the facts in this article can be found in the Darwin Reference Library. Then the various statements in the article needs to be references to the exact page where this information can be verified.

Screenshot

Shouldn't the screenshot be of Apple Darwin (and whatever its gui is) rather than OpenDarwin? Theshibboleth 03:51, 15 March 2006 (UTC)[reply]

...does it not have a standard GUI? The article does not mention this if so, and it's a rather important pice of information Theshibboleth
It includes no GUI code. Apple ships it with either the Mac OS X, standard iOS, or Apple TV GUI; if somebody manages to build it to run on, say, a standard PC, they could probably get, for example, X11 running atop it, with some amount of work, and run some window manager+apps or some desktop environment atop it. That's what the screenshot is. Guy Harris (talk) 20:24, 20 January 2012 (UTC)[reply]

Which mach?

The article doesn't mention anywhere that Darwin is built on the Mach microkernel. I would like to add this, but I don't know if it is based on normal Mach or GNU Mach. Can someone more informed mention this? Gronky 00:45, 24 August 2006 (UTC)[reply]

In the sidebar it does mention the kernel, which is actually XNU, not Mach. – Mipadi 00:52, 24 August 2006 (UTC)[reply]
As Mipadi just said, the kernel is called XNU, but XNU is partially built on Mach. They probably used the original Mach kernel, and definitely not GNU Mach. If they had used GNU Mach, Apple would be bound to the General Public License for their releases, but they release their code under the GPL-incompatible APSL. --Unsound 05:52, 19 September 2007 (UTC)[reply]
It now mentions that it's based on Mach 3 (and has done so for a while). Guy Harris (talk) 20:27, 20 January 2012 (UTC)[reply]

Mac OS 10.4.8 has been released; I don't know what version of Darwin that this is.

The paragraph below the Darwin release table indicates what Darwin version number is used for any given Mac OS X release number. Guy Harris (talk) 20:27, 20 January 2012 (UTC)[reply]

Releases

Is it appropriate to list Darwin 8.8.2 and Darwin 8.9 under the ‘Releases’ section when there aren't actually any public releases beyond 8.8.1? Also, given that Leopard's version of Darwin also isn't publicly available, is it similarly appropriate to list 9.4 as the current ‘Preview’ release? To my knowledge, Apple doesn't make the Darwin components available to anybody (including ADC Premier members) until after the retail OS has been released. I don't think they shouldn't be mentioned, by any means, but it's probably worth differentiating between the releases that you can actually get freely and the versions of the OS that exist only within Apple. Nevalicori 15:18, 31 March 2007 (UTC)[reply]

Okay, Darwin 8.9 has been released (yesterday, I believe), which would make its release date the 18th April 2007, in contrast to the Mac OS X 10.4.9 release date currently shown. I'm loathed to change the page, though, if it breaks continuity—are past release dates all listed as the corresponding Mac OS X release date, or are any of them actual Darwin releases? Nevalicori 12:06, 19 April 2007 (UTC)[reply]

Release history lists Darwin versions for iOS 1 and iOS 4. Why is there no mention of iOS 2 and iOS 3? — Preceding unsigned comment added by 84.203.208.42 (talk) 13:49, 27 July 2011 (UTC)[reply]

AppleFileServer

I was curious about Darwin and AppleFileServer, but the article doesn't mention it. Is AppleFileServer included in Darwin? If AppleFileServer is a part of the open source Darwin, are there any differences between the AppleFileServer included with Darwin and the binaries included in Mac OS X and Mac OS X Server? Again, just curious, but perhaps this could be included in the article too. Indexheavy 07:23, 20 May 2007 (UTC)[reply]

AppleFileServer is, as its man page states, the Apple Filing Protocol server; it is not open-source, so it's not part of Darwin. Guy Harris (talk) 20:29, 20 January 2012 (UTC)[reply]

Who wrote it?

The intro said it was developed by Apple and released by Apple and maintained by Apple, but IIRC, Apple just took the FreeBSD code, made some changes, release what was convenient (what they wanted others to maintain) and kept the nice stuff proprietary, and the maintenance mostly consists of integrating the code which is still being written by the FreeBSD devs.

I've updated the intro to be a half-way between what it used to say and what I think it should say (because my memory isn't clear and I don't have time to research the history right now). --Gronky 11:36, 25 September 2007 (UTC)[reply]

YDRC. The XNU kernel, for example, isn't just the FreeBSD kernel plus "some changes"; the stuff under the osfmk and iokit directories, for example, is not from FreeBSD at all, and a lot of the stuff under the bsd directory is from Apple (the VFS layer was redone in Tiger, including the new authentication code). Libc does incorporate a lot of stuff from FreeBSD, but the memory allocator isn't from FreeBSD, nor is any of the getXXbyYY code. A lot of the Darwin code does come from various non-Apple free software projects - but not all of it does, and a lot of the important stuff doesn't. (Some of it comes from Apple free software projects, e.g. Directory Services, which is in the Darwin source, and launchd.) Guy Harris 23:22, 25 September 2007 (UTC)[reply]
Well, I agree the current version is certainly better. --Gronky 12:30, 30 September 2007 (UTC)[reply]

Portal:Free software: Darwin is now the selected article

Just to let you know. The purpose of selecting an article is both to point readers to the article and to highlight it to potential contributors. It will remain on the portal for a week or so. The previous selected article was Cygnus Solutions, probably the first big free software business.

For other interesting free software articles, you can take a look at the archive of PFs selectees. --Gronky 16:33, 4 November 2007 (UTC)[reply]

Time to move on. The new selectee is free software licences - a general article about the requirements and differences in FS licences. --Gronky (talk) 14:27, 20 November 2007 (UTC)[reply]


Mach version

"Darwin is built around XNU, a hybrid kernel that combines the Mach 3 microkernel".

Isn't it supposed to be version 2.5??? —Preceding unsigned comment added by 189.146.124.117 (talk) 06:44, 2 April 2008 (UTC)[reply]

The link provided at the end of that paragraph goes to Apple's open source web site, which says Mach 3. NeXTSTEP and Rhapsody used Mach 2.5, but presumably, Apple updated it to Mach 3 by the time it was forked into Darwin/OS X. --typhoon (talk) 01:34, 3 April 2008 (UTC)[reply]


The original releases of Darwin, 0.1, 0.2 and 0.3 (was there a 0.4?) were based on the original NeXTSTEP/OPENSTEP/Rhapsody kernel, and used Mach 2.5 with some 3.0 enhancements. Starting with version 1.0 Apple changed to the newer XNU kernel which dumped the ObjectiveC driverkit for the C++ IOKit, and used Mach 3.0. It's worth nothing that both the 0.x kernels and 1.0 and later all use Mach as a library, not as a traditional Mach microkernel. 14.136.113.162 (talk) 15:55, 3 May 2017 (UTC)[reply]

Release history table

This section is kind of a mess—with all the different versions of OS X these days (Darwin's weird, inconsistent versioning history doesn't help)—and not that interesting besides (all the Mac OS X point-point releases border on minutiae). I've boldly changed it up a bit by limiting it to major releases (1.0, 1.2 ... 1.4, 6.0 ... 9.0) and changing it to a table like the Ubuntu Linux page used to that shows the release version, release date, corresponding OS X versions, and a Features and Changes column that shows what's new in each release (so far, only for the last two releases, but I'll try to research the others).

I removed the "See also" link to Étoilé because, while interesting, I don't know what it has to do with Darwin (it's appropriate for the GNUstep page, though).

--typhoon (talk) 19:29, 30 May 2008 (UTC)[reply]

OpenDarwin

I merged the OpenDarwin page into this page. Its page was pretty short because there wasn't a whole lot to say about the project (it was founded, it was shut down), and it was unlikely to ever get much bigger since the project has been dead for two years. Feel free to tell me if you don't like the change, though. --typhoon (talk) 20:44, 2 June 2008 (UTC)[reply]

Image copyright problem with Image:Hexley.png

The image Image:Hexley.png is used in this article under a claim of fair use, but it does not have an adequate explanation for why it meets the requirements for such images when used here. In particular, for each page the image is used on, it must have an explanation linking to that page which explains why it needs to be used on that page. Please check

  • That there is a non-free use rationale on the image's description page for the use in this article.
  • That this article is linked to from the image description page.

This is an automated notice by FairuseBot. For assistance on the image use policy, see Wikipedia:Media copyright questions. --13:33, 14 September 2008 (UTC)[reply]

Statement on the Use of the Hexley Darwin Mascot Figure

Please see http://www.hexley.com/license.html I think the picture should be reinstated. —Preceding unsigned comment added by 89.244.185.247 (talk) 14:14, 5 October 2008 (UTC)[reply]

Darwin is impossible to compile

The "official" darwin OS, as distributed by apple on their site, is not possible to compile, let alone run...I think it should me mentioned in the article at least. --78.128.199.9 (talk) 20:29, 25 October 2008 (UTC)[reply]

-- It is very much possible to compile and run darwin. There exist open-source projects (PureDarwin, Voodoo XNU kernel) which do this. I have personally compiled xnu (the kernel part of darwin) and some support packages (cctools etc.) and am currently running a modified version of xnu. --117.197.64.77 (talk) 09:27, 14 March 2009 (UTC)[reply]

impossible it's not Markthemac (talk) 21:43, 26 October 2008 (UTC)[reply]

It's not impossible to run Darwin because all Mac OS X systems are running Darwin. Apple does not distribute binaries of Darwin, you mean. 169.235.89.210 (talk) 21:16, 3 November 2008 (UTC)[reply]

It's difficult, but not impossible. I've built Darwin 0.1 and Darwin 0.3, using a x86 Rhapsody VM. 14.136.113.162 (talk) 15:52, 3 May 2017 (UTC)[reply]

The file system

How about a bit on the file system hierarchy ? (/Users instead of /home, etc.) --Jerome Potts (talk) 18:57, 27 October 2009 (UTC)[reply]

Darwin has /home as of Darwin 9.0; it has the same /home that Solaris does, as long as you have an auto_home automounter map. /home is, on any system with a Solaris-compatible automounter, a place where user home directories get automounted; the actual home directory doesn't necessarily live under /home on the machine on whose disks is resides. There is no standard UN*X-wide convention for local home directories; /Users happens to be the Mac OS X convention. The rest of the file system hierarchy is a combination of a fairly standard BSD hierarchy plus, for the Apple-specific stuff, things under /System and /Library. Guy Harris (talk) 20:36, 20 January 2012 (UTC)[reply]

iPhone OS & iPad

I don't know, but the article probably should be edited for the upcoming iPad. We don't have any confirmation, but iPad runs iPhone OS based on Darwin? ctxppc on http://www.ctxppc.me (talk) 21:12, 28 January 2010 (UTC)[reply]

Yes, but it's now called "iOS" because it runs on more than just iPhones. The article now reflects that. Guy Harris (talk) 20:37, 20 January 2012 (UTC)[reply]

Darwin not Open Source

It seems that darwin is no longer open source. it is the reason OpenDarwin shut down. also: http://www.macworld.co.uk/news/index.cfm?NewsID=14663. The link to the source at the bottom of the page is three years old IRWolfie- (talk) 14:30, 18 December 2010 (UTC)[reply]

No, it's still open-source. It took a little while for Apple to put the x86 code up, but they did. It continues to be there, as of Mac OS X 10.7.2 (the most recent release). Guy Harris (talk) 20:42, 20 January 2012 (UTC)[reply]
Current Darwin cannot be described as an Open Source operating system. Try to build it. You will find (as the PureDarwin team did) that many key components are missing, and the released Open Source projects have many dependencies on private APIs that make those projects difficult if not impossible to rebuild, even on a functional macOS system. Also, Apple does not even refer to the existence of an open source Darwin operating system on their Open Source website anymore——just an (incomplete) collection of macOS Open Source projects Tkmcinto (talk) 23:16, 26 January 2023 (UTC)[reply]

Version numbers in the infobox

The version numbers in the infobox are rather out-of-date, if the intent is to give the version numbers of the Darwin atop which, say, the latest supported OS X release (11.0.0) is based and atop which the latest released build of the next OS X major release (if any; currently, there's nothing post-Mountain Lion announced). If that is the intent, it raises the question of what to do about iOS - have separate "latest stable release" and "latest unstable release" items for OS X and iOS? Guy Harris (talk) 19:42, 19 August 2012 (UTC)[reply]

OS X Mavericks

Should Mavericks be added to the table for Darwin 13.0.0 or should we wait for a public release? Running `uname` in Mavericks confirms the usage of Darwin 13.0.0. Currently the only OS, according to the page, using 13 is iOS 6, but OS X 10.9 does as well. — Preceding unsigned comment added by Kylalak (talk • contribs) 23:05, 17 July 2013 (UTC)[reply]

Infobox

iOS 7's final code is out for devs, it comes out for everyone in a few days which uses Darwin 14.0, Mavericks comes out later this year and it uses Darwin 13.0, how should the OS's be put in the infobox, and would it be inappropriate to put Darwin 14.0 as the latest version, possibly as the latest beta version?

Also, can we have something that explains why the iOS version has a higher version number? Bumblebritches57 (talk) 19:47, 14 September 2013 (UTC)[reply]

I just found an article that explains why iOS's version of darwin is higher if anyone wants to include it, and of course thinks that it fits Wikipedia standards for sources and such, I'm not very familiar with that, and I don't want to make a big mistake or anything. Here's the url: http://theiphonewiki.com/wiki/Kernel#Versions Bumblebritches57 (talk) 20:26, 14 September 2013 (UTC)[reply]
It's an article that speculates on why iOS's version of Darwin is higher. Whether the speculation is correct is another matter. Guy Harris (talk) 21:33, 14 September 2013 (UTC)[reply]

POSIX compatibility

I am no standards expert, but this Darwin article states "It is mostly POSIX compatible, but has never, by itself, been certified as being compatible with any version of POSIX. (OS X, since Leopard, has been certified as compatible with the Single UNIX Specification version 3 (SUSv3).[2][3][4])"

The SUSv3 page [1] states "Beginning in 1998, a joint working group known as the Austin Group began to develop the combined standard that would be known as the Single UNIX Specification Version 3 and as POSIX:2001 (formally: IEEE Std 1003.1-2001)."

Since Darwin is SUSv3 compliant, and SUSv3 is identical with POSIX:2001 : Darwin is therefore fully compliant with POSIX surely?

The question is only whether a formal certification step is required to ... formalise this.

Should the Darwin page not me modified to reflect this? At the moment, it gives the impression to a casual reader that there is no formal POSIX compliance in Darwin, whereas there clearly is. The only issue is whether this has been translated to a formal certification.

Jpgcwiki (talk) 09:47, 3 June 2014 (UTC)[reply]

"Since Darwin is SUSv3 compliant" Do we know this for certain? Has somebody built an OS system containing only the open-source components of Darwin - none of the non-open-source parts of OS X - and tested it to make sure?
"The question is only whether a formal certification step is required to ... formalise this." And the answer is "Of course it is!" You don't formalize it by saying "obviously it is" without checking it, or by saying "OS X passed the formal certification step, and that's good enough for me", as we don't know whether, for example, any of the system component necessary to make OS X pass the SUSv3 - libraries, daemons, commands, kernel modules - are not open-source and thus not part of Darwin. Guy Harris (talk) 16:25, 3 June 2014 (UTC)[reply]

PureDarwin dead?

It looks like PureDarwin is a dead project, or at least comatose. The last update on their site is from December of 2012. sydbarrett74 (talk) 15:54, 24 March 2016 (UTC)[reply]

It is a dead project due to the fact that the Darwin OS is incomplete, for example launchd is no longer able to function with the latest XNU kernel and the new launchd shipped with macOS is not opensource (being part of XPC). Darwin requires a usable init system to boot and currently none of the available versions of Darwin compatible init systems work on the latest kernel. For all intents and purposes it is dead. XNU itself is more incomplete then it was before. The XNU kernel at one time included enough to be buildable and bootable for OS X, then it became just buildable and bootable for the Unix tools and now its barely buildable and bootable from a kernel project point of view and a good portion of the update to date open source Unix tools modified by Apple will work on it but some important components no longer work. 216.115.241.202 (talk) 21:35, 22 October 2016 (UTC)[reply]

Untrue statement on version numbers

"The point release number in the Darwin version is always the same as the second point number in the macOS version."

The last version in the table directly contradicts that, where Darwin 16.3.0 is macOS Sierra 12.2. Similarly, the current version of macOS 12.3 reports a Darwin version of 16.4.0. Stacecom (talk) 22:49, 9 March 2017 (UTC)[reply]

Removed. Guy Harris (talk) 03:14, 10 March 2017 (UTC)[reply]

"flexibility of a microkernel"

The article currently says:

The hybrid kernel design provides the flexibility of a microkernel and the performance of a monolithic kernel.[1]

The citation says:

The core of any operating system is its kernel. Though OS X shares much of its underlying architecture with BSD, the OS X kernel, known as XNU, differs significantly. XNU is based on the Mach microkernel design, but it also incorporates BSD features. It is not technically a microkernel implementation, but still has many of the benefits of a microkernel, such as Mach interprocess communication mechanisms and a relatively clean API separation between various parts of the kernel.
Why is it designed like this? With pure Mach, the core parts of the operating system are user space processes. This gives you flexibility, but also slows things down because of message passing performance between Mach and the layers built on top of it. To regain that performance, BSD functionality has been incorporated in the kernel alongside Mach. The result is that the kernel combines the strengths of Mach with the strengths of BSD.

which doesn't seem to clearly indicate that they believe that the "flexibility" remains after the BSD functionality was built top Mach in kernel space. It speaks of "the strengths of Mach", but that might just refer to those "benefits of a microkernel" that were given in the first paragraph. You don't have the "flexibility" of building userland servers for file systems, network protocols, etc. as a result of the Mach base; file systems and network protocols live in the BSD part of the kernel, which is pretty monolithic-looking. (In macOS, you could get the flexibility of building userland servers for file systems, for example, by using FUSE, but that's far from unique to macOS. If any system with FUSE is a "hybrid kernel", I'd say Linus Torvalds is right - "hybrid kernel" is "just marketing".)

(And, yes, I've worked on code that runs in kernel space that communicates with a userland server via Mach messages, but that was just choosing, when porting autofs, to use an existing communications mechanism as a replacement for the ONC RPC transport in Solaris, rather than creating a full-blown general ONC RPC layer - the NFS client and server in macOS were based on Rick Macklem's BSD code with its specialized hand-written ONC RPC implementation. It wasn't an example of the Wonderful Flexibility of XNU being a "hybrid kernel". The Sun autofs is supported on several OSes with a variety of mechanisms used to communicate between the autofs VFS in the kernel and automountd in usewrland, so citing Darwin autofs as an example of the flexibility of a hybrid kernel would make any system using it a system with a hybrid kernel.

I'm also not entirely convinced that the "relatively clean API separation between various parts of the kernel" is necessarily much cleaner than in other UN*Xes.) Guy Harris (talk) 23:48, 13 November 2017 (UTC)[reply]

In this edit, a citation was provided for the "flexibility of a microkernel" claim, but the paper doesn't speak much about hybrid kernels other than discussing Mach and Windows NT in a few paragraphs and saying that, in both cases, they ended up with a system wherein a lot of functionality was moved back to the kernel. Guy Harris (talk) 21:18, 9 October 2018 (UTC)[reply]

References

  1. ^ "Additional Features". Porting UNIX/Linux Applications to OS X. Apple Inc.

External links modified

Hello fellow Wikipedians,

I have just modified one external link on Darwin (operating system). Please take a moment to review my edit. If you have any questions, or need the bot to ignore the links, or the page altogether, please visit this simple FaQ for additional information. I made the following changes:

When you have finished reviewing my changes, you may follow the instructions on the template below to fix any issues with the URLs.

checkY An editor has reviewed this edit and fixed any errors that were found.

  • If you have discovered URLs which were erroneously considered dead by the bot, you can report them with this tool.
  • If you found an error with any archives or the URLs themselves, you can fix them with this tool.

Cheers.—InternetArchiveBot (Report bug) 15:32, 5 December 2017 (UTC)[reply]

Version history removal

There seems to be a sudden insistence on removing the table of versions from this article. This table was added in 2005 and has at no point between then and now has it been considered to be contentious or not in keeping with Wikipedia's content policies. The only justification provided is a reference to WP:NOTCHANGELOG, which reads "Use reliable third-party (not self-published or official) sources in articles dealing with software updates to describe the versions listed or discussed in the article. Common sense must be applied with regard to the level of detail to be included." Thing is, there already were reliable third-party sources being used (e.g. John Siracusa), albeit not with complete consistency, but finding more shouldn't be a problem. Darwin the second most widely-used open-source kernel in the world, how hard could that be? Here's the thing though -- this underlying issue here has nothing to do with Darwin. The inclusion and presentation of software history has been an ongoing point of contention on Wikipedia for years, including attempts to delete articles like PlayStation 4 system software that resulted in no consensus to delete. This isn't a new problem, and I think it's because WP:NOT's wording leaves too much to interpretation. If different editors can read the same policy and end up wanting to do radically different things, then that's a problem with the policy, not the editors per se. Warren -talk- 11:05, 26 December 2017 (UTC)[reply]

Version history does not have any place in an encyclopedia as its place is in a manual or FAQ which violates WP:NOTFAQ and WP:NOTMANUAL along with WP:CHANGELOG. Hagennos (talk) 17:40, 27 December 2017 (UTC)[reply]
If you're going to respond to something on Wikipedia, could you please do the bare fucking minimum and read it first? The policy you're claiming covers this issue is literally quoted in my post. Also, WP:NOTMANUAL doesn't apply, as that is for "how-to" content and WP:NOTFAQ is for "question-and-answer" content. Software version histories is neither of these things. You know this, and yet you argue. Be smarter than that. Warren -talk- 01:23, 28 December 2017 (UTC)[reply]

RfC About inclusion of Version/Release History

The following discussion is closed. Please do not modify it. Subsequent comments should be made on the appropriate discussion page. No further edits should be made to this discussion.


Addition of a list of Release history does not provide any addition information to the readers of the article and bloats the page content. This should be in the software documentation which Wikipedia is not and violates WP:CHANGELOG, WP:NOTMANUAL, WP:NOTGUIDE. Hagennos (talk) 18:52, 2 January 2018 (UTC)[reply]

Should we include a Darwin (operating system)#Release history on this page?
Yes, this is a good idea. No, we should not add this.
This is the best idea since sliced bread. It complies with all our policies and is sure to improve Wikipedia. This is the wrong idea, at the wrong time, on the wrong page. Also, the proposers haven't suggested any sources yet.
So far you've failed to explain why or how NOTMANUAL applies here. Everyone else understands that particular rule to be about "how-to guides". Are you choosing to ignore this fact on purpose? Warren -talk- 22:58, 2 January 2018 (UTC)[reply]
  • Yes, this is a good idea. The amount of detail is precisely at the common-sense level we want and is asked for in the WP:CHANGELOG policy. It could benefit from some more third-party references, but I see that it already has got many. Diego (talk) 07:23, 3 January 2018 (UTC)[reply]
  • Yes, it looks reasonable to me. More references are always good. Thanks. Mike Peel (talk) 07:33, 3 January 2018 (UTC)[reply]
  • Yes, but only if sources can be found. It's easy to write "finding more [reliable third-party sources] shouldn't be a problem"; but no-one has managed it since 2009. Maproom (talk) 06:51, 6 January 2018 (UTC)[reply]
  • Yes maybe, but not sure... Agree with the previous yes-but. Also,I am not comfortable with the implied burden of maintenance; it is a rare OS that is real-life relevant and remains unmodified for long. Who is likely to remain available and committed to keeping it up to date. And if its standard of maintenance flags, then it becomes misleading. And the more important the OS might be, the worse the problem. And at what level of update does one list an item? Major releases? Sub-levels? Operational fixes and patches? If major levels without detailed discussion, then what will they mean even to informed users? If detailed minor releases then who would read and understand? Good luck and have fun, but ah hae ma doots... JonRichfield (talk) 06:29, 8 January 2018 (UTC)[reply]
    It's a good question. As I said above in the previous section, I think this exposes a lack of clarity in WP:NOT. "Common sense must be applied" isn't prescriptive, actionable advice that will lead a range of editors to independently produce the same results. This phrasing is relatively new and wasn't really discussed at any great length. (October 2013 discussion) Warren.talk , 00:54, 9 January 2018 (UTC)[reply]
  • Yes. While release history can be found in the documentation, I see the primary benefit of having the release history on the article as showing the timeline of development. I think that making the table default to collapsed might improve the article's bloated-ness though. Flipster14191 (talk) 19:23, 11 January 2018 (UTC)[reply]
  • No -- the two "yes but" answers above are in fact killer objections and should be read as "strong no" for purposes of judging consensus. If there is any sourceable, encyclopedic information in the history of releases, it can be delivered in paragraph form, with citations, just like all the other information in the article. --JBL (talk) 16:55, 15 January 2018 (UTC)[reply]
    Is this a indictment on presentation of tabular data on Wikipedia in general? If so, then I'd love to hear the same argument applied to sports scores. If not, then you need to make a case for why software version history in particular must not be presented in this fashion. Is demanding prose from editors a readability and usability win for the user? If you believe so, explain how. Warren.talk , 01:52, 16 January 2018 (UTC)[reply]
My broader feelings on this matter do not have any bearing on our policies on sourcing and weight. However, since you asked: in my experience, it is sometimes the case on Wikipedia that information is presented in a table as a way of covering for a lack of sourcing and encyclopedic interest. There are also lots of places on WP where lists are deployed sensibly. Unfortunately, this situation is clearly in the former category. --JBL (talk) 13:17, 16 January 2018 (UTC)[reply]
The discussion above is closed. Please do not modify it. Subsequent comments should be made on the appropriate discussion page. No further edits should be made to this discussion.

A Commons file used on this page or its Wikidata item has been nominated for deletion

The following Wikimedia Commons file used on this page or its Wikidata item has been nominated for deletion:

Participate in the deletion discussion at the nomination page. —Community Tech bot (talk) 10:39, 25 June 2020 (UTC)[reply]

Is the latest release 21.5 as stated or 22.1?

The page here says 21.5, while the system description page of a site my computer has logged into says that my Mac's kernel is "Darwin 22.1.0". This seems to contradict your claim, but I may be mistaken and am trying to find more definite confirmation elsewhere... ELSchissel (talk) 17:57, 31 October 2022 (UTC) (Edit: uname -r confirms that my MacOS 13 iMac is using Darwin 22.1.0.)[reply]

Is the DarwinBSD project legitimate? Notable enough to be listed here?

The reference to the DarwinBSD project was apparently added on 7 February 2023‎.

The URL http://darwinbsd.tk/ appears to be either dead or temporarily down, currently returning a 502 Bad Gateway response. The Wayback Machine has captures for this site between December 1, 2021 and April 7, 2023. From those captures, it appears that darwinbsd.tk is merely an alias for https://freeshell.de/~betounix/darwinbsd/index.html. The #darwinbsd Libera.Chat channel referenced from that page was created on 6/17/2021 and appears to have no content, except a link to darwinbsd.tk. The only nontrivial information on the page mirrors the content of an old SourceForge project by the same user (betounix) with no activity other than an old Darwin ISO uploaded in 2013: https://sourceforge.net/projects/darwinbsd/. All other internal links on the page are mailto URLs.

I would suggest that this reference should be removed, as there does not appear to be anything of significance available to readers. Tkmcinto (talk) 02:34, 20 April 2023 (UTC)[reply]

Currently proprietary?

Why does the infobox say it is "currently proprietary with open source components"? The bulk of the core Darwin code is open source (and to my knowledge hasn't been ever closed), it is just Macintosh/macOS and device driver code that isn't, which I wouldn't count as necessarily part of Darwin itself. I will change this to "open source with proprietary components" for now. Kreuner (talk) 11:18, 16 August 2023 (UTC)[reply]

Not sure what "Macintosh/macOS ... code" is. The GUI code is proprietary, as are most of the non-GUI frameworks, but that's not part of Darwin. However, the current version of launchd - which, being process 1, is definitely part of Darwin - is not open-source or even source-available.
That doesn't dictate whether the emphasis should be on the open-source or proprietary parts, however. Guy Harris (talk) 21:54, 16 August 2023 (UTC)[reply]
"The GUI code is proprietary, as are most of the non-GUI frameworks, but that's not part of Darwin" is precisely what I meant, and I believed calling it "currently proprietary with open source components" came as a result of somebody thinking the GUI was a part of Darwin. launchd however sure does sound like a proprietary component, I think "open source with proprietary components" is a good way to describe this situation. This is 100% still up for debate though, as it is impossible to create a fully Darwin system without relying on a third-party init. Kreuner (talk) 15:41, 19 August 2023 (UTC)[reply]