6 ms·
I was completely oblivious to the existence of haiku until i saw a couple posts on HN. Is there any tl;dr version of how it is different than let's say a linux
by gtsop 5y ago
I was completely oblivious to the existence of haiku until i saw a couple posts on HN. Is there any tl;dr version of how it is different than let's say a linux distro?
- Ygg2 5y agoIt's derived from BeOS, rather than a Unix. Also it's a hybrid kernel written in C++, unlike Linux which is monolithic kernel in C.
- capableweb 5y agoWhich means: - Different Kernel (based on NewOS if I'm not wrong) - Alright POSIX support but not 100% - Haiku has is unified base/GUI/OS compared to Linux distributions, that often choose their own window managers/composers/custom kernels (sometimes) and so on. One example is that the GUI is driven by the kernel in Haiku, in comparison to Linux distributions that often use X11 or similar software between - Different bootloader that seems more Windows OS aware than GRUB et al - Haiku focuses on personal computing, compared to Linux that (mostly) feels to aim for server usage, with supporting personal computing. But sometimes those things are at odds, and Linux allows you to configure it to be better for one or the other use case, while Haiku aims strictly for personal computing. - Haiku/BeOS always had multithreading/multi-processor in mind for it's design. If it's faster/better or not I'm not sure, but the focus been there since early - OOP API for development of Haiku software (if that's better not is an exercise left to the reader) I think the biggest selling point of Haiku is it's unity regarding the entire operating system being designed for one specific use case: personal computing. So responsiveness of the GUI is prioritized because that's the best for personal usage, while Linux (can) make other tradeoffs while allowing you to customize it. I'm writing this from the perspective of someone who test-driven Haiku a couple of times but never used it full-time, but am a daily user of Linux distributions (Arch, NixOS and Ubuntu). Some things might be wrong, I'm happy to be corrected if so, but this is what I've gathered from my usage and reading about it a little every time it pops up somewhere.
- hestefisk 5y agoIs it multi-user?
- orionblastar 5y agoNot yet, like the Amiga there is no login. It is still in beta and needs hard drive encryption as well.
- rvense 5y agoI don't know the details about Haiku, but at the end of its life, BeOS had some kind of multiuser support, in that the OS was aware of UNIX-like permissions in the filesystem (and for processes I think). But there was no GUI for logging in, so you were always root. It was meant for single-user workstations. Not having multiple users was not really a problem, except that it made (makes) some people look down their noses. In this day and age, the main security issue on my workstation is that I all applications - including the browser that downloads a bunch of untrusted code and runs it willy-nilly - run as the same user that owns all my important files. I'm a lot more concerned about what's in my home directory than anything under /usr! So if and when Haiku adds security measures to isolate applications from each other, I would prefer they looked at some kind of sandboxing to isolate every app from each other, rather than just copying the basic UNIX model, which does basically nothing for the problems people actually have. (OK, if you need to share a computer which another person you can't have separate settings and browser histories etc., but.. I don't know if that's really such a big deal that it needs to be tackled before the other one)
- rzzzt 5y ago> you were always root baron :)
- AnIdiotOnTheNet 5y agoWhat is the virtue of a multi-user desktop? There are vanishingly few use cases for such a beast.
- tialaramex 5y ago> Also it's a hybrid kernel written in C++, unlike Linux which is monolithic kernel in C. "Hybrid" doesn't mean anything here. The "hybrid" design claims all the benefits of a monolithic kernel, without the disadvantages of a microkernel. Huh. Wait, let's read that again. It's a monolithic kernel with better marketing. Even the networking, which in BeOS back in the 1990s was genuinely userspace code - is baked inside the Haiku kernel just like the IP stack in Linux. C++ is not used very much in Haiku's kernel. This is because the Haiku kernel ABI boundaries are defined in C not C++ and because they're stuck with stuff from last century for compatibility reasons. If you know C++ 20 you will find Haiku's C++ dialect pretty archaic, they don't yet have C++ 11 era smart pointers for example. In practice, unlike Linux the Haiku kernel has a very 1980s attitude to hardware, it's big on "probing" at boot time for devices, like DOS would have, making it a poor fit for modern intelligent peripherals. As a hack USB is treated a bit differently so that at least it has some sort of "hot plug" like a 1990s PC. Where Haiku tried to go beyond probing they chose something very strange, they focus on capability discovery. So Haiku's thing is, you want a sound device, lets look for a sound device, I can't see one, give up. In Linux, discovery is driven by the peripherals, so this is a PCI controller, let us explore the PCI bus, OK there's a USB controller on it, let's explore the USB bus, OK there's an Intel HDA controller on it, let's explore that, it's a PCM output. We can play sound through that. Haiku's approach might fit well in some other universe, but the Linux strategy matches how your hardware actually works in our universe.
- waddlesplash 5y ago(Haiku developer here.) We have our own homegrown smart pointers and do make plenty of use of them, though we could stand to make more. Already pretty much any short-lived objects (i.e. that have no lifetime beyond the function they are immediately in) are smart-pointer-managed. The "probing" approach needs a rewrite and we know it. Most of that code is confined to about 2-3 files inside the kernel. It will be a big job to fix it, but we won't need to reinvent the world. Eventually I or someone else will probably get around to it, but we haven't needed it yet; the people who need PCI hotplugging will have to do without Haiku for now. (Or they can submit patches :)
- cable2600 5y agoHaikuOS https://www.haiku-os.org/ https://www.haiku-os.org/ is a free and open source rewrite of BeOS using APIs it can run BeOS code and has had a lot of apps portered to it. It needs less memory than Linux and is more like ReactOS https://reactos.org/ https://reactos.org/ when they add in the WINE porting to run WIN32 and WIN64 apps. BETA3 is stable enough to use a web browser and email program to get things done. It can be installed on old retro legacy PCs to make better use of them. Run it in a virtual machine first.
- fernandotakai 5y agonitpicking, but the OS is called just "haiku", not haikuos.
- nyanpasu64 5y agoBeta 3 won't boot on my Zen 3 desktop. Should I try the latest nightly, report a bug, or only run it on older hardware?
- fold3 5y agoI'd recommend older hardware or in a VM.
- waddlesplash 5y ago(Haiku developer here.) It works on my Zen 2 machine and I'm pretty sure one other developer runs it on Zen 3. Note that you have to use the EFI loader (only on x86_64) and you might need to use the fail-safe video driver if you get a black screen after the splash. If that doesn't work, yes, file a ticket.
- nyanpasu64 5y ago> Note that you have to use the EFI loader (only on x86_64) Does that mean booting into my flash drive using EFI boot rather than MBR? In EFI boot, Haiku reboots itself after lighting up 0 tiles, and in MBR boot, Haiku hangs at 0 tiles lit. And one time when I hit power, my motherboard didn't power down, but remained on with a black screen, and I smelled magic smoke. My computer still works... for now. > use the fail-safe video driver if you get a black screen after the splash If I hold Shift and/or Space during boot, the same thing happens. Note that I have a Nvidia GT 730 GPU salvaged from an older machine. I suppose I'll file a ticket. EDIT: I can boot nightly 55756 if I hold Shift while restarting Windows, or run `efibootmgr -n ....`, but run into the same self-reboot issue if I press F12 from my motherboard. EDIT2: https://dev.haiku-os.org/ticket/17515 https://dev.haiku-os.org/ticket/17515