{'fraction_non_alphanumeric': 0.02769593400117855, 'fraction_numerical': 0.0005892751915144372, 'mean_word_length': 5.335820895522388, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
On-Chip Monitoring of Single- and Multiprocessor Hardware Real-Time Operating Systems

This paper presents a novel hardware monitoring system that gives non-intrusive observability into the execution of hardware-accelerated Real-Time Operating Systems. Monitoring is a necessity for testing, debugging and performance evaluations of real-time computer systems. Most research into monitoring of real-time systems have been devoted to minimising the execution interference imposed by the monitor. One approach to this has been the use of hardware support to extract software execution traces by probing the external processor (or system) busses. However, the use of cache memories on various levels, and the increased integration of system components on-chip (SoCs) in addition to limited chip-package pins, severely obstructs traditional hardware monitors from probing processor signals and busses. For real-time systems built on these premises there is a need to access execution information residing on-chip, as well as to avoid interference with the system’s execution behaviour. In this paper we present an integrated solution to on-chip monitoring of system-level events in a real-time system. The monitor, called MAMon1, probes a hardware-based RealTime Kernel using a Probe Unit integrated as an IP-block. This component detects and collects events regarding process’ execution, communication, synchronisation, and I/O interrupt activities. Collected events are timestamped and transferred to a separate computer system hosting an event database and a set of monitoring application tools. We describe the monitor architecture, the implementation of a prototype, and an evaluation of its use.