线程访问数据块

当一个线程试图访问所属进程的地址空间中的一块数据时,可能出现两种情况。

  1. 线程要访问的数据就在内存中,此时CPU会先把数据的虚拟内存地址映射到内存的物理地址,然后就可以访问内存中的数据。
  2. 线程要访问的数据不在内存中,而是位于页交换文件的某处。此时发生不成功的页面被称为页面错误。发生页面错误时,CPU会首先通知操作系统。操作系统随即在内存中找到一个闲置的页面,如果找不到,操作系统必须先释放一个已分配的页面。如果带释放的页面没有修改过,那么操作系统可以直接释放该页面。

如下图:
线程访问数据

猜你喜欢

转载自blog.csdn.net/qq_37774304/article/details/85857504