节点文献

操作系统核心的设计与实现使用面向对象的方法

【作者】 鲁雪莲

【导师】 卢显良;

【作者基本信息】 电子科技大学 , 计算机软件与理论, 2003, 硕士

【摘要】 操作系统软件应该灵活而有效。而且,操作系统应该在不牺牲这两个特点的情况下随着应用的变化而变化。这些变化包括硬件技术的改进以及用户要求的变化。要适应硬件的变化需要可移植性,例如处理器数量的变化。同时,操作系统应该能根据用户的要求进行扩展,例如以前的对图形化的用户界面和分布式系统的支持。 重要的不仅仅是可移植性和扩展性,他们之间的交互也可能需要折衷。例如,如果现有的机制要与新的机制共存,扩展性可能就会破坏性能。 面向对象的模式逐渐的变成用来解决操作系统面临的这类问题的一个很好的工具。面向对象的编程可以支持通用接口和代码的共享、可重用和扩展的软件,因为函数可以通过接受不同的参数而实现不同的功能。 其实,许多现代操作系统中都使用了面向对象的技术。例如,系统中程序的运行时动态链接技术。这种技术中程序的链接不是静态的,而是在运行时根据需要链接相应的模块。这与面向对象技术中的可拆卸技术是一致的。我们可以把程序的各个模块看成对象,需要那个对象,我们就链接那个对象。尽管UNIX和Linux是用C实现的,它们也使用了很多面向对象的思想。 本论文首先讨论了面向对象方法解决操作系统移植性,扩展性问题的可行性,然后详细描述了如何用面向对象的编程和设计技术来设计一个操作系统核心。作者实现了其中的进程管理部分。对实验系统的性能,移植性和扩展性进行了评估,证明了用面向对象的方式构建,并使用面向对象编程语言编写的操作系统在性能下降不是很大的情况下拥有很好的移植性,扩展性和维护性。

【Abstract】 Operating system software should be flexible and efficient. Furthermore, an operating system should survive a lifetime of change without sacrificing either of these properties. These changes include both advances in hardware technology and changing demands from users. Keeping pace with advances in hardware technology makes portability necessary, for example, transplanting an existing operating system from single processor to multiple processors. Also, an operating system should be extensible enough to meet the changing requirements from users. In the past these demands included the support for graphical user interfaces and distributed systems.Not only are requirements of portability and extensibility important, but also their interaction can acquire important tradeoffs. For example, extensions may impair performance if existing mechanisms are alerted to coexist with new mechanisms.Object-oriented paradigm has become one useful tool to solve this kind of problems. Object-oriented programming can support the sharing of common interface and code, incremental extensibility and the development of reusable and extensible software by allowing functions to take different objects as arguments.Nowadays, we witnessed various object-oriented technologies in many modern operating systems, for example, the dynamic linking during the runtime of a process. The modules of a process are not linked before it runs, and it can choose which modules to link when it is running. This technique matches the reconstruction in object-oriented paradigm. And although UNIX and Linux are implemented with C language, they also adopted many object-oriented techniques, especially in the file system and network systems.In this paper, we first discussed the problems encountered by modern operating system designers and the advantages of using object-oriented techniques to design and implement operating systems. Then we presented in detail the process of designing an object-oriented operating system. The process management was implemented and the performance of context switching was tested. The system performance, portability and the extensibility were evaluated. It was proved that without obvious sacrifice of system performance, objected-oriented technologies are able to significantly increase the portability, extensibility and maintenance of the operating systems.

【关键词】 操作系统核心面向对象
【Key words】 operating systemkernelobject-oriented
  • 【分类号】TP316
  • 【下载频次】134
节点文献中: 

本文链接的文献网络图示:

本文的引文网络