Unmanned Systems Technology 001 | UAV Factory Penguin C | Real-time operating systems | Hirth S1218 two-stroke twin | Base stations | ASV C-Enduro | Composites | Datacomms
32 view, multicore adds symmetric multi- processing (SMP), which allows different operating systems to run on separate cores of the same type or a single operating system to run across all of them, along with the management of the processing requirements of each task. This allows the performance of the system to be scalable, and allows the developer to add the safety and security without having to radically change the hardware. A simple system can use one core, while more performance can be provided by adding more cores, all running the same software. One increasingly popular way to provide the real-time capability and additional operating systems with a multicore system is by using a technique known as time and space partitioning. This allows software developers to use different operating systems securely on the same hardware at the same time by adding another layer of software. This layer is called the hypervisor, which controls the access of the applications to the processor and the memory, and like the RTOS kernel it is a very small piece of code with a small attack surface. This allows for totally separate environments where communications across the partitions between them are tightly controlled. This then allows an RTOS (or other operating systems) to run in one partition with its own processing and memory resources. This can be a scheduler, with another operating system such as Linux or even a bare metal application running in another partition. So, if the Linux partition is compromised or fails, it cannot impact on the performance of the RTOS partition, providing a secure and safe environment. Achieving this is a non-trivial task though, because the RTOS also integrates various software health monitoring capabilities in the certified environment with ways of handling error propogation between the modular operating system and the partition operating system, and that has to be carefully handled to ensure there are no security vulnerabilities Communications between partitions is not the only issue either; the memory subsystems are also potentially vulnerable, as in a poorly designed system malicious code could sit in a partition and wait for other code to be loaded in. Similarly, residual code could corrupt any new code loaded in. So an MMU is a key piece of the overall security The Mars Curiosity rover uses a central RTOS for real-time control and communications, and a separate RTOS (from a different supplier) in some of its instruments In a poorly designed system malicious code might sit in a partition waiting for other code to be loaded November 2014 | Unmanned Systems Technology
Made with FlippingBook
RkJQdWJsaXNoZXIy MjI2Mzk4