This isn’t a rip on RISC-V but it’s something I notice a lot with ARM and RISC SBCs compared to x86, which seems to support Linux, Windows, MacOS regardless of the device specs.

On other platforms, the developers have to build special iso images for each device, even though the underlying OS supports the whole architecture.

If I wanted to move to a new device (say, upgrade my Raspberry pi 4B to an Orange Pi, or other RISC-V alternatives) I’d have to ensure the new device had support from my OS choice, download a new image for it, and manually port stuff across. (as far as I can tell).

What’s the technical reason that x86 can configure the OS on the fly but ARM/RISC can’t?

  • @dustyData
    link
    11 year ago

    Age. Every risc-v new computer is a bespoke chip design. While most x86 chips are variations of designs that have existed for decades.

    One of the most important jobs of the OS is to interface software and hardware. New hardware needs new definitions to interoperate with the user level software (drivers). Which mean entirely new and bespoke OS images. While new x86 have some form of backwards compatibility with old drivers. Some old OS images work with some newer hardware.

    Think of Android, where only one particular OS image made by the vendor works with a particular hardware (ARM chip). While it has taken linux a long time to get the kernel working on ARM phones, only a few phones are actually supported. This same reality applies to risc-v. Bespoke hardware needs bespoke software.

  • @rsh
    link
    English
    -11 year ago

    I’m not a hardware engineer or a programmer, but I’m guessing it has to do with the reduced number of instructions on the ARM/RISC CPUs.