页机制的一点疑惑
Windows内核调试
页机制的一点疑惑
阿龙
2010-12-10, 17:29 下午
我在看书的时候,有以下一段话:
由于TSS存储在线性地址空间中,因而可以由分页机制对TSS重新进行定位,甚至可以把TSS换出到虚拟存储系统的磁盘中。
要把TSS从内存换出,只有一个特别的要求,即任务切换中间不允许发生页异常
。如TSS所在的页不在存储器中,则对此TSS的访问将产生页异常,TSS所在的页可从磁盘上读回内存。由于在任务切换操作期间,处理器只访问TSS的前104个字节,所以,采用一些简单的策略可以保证在任务切换中间不会发生页异常:一种策略是不要把TSS换到磁盘上,或者把段标记为不存在。另一种策略是,通过保证每个TSS段都不跨越页的边界,从而保证TSS被对换时,要么整个段存在,要么整个段不存在。事实上,这一点再设计的时可以很容易地实现。这只要把每个段对齐在线性地址空间的128字节边界即可。如果对其在128字节的边界,由于4K可以被128整除,因而TSS的前104字节不会跨越页边界。
各位高手能否解释下这段话的含义?我看不太懂。