CSAPP阅读笔记-32位64位的区别--来自第三章引言的笔记--P110
2024-09-03 09:59:58
仅从寻址上看,32位和64位机器能寻址的内存空间大小不同。
需要知道的是,计算机系统对存储器作了抽象,程序“认为”内存是一个很大的字节数组,然而实际上它是由多个硬件存储器和操作系统组合起来实现的。
程序看到的内存地址是虚拟地址,是操作系统为了让程序使用方便作的映射,实际当程序运行时,要从某个地址取信息时,需要由操作系统作一层映射,将虚拟地址转换为实际内存的物理地址。这样,程序方就可以不用管底层的细节,只需要“认为”内存是个很大的字节数组,用就完事了。
32位机器能寻址的内存空间是232个字节,大约为4GB,注意,不是232个bit,如上所述,程序认为内存是个字节数组,寻址时一个地址对应一个字节的存储空间。同理,64位机器能寻址的空间就是264个字节,大约为16EB。当然,根据P114所述,目前的实现中,这些地址的高16位必须设置为0,所以64位机器寻址的空间是248个字节,约256TB。
(有疑惑的,请看博客的“写在前面”一章)
最新文章
- 4、python列表
- react-native 之布局篇
- 线程实现方式以及序列化 反序列化.java
- java---一元二次方程练习
- Ext中 get、getDom、getCmp的区别
- TYVJ P1016 装箱问题
- 《Mysql 公司职员学习篇》 第二章 小A的惊喜
- 应用tomcat(Linux中安装)
- jQuery MiniUI
- 3.jsp基本语法笔记
- Linux脚本入门(1)
- Navicat远程连接阿里云服务器的mysql
- CF 932E Team Work
- LeetCode题解之Remove Nth Node From End of List
- 好用的批量改名工具——文件批量改名工具V2.0 绿色版
- ARM JTAG 20
- Differential expression analysis for paired RNA-seq data 成对RNA-seq数据的差异表达分析
- Java中哈希表(Hashtable)是如何实现的
- struts 简单前台用户名校验
- Debussy的安装与使用
热门文章
- AutoLayout自动布局,NSLayoutConstraint 视图约束使用
- NSString 对象保存在哪? @“xxx”和 stringWithFormat:@";xxx"; 区别?
- 编写高质量代码改善C#程序的157个建议——建议61:避免在finally内撰写无效代码
- Extjs Hello extjs
- Expression表单式树
- sqlServer DataReader与DataSet的区别
- 多态的作用-游戏编程展示------新标准c++程序设计
- Linux虚拟机安装 nginx (nginx1.9.9)
- poi将图片导入excel(Java代码)
- 【转】asp.net中设置弹出谈话框的几种方式详解