线程访问数据块

本文探讨了线程访问数据时的两种情景:当所需数据存在于内存中时的直接访问,以及当数据位于页交换文件中导致页面错误时,操作系统如何进行页面置换的过程。

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

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

如下图:
线程访问数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值