7

What if we had a universal distribution with pre-made hardware that could run software from any operating system such as macOS, Windows, Linux, Android, and iOS without the need for dual-booting or emulation?
Would it be possible for this to work perfectly?

Comments
  • 5
    It would explode. One f-ing big ball of fire like you've never seen before
  • 3
    So how do you see changing from one OS to an other without reboot/dual-boot ?
  • 6
    Impossible, apart from the technical impossibility you would not be able to run anything MacOs on anything but Apple hardware, to do so would result in a multi million dollar law suit. And I agree it would be Chernobyl.
  • 1
    @Grumm No, it's not meant to dual boot, just needs to have the ability to launch softwares from multiple OS. Like a cross-platform device with single interface.
  • 1
    Sorry, but sounds like a pipe dream :)

    So anyways, what's up with your name?
  • 0
    @Nanos This is highly illegal and would result in a law suit.
  • 0
    @helloworld Already aware about the law suit which is only a concern if the end product goes public. The original idea is just a blackbox for software engineers.

    If there is a possibility of achieving such a feat then it would really be great.
  • 1
    Y'all are fucking dumb talking about lawsuits and proprietary hardware. The question was whether it would be possible, not whether some lawyers would allow you to do it.

    It would indeed be possible to make such platform. First of all let's talk HW; Apple M2 chips use ARMv8.5-A instruction set, so you'd need hardware support for that, as well as x86 and x64 instruction sets; the best option would be to derive such CPU from existing Intel chips, since they already use ARM cores under a layer of microcode to emulate x86 and x64 instructions, all you'd need is a way to expose both interfaces at the same time and use whichever each program needs. A bigger problem would be emulating system calls, but Wine does a decent job at it for Windows apps, so it's certainly possible to do the same for iOS and macOS. Android uses Linux kernel anyway, so you'd just need to port a few things from AOSP to make it work. But the biggest issue would be figuring out a unified UI for that whole thing.
  • 0
    @GiddyNaya So any program created in .net MAUI or Xamarin apps... Maybe the hardware is fine but the software devs who are not trying hard enough ?
  • 0
    What do you mean exactly by "without emulation"? I think this requirement is also stupid. Is a AMD654 CPU that runs in real mode emulation? Technically it is, why not allow it?
  • 1
    Since you didn't say it has to run the vast majority of software, we already have a solution for that: It is called Web application. Web applications can run on Linux, Windows, Mac OS X, Android, ... They are not really emulated but interpreted.

    They are far from perfect, there are many problems with Web applications, but it would fulfil your requirement.
  • 0
    @Nanos what phone is it? Pinephone?
  • 0
    I had assumed the question was as straightforward as it could be and I fail to understand the misunderstandings from these comments.

    Maybe a rephrase as a request would make it easier to understand:

    "Build me an Operating System that is a port of macOS, Windows, Linux, Android and IOS combined. This OS should be able to run softwares from any of the parent OS without terminating a running one (dual-boot) nor emulate (running inside an isolated container) but rather execute any software from a single interface like a single machine."

    Imagine a group of OS running within an environment and could communicate with each other under a unified UI.

    How possible is such a task?
  • 1
    @GiddyNaya There would be some level of emulating going on: your instructionset cannot be x86 and ARM and Apple Silicon (≈ARM) all at once.
  • 0
    If you're fine with non-isolated, "kernel" level emulation for processes than it may be conceptually possible but differences in memory handling, file system setups, process handling would make it a conveluted and most likely impractical mess.
  • 0
    @PotatoCookie Would emulating be able to achieve a set of unified operations among the OS?
  • 0
    @GiddyNaya But why do you want a new OS that can do it all ?

    When you buy a car, you can swap the tires to any other brand you want without changing the entire car (car = os here)

    Xamarin and .NET MAUI exists for a reason... Which is exactly for solving the problem you mention. Create 1 software and build it for any OS possible. (See the similarities with the tires (software) and the car (OS) ?)
  • 2
    @GiddyNaya you would be able to somewhat compare it to WSL but it'd still have major things that need fixing: filesystems is a major one. Windows executables just don't natively like EXT4, and android does some funky permission stuff with app-accessible storage (Symlink to other memory with other permissions if I'm not mistaken).

    No clue on the mac/iOS side but probably has obstacles as well.

    Hell just look at the struggle Apple has been going through with the Intel -> Apple Silicon shift. And that's even a somewhat contained, organized base of hardware and software.

    Now imagine doing that struggle with two more operating system and instruction set families attached.

    My conclusion would be to not even start the project if this ever passed my desk.

    Dualboot or VM's are way more practical and a "unified" setup would serve no major advantage over them.
  • 0
    @Grumm There is a reason "dual-booting" and "emulators" exist. I believe that should answer your why.
  • 0
    ..but the question isn't about it's purpose or legal requirements though. It's if it can be done and if yes then how. Otherwise if no then reason why.
  • 1
    Your answer is: technically yes, someone (insane enough) could write a translation layer for all the involved file systems and all the involved instruction sets to a single one and allow you to run it all "in one go". None (or one) of the OSs would run natively and the rest wouldn't, because that's just how instruction sets work.

    Another approach could be including each type of CPU in a mega machine and somehow hook them up to play nicely but that has never been done in such a way afaik (even the Nintendo DSi's ARM7 and ARM9 cores need to switch control to each other and can't really properly communicate with each other, and that's just for chips with the same family of instruction set).

    So technically: yes, can do probably. Just like we could technically create cars with jet engines and water propellers on it, and a nuclear reactor as battery.

    Realistically: no, too complex and adds no value.
  • 1
    This sounds like a system that would leave users and tech support traumatized when a problem occurs.
  • 1
    This isn't a hardware question at all. And you already have it for Linux and Windows because Wine and Proton exist. So the solution would be to "just" make more Wine-like software adaptors to support applications written for all the other OSes you want to support.

    Also: VMs exist, so you can literally just boot the actual OSes inside VMs. You can avoid the need for emulating other instruction sets by transpiling the binaries (but someone who isn't an anti-emulation zealot would just go for emulation instead).

    Obviously it wouldn't work perfectly though, as the applications don't work perfectly even on their original hardware and OS...
  • 0
    @Oktokolo also for transpiling you'd usually need the source.
  • 0
    @PotatoCookie Only when transpiling from source. Transpiling from ARM64 machine code to AMD64 machine code (or the other way rounf) should often work just fine. It probably fails for selfmodifying code and code hardened against modifications (that is why you have to use AMD64 as your target hardware as there is no way to get uncracked Denuvo games to work on ARM64).

    Also, you started your answer to me with "also", but i don't see your first answer to me. Did it contain some super-controversial content way too hot for DevRant?
  • 1
    @Oktokolo oh no, English isn't my mother tongue so the also just came out of the blue. 😋

    I wasn't aware of the ARM64 <-> AMD64 possibility, cool!
  • 1
    @Nanos Sortof, yes. In this case a PC masterrace CPU shows a less complex CPU how to execute software properly 🧐
  • 1
  • 0
    @PotatoCookie Oh nice - should i invest the points into premium or keep accumulating till i have enough for staking?
  • 1
    @Oktokolo I don't even know what staking entails.
Add Comment