Introducing UbuntuBSD
-
@scottalanmiller said:
@Dashrender said:
for us 'nix wannabes - what's the difference between the BSD kernel and the Linux kernel?
Two completely different kernels. Everything in them is unique. So different file systems, network stacks, schedulers, everything. Only the utilities running on top are the same.
How does this effect software running on them? I assume it must be compiled specifically for BSD?
-
@Dashrender said:
How does this effect software running on them? I assume it must be compiled specifically for BSD?
Nothing needs to be done. Linux and BSD are the same API - POSIX. And there is no concept of "compiling for an OS." OSes are not architectures. The idea that this is the case mostly comes from the 1990s era Windows and Mac issues because Windows was always IA32 and Mac was always M68K. So the two consumer OSes always ran on unique architectures. But this is BSD AMD64 and Linux AMD64, they share architecture AND API. Only things that would be normally unique are things that report on the kernel itself, like the kernel tools themselves.
-
So it's the lack of API that prevents Windows apps from running on Linux? Which WINE tries to provide?
-
@Dashrender said:
So it's the lack of API that prevents Windows apps from running on Linux? Which WINE tries to provide?
Well to a very small degree, but the Windows API (aka the system calls) have been replicated. Just as the POSIX ones are available via a role on Windows. System Calls are pretty easy to replicate.
What is lacking on Ubuntu (or CentOS.... whatever) that Windows has is an extensive library system of DLLs. Every one of which has to be fully replicated before some things will run. Wine's big goal is to replicate every version, of every DLL. That's a lot.
UbuntuBSD is able to take all of the normal Ubuntu DLLs and supply them on top of BSD. Ta da. Instant compatibility for 99%+ of software.
-
Likewise, another open source UNIX kernel that is well known and heavily used is the Mach microkernel from Carnegie Mellon. It is that kernel that Apple decided that it liked and they took FreeBSD, removed the BSD kernel and replaced it with Mach. Mach, Linux and BSD are all POSIX compliant so swapping out the kernels, while not something you do in an afternoon while bored, is relatively easy and stable. They all use the same API and the libraries that run on top of them are pretty universal. They all talk using the same system calls via C.
-
@scottalanmiller said:
Likewise, another open source UNIX kernel that is well known and heavily used is the Mach microkernel from Carnegie Mellon. It is that kernel that Apple decided that it liked and they took FreeBSD, removed the BSD kernel and replaced it with Mach. Mach, Linux and BSD are all POSIX compliant so swapping out the kernels, while not something you do in an afternoon while bored, is relatively easy and stable. They all use the same API and the libraries that run on top of them are pretty universal. They all talk using the same system calls via C.
I would assume that because there are so many different Kernels and types.... (even the Windows Kernel, in some respects) they are all better suited for different work loads?
-
@dafyre said:
@scottalanmiller said:
Likewise, another open source UNIX kernel that is well known and heavily used is the Mach microkernel from Carnegie Mellon. It is that kernel that Apple decided that it liked and they took FreeBSD, removed the BSD kernel and replaced it with Mach. Mach, Linux and BSD are all POSIX compliant so swapping out the kernels, while not something you do in an afternoon while bored, is relatively easy and stable. They all use the same API and the libraries that run on top of them are pretty universal. They all talk using the same system calls via C.
I would assume that because there are so many different Kernels and types.... (even the Windows Kernel, in some respects) they are all better suited for different work loads?
Yes. Linux has lots of options, BSD is really good at networking.
-
@scottalanmiller said:
@Dashrender said:
So it's the lack of API that prevents Windows apps from running on Linux? Which WINE tries to provide?
Well to a very small degree, but the Windows API (aka the system calls) have been replicated. Just as the POSIX ones are available via a role on Windows. System Calls are pretty easy to replicate.
What is lacking on Ubuntu (or CentOS.... whatever) that Windows has is an extensive library system of DLLs. Every one of which has to be fully replicated before some things will run. Wine's big goal is to replicate every version, of every DLL. That's a lot.
UbuntuBSD is able to take all of the normal Ubuntu DLLs and supply them on top of BSD. Ta da. Instant compatibility for 99%+ of software.
DLL's (Correct me if I'm wrong) are also the cause of a lot of the issues you run into with windows due to DLL versions etc.
-
@wirestyle22 said:
@scottalanmiller said:
@Dashrender said:
So it's the lack of API that prevents Windows apps from running on Linux? Which WINE tries to provide?
Well to a very small degree, but the Windows API (aka the system calls) have been replicated. Just as the POSIX ones are available via a role on Windows. System Calls are pretty easy to replicate.
What is lacking on Ubuntu (or CentOS.... whatever) that Windows has is an extensive library system of DLLs. Every one of which has to be fully replicated before some things will run. Wine's big goal is to replicate every version, of every DLL. That's a lot.
UbuntuBSD is able to take all of the normal Ubuntu DLLs and supply them on top of BSD. Ta da. Instant compatibility for 99%+ of software.
DLL's (Correct me if I'm wrong) are also the cause of a lot of the issues you run into with windows due to DLL versions etc.
It happens on Linux too... but to a lesser degree in modern times.
-
@wirestyle22 said:
@scottalanmiller said:
@Dashrender said:
So it's the lack of API that prevents Windows apps from running on Linux? Which WINE tries to provide?
Well to a very small degree, but the Windows API (aka the system calls) have been replicated. Just as the POSIX ones are available via a role on Windows. System Calls are pretty easy to replicate.
What is lacking on Ubuntu (or CentOS.... whatever) that Windows has is an extensive library system of DLLs. Every one of which has to be fully replicated before some things will run. Wine's big goal is to replicate every version, of every DLL. That's a lot.
UbuntuBSD is able to take all of the normal Ubuntu DLLs and supply them on top of BSD. Ta da. Instant compatibility for 99%+ of software.
DLL's (Correct me if I'm wrong) are also the cause of a lot of the issues you run into with windows due to DLL versions etc.
It's a dynamic library. They are about the same on Windows as dynamic libraries anywhere.
-
@dafyre said:
@wirestyle22 said:
@scottalanmiller said:
@Dashrender said:
So it's the lack of API that prevents Windows apps from running on Linux? Which WINE tries to provide?
Well to a very small degree, but the Windows API (aka the system calls) have been replicated. Just as the POSIX ones are available via a role on Windows. System Calls are pretty easy to replicate.
What is lacking on Ubuntu (or CentOS.... whatever) that Windows has is an extensive library system of DLLs. Every one of which has to be fully replicated before some things will run. Wine's big goal is to replicate every version, of every DLL. That's a lot.
UbuntuBSD is able to take all of the normal Ubuntu DLLs and supply them on top of BSD. Ta da. Instant compatibility for 99%+ of software.
DLL's (Correct me if I'm wrong) are also the cause of a lot of the issues you run into with windows due to DLL versions etc.
It happens on Linux too... but to a lesser degree in modern times.
Neither commonly have issues in modern times.
-
@scottalanmiller said:
@dafyre said:
@wirestyle22 said:
@scottalanmiller said:
@Dashrender said:
So it's the lack of API that prevents Windows apps from running on Linux? Which WINE tries to provide?
Well to a very small degree, but the Windows API (aka the system calls) have been replicated. Just as the POSIX ones are available via a role on Windows. System Calls are pretty easy to replicate.
What is lacking on Ubuntu (or CentOS.... whatever) that Windows has is an extensive library system of DLLs. Every one of which has to be fully replicated before some things will run. Wine's big goal is to replicate every version, of every DLL. That's a lot.
UbuntuBSD is able to take all of the normal Ubuntu DLLs and supply them on top of BSD. Ta da. Instant compatibility for 99%+ of software.
DLL's (Correct me if I'm wrong) are also the cause of a lot of the issues you run into with windows due to DLL versions etc.
It happens on Linux too... but to a lesser degree in modern times.
Neither commonly have issues in modern times.
Good to know.
-
But Linux has had this working better for decades And uses it MUCH more heavily, too.
-
@scottalanmiller said:
But Linux has had this working better for decades And uses it MUCH more heavily, too.
I didn't know that--well, that Linux used it more heavily. This is one of many the fuzzy parts of my knowledge
-
@wirestyle22 said:
@scottalanmiller said:
But Linux has had this working better for decades And uses it MUCH more heavily, too.
I didn't know that--well, that Linux used it more heavily. This is one of many the fuzzy parts of my knowledge
On Windows, it is VERY common for libraries to be statically compiled in. On Linux, strong library management is used to promote better patching and updates with leaner systems.
-
@scottalanmiller I don't think most people realise that Linux is a Unix (as in BSD and/or children of AT&T Unix V) clone, I even had a CS teacher years ago who claimed Linux was Unix, and no he didn't mean in the way it meets the POSIX requirements enough to be called Unix if they want to pay the price for it. As in it's a different tree with different branches, where as BSD you can trace back to AT&T Unix V directly -- he claimed it was a part of that tree.
From a userland perspective it's the same, which when I read above people talking about screen caps, in fact, that's the point of Linux is that from an API standpoint you're not really supposed to be able to tell the difference, and the programs which run on top shouldn't really be able to either. There are some specific differences, however, that Linux does differently, but installing Linux binary support on FreeBSD basically covers your bases, except in certain places where you have to do hacks because of reliance on differences (/proc, et al) between Unix (as in BSD) and Linux.
And I'm very proud nobody said GNU/Linux in this thread. The world would've been so much better off if Linus would've used the BSD libraries instead of GNU, which were openly available at the time (as they are now).
-
@tonyshowoff said:
@scottalanmiller I don't think most people realise that Linux is a Unix (as in BSD and/or children of AT&T Unix V) clone, I even had a CS teacher years ago who claimed Linux was Unix, and no he didn't mean in the way it meets the POSIX requirements enough to be called Unix if they want to pay the price for it. As in it's a different tree with different branches, where as BSD you can trace back to AT&T Unix V directly -- he claimed it was a part of that tree.
From a userland perspective it's the same, which when I read above people talking about screen caps, in fact, that's the point of Linux is that from an API standpoint you're not really supposed to be able to tell the difference, and the programs which run on top shouldn't really be able to either. There are some specific differences, however, that Linux does differently, but installing Linux binary support on FreeBSD basically covers your bases, except in certain places where you have to do hacks because of reliance on differences (/proc, et al) between Unix (as in BSD) and Linux.
And I'm very proud nobody said GNU/Linux in this thread. The world would've been so much better off if Linus would've used the BSD libraries instead of GNU, which were openly available at the time (as they are now).
I'm so glad I've never met anyone in real life that made sure to say GNU/Linux to make a point. I think I would have to kick them in the teeth.
-
Yeah, the GNU/Linux people seem to have died off long ago. It was one of those big trends once upon a time.
-
@scottalanmiller said:
Yeah, the GNU/Linux people seem to have died off long ago. It was one of those big trends once upon a time.
I've seen them on Reddit, or other forums. But I don't know many people IRL that probably even know what Linux is.
-
@scottalanmiller said:
Yeah, the GNU/Linux people seem to have died off long ago. It was one of those big trends once upon a time.
They still exist, they just aren't as prevalent. Their typical reasons are:
- Richard Stallman has done a lot for FOSS and deserves the recognition
Sort of, but not really. He's been anti-open source for years, the open source people have done a lot more than he has. If anything his forgiveness of child pornography and 1970s approach to computing (no passwords, whoever is using the computer at the moment should be able to do anything they want, etc), and his demand that GNU's name be included with Linux -- unlike every single other project in history, for example, it's MangoLassi, not nodeBB/MangoLassi -- has hurt the free software movement as well as open source.
- Seeing GNU will get people interested in the free software movement.
That's like saying if someone sees the words "Microsoft Windows" they'll care more about Microsoft's philosophies than Windows, i.e. nobody cares if the product works.
I wrote about their attitudes the other day, strangely enough:
I think they've largely died out because "Linux" is promoted as the name by the biggest people/companies involved with it. I know that officially Debian still uses the term "GNU/Linux" for some reason, but most people can't even pronounce their name correctly, so I think they focus on the wrong thing anyway -- it's a contraction of "Debra" and "Ian" so it's no more "Deebian" than Linux is "Lighnux."
I think LLVM is one of the greatest things ever, the goal is to replace all of the last pieces of the GNU toolchain (BSD already can replace most of them, but it's not as extensive) and it's open source. However, because it's not the GNU project, Stallman considers it evil and anti-freedom, because it doesn't praise him.
In all, most people who do know of Stallman, don't seem to want to give credit to someone who hasn't programmed in 30 years, has really terrible views, has a weird sense of entitlement, and has never held a real job outside of the academic community so him suggesting everyone work for free doesn't really go over well.