5.分段分页
2019-08-13 本文已影响0人
wit_yuan
1.介绍
目前操作系统已经写到分段,并且在分段条件下,在定时中断下能够自动切换任务。现在需要实现分段分页操作,故需要了解一些分页知识。
开篇需要了解页帧的组织方式。
页目录页表格式由于页目录和页表的格式是按照4KB对齐的,所以其低12位作为属性来用的。而高20位是真正作为寻址来使用的。
之后就需要知道按照4KB对齐,那么从页帧地址得到的值*4K就是实际的地址值。
贴出来页目录和页表实际的表达方式:
image.png位 | 备注 |
---|---|
P | 为1表示存在于物理内存中 |
RW | 为1表示可读写,为0表示只读 |
US | 为1表示位于用户级别,0/1/2皆可访问,为0表示特权级,级别为3级的不可访问 |
PWT | 页级写透位,为1表示不仅是普通内存,还是高速缓存,目前写0 |
PCD | 页级缓存禁止位,为1表示启用 |
A | 表示该页被cpu访问,由cpu设置 |
D | 脏页位 ,当cpu对该位操作时,就会设置该位,该位只针对页表,不针对页目录 |
PAT | 写0即可 |
G | 全局位,为1表示在高速缓存中TLB中一直保存 |
AVL | 可用位,cpu不会理会该位的值 |