计算机系统
文章平均质量分 85
十月翊安
这个作者很懒,什么都没留下…
展开
-
《深入理解计算机系统》学习笔记——虚拟内存
计算机系统——虚拟内存虚拟内存物理和虚拟内存地址空间虚拟内存作为缓存的工具DRAM缓存的组织结构页表页命中缺页分配页面又是局部性救了我们虚拟内存作为内存管理的工具虚拟内存作为内存保护的工具地址翻译结合高速缓存和虚拟内存利用TLB加速地址翻译综合:端到端的地址翻译多级页表案例研究内存映射动态内存分配垃圾收集C程序中常见的与内存有关的错误虚拟内存虚拟内存是硬件异常、硬件地址翻译、主存、磁盘文件和内核软件的完美交互,它为每个进程提供了一个大的、一致的和私有的地址空间。虚拟内存的三个重要能力:1)它将主存看原创 2021-11-22 22:56:44 · 1547 阅读 · 0 评论 -
《深入理解计算机系统》学习笔记——异常控制流
计算机系统——异常控制流异常控制流异常异常处理异常的类别Linux/x86-64系统中的异常进程逻辑控制流并发流私有地址空间用户模式和内核模式上下文切换进程控制获取进程 ID创建和终止进程回收子进程让进程休眠加载并运行程序利用fork和execve运行程序信号信号术语发送信号接收信号阻塞和解除阻塞信号编写信号处理程序同步流以避免讨厌的并发错误显示地等待信号非本地跳转操作进程的工具小结异常控制流控制转移序列叫做处理器的控制流( flow of control 或 control flow )。现代系统通原创 2021-11-15 10:51:16 · 661 阅读 · 0 评论 -
《深入理解计算机系统》学习笔记——链接
计算机系统——链接链接编译器驱动程序静态链接目标文件可重定位目标文件符号和符号表符号解析链接器如何解析多重定义的全局符号与静态库链接重定位重定位条目重定位符号引用可执行目标文件加载可执行目标文件动态链接共享库从应用程序中加载和链接位置无关代码库打桩机制处理目标文件的工具小结链接链接( linking)是将各种代码和数据片段收集并组合成为一个单一文件的过程,这个文件可被加载(复制)到内存并执行。链接器在软件开发中扮演着一个关键的角色,因为它们使得分离编译( separate compilation)原创 2021-11-10 22:21:08 · 974 阅读 · 0 评论 -
《深入理解计算机系统》学习笔记——存储器层次结构
计算机系统——存储器层次结构存储技术随机访问存储器磁盘存储固态硬盘存储技术趋势局部性对程序数据引用的局部性取指令的局部性局部性小结存储器层次结构存储器层次结构中的缓存存储器层次结构概念小结高速缓存存储器编写高速缓存友好的代码高速缓存对程序性能的影响存储技术随机访问存储器磁盘存储固态硬盘存储技术趋势局部性对程序数据引用的局部性取指令的局部性局部性小结存储器层次结构存储器层次结构中的缓存存储器层次结构概念小结高速缓存存储器编写高速缓存友好的代码高速缓存对程序性能的影响...原创 2021-11-09 22:06:56 · 1075 阅读 · 0 评论 -
《深入理解计算机系统》学习笔记——优化程序性能
计算机系统——优化程序性能优化程序性能优化编译器的能力和局限性表示程序性能理解现代处理器整体操作功能单元的性能处理器操作的抽象模型循环展开提高并行性多个累积变量重新结合变换一些限制因素寄存器溢出分支预测和预测错误处罚理解内存性能加载的性能存储的性能应用:性能提高技术优化程序性能编写高效程序需要做到以下几点:第一,我们必须选择一组适当的算法和数据结构。第二,我们必须编写出编译器能够有效优化以转换成高效可执行代码的源代码。第三项技术针对处理运算量特别大的计算,将一个任务分成多个部分,这些部分可以在多核原创 2021-11-05 23:34:09 · 434 阅读 · 0 评论 -
《深入理解计算机系统》学习笔记——处理器体系结构
计算机系统——处理器体系结构原创 2021-11-02 21:32:07 · 743 阅读 · 0 评论 -
《深入理解计算机系统》学习笔记——程序的机器级表示
计算机系统——程序的机器级表示程序的机器级表示程序编码机器级代码关于格式的注解数据格式访问信息操作数指示符数据传送指令压入和弹出栈数据算术和逻辑操作加载有效地址一元和二元操作移位操作特殊的算术操作符控制条件码访问条件码跳转指令跳转指令的编码用条件控制来实现条件分支用条件传送来实现条件分支循环过程数组分配和访问异质的数据结构在机器级程序中将控制与数据结合起来浮点代码程序的机器级表示表述基于 x86-64 ,它是现在笔记本电脑和台式机中最常见处理器的机器语言,也是驱动大型数据中心和超级计算机的最常见处理器的原创 2021-10-27 20:53:43 · 1674 阅读 · 0 评论 -
《深入理解计算机系统》学习笔记——信息的表示和处理
计算机系统——信息的表示和处理信息的表示和处理信息存储十六进制表示法字数据大小寻址和字节顺序表示字符串布尔代数C语言中的位级运算C语言中的逻辑运算C语言中的位移运算整数表示整数运算浮点数小结信息的表示和处理三种最重要的数字表示:无符号(unsigned)编码基于传统的二进制表示法,表示大于或等于零的数字。补码(two’ s-complement)编码是表示有符号整数的最常见的方式,有符号整数就是可以为正或者为负的数字。浮点数(floating-point)编码是表示实数的科学记数法的以2为基数原创 2021-10-22 22:01:24 · 764 阅读 · 0 评论 -
《深入理解计算机系统》学习笔记——计算机系统漫游
计算机系统漫游计算机系统是由硬件和系统软件组成的,他们共同工作来运行应用程序。- 程序的生命周期是从一个源程序(或者说源文件)开始的,即程序员通过编辑器创建并保存的文本文件。- 源程序实际上就是一个由值0和1组成的位(又成比特)序列,8个位被组成一组,称为字节。基本思想:系统中所有的信息——包括磁盘文件、内存中的程序、内存中存放的用户数据以及网络上传送的数据,都是由一串比特表示的。区分不同数据对象的唯一方法是我们读到的这些数据对象时的上下文。编译过程预处理阶段 - 预处理器(cpp)根原创 2021-10-18 22:44:38 · 121 阅读 · 0 评论