32位windows 进程和线程基础

进程虚拟地址空间在这里插入图片描述

  • 用户所使用的栈、堆内存空间都是在用户空间去分配
  • 文件系统的缓存、driver使用的缓存都是存在和心态地址空间

用户态虚拟地址空间状态

  • free:该段地址空间可自由分配
  • reserving:该段地址空间被预订,但是未被映射到物理地址中,无法被分配
  • committed:该段地址空间被映射到物理地址空间了

进程使用的内存的类型

  • private bytes:进程的虚拟地址空间中已被分配的内存,不包括和其他进程共享的内存(如共享的动态链接库文件,kernel32.dll、user32.dll等)
  • virtual bytes:进程使用的虚拟地址空间大小,包括和其他进程共享的内存(如共享的动态链接库文件,kernel32.dll、user32.dll等)
  • working set:进程所使用的的物理内存大小

paging file

用来保存进程修改过的内存数据,当这部分数据内容被访问时,再从paging file中转移到物理内存中。

动态链接库DLL

  • DLL文件包含函数、结构等
  • DLL必须被装载到进程中才能运行
  • DLL的映像文件被映射到进程的地址空间,之后该进程下的所有线程都可以调用DLL中的函数
  • 每个DLL都有一个入口函数DLLmain,以下情况会进入入口函数:
    在这里插入图片描述
  • DLL的载入时机:编译时载入(import)、运行时载入(LoadLibrary或LoadLibraryEX来载入,通过GetProcAddress()获得输出函数的地址)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值