为什么每个进程一个页表 [英] Why one page table per process

查看:2222
本文介绍了为什么每个进程一个页表的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

起初,我认为整个系统只有一个页表.但是每个进程实际上有一个页表吗?具有多个页面表而不是一个页面表的意义是什么?

At first I thought there is only one page table for the whole system. But there are actually one page table per process? What is the point of having multiple page table instead of one page table.

我正在实现 os161

推荐答案

页表通常具有固定数量的条目,因此仅描述了整个虚拟地址空间的一部分.这就是为什么需要多个它们来覆盖整个地址空间的原因.现在,在许多操作系统中,进程具有单独的(即不与他人共享)虚拟地址空间,这有助于保护进程彼此之间.这是拥有多个页表的另一个原因.

A page table usually has a fixed number of entries and therefore describes only a portion of the entire virtual address space. This is why you need multiple of them to cover the entire address space. Now, in many OSes processes have individual (in other words, not shared with others) virtual address spaces, which helps to protect processes from one another. This is another reason for having multiple page tables.

这篇关于为什么每个进程一个页表的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆