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