程序员视角的计算机系统 2.1 信息存储

计算机内存以字节为基本单位,每个字节都有唯一的虚拟地址。虚拟地址空间为程序提供连续的内存视图,实际上通过硬件、操作系统和磁盘存储管理。程序的数据、指令和控制信息在内存中被分隔管理,编译器维护类型信息但机器级程序不直接处理数据类型。内存管理使用虚拟地址执行,如C语言中指针操作。
摘要由CSDN通过智能技术生成

程序员视角的计算机系统  2.1  信息存储

绝大部分的计算机并不是在内存中读取单独的比特位,而是使用8个比特位的块,叫做字节,
字节是内存中最小的有地址的存储单元。一个机器级的程序把内存视为一个字节的巨大的数组。
,作为虚拟内存来引用它。内存中的每一个字节都被唯一地标识为一个数,这是它的地址,所有
的可能的地址的集合,叫做虚拟地址空间。正如它的名称所显示的,这个虚拟地址空间仅是展示
给机器级程序的概念性的图景。实际的实现(在第9章中)使用了一个随机读取内存和磁盘存储
和特定硬件,操作系统软件的组合,来提供给程序一个似乎是整体性的庞大的字节数组。

在接下来的章节中,我们将覆盖编译器和运行时系统是如何把内存空间分割成更易于管理的单元
来存储不同的程序对象,也就是程序数据,指令,控制信息等。各种各样的机制被用来分配和
管理程序的不同的部分的存储。这样的管理都使用虚拟地址空间来执行。例如,在C中,一个
指针的值,无论它指向一个整数,一个结构,或者是一些存储的块。C编译器仍然把类型信息和
每个指针相关联,所以它能生成不同的机器级代码来读取存储在位置中的值,这个位置由指针
来指定,并且依赖于值的类型。尽管C编译器维护这个类型信息,实际的机器级别的程序没有
数据类型的信息。它简单地对待每个程序对象为一个字节的块,程序本身是一个字节的序列。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值