Which form of BSD aligns the most with the Single UNIX Specification? reddit / BSD ---------------------------------------------------------------------- wazzup7603 · 2023-03-11 20:30 [View Poll](https://www.reddit.com/poll/11ou8e9) ---------------------------------------------------------------------- kileel · 2023-03-11 22:18 (voted other because I wanted to see the results) It looks like you're just getting a survey of BSD users :P ---------------------------------------------------------------------- Tireseas · 2023-03-11 22:50 AFAIK FreeBSD is the only one that ever made it a point to try and that was some time ago. It's actually funny, there are Linux distros that explicitly went for UNIX certification and got it but the BSD world, like much of the rest of the OS space never actually cared as SUS is basically just a marketing point. ---------------------------------------------------------------------- gant696 · 2023-03-11 22:50 Using FreeBSD but want to get into KFreeBSD ---------------------------------------------------------------------- pedantic_pineapple · 2023-03-11 22:56 Does macOS count? ---------------------------------------------------------------------- Tireseas · 2023-03-11 22:58 I wouldn't say so. Darwin isn't part of the BSD family of OSes, it just uses some BSD derived code (among quite a few other things). ---------------------------------------------------------------------- theRealNilz02 · 2023-03-12 00:06 MacOS ---------------------------------------------------------------------- clickbg · 2023-03-12 04:31 If OSX counts then Solaris should be the winner of this poll :D ---------------------------------------------------------------------- yasarix · 2023-03-12 05:20 Isn’t Solaris based on System V? ---------------------------------------------------------------------- theRealNilz02 · 2023-03-12 07:11 If MacOS counts OSX counts aa Well. And Solaris. It's Not called OSX anymore. ---------------------------------------------------------------------- pedersenk · 2023-03-12 11:20 Indeed. macOS has a BSD subsystem (similar to Microsoft's Services for UNIX subsystem) but that is pretty much it. I think this is the reason for this "macOS is BSD" misinformation. ---------------------------------------------------------------------- clickbg · 2023-03-12 11:54 Yes and no, it was based on SunOS which originally was based on BSD but later was based on System V Release 4 and renamed to Solaris. Later versions exchanged a lot of code with FreeBSD directly but Solaris was never officially a BSD, it was a certified UNIX (whatever that means anyway). Arguably there is a lot more Solaris code in a modern BSD than Apple code, ZFS, zones (jails) and so on are all things invented at SUN. OSX and macOS have similar history but with the distinction that Apple changed their OS a few times starting with A/UX based on System V and moving eventually to Next which barrows from BSD but is contested if it was a BSD. Modern macOS is very far away from BSD but even FreeBSD is far away from it. My joke was that just because something used a feature or a piece of code from BSD doesn’t mean it’s BSD. If that was true Windows is BSD as well. Modern survivors from the UNIX era are very different than their initial versions and arguing if they are this or that is pointless IMO. ---------------------------------------------------------------------- pedantic_pineapple · 2023-03-12 16:19 I feel like this is misleading. Windows basically just has a Linux emulator, while macOS's userspace was built from the start as a unix, with a significant portion taken from FreeBSD - that's not a subsytem, it's integral to the OS and cannot be seperated like WSL can. ---------------------------------------------------------------------- pedersenk · 2023-03-12 16:32 WSL1 was a \*bit\* closer and more interesting than the Hyper-V virtualization/emulation that WSL2 does. However, I was specifically discussing [SFU](https://en.wikipedia.org/wiki/Windows_Services_for_UNIX). This came much earlier and is actually based more on Interix and OpenBSD. No Linux involved. I am partially in agreement in that macOS uses \*more\* of the BSD layer than Windows did (i.e it was optional after all). But it is still a smaller part and they also now use a lot of GNU userland (screen, vim, etc) which could weaken their reliance on the BSD subsystem even more. Interestingly macOS and Window's Winsock are both very based on BSD's sockets implementation. There is a lot of subsystem / adapter layers for both. ---------------------------------------------------------------------- bastardoperator · 2023-03-12 18:09 No. It's not a layer/subsystem, it's BSD userland and a UNIX mach kernel. MacOS is a certified UNIX 03 platform. https://www.opengroup.org/openbrand/register/brand3683.htm ---------------------------------------------------------------------- pedersenk · 2023-03-12 18:47 >No. It's not a layer/subsystem, it's BSD userland and a UNIX mach kernel. MacOS is a certified UNIX 03 platform. It is certainly a layer. As per the Apple docs here. [https://developer.apple.com/library/archive/documentation/Darwin/Conc eptual/KernelProgramming/BSD/BSD.html](https://developer.apple.com/lib rary/archive/documentation/Darwin/Conceptual/KernelProgramming/BSD/BSD .html) ​ >Although the BSD layer of OS X is derived from 4.4BSD, keep in mind that it is not identical to 4.4BSD Also. The Mach kernel is not UNIX. It is a micro kernel; more similar to GNU Hurd's Mach kernel (same design, different implementation. Apple calls their's XNU). macOS is a certified UNIX in the same way that some Linux distros are. For example [Inspur K-UX](https://www.opengroup.org/openbrand/register/brand3617.htm). Very ironically FreeBSD, OpenBSD, etc do not have this. And interestingly they shouldn't either because the "UNIX license" encumbered parts should have been stripped out during the BSD4.4Lite, BSD/Net days. macOS has a mixed userland; i.e it favours GNU Vim over BSD's nvi and previously included bash, etc. However it also has some SysV in there too. Its compilers and build tools (gmake, gdb, gcc, etc) were also traditionally GNU (although so were BSD's until Clang appeared!) During the installer of Mac OS X (10.4 if I recall), it specifically has a section called "Installing BSD subsystem" which I always thought would be quite interesting to see exactly what files it was dealing with. ---------------------------------------------------------------------- bastardoperator · 2023-03-12 19:10 "Mach was developed as a replacement for the kernel in the BSD version of Unix" Secondly there is no certification board for Linux because Linux by itself is just a kernel, not an OS, unlike every UNIX platform before/after it. Lastly, BSD has never used GNU tools, the reason BSD is considered an actual OS and not just a kernel is because it ships/verions it's userland. The compiler on BSD systems has always been CC, not GCC. [CC vs GCC](http://www.differencebetween.net/technology/software- technology/difference-between-gcc-and-cc-compiler/#:~:text=CC%20is%20t he%20name%20given,the%20GNU%20Compiler%20operating%20system.) [Compiling with cc](https://docs.freebsd.org/en/books/developers- handbook/tools/#tools-compiling) <- FreeBSD handbook. You're kind of just making shit up at this point, please stop. ---------------------------------------------------------------------- pedersenk · 2023-03-12 19:25 >Mach was developed as a replacement for the kernel in the BSD version of Unix Agreed. This is what Apple did. This is also why macOS is very much not a BSD OS. >Secondly there is no certification board for Linux because Linux by itself is just a kernel, not an OS, unlike every UNIX platform before/after it. Also agreed. The Inspur Linux **distro** I linked you to above is what gained UNIX certification. Pretty much any OS can do it, if enough money is paid and the test suite is passed. >Lastly, BSD has never used GNU tools This is incorrect. Before Clang came along, all the BSD's used the GNU compiler (4.2 due to license reasons). You can see the exact commit this changed here: [https://github.com/freebsd/freebsd-src/commit/52fcc2c3146b5875a1ec0fb 7460dd382ab0e5b3b](https://github.com/freebsd/freebsd- src/commit/52fcc2c3146b5875a1ec0fb7460dd382ab0e5b3b) This may be before your time however so you may not have known. For some architectures that Clang/LLVM is not yet supporting, OpenBSD still has GCC in base. Some info [here](https://www.cambus.net/the- state-of-toolchains-in-openbsd/). I mean, which compiler do you think was used as `cc` before Clang existed? OpenBSD tried with PCC for a while but it just wasn't quite up to scratch unfortunately. For some other GNU tools that FreeBSD used/still uses; check out their wiki [here](https://wiki.freebsd.org/GPLinBase). ​ >You're kind of just making shit up at this point, please stop Grow up kiddo. ---------------------------------------------------------------------- Sndr666 · 2023-03-13 09:26 If MacOS counts, then so does wsl. ---------------------------------------------------------------------- jmcunx · 2023-03-13 23:34 I went with NetBSD, to me it seems the closest, with OpenBSD a very close second. The reason was both seem very similar to AIX which I have worked with for a while.