Interprocess Communication Utilising Special Purpose Hardware
Sammanfattning: Real-time systems are computer systems with constraints on the timing ofactions. To ease the development and maintenance of application software,real-time systems often make use of a real-time operating system (RTOS).Its main task is management and scheduling of application processes(tasks). Other functions are interprocess communication, interrupthandling, memory management etc.Sometimes it is hard (or even impossible) to meet the time constraintsspecified for a real-time system, resulting in an incorrectly functioningapplication. A possible remedy is to redesign the system by upgrading theprocessor and/or remove functionality. An alternative approach is to use aspecial purpose hardware RTOS accelerator. The aim of such an acceleratoris to speedup RTOS functions that impose big overhead i.e. to reduce theRTOS overhead by offloading the application processor. Accordingly, theprocessor gets more time for executing application software, and hopefullythe time constraints can be met. The main drawback is the cost of extrahardware.This thesis presents results from implementing RTOS functions in hardware,especially interprocess communication (IPC) functions. The types of systemsconsidered are uniprocessor and shared memory multiprocessor real-timesystems.IPC is used in systems with co-operating processes. The real-time operatingsystems on the market support a large variation of IPC mechanisms. We willhere present and evaluate three different IPC implementations. The first isan extended message queue mechanism that is used in commercial robotcontrol applications. The second is the signal mechanism in OSE, acommercial RTOS predominantly used in telecommunication controlapplications, and the third is the semaphore and message queue mechanismssupported by the leading commercial RTOS VxWorks. All the implementationsare based on a pre-emptive priority-based hardware real-time operatingsystem accelerator.We show that it is not optimal, practical or desirable to implement everyRTOS function in hardware, regarding systems in the scope of this thesis.However, an accelerator allows new functionality to be implemented. Weillustrate this by implementing a message queue mechanism that supportspriority inheritance for message arrival in hardware, which is tooexpensive to implement in software. Also, we show that substantial speedupsare possible, and that a crucial mechanism in achieving speedup is therealisation of the communication between the accelerator and the processor.We further note that application speedups are possible, even in cases withan IPC-mechanism slow-down. The main reasons for this is that theaccelerator can off-load the processor by handling the RTOS timingmechanism (clock-ticks), reducing the RTOS code to be executed on theprocessor, and handling interrupts.
Denna avhandling är EVENTUELLT nedladdningsbar som PDF. Kolla denna länk för att se om den går att ladda ner.