【操作系统】进程虚拟地址空间分段解析

用户进程 的 虚拟地址空间部分 分段介绍

Linux中每一个运行的程序(进程),32位操作系统都会为其分配一个 0 ~ 4GB 的进程虚拟地址空间,64位操作系统会为其分配一个 0 ~ 16TB 的进程虚拟地址空间。

解释:
32 位操作系统下,一个指针的大小为 32 位即 4 个字节,它所能保存的地址范围为 [0, 2^32] ,所以它的寻址范围为 4GB 大小,所以 32 位操作系统下系统给进程分配的虚拟地址空间大小为 4 GB 。
64 位操作系统下,一个指针的大小为 64 位即 8 个字节,它所能保存的地址范围为 [0, 2^64] ,即 4GB * 4GB = 16TB,所以它的寻址范围为 16TB 大小,所以 64 位操作系统下系统给进程分配的虚拟地址空间大小为 16TB 。

进程:运行中的程序,Windows下的可执行文件有 .exe文件,Linux下可执行文件格式ELF

图解虚拟地址空间分段
在这里插入图片描述

1. 内核空间

  • 内核空间为内核保留,是受到系统保护的,用户不能对内核空间中的内容进行读写操作,否则会出现段错误(segmention fault)
  • 功能:
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值