热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

《现代体系结构上的UNIX系统内核程序员的对称多处理和缓存技术(修订版)》的读后观感和小总结

前言这本书实际上叫做《现代体系结构上的UNIX系统-内核程序员的对称多处理和缓存技术(修订版)》这本书我才刚刚看完,下面打算看电子版书籍《内存模型和缓存一致性》与《

前言

这本书实际上叫做《现代体系结构上的 UNIX 系统-内核程序员的对称多处理和缓存技术(修订版)》这本书我才刚刚看完,下面打算看电子版书籍《内存模型和缓存一致性》与《多处理器编程的艺术》。我第一次看的时候没注意第一三部分,主要注意了第二部分。读书板块从来都是读文学书,很少有读技术书的,我今天来凑个热闹。




第一部分--高速缓存系统

第一部分讲解了两种高速缓存系统和其写策略:直接映射高速缓存和 N 路组相连高速缓存系统,与常用的写策略:写直通,写回和写分配。接着通过介绍纯虚拟高速缓存,到键虚拟高速缓存再到物理高速缓存系统执行上下文切换 /fork/exec 等操作时候的困难和优势,介绍了为什么目前常见的硬件都是讲虚拟高速缓存和物理高速缓存相结合的策略-避免出现重名和歧义的问题,而且物理高速缓存有总线监视等搞笑手段。最后指出了三种提高高速缓存效率的方法:地址空间布局,延迟高速缓存无效和缓存对其的数据结构。最后一种方法是对应用程序最直接的方法,前两种实际上对应用程序是透明的。

第二部分--多处理器系统

这一部分考虑了主从系统内核,支持自旋锁的内核,采用信号量的内核等面对争用的解决方式,我个人觉得这部分实际上已经可以不看了。因为很多只要看 linux 内核里面的锁,互斥量等东西就能理解到。




第三部分--带有高速缓存的多处理器系统

第三部分讲述了在 SMP 体系下,面对缓存不一致问题的解决。并介绍了缓存一致性和顺序一致性协议,实际上这部分同样也不是很值得看,不如直接看《 A Primer onMemory Consistencyand Cache Coherence 》

结语

这本书作为一本入门书籍比较合适,其他方面可能比《 C++并发实战》还是要差一些,对于内存的解释相比较而言还是并发实战更好一些。

支持这种分享的精神


   



推荐阅读
  • Java高级工程师学习路径及面试准备指南
    本文基于一位朋友的PDF面试经验整理,涵盖了Java高级工程师所需掌握的核心知识点,包括数据结构与算法、计算机网络、数据库、操作系统等多个方面,并提供了详细的参考资料和学习建议。 ... [详细]
  • 本文回顾了作者在求职阿里和腾讯实习生过程中,从最初的迷茫到最后成功获得Offer的心路历程。文中不仅分享了个人的面试经历,还提供了宝贵的面试准备建议和技巧。 ... [详细]
  • 函子(Functor)是函数式编程中的一个重要概念,它不仅是一个特殊的容器,还提供了一种优雅的方式来处理值和函数。本文将详细介绍函子的基本概念及其在函数式编程中的应用,包括如何通过函子控制副作用、处理异常以及进行异步操作。 ... [详细]
  • 本文详细介绍了如何在PHP中使用Memcached进行数据缓存,包括服务器连接、数据操作、高级功能等。 ... [详细]
  • Java虚拟机及其发展历程
    Java虚拟机(JVM)是每个Java开发者日常工作中不可或缺的一部分,但其背后的运作机制却往往显得神秘莫测。本文将探讨Java及其虚拟机的发展历程,帮助读者深入了解这一关键技术。 ... [详细]
  • 本文深入探讨了Linux内核中进程地址空间的设计与实现,包括虚拟地址空间的概念、内存描述符`mm_struct`的作用、内核线程与用户进程的区别、进程地址空间的分配方法、虚拟内存区域(VMA)的结构以及地址空间与页表之间的映射机制。 ... [详细]
  • 本文详细介绍了在 CentOS 系统中如何创建和管理 SWAP 分区,包括临时创建交换文件、永久性增加交换空间的方法,以及如何手动释放内存缓存。 ... [详细]
  • TCP协议中的可靠传输机制分析
    本文深入探讨了TCP协议如何通过滑动窗口和超时重传来确保数据传输的可靠性,同时介绍了流量控制和拥塞控制的基本原理及其在实际网络通信中的应用。 ... [详细]
  • 我的读书清单(持续更新)201705311.《一千零一夜》2006(四五年级)2.《中华上下五千年》2008(初一)3.《鲁滨孙漂流记》2008(初二)4.《钢铁是怎样炼成的》20 ... [详细]
  • 本文探讨了如何通过Service Locator模式来简化和优化在B/S架构中的服务命名访问,特别是对于需要频繁访问的服务,如JNDI和XMLNS。该模式通过缓存机制减少了重复查找的成本,并提供了对多种服务的统一访问接口。 ... [详细]
  • 汇编语言:编程世界的始祖,连C语言都敬畏三分!
    当C语言还在萌芽阶段时,它首次接触到了汇编语言,并对其简洁性感到震惊。尽管汇编语言的指令极其简单,但它却是所有现代编程语言的基础,其重要性不言而喻。 ... [详细]
  • 每种编程语言都有其独特的完成任务的方式,这也说明了为什么有这么多语言可供选择。在JimHall的《不同的编程语言如何完成相同的事情》文章中,他演示了13种不同的语言如何使用不同的语 ... [详细]
  • Vulnhub DC3 实战记录与分析
    本文记录了在 Vulnhub DC3 靶机上的渗透测试过程,包括漏洞利用、内核提权等关键步骤,并总结了实战经验和教训。 ... [详细]
  • 大华股份2013届校园招聘软件算法类试题D卷
    一、填空题(共17题,每题3分,总共51分)1.设有inta5,*b,**c,执行语句c&b,b&a后,**c的值为________答:5 ... [详细]
  • 本文将深入探讨C语言代码的可重用性,解释其重要性和实现方法。通过具体示例,我们将展示如何通过封装和模块化设计提高代码的可重用性。 ... [详细]
author-avatar
猴三爷22_394
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有