haiku
v86
haiku | v86 | |
---|---|---|
11 | 153 | |
1,765 | 19,127 | |
0.7% | - | |
9.8 | 9.1 | |
5 days ago | 6 days ago | |
C++ | Rust | |
GNU General Public License v3.0 or later | BSD 2-clause "Simplified" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
haiku
-
Haiku's (Kernel) Condition Variables API: Design and Implementation
Haiku uses the System V ABI (mostly.) So, we're doing the same things Linux and the BSDs are here, simply by using GCC or Clang without any special tuning here.
> I reckon that before trying to claim you've innovated here it might be a good sense check to compare baseline.
The baseline is "what are other operating systems' kernel- and userland-level condition variables APIs?" And none of the ones I looked at had anything like what Haiku has here, they all have something which is the more classical "lock-switched condvars" just like POSIX has.
The API itself does not depend on what memory ordering semantics are any more than a "mutex_lock()" API does. The implementation will be somewhat contingent on it, of course, but those are two separate matters.
> What exactly are the Haiku atomic operations, in terms of the C++ 11 Memory Model?
The atomic_() functions are (on most architectures, x86 included) implemented using GCC/Clang's __atomic_* functions, with various __ATOMIC_* orderings chosen as appropriate. You can see them defined in the system header here: https://github.com/haiku/haiku/blob/master/headers/os/suppor...
> because you're innovating before 2011, you're inventing the model
No, not really? GCC has had atomic builtins since at least 4.1.0 in 2006. The documentation (https://gcc.gnu.org/onlinedocs/gcc-4.1.0/gcc/Atomic-Builtins...) says: "In most cases, these builtins are considered a full barrier. That is, no memory operand will be moved across the operation, either forward or backward." -- which is basically equivalent to today's __ATOMIC_SEQ_CST.
> so Haiku is off in the jungle on its own and everybody else has a map now, figure out where you are on that map first.
We already did that years ago. The atomic_() functions linked above in SupportDefs.h have been implemented using the C++11-standard GCC builtins since 2014, and the older __sync_ builtins for years before that.
Anyway, the algorithm described in this article, even if Haiku's atomic functions were not 1:1 with C++11-standard definitions (which they are, as noted above), is clearly portable to other OS kernels. So I am not sure what basis your comment has, regardless.
-
Problems while building haiku from source
I'm currently trying to build Haiku from source (following https://github.com/haiku/haiku/blob/master/ReadMe.Compiling.md), but I'm getting errors while building with "jam -q -j12 @nightly-anyboot".
- Haiku R1/beta4 has been released
-
HaikuOS Device Driver References
Something like this? https://github.com/haiku/haiku/tree/master/src/add-ons/accelerants/radeon
- Haiku Beta4 Release Near?
- How to programmatically find out if computer is on
v86
- Run Windows on the browser with WASM power
-
WASI 0.2.0 and Why It Matters
> As a thought experiment, we're almost there! We could technically have `win95.img + bochs86vm.wasm + autorun.inf + msword.exe` wrapped in a "browser evaluator"
I looked into this and... holy crap! We are there. Not for modern programs quite yet, sure, but this is amazing. You can use Windows 2000 from your browser.
https://copy.sh/v86/?profile=windows2000
-
Is offline-first not enough? Do we need "serverfree"?
I think you are looking for Shadow.
https://shadow.goose.icu
Or just the whole kitchen sink. Why not?
http://copy.sh/v86/?profile=windows98
- Virtual Computer Museum – VNC into Archaic Windows Systems
-
Container2wasm: Convert Containers to WASM Blobs
Also: https://github.com/copy/v86 - more productized browser x86 runtime, used by eg https://github.com/snaplet/postgres-wasm
-
Show HN: SQL Polyglot
Wonder if you could put all those databases in a Linux image and boot it using v86 [0], eliminating the need for a server.
[0] https://github.com/copy/v86
- Hot Dog Linux
-
Kolibri OS: fits on a floppy disk, programmed using interrupts
Trying it out in https://copy.sh/v86/?profile=kolibrios , it's also clearly a love letter to Windows 95 in particular. That could be an unstated goal here, create a very particular PC experience under very particular constraints. I don't know anything about the creator but it's very possible that this kind of work was actually their career in the 90s.
It's incredible how much work was done. Maybe this should be an internet curiosity like how TempleOS has become, though Terry's personality was a unique factor.
-
VMware is now part of Broadcom
hmm, why would people still use VMWare? Isn't vbox open source, or even things such as https://copy.sh/v86/ would do most virtualization trick now days?
-
Running Windows 98 on the Browser
Oh, there are more OSes one can use at the parent page:
https://copy.sh/v86/
My highlights:
- First version of Windows (1.01)
- SerenityOS <3
- and even ReactOS
What are some alternatives?
serenity - The Serenity Operating System 🐞
Chicago95 - A rendition of everyone's favorite 1995 Microsoft operating system for Linux.
Lemon-OS - The Lemon Operating System
webvm - Virtual Machine for the Web
skift - 🥑 The delightful operating system.
yoroi-frontend - Yoroi Wallet - Cardano ADA Wallet - Your gateway to the financial world (extension frontend)
Simply-Love-SM5 - a StepMania 5 theme for the post-ITG community
Electron - :electron: Build cross-platform desktop apps with JavaScript, HTML, and CSS
sweb - SWEB Educational OS
macos-virtualbox - Push-button installer of macOS Catalina, Mojave, and High Sierra guests in Virtualbox on x86 CPUs for Windows, Linux, and macOS
Quaternion - A Qt-based IM client for Matrix
uBlock-issues - This is the community-maintained issue tracker for uBlock Origin