深入了解计算机系统学习笔记——第一章

第一章 计算机系统漫游学习笔记

这一章主要介绍的是计算机的总体结构。通过一个hello,world的小程序进行的说明。总体来说一个程序的执行离不开硬件,软件与操作系统的共同工作。

1.1 信息就是位与上下文

任何的一个程序实际上是由值0或1组成的为序列,8各位组成一个字节。而每个字节来表示程序中某个文本的字符。现在基本是用ASCII码。一个基本思想就是:系统中的所有文件——包括磁盘文件,在网络中传输的数据都是以比特的形式传输的。而用来区分的方法就是上下文。在不同的上下文中,相同的字符序列表示不同的含义。

1.2 将源程序转换为可执行文件

  1. 预处理
    预处理的目的是读取程序的头文件的内容,插入到程序中。
  2. 编译阶段
    首先会检查程序中是否会有语义,语法错误。若无,则将程序转换为cpu可以识别的二进制文件。
  3. 汇编阶段
    在汇编阶段,会将代码翻译为二进制指令。
  4. 连接阶段
    在编译阶段完成后生成.o的目标文件,进入到链接阶段,对于链接器来说,整个链接过程就是将几个输入目标文件加工合并成一个输出文件。

1.3 运行hello程序

在系统的硬件组成中,计算机通过总线传递数据,要Cpu处理在磁盘的数据必须先将数据保存到RAM中,再由cpu执行,将结果再通过IO桥传输到外部设备。所以减少对磁盘数据的读取可以提高程序效率。这就引出了高数缓存存储器的概念:存放处理器近期可能会用到的数据。

1.4操作系统与硬件

在linux中执行./hello 命令时,是怎么将结果输出到硬件设备屏幕上的?
答案是操作系统,通过操作系统管理硬件。
在linux中有一个概念:一切设备皆文件。

  • 即通过文件来硬件I/O设备进行抽象。
  • 通过虚拟内存对于主存储器,文件进行抽象
  • 通过进程,对于处理器,主存,硬件进行抽象。
    红色
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值