4 ms·
> It's a pity that she is working with FreeBSD, or it could have been of use to her. I suppose FreeBSD made more sense as a base considering MacOS is derived f
by gizdan 5y ago
> It's a pity that she is working with FreeBSD, or it could have been of use to her.
I suppose FreeBSD made more sense as a base considering MacOS is derived from BSD.
- the_why_of_y 5y agoFreeBSD differs quite substantially from the XNU kernel used by MacOS because XNU is based on Mach, and it was forked (Edit: from 4.3BSD) in 1988 - before Linux even existed. The XNU kernel does not have a stable syscall ABI so perhaps it doesn't matter if the syscalls are different because the implementation of libSystem can convert as appropriate in userspace (see also: WINE).
- nix23 5y ago>XNU is based on Mach Partially, XNU is Mach AND the FreeBSD-Kernel: https://www.youtube.com/watch?v=-7GMHB3Plc8 https://www.youtube.com/watch?v=-7GMHB3Plc8
- throw0101a 5y ago> MacOS because XNU is based on Mach, and it was forked (Edit: from 4.3BSD) in 1988 As another commenter noted: XNU = Mach + FreeBSD. What you are referring to is what NeXTSTEP was, Mach + BSD4: * https://en.wikipedia.org/wiki/NeXTSTEP#Unix https://en.wikipedia.org/wiki/NeXTSTEP#Unix By the time Apple got to them it was a few years later, and so they decided to updated that part of the kernel, and also brought in FreeBSD's userland.
- trasz 5y agoCould you perhaps relicense your implementation so it could be used outside of Linux?
- NotEvil 5y agoI don't think it's a licencing issue. It's implementation as both kernels uses different syscalls and have different architecture.
- rjsw 5y agoIt takes a lot of work to get the Linux GPU drivers to build for other operating systems.
- trasz 5y agoTrue. Although it’s way easier than it used to be, thanks to linuxkpi layer - the piece of FreeBSD kernel which implements various Linux kernel APIs.
- trasz 5y agoSyscalls are mostly the same, but indeed, the interface between the kernel and the file systems is very different. However, code which implements that interface on the file system is a relatively small part of the whole thing; most of the code should be reusable. Historical note: FreeBSD used to support XFS; I believe it was ported from Linux.
- eafer 5y agoI don't think I can, I'm using gpl code from other parts of the kernel. I'm not sure I would want to either, I put a lot of work into this and the gpl gives me more of a feeling of ownership. That said, there's nothing stopping you or anyone else from reworking my code into a (gpl-licensed) FUSE driver. I don't think it's a straightforward task, but it can definitely be done.