Design of IPC and System Calls for Multi-Process Micro-Kernel Embedded OS on ARM

2013 ◽  
Vol 347-350 ◽  
pp. 1264-1267
Author(s):  
Bo Qu

This paper describes the design and implementation of IPC (Inter-Process Communication) and system calls for an embedded OS in technical details, including the overview of micro-kernel OS, mechanism of inter-process communication, and implementation of message passing as well as system calls upon it. The IPC and system calls are designed for the ARM based multi-process micro-kernel embedded operating system developed by the author of this paper on Linux platform with GNU tool chain. The design of the system call service function to create a child process identical to the parent, do_fork (), is provided as an example. Practices prove that multi-process micro-kernel mechanism is technically feasible on embedded machines.

2013 ◽  
Vol 347-350 ◽  
pp. 1799-1803
Author(s):  
Bo Qu ◽  
Zhao Zhi Wu

This paper describes the design and implementation of an ARM based embedded operating system micro kernel developed on Linux platform with GNU tool chain in technical details, including the three-layer architecture of the kernel (boot layer, core layer and task layer), multi-task schedule (priority for real-time and round-robin for time-sharing), IRQ handler, SWI handler, system calls, and inter-task communication based on which the micro-kernel architecture is constructed. On the foundation of this micro kernel, more components essential to a practical operating system, such as file system and TCP/IP processing, can be added in order to form a real and practical multi-task micro-kernel embedded operating system.


2013 ◽  
Vol 756-759 ◽  
pp. 4207-4211
Author(s):  
Bo Qu

This paper describes the design and implementation of SD card driver and tiny file system for multi-process micro-kernel embedded operating system on ARM in technical details, including structure of device driver, key techniques of designing SD card driver, architecture of the tiny file system, a brief description of its designing and a demo example. The SD card driver and tiny FS are implemented with GNU tool chain by the author of this paper. Practice proves that the system can be used for not only embedded application developments but also related curriculum teaching.


2013 ◽  
Vol 373-375 ◽  
pp. 1634-1637
Author(s):  
Bo Qu

This paper describes the design and implementation of piping functionality for ARM based multi-process mono-kernel embedded operating system, including overview of inter-process communication, key techniques of designing piping routines such as getting i-node for piping, creating pipe, reading and writing pipe, and terminating pipe, etc. At the final, the paper provides a demo example to show the effect. Based on the piping routines described in this paper, more powerful shell interpreter with redirecting and piping functionalities as well as other shell commands analogous to that of embedded Linux can be implemented.


2013 ◽  
Vol 347-350 ◽  
pp. 1260-1263
Author(s):  
Bo Qu ◽  
Zhong Xue Yang

This paper describes the design and implementation of NIC driver and simple IP for an embedded OS in technical details, including the key techniques of designing NIC driver, ether net interface, ARP, IP and ICMP routines. The network routines are implemented for the ARM based multi-process micro-kernel embedded operating system developed by the author of this paper on Linux platform with GNU tool chain. A shell command, ping, is designed to show the effect of network performance. Based on the NIC driver, UDP, TCP and socket routines can be designed further. This multi-process micro-kernel embedded operating system with network capabilities is suitable and helpful for both embedded operating system research and related curriculum teaching.


2013 ◽  
Vol 760-762 ◽  
pp. 1677-1683
Author(s):  
Bo Qu

This paper describes the design and implementation of tiny TTY driver for ARM based multi-process micro-kernel embedded operating system in technical details, including overview of TTY (Control flow of terminal driver, process modes for TTY, data structures for tiny TTY), interrupt-mode UART driver, and tiny TTY driver for micro-kernel OS. The ARM based operating system is designed and implemented by the author of this paper on Linux with GNU tool chain. Based on the TTY, some shell commands are designed, in which the key strokes on the super terminal are read as the input of the commands analogous to the case for ordinary embedded Linux. On the premise of implementing essential functions, the routines for the tiny TTY is designed as simple as possible therefore it is suited to not only embedded operating system research but also embedded related curriculum teaching in colleges and universities.


2013 ◽  
Vol 756-759 ◽  
pp. 4240-4244
Author(s):  
Bo Qu ◽  
Chang Wei Chen

This paper describes the design and implementation of MINIX file system for an embedded OS in technical details, including an overview of MINIX FS, an introduction of the data structures for it, key techniques of implementing it, such as cache, foundational routines and interface functions. The file system is implemented on the multi-process micro-kernel embedded operating system on ARM, which is also designed by the author of this paper with GNU tool chain. The essential functions for a MINIX FS are accomplished, e.g. mount (), open (), close (), read (), write (), lseek (), unlink (), stat (), chdir (), mkdir (), rmdir (), execve (), etc. To show the effects of the file system, some related shell commands are also designed, e.g. cat, cp, echo, ls, pwd, etc. The file system is designed as simple as possible so that the code amount of it is only about 1,600 lines. With such a small scale, the system is suitable not only for embedded application system developments but also for embedded related curriculum teaching in colleges and universities.


2013 ◽  
Vol 756-759 ◽  
pp. 4245-4249
Author(s):  
Bo Qu

This paper describes the design and implementation of primitive shell for an embedded OS in technical details, including creation of root file system on SD card, overview of the primitive shell, key techniques of implementing essential shell commands. The primitive shell is designed based on the multi-process micro-kernel embedded operating system on ARM developed by the author of this paper. The shell command files are designed simple and compact particularly suited for embedded related curriculum teaching as well as embedded operating system research.


2013 ◽  
Vol 427-429 ◽  
pp. 941-944
Author(s):  
Bo Qu

This paper describes the design and implementation of raw socket for multi-process micro-kernel embedded operating system on ARM, including overview of network socket, key techniques of implementing raw socket, such as socket creation, socket accessing via message passing, and socket closing, etc. At the final, the paper provides a shell command named ping as an example to show the effect, which uses the raw socket to implement the functionalities of sending echo requirement and receiving echo reply of ICMP. Based on the foundation described in this paper, datagram socket and stream socket can be implemented further.


2013 ◽  
Vol 373-375 ◽  
pp. 1630-1633
Author(s):  
Bo Qu

This paper describes the design and implementation of executing ELF files on an ARM based multi-process mono-kernel embedded operating system, including overview of ELF files, and key techniques of loading and executing ELF files. At the final, the paper provides some demo examples to show the effects of a simple shell interpreter and typical shell commands, echo, date, and pwd. The entire embedded operating system including the routines of executing ELF files are developed by the author of this paper on Linux with GNU tool chain, based on which more powerful shell interpreter and shell commands analogous to that of embedded Linux can be designed.


2013 ◽  
Vol 389 ◽  
pp. 843-848
Author(s):  
Wei Ming Yang

This paper describes the design and implementation of UART downloading with Ymodem protocol for multi-process micro-kernel embedded operating system on ARM, including overview of commonly used communication protocols via serial port (Xmodem, Ymodem, and Zmodem), key techniques of Ymodem protocol, design of the system call for Ymodem downloading, and programming essentials of shell command rx with Ymodem protocol. A demo example is provided at the final of the paper to show the usage and effect of the shell command. Practice proves that the performance and efficiency of Ymodem protocol is superior to that of Xmodem, while the program structure of it is simpler than that of Zmodem. Therefore, Ymodem protocol is particularly suitable for implementing downloading function with UART for embedded operating system.


Sign in / Sign up

Export Citation Format

Share Document