Font Size: a A A

VTOS:Implementation And Design Of A Multi-core Micro-kernel Operating System

Posted on:2013-02-28Degree:MasterType:Thesis
Country:ChinaCandidate:X B JingFull Text:PDF
GTID:2298330434475714Subject:Calculation software and theory
Abstract/Summary:PDF Full Text Request
With the rapid development of multi-core technology, multi-core processors are very popular today. And the demand for high-performance computing continue to drive the development of high-performance multi-core processors. Nowadays there have already been a variety of multi-core processors with100or even more cores. It was predicted that this trend will continue. As the wide spread of multi-core processors, a practical operating system must be able to take advantage of it. Taking into account the development trend of multi-core processors, maybe we need to reconsider the design of operating system. In this regard, the system structure of the micro-kernel on a multi-core hardware platform has many advantages. There are much differences in the design philosophy and technical of the operating system kerne. Most practical systems adopt the general global model and fine-grained lock-based implementation, because the system is highly conpatible with old system, system performance and saclability is very good also.In the consideration of our system, the main concerns are backward compatibility, scalability, performance and flexibility. These concerns are applied throughout the system design and implementation, including the structural design of the system, per-cpu data structure design, the kernel synchronous design. We use Minix as the design prototype. Minix is a microkernel system, it have greate advantage in scalability and flexibility, it’s POSIX-compliant, and the system structure is simple and clear. The work in this paper includes:1. We propose several principles in system design for multi-core platforms, including backward compatibility, scalability, performance and flexibility. We point out the special significance of these factors in multi-core platforms, and analyse their influence on the system design(abstract machine design, sychronization design and so on).2. Kernel structure is modified to support multi-core platforms, and ensure the scalability, performance, and flexibility of the system at the same time. Because of the changes in kernel structure and system run-time model, we modify several kernel machanism and add several new machanism, for example we add cpu_local structure to support the localization of data, modify the context switching machanism to adopt to the change of kernel structure, add inter-core operation to adopt to the change of scheduling model.3. We propose the kernel sychronization scheme for VTOS to protect the shared data structure and ensure the scalability, performance, security of system. In this scheme simple data structures are protected by fine-grained spinlocks, and some special data structure are protected bye a RCU-like machanism. We also propose several principles which should be applied in critial area coding. We can prove that in the guidance of these principles, the system will never enter a deadlock state.
Keywords/Search Tags:Multicore, micro-kernel, operating system, scalability, synchronization
PDF Full Text Request
Related items