Font Size: a A A

Dynamic update of executing processes in real-time systems

Posted on:2001-10-21Degree:Ph.DType:Dissertation
University:Illinois Institute of TechnologyCandidate:Montgomery, JamiFull Text:PDF
GTID:1468390014452353Subject:Computer Science
Abstract/Summary:
This dissertation develops a straightforward and practical solution to the dynamic update problem for real-time applications. Our solution while simple, is very effective in updating an executing process in real-time systems. Our solution allows for the loading of a new replacement object module into an executing program. The replacement object module can be created at any time, even after the initial application has been started and running for a long period of time.; To help us understand the problem of updating a process in UNIX, we developed the Run-Time Update (RTU) method as a way to update executing processes. The RTU method relies on shared libraries and the run-time link editor as the primary means of updating an executing process. The RTU method is a practical approach in achieving dynamic updates in UNIX systems. The RTU method, while a simple and appropriate method for most applications, is not applicable to real-time systems, due to its reliance on the run-time link editor.; To solve the problem of updating real-time systems, while preserving task deadline guarantees, we developed the Dynamic Update Real-Time System (DURTS) model. The DURTS model gives real-time processes the ability to execute a different version of a real-time thread, without terminating the current executing process. This new ability to selectively execute a different function for a real-time thread provides the system with update capabilities while preserving hard real-time task deadline guarantees. The DURTS model supports the loading of a replacement module at anytime during the executing of the application.; The replacement module, once loaded into the executing process, is used to replace an existing function in a running process. Our dynamic update solution includes the development of the pseudo linker. The pseudo linker performs the task of resolving the addresses and symbol names referenced in the new replacement module to those found in the running application. Before the development of the pseudo linker, the replacement modules were restricted from referencing any symbols defined in the executing process. We have implemented our solution on RT-Mach, a real-time microkernel based operating system.
Keywords/Search Tags:Real-time, Executing process, Dynamic update, Solution, RTU method
Related items