单元小结
计算机系统是由硬件和软件组成的。 它们共同协作以运行应用程序。 计算机内部的信息被表示为一组组的位, 它们依据编码有不同的解释方式。
处理器读取并解释存放在主存里的二进制指令。 因为计算机话费了大量的时间在内存、I/O设备和CPU寄存器之间复制数据。
操作系统内核是应用程序和硬件之间的媒介, 它提供三个基本的抽象:
文件是对I/O设备的抽象;
虚拟内存是对主存和磁盘的抽象;
进程是处理器、主存和I/O设备的抽象。
单元重点
1. 了解计算机发展的历程以及在此过程中的主要技术;
2. 了解计算机的硬件组成以及各个部件的基本功能;
3. 深刻体会计算机的层次结构,以及各层次之间的相互关联;
4. 深刻理解存储程序的概念;
5. 通过了解计算机的工作过程, 充分理解各个部件之间的关联,同时结合存储程序控制的概念,更深入地思考计算机的工作过程;
6. 理解计算机主要性能指标的含义;
单元难点
1. 存储程序控制的概念;
2. 计算机的层次结构和各层次之间的相互关联;
知识结构图

单元反馈问卷
请同学们完成调查问卷。
一个C语言的执行过程
一个典型的c语言, hello.c源代码:
1 #include <stdio. h>
2
3 int main()
4 {
5 printf(“hello,world\n”);
6 return 0;
7 }
hello.c 源程序实际上就是一个由值0和1组成的位(又称为比特)序列, 8个位被组织成一组, 称为字节。 每个字节表示程序的某些文本字符。
# i n c l u d e SP < s t d i o .
35 105 110 99 108 117 100 101 32 60 115 116 100 105 111 46
h > \n \n I n t SP m a I n ( ) \n {
104 62 10 10 105 110 116 32 109 97 105 110 40 41 10 123
\n SP SP SP SP p r i n t f ( “ h e l
10 32 32 32 32 112 114 105 110 116 102 40 34 104 101 108
l o , SP w o r l d \ n ” ) ; \n SP
106 110 44 3 119 111 114 108 100 92 110 34 41 59 10 32
SP SP SP r e t u r n SP 0 ; \n } \n
32 32 32 114 101 116 117 114 110 32 48 59 10 125 10
hello.c经过编译后成为hello.exe可执行文件, 通过对exe文件进行反汇编, 得到对应的汇编语言程序。

整个过程分为以下四个阶段完成:

操作系统
可以将操作系统看成是应用程序和硬件之间插入的一层软件。
操作系统有两个基本功能:
(1)防止硬件被失控的应用程序滥用;
(2)向应用程序提供简单一致的机制来控制复杂而又通常大不相同的低级硬件设备。
操作系统通过几个基本的抽象概念(进程、虚拟内存和文件)来实现这两个功能。
文件是对I/O设备的抽象表示, 虚拟内存是对主存和磁盘I/O设备的抽象表示, 进程则是对处理器、主存和I/O设备的抽象表示。
进程是操作系统对一个正在运行的程序的一种抽象。在一个系统上可以同时运行多个进程, 而每个进程都好像在独立地使用硬件。 而并发运行, 则是说一个进程的指令和另一个进程的指令是交错执行的。 在大多数系统中, 需要运行的进程数是多余可以运行他们的CPU个数的。 一个进程实际上可以由多个称为线程的执行单元组成。 每个线程都运行在进程的上下文中, 并共享同样的代码和全局数据。
虚拟内存是一个抽象概念。 它为每个进程提供了一个假象, 即每个进程都在独自地使用主存。 每个进程看到的内存都是一致的,称为虚拟地址空间。

图1.X-1-计算机系统的分层视图

图1.X-2 操作系统提供的抽象表示

图1.X-3 计算机系统提供的一些抽象。 计算机系统中的一个重大主题就是提供不同层次的抽象表示, 来隐藏实际实现的复杂性。