利用Nachos操作系统研究和实验虚拟内?/p>
摘要
:
本文分析和论述了如何利用教学指导型操作系?/p>
Nachos
研究和实验虚
拟内存?/p>
通过详细的实例设计与分析
,
阐述了在
Nachos
操作系统中如何构建虚?/p>
内存
,
如何实现虚拟内存的各种调度算?/p>
;
如何实验和分析虚拟内存的工作过程?/p>
性能。对虚拟内存的教学和科研具有一定的指导辅助作用?/p>
关键?/p>
:
操作系统
;
虚拟内存
;
实践教学
;Nachos
1
引言
虚拟内存的实现和运行同时涉及到内存管理?/p>
调度与中断?/p>
文件系统等内?/p>
诸多方面的问题?/p>
因此在操作系统的教学和实验中虚拟内存的讲解和实验是较?/p>
棘手和困难的一个问题?/p>
为了能够讲清虚拟内存的基本构造和工作原理或想独立
实践一下虚拟内存的构造和各种虚拟内存策略
,
我们可以利用一下教学指导型?/p>
作系?/p>
Nachos
?/p>
由于
Nachos
提供了一个自由构造虚拟内存的框架
,
可让我们在其
上开发和构造自主设计的虚拟内存
,
辅助我们更好的开展好虚拟内存的教学和?/p>
究?/p>
2
内存管理和虚拟内存构造机?/p>
Nachos
在它的页表机制中仅提供了可让用户构造虚拟内存的基本机制。页
表结构是?/p>
TranslationEntry
类定义的
,
该定义在文件
machine/translation.h
?/p>
:
class TranslationEntry {
public:
int virtualPage;
//
逻辑页号
int physicalPage;
//
物理页号
bool valid;
//
有效?/p>
bool readOnly;
//
只读?/p>
bool use;
//
引用?/p>
bool dirty;
//
修改?/p>
};
为了实现虚拟内存的页置换
,
我们需要在以上类中增加一个该页在文件中的