操作系统如何抽象程序的内存?
How does an operating system abstract programs' memory?
操作系统如何确保一个进程不会访问另一个进程的内存?这些东西是怎么做到的?
已经使用了多种方法。最常见的是逻辑内存寻址。地址space分为两个区域:用户和内核。
每个进程都有自己的用户内存区。所有进程共享相同的内核内存区域。一个进程无法访问另一个进程的用户模式地址 space。所有用户模式内存引用都进入进程自己的内存space,不能引用其他进程的内存。
内核地址space受到限制,只能在内核模式下访问。 OS 限制进程进入内核模式的方式。
操作系统如何确保一个进程不会访问另一个进程的内存?这些东西是怎么做到的?
已经使用了多种方法。最常见的是逻辑内存寻址。地址space分为两个区域:用户和内核。
每个进程都有自己的用户内存区。所有进程共享相同的内核内存区域。一个进程无法访问另一个进程的用户模式地址 space。所有用户模式内存引用都进入进程自己的内存space,不能引用其他进程的内存。
内核地址space受到限制,只能在内核模式下访问。 OS 限制进程进入内核模式的方式。