NPTL Optimization for Lightweight Embedded DevicesGeunsik Lim
One of the main changes included in the current Linux kernel is that, Linux thread model is transferred from LinuxThread to NPTL for scalability and high performance. Each thread of user-space allocates one thread (1:1 mapping model) as a kernel for each thread's fast creation and termination. The management and scheduling of each thread within a single process is to take advantage of a multiple processor hardware. The direct management by the kernel thread can be scheduled by each thread. Each thread in a multi-processor system will be able to run simultaneously on a different CPU. In addition, the system service while blocked will not be delayed. In other words, even if one thread calls blocking a system call, another thread is not blocked.
However, NPTL made features on Linux 2.6 to optimize a server and a desktop against Linux 2.4 dramatically. But, embedded systems are extremely limited on physical resources of the CPU and Memory such as DTV, Mobile phone. Some absences of effective and suitable features for embedded environments needs to be improved to NPTL.
In this paper, a lightweight NPTL (Native Posix Thread Library) library run effectively on embedded systems, for the purpose of a way to optimize is described.