Font Size: a A A

Synchronization Mechanism Design For Component-based Embedded Operating System

Posted on:2008-11-27Degree:MasterType:Thesis
Country:ChinaCandidate:G YaoFull Text:PDF
GTID:2178360212484934Subject:Computer applications
Abstract/Summary:PDF Full Text Request
Embedded applications are proliferating at an amazing rate. The continuous growth of complexity and scale of embedded system motivates the research focus on component-based embedded operating system. As the interaction between components of component-based embedded operating system needs to ensure high efficiency and low overhead, in general the interaction between components can be implemented only through IPC mechanism, which will cause priority inversion. In this case the thesis presents a transaction-based component interoperability synchronization mechanism. By introducing the conception of transaction context and service stack, a component can provide shared visit to a number of threads simultaneously and solve the priority inversion effectively. Finally this mechanism is implemented in Pcanel which is a component-based embedded operating system platform.This thesis's contributions and novelties are mainly in the following aspects:(1) Component-based embedded operating system differs from traditional embedded operating system. Take Linux for example, process is the basic unit of operation, including one (major) thread and independent address space at least. In general, component-based embedded operating system kernel separates the concepts of thread and space explicitly. Thread represents the basic unit allocated for computing resources of the processor by the kernel, and space represents the basic unit allocated for memory resources and IO resources by the kernel. Focusing on these features, the thesis presented transaction-based component interoperability synchronization mechanism (using IPC synchronous technique), solved the priority inversion caused by the interaction between components.(2) In remote method invocation of C/S mode, the caller and the component exist in the different address space; therefore the caller can not use the method of the component by calling function directly. Take CORBA for example, the efficiency of remote method invocation is greatly reduced by transmitting parameters through encapsulating and decapsulating it. By using the protection technology of shared address space (or single address space), the performance overhead of encapsulation and decapsulation can be avoided.(3) The components need to use non-blocking synchronization mechanism to control access to the critical section, achieve preemptability completely, and avoid priority inversion effectively. Compared to non-blocking synchronization mechanism in multithreaded model of real-time and general operating systems, the non-blockingsynchronization mechanism in this thesis achieved more simple and efficient realization by using a fixed size of queue in every critical section.(4) It can achieve the fine-grained protection for data in component interoperability by using stub-code generated by interface compiler to backup data.
Keywords/Search Tags:embedded operating system, priority inversion, component interoperability, remote method invocation, transaction context, execution context, service stack
PDF Full Text Request
Related items