2017-2018-1 20179226 《深刻理解计算机系统》第1周学习总结

教材学习知识点总结

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码中每一个文本行都是以一个看不见的换行符‘\n’来结束,其对应的整数值为何是10而不是92和110?
  • 问题1解决方案:若是是'\n'字符单独使用,能够替换。 好比: myString[5]='\n'或者printf("%c", '\n')能够替换为myString[5]=10或者printf("%c", 10); 可是若是'\n'是一个字符串中的一部分,则不能替换。 例如:printf("hello\n")不能替换成printf("hello10");
相关文章
相关标签/搜索