没有合适的资源?快使用搜索试试~ 我知道了~
04-内存管理与虚拟内存1
需积分: 0 0 下载量 121 浏览量
2022-08-03
20:33:10
上传
评论
收藏 3.19MB PDF 举报
温馨提示
试读
173页
3. Mechanism: 地址翻译(Address Translation) 4. 分段( Segmentation ) 5. 空闲空间管理( Free-Sp
资源详情
资源评论
资源推荐
3
Module 4: Virtualizing Memory
虚
拟
内存
1.
虚拟地址空间
2.
内存管理
API
(
memory API
)
3. Mechanism: 地址翻译(Address Translation)
4.
分段(
Segmentation
)
5.
空闲空间管理(
Free-Space Management
)
6. 分页(Paging)
7. 地址翻译缓存 TLB(Translation Lookaside
Buffers)
8.
交换(
Swapping
)
4
Virtual Address
! Every address in a running program is virtual.
! OS translates the virtual address to physical address
1. #include <stdio.h>
2. #include <stdlib.h>
3. int main(int argc, char *argv[]){
4. printf("location of code : %p\n", (void *) main);
5. printf("location of heap : %p\n", (void *) malloc(1));
6. int x = 3;
7. printf("location of stack : %p\n", (void *) &x);
8. return x;
9. }
A simple program that prints out addresses
• code : 存放程序执行代码
• stack : 由编译器自动分配释放,存放函数
的参数值,局部变量等值
• heap : 存放进程运行中被动态分配的内存
5
Virtual Address(Cont.)
! The output in 64-bit Linux machine
location of code : 0x40057d
location of heap : 0xcf2010
location of stack : 0x7fff9ca45fcc
(free)
Code
(Text)
Stack
stack
heap
Address Space
Data
Heap
0x400000
0xcf2000
0x7fff9ca49000
0x401000
0xd13000
0x7fff9ca28000
6
Module 4: Virtualizing Memory
虚
拟
内存
1.
虚拟地址空间
2.
内存管理
API
(
Memory API
)
3. Mechanism: 地址翻译(Address Translation)
4.
分段(
Segmentation
)
5.
空闲空间管理(
Free-Space Management
)
6. 分页(Paging)
7. 地址翻译缓存 TLB(Translation Lookaside
Buffers)
8.
交换(
Swapping
)
剩余172页未读,继续阅读
王者丶君临天下
- 粉丝: 18
- 资源: 265
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0