• @bus_factor
    link
    2511 months ago

    Using a file system is much less bad than dynamically allocating memory, at least as long as you keep a predefined set of files.

    • Troy
      link
      fedilink
      3611 months ago

      I hate to alarm you but… What is a file system except dynamically allocated memory. ;)

            • @owenfromcanada
              link
              English
              411 months ago

              If you want to get really freaky, try accessing the same flash or RAM from multiple instances of FreeRTOS running on a hypervisor.

              • @[email protected]
                link
                fedilink
                311 months ago

                Is that just like the shared memory model of parallel computing or are there any added complications? Have you done this before? Please do share your experiences if so cause now I’m interested :p

                • @owenfromcanada
                  link
                  English
                  311 months ago

                  It’s similar, but the general idea of a hypervisor is to separate resources and avoid this exact situation (it’s nuanced and there are some exceptions, but that’s the general use case).

                  The added complication would be that when you compile a binary for one virtual machine, the compiler may optimize things, blissfully unaware that there are other players possibly affecting memory. In a typical multithreaded environment, the compiler has a better picture of how shared resources are being used across threads, but that has to be declared manually for a hypervisor. So if you configure your hypervisor to share resources, you have to be even more vigilant in configuring the individual compilers to play nice.

                  I don’t have a ton of experience with embedded hypervisors, though. And it’s worth noting that there are lots of “hypervisors” out there, and some work very differently from others.

      • @bus_factor
        link
        311 months ago

        Yeah, that’s what I was implying, just didn’t want to write a whole novel about it.