KISA6寻址 - ikarishinjieva/unixV6-code-analyze-chs GitHub Wiki
- KISA6 逻辑上 指向 现行进程的PPDA区
- 进程的 user结构等,地址都是虚地址,需要经过pdp11的虚实地址转换
- 转换过程中,使用KISA6寻址,所以可以寻址到现行进程的user结构
- 进程下台时,KISA6 保存到proc.p_addr
- 进程上台时,proc.p_addr 直接恢复到 KISA6
寻址 当前进程的user结构u
- 操作系统 只能使用 虚地址,经过pdp11的虚实地址转换,进行寻址
- 而 proc.p_addr 直接管理 实地址(页起始块号),破坏了以上规则,途径如下:
- 在UNIX 初始化时 (main),通过读取KISA寄存器的值,将内存实地址载入coremap进行管理
- 创建进程时,从coremap分配地址,直接返回内存实地址,赋予proc.p_addr
- 通过以上途径,操作系统才突破了使用虚地址的限制