2004 · 28 citations · 8 references
EngineeringComputer EngineeringComputer ScienceEmbedded SystemsHardware-software Co-designOperating SystemsEmbedded LinuxEmbedded Operating SystemsEmbedded Systems DesignKernel ArchitectureKernel DesignRun-time ReconfigurationApplication-aware ReconfigurationCall Graph ConstructionKernel ConfigurationOperating System ArchitectureRun-time Kernel ReconfigurationSystem Integrity MonitoringSystem Integrity RestorationSystem-level Reconfiguration
How to reconfigure a general purpose operating system (GPOS) into an embedded operating system has attracted attention for application-specific domains. Linux is currently one of the popular candidates for GPOSs. Although Linux has tools for kernel reconfiguration by letting users add or remove desired function modules, the best schemes of reconfiguring Linux according to a specific embedded system are not practical. Even after this configuration, the target Linux might still be a GPOS. In this article, we will propose an approach to customizing an application-specific Linux operation system. This approach derives from a “call graph ” based on reengineering. By analyzing a graph-structure representation of the target system, its hardware and software specifications are determined. Thus, we can find the rules for removing the redundant code in Linux. Moreover, we employ the call graph approach to verify the system integrity at the source-code level. In order to demonstrate the proposed idea, an experimental system will also be reported in this article. The results show that our approach can significantly remove about 17 percent of the Linux kernel’s footprint with respect to unreachable code.
8
Constructing the Call Graph of a Program
Barbara G. Ryder · IEEE Transactions on Software Engineering · 1979 · 300 citations
Compiler techniques for code compaction
Saumya Debray, William Evans, Robert Muth et al. · ACM Transactions on Programming Languages and Systems · 2000 · 275 citations · Full text