The OS has two modes of operation, it can write any byte in any adress of the memory based on data that it receive via the serial communication with the windows software (the memory configuration software). The user just writes any byte that he want in any adress of the memory. The user can also make files of memory by putting together a number of adress. The other mode of operation consist of reading the memory and acting the way that the bytes in the memory want. For example, I want to control a LCD, I need data bytes and command bytes, I will write those bytes in a specific adress of the memory, the processor will read those bytes and will display any data/command that I wrote. If the system doesn't need to display a data that I put in the memory, it can erase the bytes in the specific adress and write other bytes. The processor has a statut of "virtual slave" because it acts the way the memory wants. This OS adds a lot of flexibilities and capabilities to a processor and it can be used in any application that require memory capabilities. Now, let's talk about the hardware. There is two configuration of the hardware. The BHC and the CHC. BHC stands for "Basic Hardware configuration", it is the minimum that you need to run the OS, the OS will work with an ARM cortex m0/0+/m3 and a memory chip. You also need a serial communication like a FTDI cable. CHC stands for "complex hardware configuration", it is basicly BHC plus the components of your application (LCD, sensor...). For more details, watch the videos.