Analysis and Programming of Kernel for Embedded Systems


In this study, we present a miniOS kernel implemented via analysis of the context switching, the scheduler, and the memory management of the original OS kernel for an embedded system based on ARM core. Since this is a large subject, we have limited our scope to them only that made up an embedded operating system. The implemented miniOS kernel is composed only by them, to the exclusion of all other functions of the original kernel. Our goal is to modify the OS kernel depending on the product function. The implementation method of the miniOS kernel can be applicable to any OS being mounted based on the ARM core. Modifying the kernel depending on the product function can improve the OS booting speed as well as save the system memory. The functions of the scheduler, the context switching, and the memory management are described with the source in each section. The miniOS kernel was implemented in the Assembly and C language and was verified through the build and the test. The results are shown in the Section 5.

Share and Cite:

K. Im and W. Ham, "Analysis and Programming of Kernel for Embedded Systems," Journal of Software Engineering and Applications, Vol. 7 No. 1, 2014, pp. 14-26. doi: 10.4236/jsea.2014.71003.

Conflicts of Interest

The authors declare no conflicts of interest.


[1] A. Silberschatz, G. Gagne and P. B. Galvin, “Operating System Concepts,” 8th Edition, Willey, New York, 2009.
[2] C. L. Liu and J. Layland, “Scheduling Algorithms for Multiprogramming in a Hard Real-Time Environment,” Journal of the ACM, Vol. 20, No. 1, 1973, pp. 46-61. 321738.321743
[3] A. Silberschatz, G. Gagne and P. B. Galvin, “Operating System Concepts,” 8th Edition, Willey, New York, 2009.
[4] W. Wulf, E. Cohen, W. Corwin, A. Jones, R. Levin, C. Pierson and F. Pollack, “HYDRA: The Kernel of a Multiprocessor Operating System,” Communications of the ACM, Vol. 17, No. 6, 1974, pp. 337-345.
[6] K. W. Batcher and R. A. Walker, “Interrupt Triggered Software Prefetching for Embedded CPU Instruction Cache,” Proceedings of the 12th IEEE Real-Time and Embedded Technology and Applications Symposium, Washington DC, 4-7 April 2006, pp. 91-102.
[7] J. Liedtk, “Improving IPC by Kernel Design,” SOSP’93 Proceedings of the 14th ACM Symposium on Operating Systems Principles, Asheville, 5-8 December 1993, pp. 175-188.
[8] M. Barr, “Programming Embedded Systems: With C and GNU Development Tools,” 2nd Edition, O’Reilly, 2006.

Copyright © 2022 by authors and Scientific Research Publishing Inc.

Creative Commons License

This work and the related PDF file are licensed under a Creative Commons Attribution 4.0 International License.