Multi-Core: Introduction
{"Image DocumentName": "Multi-Core: Introduction", "Image ImageDescription": "Airb. SW. Airb. SW. Airb. SW. Intended Function. HW adaptation Layer (BSP) Hypervisor layer (when required) Operating System. Drivers. Airborne Software. Drivers. Drivers. Drivers. O.S. O.S. O.S. Hypervisor. BSP. BSP. BSP. Core. Core. Core. Core. Core. Core. Cache. Cache. Cache. Cache. Cache. Cache. External Bus. External Network. BUS. Register. Register. BUS. Register. Register. EXT MEMORY. BOARD SUPPORT PACKAGE. BSP_Remark1: When a Hypervisor is not required, privileged accesses has to be given in Supervisor or Hypervisor mode to the Operating System to allow programming of shared resources like hardware accelerators, arbiters, in order to fulfill safety requirements such as determinism. BSP_Remark2: if two Operating Systems are used on, for example, a dual-core processor, one of these two Operating Systems has to be set in the Supervisor or Hypervisor mode to have the privilege to access to programming of shared resources, the second one has to be set respectively in User or Supervisor mode. HYPERVISOR. HYP_Remark1: we see that there is a relationship between the intended function and objectives with respect to safety and foreseeable conditions, as, at least for functional operation, the influence of external Airborne Software input authority is limited by such a hypervisor, while the latter is providing the deterministic behavior, performance characteristics and integrity necessary to the end-user Airborne Software. HYP_Remark2: if a Hypervisor is not required, the Airborne Software applications have to be clearly described to demonstrate the absence of conflicts (between Airborne Software in AMP or between threads or processes in SMP) or that conflicts are managed using, for example, Airborne Software DAL level for managing access priorities to shared resources. OPERATING SYSTEM. Real-time: A multitasking operating system that aims at executing real-time Airborne Software. Real-time operating systems often use specialized scheduling algorithms so that they can achieve a deterministic nature of behavior. The main objective of real-time operating systems is their quick and predictable response to events. They have an event-driven or time-sharing design that switches between tasks based on their priorities or external events while time-sharing operating systems switch tasks based on clock interrupts. Multi-user: A multi-user operating system allows multiple users to access a computer system at the same time. Note that Single-user operating systems have only one user but may allow multiple programs to run at the same time. Multi-tasking vs. single-tasking: A multi-tasking operating system allows more than one program to be running at a time; an ARINC653 Operating System is a Multi-tasking one. A single-tasking system has only one running program. Multi-tasking can be of two types: pre-emptive or co-operative. In pre-emptive multitasking, the operating system slices the CPU time and dedicates one slot to each of the programs. Distributed: A distributed operating system manages a group of independent cores and makes them appear to be a single processor.. Embedded: They are designed to operate on small machines like PDA\u2019s with less autonomy. They are able to operate with a limited number of resources. They are very compact and extremely efficient by design. DEVICE DRIVER. Pieces of software developed to mask the complexity of interactions with Hardware devices. EXT MEMORY. INTERCONNECT. Register. Register. Register. Register.", "Image XResolution": "37", "Image YResolution": "37", "Image ResolutionUnit": "Pixels/Centimeter", "Image Software": "SlidePlayer", "Image YCbCrPositioning": "Centered"}