深入理解计算机系统 -阅读笔记

深入理解计算机系统 - 阅读笔记

第三版

第一章

所有计算机系统都有相似的硬件和软件组成,它们执行着相似的功能,从逻辑实现的角度来说,硬件和软件是没有区别的
在这里插入图片描述

1.1 信息就是位 + 上下文

程序的运行是从一个源程序(或源文件)开始的, 源程序由0或1 这种二进制语言构成,8个位称为一个字节。每个字节表示程序中的某些文本字符。

1.2 程序被其他程序翻译成不同的格式

为了在系统上运行hello.c 程序,每条C语言都必须被其他程序转化成一系列的低级 机器语言 指令。
然后这些指令按照一种称为 可执行目标程序 的格式打好包,并以二进制磁盘文件的形式存放起来。目标程序也称为 可执行目标文件
在Unix系统上,从源文件到目标文件的转化是由 编译器驱动程序 完成的:
在这里插入图片描述
GCC 编译器驱动程序读取源程序文件 hello.c 可以按照以下四个阶段,这个四个阶段一起构成了 编译系统
在这里插入图片描述

1.3 了解编译系统如何工作是大有益处的

通过hello.c 这种简单的程序,我们可以知道编译器是如何多程序进行处理的
知道编译器的处理过程有以下好处:

  • 优化程序性能
  • 理解链接时出现的错误
  • 避免安全漏洞

1.4 处理器读并解释存在内存中的指令

hello.c 源程序已经被编译系统翻译成了可执行目标文件 hello,并存放在磁盘上面。在Unix上,我们可以通过以下简单的shell命令去执行
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值