概述
第一章 计算机系统漫游学习笔记
这一章主要介绍的是计算机的总体结构。通过一个hello,world的小程序进行的说明。总体来说一个程序的执行离不开硬件,软件与操作系统的共同工作。
1.1 信息就是位与上下文
任何的一个程序实际上是由值0或1组成的为序列,8各位组成一个字节。而每个字节来表示程序中某个文本的字符。现在基本是用ASCII码。一个基本思想就是:系统中的所有文件——包括磁盘文件,在网络中传输的数据都是以比特的形式传输的。而用来区分的方法就是上下文。在不同的上下文中,相同的字符序列表示不同的含义。
1.2 将源程序转换为可执行文件
- 预处理
预处理的目的是读取程序的头文件的内容,插入到程序中。 - 编译阶段
首先会检查程序中是否会有语义,语法错误。若无,则将程序转换为cpu可以识别的二进制文件。 - 汇编阶段
在汇编阶段,会将代码翻译为二进制指令。 - 连接阶段
在编译阶段完成后生成.o的目标文件,进入到链接阶段,对于链接器来说,整个链接过程就是将几个输入目标文件加工合并成一个输出文件。
1.3 运行hello程序
在系统的硬件组成中,计算机通过总线传递数据,要Cpu处理在磁盘的数据必须先将数据保存到RAM中,再由cpu执行,将结果再通过IO桥传输到外部设备。所以减少对磁盘数据的读取可以提高程序效率。这就引出了高数缓存存储器的概念:存放处理器近期可能会用到的数据。
1.4操作系统与硬件
在linux中执行./hello 命令时,是怎么将结果输出到硬件设备屏幕上的?
答案是操作系统,通过操作系统管理硬件。
在linux中有一个概念:一切设备皆文件。
- 即通过文件来硬件I/O设备进行抽象。
- 通过虚拟内存对于主存储器,文件进行抽象
- 通过进程,对于处理器,主存,硬件进行抽象。
红色
最后
以上就是拼搏白猫为你收集整理的深入了解计算机系统学习笔记——第一章第一章 计算机系统漫游学习笔记的全部内容,希望文章能够帮你解决深入了解计算机系统学习笔记——第一章第一章 计算机系统漫游学习笔记所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复