windows内存管理

1.(x86)每个进程都有4GB的虚拟内存

2.(x86)中物理内存以4KB的大小进行分页管理


(X86)

低2GB称为用户空间

高2GB称为内核空间


0X00000000----0X0000FFFF 空指针赋值区

0X00010000----0X7FFEFFFF 用户模式区

0X7FFF0000----0X7FFFFFFF 64KB禁入区

0X80000000----0XFFFFFFFF 内核

3.私有内存的申请和释放

    物理页分为:
          1.私有 进程独占
          2.映射 多进程共享
    (1)申请内存的两种方式
        1.通过VirtualAlloc() / VirtualAllocEx() 函数申请私有的
        2.通过CreateFileMapping() 函数申请映射的

    LPVOID  p=VirtualAlloc(
        LPVOID ipAddress,       //要分配的内存区域的地址
        DWORD dwSize,           //分配的大小
        DWORD flAllocationType, //分配的类型  MEM_COMMIT  MEM_RESERVE
        DWORD flProtect         //该内存的初始保护属性
        )
    (2)释放内存
        VirtualFree(
        p,
        DWORD dwSize,
        类型参数
        )

4.共享内存的申请和释放

    HANDLE g_hMapFile=CreateFileMapping(
    INVALID_HANDLE_VALUE, 
    NULL, 
    PAGE_READWRITE, 
    0, 
    sizeof(int), 
    NULL);
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇