首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    计算机硬件知识总结

    计算机硬件对于软件工程师来说很多时候只是停留在一个概念上,例如CPU和内存,硬盘等等,这些都属于计算机组成原理里面必然会介绍到的,博主大学前期接触过大量的计算机硬件知识,曾几何时我甚至考虑过全身心投入到半导体行业,但是考虑到环境限制因素和个人职业的发展,折中选择了软件方向,但是最近阅读了一些机器学习相关的文章,也尝试过自己去训练模型,发现模型训练对硬件的要求比较特殊,这也让我有机会来从新总结一下硬件方面的知识,从软件工程师的角度介绍一下我理解的硬件知识。 首先我主要介绍的是单机系统的硬件组成,不太涉及路由器和交换机等等网络设备,毕竟即使是分布式系统也是由一台台机器组成的,分布式系统技术会涉及很多网络和数据一致性方面的问题,这在单机系统里这些问题都几乎被解决了,因为它是由系统总线与各种高速并且可靠协议的传输保证。 只要是计算机体系结构就离不开三个部分,处理运算模块,存储模块,通信模块。在单机系统里对应就是CPU,内存与硬盘,系统总线。 无论是服务器还是PC,体系都差不多,只是在各个具体的部件对于性能和稳定性有一些特殊的要求,例如服务器更要求稳定性,因为服务器要保证7×24服务,而个人电脑更多强调的是比较强劲的性能,偶尔宕机只需要重新启动即可,这样用户是可以接受的。典型的电脑配置包含几个部分:CPU,内存,硬盘,显卡,主板,电源早期还有北桥(内置内存控制器等模块),南桥,还有散热系统。

    01

    .NET内存管理必备知识

    小型对象是被分配在小型对象堆SOH上的。SOH有3代,分别是:第0代,第1代,第2代。对象根据寿命向上移动。将新对象放在Gen 0上。当第0代充满时,.NET垃圾收集器会处理不需要的对象,并将其它内容移至第1代上,如果第1代充满了那么垃圾回收会再次运行处理不需要的对象,并将其它内容移至第2代上。那么当第2代充满时会发生垃圾回收完全运行。将清除不需要的第2代对象,并将第1代对象移动到第2代上,然后将第0代对象移动到第1代上,最后清除所有未引用内容。每次运行垃圾回收后会压缩受影响的堆,将仍然在使用的内存放置在一起。这种方法可以确保高效运行,并且耗时的压缩过程只在必要时发生。

    02
    领券