1.1:信息就是位+上下文
- 通过编辑器编辑源文件也叫文本文件(hello.c),该文本是由一系列ASCII码组成字节序列。
- 系统中的所有信息——包括磁盘上的数据,内存中的数据,网络传输的数据,都是由0,1比特串组成。区别于不同的数据对象是由于所读取数据的上下文不同。不同的上下文中,数据可以是整数,浮点数,指令,程序等等。
1.2:程序被不同的程序翻译为不同的格式
- 源文件hello.c想要被计算机执行,首先每条c语句都要被翻译成低级机器指令,按照可执行目标程序的格式打好包,并以2进制的形式存放起来,目标程序成为可执行目标程序。
- linux> gcc -o hello hello:(gcc 编译器驱动程序)
- hello.c->预处理(cpp)->hello.i(包含一些c程序头文件的内容)->编译器(ccl)->汇编程序(文件hello.s)->汇编器->hello.s(可重定位的目标程序,二进制文件)->连接器->hello(可执行目标程序,二进制文件)->存进磁盘
1.3:处理器读并解释存储在内存中的指令
- hello.c经过编译系统翻译成了可执行目标文件hello(磁盘),如何运行该文件?
-
linux> ./hello
hello,world
-
- shell是一个命令解释器
- 运行hello程序的硬件组成:
- 总线
- I/O设备
- 内存
- 处理器
- 加载
- 存储
- 操作
- 跳转
- 缓存
1.4 操作系统管理计算机硬件
- 管理对象:处理器,主存,I/O设备。
- 如何去管理:用以下几种抽象概念
- 进程:处理器,主存,I/O设备
- 虚拟内存:主存,I/O设备
- 文件:I/O设备