教材学习知识点总结
1.1 信息就是位+上下文
1.源程序实际上就是一个由值0和1组成的位序列,8个位为1字节。
2.程序是以字节序列的方式储存在文件中。
3.只由ASCII字符构成的文件称为文本文件,其他文件都称为二进制文件。
1.2 程序被其他程序翻译成不同的格式
1.编译系统四个阶段:预处理器、编译器、汇编器、连接器。
1.3 了解编译系统如何工作是大有益处的
1.好处:优化程序性能,理解链接时出现的错误,避免安全漏洞。
1.4 处理器读并解释储存在内存中的指令
1.系统的硬件:
1)总线:贯穿整个系统的一组电子管道,被设计成传送定长的字节块。
2)I/O设备:系统与外部世界的联系通道,如:键盘、鼠标、显示器、磁盘等。每个I/O设备都通过一个控制器或适配器与I/O总线相连。
3)主存:是一个储存设备,用来存放程序和程序处理的数据。从逻辑上来说,存储器是一个线性的字节数组。
4)处理器(CPU):核心是一个大小为一个字的存储设备,称为程序计数器(PC)。处理器不断执行程序计数器指向的指令,再更新程序计数器,使其指向下一条指令。
2.CPU在指令的要求下可能会执行这些操作:加载、存储、操作、跳转。
3.利用直接存储器存储(DMA)技术,数据直接从磁盘到达主存。
1.5 高速缓存至关重要
1.较大的存储设备要比较小的运行的慢。
2.高速缓存存储器(cache):作为暂时的集结区域,存放处理器近期可能会需要的信息。
1.6存储设备形成层次
1.存储器层次结构的主要思想是上一层的存储器作为低一层存储器的高速缓存。
1.7 操作系统管理硬件
1.操作系统是应用程序和硬件之间插入的一层软件。
2.操作系统有两个基本功能:防止硬件被失控的应用程序滥用和提供简单一致的机制控制复杂的低级硬件设备。
3.在一个系统上可以同时运行多个进程,且是并发运行的。
4.通过处理器在进程间切换来实现多个进程切换,操作系统实现这种交错执行的机制称为上下文切换。
5.一个进程可以由多个称为线程的执行单元组成。多线程比多进程更容易共享数据。
6.虚拟内存运作主要思想:把一个进程虚拟内存的内容存储在磁盘上,然后用主存作为磁盘的高速缓存。
1.8系统之间利用网络通信
1.9重要主题
1.系统是硬件和系统软件相互交织的集合体。
2.Amdahl定律:要想显著加速整个系统,必须提升全系统中相当大的部分的速度。
3.同时有多个程序执行的系统,导致了并发。
4.超线程:同时多线程,允许一个CPU执行多个控制流的技术。
5.多处理器从两方面提高系统性能:首先减少了在执行多个任务时模拟并发的需要。其次使应用程序运行的更快。
6.处理器可以同时执行多条指令的属性称为指令级并行。
7.一条指令产生多个可以并发执行的操作,这种方式称为单指令、多数据,即SIMD并行。
8.文件是对I/O设备的抽象,虚拟内存是对程序存储器的抽象,进程是对一个正在运行的程序的抽象。虚拟机是对整个计算机的抽象。
教材学习中的问题和解决过程
- 问题1:ASCII码中每个文本行都是以一个看不见的换行符‘ ’来结束,其对应的整数值为什么是10而不是92和110?
- 问题1解决方案:如果是'
'字符单独使用,可以替换。
比如: myString[5]=' '或者printf("%c", ' ')可以替换为myString[5]=10或者printf("%c", 10);
但是如果' '是一个字符串中的一部分,则不能替换。
例如:printf("hello ")不能替换成printf("hello10");