system
文章平均质量分 75
zjd873721519
这个作者很懒,什么都没留下…
展开
-
深入理解计算机系统(第3版) 第三章 程序的机器级表示(1)
1.机器代码计算机执行机器代码,用字节序列编码低级的操作,包括数据处理、管理内存、读写存储设备上的数据,以及利用网络通信。编译器基于编程语言的规则、目标机器的指令集和操作系统遵循的惯例,经过一系列的阶段生成机器代码。汇编代码是机器代码的文本表示,给出程序中的每一条指令,然后GCC调用汇编器和链接器,根据汇编代码生成可执行的机器代码。 2.机器级代码计算机系统使用了多种不同形...原创 2018-11-29 15:33:59 · 352 阅读 · 0 评论 -
深入理解计算机系统(第3版) 第十章 系统级I/O
1.输入和输出(I/O)输入和输出(I/O)是在主存和外部设备(例如磁盘驱动器、终端和网络)之间复制数据的过程。输入操作是从I/O设备复制数据到主存,而输出操作是从主存复制数据到I/O设备。所以语言运行时系统都提供执行I/O的较高级别的工具。例如,ANSI C提供标准I/O库,包含像printf和scanf这样执行带缓冲区的I/O函数。C++语言用它的重载操作符<<(输入)和&...原创 2018-12-07 14:22:31 · 567 阅读 · 0 评论 -
深入理解计算机系统(第3版) 第九章 虚拟内存
1.虚拟内存为了更加有效地管理内存并且少出错,现代系统提供了一种对主存的抽象概念,叫做虚拟内存(VM)。虚拟内存是硬件异常、硬件地址翻译、主存、磁盘文件和内核软件的完美交互,它为每个进程提供了一个大的、一致的和私有的地址空间。通过一个很清晰的机制,虚拟内存提供了三个重要的能力:1)它将内存看成是一个存储在磁盘上的地址空间的高速缓存,在主存中只保存活动区域,并根据需要在磁盘和主存之间来回...原创 2018-12-06 12:01:51 · 2147 阅读 · 0 评论 -
深入理解计算机系统(第3版) 第五章 优化程序性能
1.编写高效程序需要注意以下几点,第一,必须选择一组适当的算法和数据结构;第二,必须编写出编译器能够有效优化以转换成高效可执行代码的源代码;因此,理解优化编译器的能力和局限性是很重要的,编写程序方式中看上去只是一点小小的变动,都会引起编译器优化方式很大的变化;第三,针对处理运算量特别大的计算,将一个任务分成多个部分,这些部分可以在多核和多处理器的某种组合上并行地计算。大多数编译...原创 2018-12-03 15:45:51 · 518 阅读 · 0 评论 -
深入理解计算机系统(第3版) 第八章 异常控制流
1.控制流从给处理器加电开始,直到你断电为止,程序计数器假设一个值的序列a0,a1,...an-1其中,每个ak是某个应用的指令ik的地址。每次从ak到ak+1的过渡称为控制转移(control transfer)。这样的控制转移序列叫做处理器的控制流(flow of control或control flow)。 2.异常异常是异常控制流的一种形式,它一部分由硬件实现,...原创 2018-12-05 16:19:05 · 566 阅读 · 2 评论 -
深入理解计算机系统(第3版) 第十二章 并发编程
1.并发并发不仅仅局限于内核,它也可以在应用程序中扮演重要的角色。应用级并发的应用场景:-->访问慢速I/O设备;-->与人交互;-->通过推迟工作以降低延迟;-->服务多个网络客户端;-->在多核机器上进行并行计算;-->进程;-->I/O多路复用;-->线程。 2.基于进程的并发编程构造并发程序...原创 2018-12-07 18:00:27 · 413 阅读 · 0 评论 -
深入理解计算机系统(第3版) 第四章 处理器体系结构
1.处理器一个处理器支持的指令和指令的字节级编码称为它的指令集体系结构(instruction set architecture,ISA)。不同的处理器都有不同的ISA,为了保证程序编译可以在不同处理器之间进行,ISA在编译器编写者和处理器设计人员之间提供了一个概念抽象层,编译器编写者只需要知道允许哪些指令,以及它们是如何编码的;而处理器设计者必须构建出执行这些指令的处理器。 2....原创 2018-12-03 11:27:18 · 332 阅读 · 0 评论 -
深入理解计算机系统(第3版) 第七章 链接
1.链接链接是将各种代码和数据片段收集并组合成为一个单一文件的过程,这个文件可被加载(复制)到内存并执行。链接可以执行于编译时,也就是在源代码被翻译成机器代码时;也可以执行于加载时,也就是在程序被加载器加载到内存并执行时;甚至执行于运行时,也就是由应用程序来执行。在早期的计算机系统中,链接是手动执行的。在现代系统中,链接是由叫做链接器的程序自动执行的。 2.链接器链接器在软...原创 2018-12-05 10:43:59 · 683 阅读 · 0 评论 -
深入理解计算机系统(第3版) 第二章 信息的表示和处理
1.二值信号现代计算机存储和处理的信息以二值信号表示这些微不足道的二进制数字,又称为位(bit),形成了数字革命的基础 2.信息存储大多数计算机使用8位的块,或者字节(byte),作为最小的可寻址的内存单元,而不是访问内存中单独的位(bit)。机器级程序将内存视为一个非常大的字节数组,称为虚拟内存,内存的每个字节都由一个唯一的数字来标识,称为它的地址,所有可能地址的集合就称...原创 2018-11-28 17:23:49 · 175 阅读 · 0 评论 -
深入理解计算机系统(第3版) 第一章 计算机系统漫游(2)
1.操作系统管理硬件操作系统的两个功能:(1)防止硬件被失控的应用程序滥用(2)向应用程序提供简单一致的机制来控制复杂而又不大相同的低级硬件设备 2.进程进程是计算机科学中最重要和最成功的概念之一。进程是操作系统对一个正在运行的程序的一种抽象。每个进程好像在独占的使用硬件,而并发运行,则是一个进程与另一个进程的指令是交错执行的。从一个进程到另一个进程的转换是...原创 2018-11-28 11:48:35 · 193 阅读 · 0 评论 -
深入理解计算机系统(第3版) 第一章 计算机系统漫游(1)
1.阅读此书因为现在从事程序员的工作,同时属于半路出家的,所以希望通过阅读本书,相当于上了一门计算机系统导论的课。 2.计算机系统计算机系统由硬件和系统软件组成,它们共同工作来运行应用程序。 3.信息就是位+上下文源程序实际上就是一个由0和1组成的位(又称为比特)序列,8个位被组织成一组,称为字节。每个字节表示程序中的某些文本字符,所有数据都是由一串比特表示的。区分...原创 2018-11-27 18:41:53 · 178 阅读 · 0 评论 -
深入理解计算机系统(第3版) 第三章 程序的机器级表示(2)
1.过程过程是软件中一种很重要的抽象。它提供了一种封装代码的方式,用一组指定的参数和一个可选的返回值实现了某种功能。然后,可以在程序中的不同地方调用这个函数。不同编程语言中,过程的形式多样:函数、方法、子例程、处理函数等。假设过程P调用过程Q,Q执行后返回到P,这些动作包括下面一个或多个机制:-->传递控制:在进入过程Q的时候,程序计数器必须被设置为Q的代码的起始地址,然后在...原创 2018-11-30 10:39:19 · 173 阅读 · 0 评论 -
深入理解计算机系统(第3版) 第六章 存储器层次结构
1.存储器系统存储器系统(memory system)是一个具有不同容量、成本和访问时间的存储设备的层次结构。CPU寄存器保存着最常用的数据。靠近CPU的小的、快速的高速缓存寄存器(cache memory)作为一部分存储在相对慢速的主存储器(main memory)中数据和指令的缓冲区域。主存储器存储在容量较大的、慢速磁盘上的数据,而这些磁盘常常又作为存储在通过网络连接的其他机器...原创 2018-12-04 16:27:17 · 510 阅读 · 0 评论 -
深入理解计算机系统(第3版) 第十一章 网络编程
1.客户端--服务器编程模型采用这个模型,一个应用是由一个服务器进程和一个或者多个客户端进程组成。服务器管理某种资源,并通过操作这种资源来为它的客户端提供某种服务。客户端--服务器模型中的基本操作是事务(transacton),一个客户端--服务器事务由以下四个部分组成:-->1)当一个客户端需要服务时,它向服务器发送请求,发起一个事务。-->2)服务器接收到请求后,解...原创 2018-12-07 15:22:21 · 400 阅读 · 0 评论