的加快进度

发布时间 2023-10-19 16:59:49作者: halouyayuandatou

<div id="mainContent">
<div class="forFlow">
<div id="post_detail">
<!--done-->
<div id="topics">
<div class="post">
<h1 class="postTitle">

<a id="cb_post_title_url" class="postTitle2 vertical-middle" href="https://www.cnblogs.com/linhaifeng/p/6523843.html">
<span role="heading" aria-level="2">计算机基础系列一:计算机硬件</span>

 

</a><button class="cnblogs-toc-button" title="显示目录导航" aria-expanded="false"></button>

</h1>
<div class="clear"></div>
<div class="postBody">
<div id="cnblogs_post_body" class="blogpost-body blogpost-body-html"><a rel="nofollow noopener" name="_labelTop"></a><div id="navCategory"><ul><li><a rel="nofollow noopener" href="#_label1" style="color: darkseagreen;text-decoration:none;font-size:18px">一 为何要学习计算机基础</a></li><li><a rel="nofollow noopener" href="#_label2" style="color: darkseagreen;text-decoration:none;font-size:18px">二 本节目标</a></li><li><a rel="nofollow noopener" href="#_label3" style="color: darkseagreen;text-decoration:none;font-size:18px">三 &nbsp;计算机硬件发展史</a></li><li><a rel="nofollow noopener" href="#_label4" style="color: darkseagreen;text-decoration:none;font-size:18px">四:计算机硬件组成</a></li><li><a rel="nofollow noopener" href="#_label5" style="color: darkseagreen;text-decoration:none;font-size:18px">4.1 处理器</a></li><li><a rel="nofollow noopener" href="#_label6" style="color: darkseagreen;text-decoration:none;font-size:18px">4.2 存储器</a></li><li><a rel="nofollow noopener" href="#_label7" style="color: darkseagreen;text-decoration:none;font-size:18px">4.3 磁盘</a></li><li><a rel="nofollow noopener" href="#_label8" style="color: darkseagreen;text-decoration:none;font-size:18px">4.4 磁带</a></li><li><a rel="nofollow noopener" href="#_label9" style="color: darkseagreen;text-decoration:none;font-size:18px">4.5 输入输出设备</a></li><li><a rel="nofollow noopener" href="#_label10" style="color: darkseagreen;text-decoration:none;font-size:18px">4.6 总线</a></li><li><a rel="nofollow noopener" href="#_label11" style="color: darkseagreen;text-decoration:none;font-size:18px">4.7 启动计算机</a></li></ul></div>
<div style="text-align: right"><a rel="nofollow noopener" href="#_labelTop"></a><a rel="nofollow noopener" name="_label1"></a></div><h1>一 为何要学习计算机基础<button class="cnblogs-toc-button" title="显示目录导航" aria-expanded="false"></button></h1>
<p>python是编程语言,即python是语言</p>
<p>语言有英语、法语、葡萄牙语等,但凡是语言,都是用来沟通的介质。</p>
<p>程序员编程的本质就是让计算机去工作,而编程语言就是程序员与计算机沟通的介质</p>
<p>程序员要想让计算机工作,必须知道计算机能干什么,怎么干的,这也就是我们必须学习计算机基础的原因</p>
<p>&nbsp;</p>
<p>然而光有编程语言和硬件也并不能满足大家的编程需求,为什么这么说呢?</p>
<p>程序用编程语言写程序,最终开发出的结果就是一个软件,既然是软件,那就与腾讯qq、暴风影音、快播等软件没有区别了。这些软件必须运行在操作系统之上,你肯定会问:为何要有操作系统呢?没错,远古时代的程序员确实是在没有操作系统的环境下,用编程语言之间操作硬件来编程的,你可能觉得这没有问题,但其实问题是相当严重的,因为此时你必须掌握如何操作硬件的所有具体细节,比如如何具体操作硬盘(现在你得把硬盘拆开,然后你能看见的所有的东西,你都得研究明白,因为你编程时要用到它),这就严重影响了开发的效率,操作系统的出现就是运行于硬件之上,来控制硬件的,我们开发时,只需要调用操作系统为我们提供的简单而优雅的接口就可以了</p>
<p>&nbsp;</p>
<p>所以一套完整的计算机系统分为:计算机硬件,操作系统,应用软件,如下图。</p>
<p>、因而我们的python编程之路分为计算机硬件基础,操作系统基础,和python编程三部分,就让我们先从计算机硬件学起吧</p>
<p><img src="https://images2018.cnblogs.com/blog/1036857/201803/1036857-20180314160549829-1723176303.png" alt="" width="693" height="871" class="medium-zoom-image"></p>
<div style="text-align: right"><a rel="nofollow noopener" href="#_labelTop"></a><a rel="nofollow noopener" name="_label2"></a></div><h1>二 本节目标<button class="cnblogs-toc-button" title="显示目录导航" aria-expanded="false"></button></h1>
<ol>
<li><span style="font-size: 18pt">了解计算机各组件及工作原理</span></li>
<li><span style="font-size: 18pt">了解计算机启动流程</span></li>
</ol>
<div style="text-align: right"><a rel="nofollow noopener" href="#_labelTop"></a><a rel="nofollow noopener" name="_label3"></a></div><h1>三 &nbsp;计算机硬件发展史<button class="cnblogs-toc-button" title="显示目录导航" aria-expanded="false"></button></h1>
<p>http://www.cnblogs.com/linhaifeng/p/6428430.html</p>
<div style="text-align: right"><a rel="nofollow noopener" href="#_labelTop"></a><a rel="nofollow noopener" name="_label4"></a></div><h1>四:计算机硬件组成<button class="cnblogs-toc-button" title="显示目录导航" aria-expanded="false"></button></h1>
<p>计算机硬件有五大部分:(计算机是人的奴隶,可以将其当作一个人去看,请思考下述组件等同于人的哪些器官)</p>
<div class="cnblogs_code"><div class="cnblogs_code_toolbar"><span class="cnblogs_code_copy"><a href="javascript:void(0);" onclick="copyCnblogsCode(this)" title="复制代码"><img src="//common.cnblogs.com/images/copycode.gif" alt="复制代码"></a></span></div>
<pre><span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)">1、控制器:计算机的指挥系统。控制器通过地址访问存储器,从存储器中取出指令,经译码器分析后,根据指令分析结果产生相应的操作控制信号作用于其他部件,使得各部件在控制器控制下有条不紊地协调工作。</span>

<span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)">2、运算器:实现算术运算和逻辑运算的部件。 </span>

<span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)">3、存储器:是计算机用来存放所有数据和程序的记忆部件。它的基本功能是按指定的地址存(写)入或者取(读)出信息。 计算机中的存储器可分成两大类:一类是内存储器,简称内存或主存;另一类是外存储器(辅助存储器),简称外存或辅存。 存储器由若干个存储单元组成,每个存储单元都有一个地址,计算机通过地址对存储单元进行读写。一个存储器所包含的字节数称为存储容量,单位有B、KB、MB、GB、TB等。</span>

<span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)">4、输入设备:是向计算机中输入信息(程序、数据、声音、文字、图形、图像等)的设备。常见的输入设备有:键盘、鼠标、图形扫描仪、触摸屏、条形码输入器、光笔等。 外存储器也是一种输入设备。 </span>

<span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)">5、输出设备:主要有显示器、打印机和绘图仪等。外存储器也当作一种输出设备。</span></pre>
<div class="cnblogs_code_toolbar"><span class="cnblogs_code_copy"><a href="javascript:void(0);" onclick="copyCnblogsCode(this)" title="复制代码"><img src="//common.cnblogs.com/images/copycode.gif" alt="复制代码"></a></span></div></div>
<p>控制器+运算器=CPU,<span style="color: rgba(255, 0, 0, 1)"><strong><span style="font-size: 14pt">CPU、内存(主存储器)以及其他I/O设备都由一条系统总线(bus)连接起来并通过总线与其他设备通信</span></strong></span></p>
<p>现代计算机的结构更复杂,包括<span style="color: rgba(255, 0, 0, 1); font-size: 14pt"><strong>多重总线</strong></span>,我们将在后面的小节介绍,此时暂且让我们以下图为例来介绍各个部件&nbsp;</p>
<p><img src="https://images2015.cnblogs.com/blog/1036857/201703/1036857-20170308232608125-1550495213.png" alt="" class="medium-zoom-image"></p>
<p><span style="font-size: 14pt; color: rgba(0, 0, 255, 1)">cpu是人的大脑,负责控制全身和运算</span></p>
<p><span style="font-size: 14pt; color: rgba(0, 0, 128, 1)">内存是人的记忆,负责临时存储</span></p>
<p><span style="font-size: 14pt; color: rgba(0, 204, 255, 1)">硬盘是人的笔记本,负责永久存储</span></p>
<p><span style="font-size: 14pt; color: rgba(51, 153, 102, 1)">输入设备是耳朵或眼睛或嘴巴,负责接收外部的信息存入内存</span></p>
<p><span style="font-size: 14pt; color: rgba(153, 204, 0, 1)">输出设备是你的脸部(表情)或者屁股,负责经过处理后输出的结果</span></p>
<p><span style="font-size: 14pt; color: rgba(255, 102, 0, 1)">以上所有的设备都通过总线连接,总线相当于人的神经</span></p>
<p>&nbsp;</p>
<p>上课开始,老师讲课,学生听课,老师是程序员,学生是计算机,学生的器官都是计算机各部分组成</p>
<p><span style="font-size: 14pt; color: rgba(255, 0, 255, 1)">1.你通过耳朵接收老师讲的知识-&gt;输入</span></p>
<p><span style="font-size: 14pt; color: rgba(255, 153, 204, 1)">2.通过自己的神经,将接收的数据存入自己的内存/短期记忆(总线、内存)</span></p>
<p><span style="font-size: 14pt; color: rgba(153, 51, 0, 1)">3.光听不行,你还需要反应/处理老师讲的知识,于是你的大脑/cpu从短期记忆里取出知识/指令,分析知识/指令,然后学习知识/执行指令 (cpu取指、分析、执行)</span></p>
<p><span style="font-size: 14pt; color: rgba(255, 102, 0, 1)">4.你通过作业或者说话输出你学到的结果</span></p>
<p><span style="font-size: 14pt; color: rgba(0, 128, 0, 1)">5.你想要永久将知识保存下来,只能拿出一个笔记本,把刚刚学会的知识都写到本子上,这个本子就是硬盘(磁盘)</span></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p class="md-end-block">综合上面所说的,我们知道其实计算机是由五大单元:CPU(控制单元、算术逻辑单元)、主存储器、输入单元、输出单元构成的。也可以说CPU+主存储器+输入输出构成了电子计算机的三大核心组件</p>
<p class="md-end-block">1、控制单元+算数逻辑单元=&gt;CPU&nbsp;</p>
<p class="md-end-block"><span>2、主存储器,即内存</span></p>
<p class="md-end-block"><span>3、输入单元Input+输出单元Outpu=&gt;IO设备</span></p>
<p class="md-end-block">&nbsp;</p>
<p class="md-end-block">相关性如下图:</p>
<p class="md-end-block md-focus"><span><img src="https://images2018.cnblogs.com/blog/1036857/201803/1036857-20180314171523158-1421724255.png" alt="" width="747" height="383" class="medium-zoom-image"></span></p>
<div style="text-align: right"><a rel="nofollow noopener" href="#_labelTop"></a><a rel="nofollow noopener" name="_label5"></a></div><h2>4.1 处理器<button class="cnblogs-toc-button" title="显示目录导航" aria-expanded="false"></button></h2>
<p align="justify">&nbsp; &nbsp; &nbsp; 通常将运算器和控制器合称为中央处理器(Central Processing Unit,CPU)。其中运算器用来主要负责程序运算与逻辑判断,控制器则主要协调各组件和各单元的工作,所以CPU的工作主要在于管理和运算。可以说计算机的大脑就是CPU,它从内存中<strong>取指令-&gt;解码-&gt;执行,</strong>然后再取指-&gt;解码-&gt;执行下一条指令,周而复始,直至整个程序被执行完成。&nbsp;</p>
<p align="justify">  既然CPU的重点在于进行运算和判断,那么要被运算与判断的数据是从哪里来的?<span style="color: rgba(255, 0, 0, 1); font-size: 14pt"><strong>CPU</strong></span><strong><span style="color: rgba(255, 0, 0, 1); font-size: 14pt">读取的数据都是从主存储器(内存)来的!</span>主存储器内的数据则是从输入单元所传输进来!而</strong><strong>CPU</strong><strong>处理完毕的数据也必须先写回主存储器中,最后数据才从主存储器传输到输出单元。</strong></p>
<p align="justify"><strong><img src="https://img2018.cnblogs.com/i-beta/1036857/202003/1036857-20200301204504791-67682153.jpg" alt="" class="medium-zoom-image"></strong></p>
<p>&nbsp; &nbsp;&nbsp; &nbsp; 在超大规模集成电路构成的微型计算机中,往往将CPU制成一块具有特定功能的芯片,称为微处理器,芯片里边有编写好的微指令集,我们在主机上的所有操作或者说任何软件的执行最终都要转化成cpu的指令去执行,如输入输出,阅读,视频,上网等这些都要参考CPU是否内置有相关微指令集才行。如果没有那么CPU无法处理这些操作。不同的CPU指令集不同对应的功能也不同,这就好比不同的人脑,对于大多数人类来说,人脑的结构一样,但是大家的智商都有差别。</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp;那么目前世界上的主流CPU由那些呢?我们笔记本上贴的Intel、AMD是怎么回事呢?下面我们来认识一下;</p>
<div class="cnblogs_code"><img src="https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" alt="" id="code_img_closed_9c28411f-1f57-461f-9c94-6ccc19911440" class="code_img_closed"><img src="https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif" alt="" id="code_img_opened_9c28411f-1f57-461f-9c94-6ccc19911440" class="code_img_opened" style="display: none">
<div id="cnblogs_code_open_9c28411f-1f57-461f-9c94-6ccc19911440" class="cnblogs_code_hide">
<pre><span style="color: rgba(0, 0, 0, 1)">我们已经知道CPU内部是含有微指令集的,我们所使用的的软件都要经过CPU内部的微指令集来完成才行。这些指令集的设计主要又被分为两种设计理念,这就是目前世界上常见到的两种主要的CPU种类:分别是精简指令集(RISC)与复杂指令集(CISC)系统。下面我们就来谈谈这两种不同CPU种类的差异!

</span><span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)"> 1.1、精简指令集(了解)</span>
<span style="color: rgba(0, 0, 0, 1)">  精简指令集(Reduced Instruction Set Computing,RISC):这种CPU的设计中,微指令集较为精简,每个指令的运行时间都很短,完成的动作也很单纯,指令的执行效能较佳;但是若要做复杂的事情,就要由多个指令来完成。常见的RISC指令集CPU主要例如Sun公司的SPARC系列、IBM公司的Power Architecture(包括PowerPC)系列、与ARM系列等。【注:Sun已经被Oracle收购;】

  SPARC架构的计算机常用于学术领域的大型工作站中,包括银行金融体系的主服务器也都有这类的计算机架构;

  PowerPC架构的应用,如Sony出产的Play Station </span>3<span style="color: rgba(0, 0, 0, 1)">(PS3)使用的就是该架构的Cell处理器。

  ARM是世界上使用范围最广的CPU了,常用的各厂商的手机、PDA、导航系统、网络设备等,几乎都用该架构的CPU。

</span><span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)"> 1.2、复杂指令集</span>
<span style="color: rgba(0, 0, 0, 1)">  复杂指令集(Complex Instruction Set Computer,CISC)与RISC不同,在CISC的微指令集中,每个小指令可以执行一些较低阶的硬件操作,指令数目多而且复杂,每条指令的长度并不相同。因此指令执行较为复杂所以每条指令花费的时间较长,但每条个别指令可以处理的工作较为丰富。常见的CISC微指令集CPU主要有AMD、Intel、VIA等的x86架构的CPU。

</span><span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)"> 总结:</span>
CPU按照指令集可以分为精简指令集CPU和复杂指令集CPU两种,区别在于前者的指令集精简,每个指令的运行时间都很短,完成的动作也很单纯,指令的执行效能较佳;但是若要做复杂的事情,就要由多个指令来完成。后者的指令集每个小指令可以执行一些较低阶的硬件操作,指令数目多而且复杂,每条指令的长度并不相同。因为指令执行较为复杂所以每条指令花费的时间较长,但每条个别指令可以处理的工作较为丰富。</pre>
</div>
<span class="cnblogs_code_collapse"> 1、cpu的分类与指令集(了解)</span></div>
<p><img src="https://img2018.cnblogs.com/i-beta/1036857/202003/1036857-20200301212008162-873584377.png" alt="" width="719" height="551" class="medium-zoom-image"></p>
<p><img src="https://img2018.cnblogs.com/i-beta/1036857/202003/1036857-20200301212127189-1719244711.jpg" alt="" class="medium-zoom-image">&nbsp;</p>
<div class="cnblogs_code"><img src="https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" alt="" id="code_img_closed_631b24f4-eab0-4b63-afb8-d8767e09c48c" class="code_img_closed"><img src="https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif" alt="" id="code_img_opened_631b24f4-eab0-4b63-afb8-d8767e09c48c" class="code_img_opened" style="display: none">
<div id="cnblogs_code_open_631b24f4-eab0-4b63-afb8-d8767e09c48c" class="cnblogs_code_hide">
<pre><span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)">1、x86架构</span>
x86是针对cpu的型号或者说架构的一种统称,详细地讲,最早的那颗Intel发明出来的CPU代号称为8086,后来在8086的基础上又开发出了80285、80386<span style="color: rgba(0, 0, 0, 1)">....,因此这种架构的CPU就被统称为x86架构了。

由于AMD、Intel、VIA所开发出来的x86架构CPU被大量使用于个人计算机上面,因此,个人计算机常被称为x86架构的计算机!
程序员开发出的软件最终都要翻译成cpu的指令集才能运行,因此软件的版本必须与cpu的架构契合,举个例子,我们在MySQL官网下载软件MySQL时名字为:
Windows(x86,</span>32-<span style="color: rgba(0, 0, 0, 1)">bit),ZIP Archive
(mysql</span>-5.7.20-<span style="color: rgba(0, 0, 0, 1)">win32.zip)
我们发现名字中有x86,这其实就是告诉我们:该软件应该运行在x86架构的计算机上。
</span><span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)">2、64位 </span>
<span style="color: rgba(0, 0, 0, 1)"> cpu的位数指的是cpu一次性能从内存中取出多少位二进制指令,64bit指的是一次性能从内存中取出64位二进制指令。
在2003年以前由Intel所开发的x86架构CPU由8位升级到16、32位,后来AMD依此架构修改新一代的CPU为64位,到现在,个人计算机CPU通常都是x86_64的架构。
cpu具有向下兼容性,指的是64位的cpu既可以运行64位的软件,也可以运行32位的软件,而32位的cpu只能运行32位的软件。这其实很好理解,如果把cpu的位数当成是车道的宽,而内存中软件的指令当做是待通行的车辆,宽64的车道每次肯定既可以通行64辆车,也可以通信32辆车,而宽32的车道每次却只能通行32辆车</span></pre>
</div>
<span class="cnblogs_code_collapse">2、x86架构64位</span>&nbsp;</div>
<div class="cnblogs_code"><img src="https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" alt="" id="code_img_closed_7cd08d25-393a-49f1-930d-23d1c97d5fba" class="code_img_closed"><img src="https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif" alt="" id="code_img_opened_7cd08d25-393a-49f1-930d-23d1c97d5fba" class="code_img_opened" style="display: none">
<div id="cnblogs_code_open_7cd08d25-393a-49f1-930d-23d1c97d5fba" class="cnblogs_code_hide">
<pre><span style="color: rgba(0, 0, 0, 1)">微处理器由一片或少数几片大规模集成电路组成的中央处理器。这些电路执行控制部件和算术逻辑部件的功能。微处理器能完成取指令、执行指令,以及与外界存储器和逻辑部件交换信息等操作,是微型计算机的运算控制部分。它可与存储器和外围电路芯片组成微型计算机。
计算机的发展主要表现在其核心部件——微处理器的发展上,每当一款新型的微处理器出现时,就会带动计算机系统的其他部件的相应发展,如计算机体系结构的进一步优化,存储器存取容量的不断增大、存取速度的不断提高,外围设备的不断改进以及新设备的不断出现等。根据微处理器的字长和功能,可将其发展划分为以下几个阶段。

第1阶段(</span>1971<span style="color: rgba(0, 0, 0, 1)">——1973年)是4位和8位低档微处理器时代,通常称为第1代。
第2阶段(</span>1974<span style="color: rgba(0, 0, 0, 1)">——1977年)是8位中高档微处理器时代,通常称为第2代。
第3阶段(</span>1978<span style="color: rgba(0, 0, 0, 1)">——1984年)是16位微处理器时代,通常称为第3代。
第4阶段(</span>1985<span style="color: rgba(0, 0, 0, 1)">——1992年)是32位微处理器时代,又称为第4代。
第5阶段(</span>1993-<span style="color: rgba(0, 0, 0, 1)">2005年)是奔腾(pentium)系列微处理器时代,通常称为第5代。
第6阶段(2005年至今)是酷睿(core)系列微处理器时代,通常称为第6代。“酷睿”是一款领先节能的新型微架构,设计的出发点是提供卓然出众的性能和能效,提高每瓦特性能,也就是所谓的能效比。
若想具体了解CPU历史参见百度百科:
https:</span>//baike.baidu.com/item/%E4%B8%AD%E5%A4%AE%E5%A4%84%E7%90%86%E5%99%A8/284033?fr=aladdin&amp;fromid=368184&amp;fromtitle=%EF%BC%A3%EF%BC%B0%EF%BC%B5<span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)">10</span></pre>
</div>
<span class="cnblogs_code_collapse">3、CPU历史(了解)</span></div>
<div class="cnblogs_code"><img src="https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" alt="" id="code_img_closed_a45d3670-97aa-46c3-b5fd-233d85e493bf" class="code_img_closed"><img src="https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif" alt="" id="code_img_opened_a45d3670-97aa-46c3-b5fd-233d85e493bf" class="code_img_opened" style="display: none">
<div id="cnblogs_code_open_a45d3670-97aa-46c3-b5fd-233d85e493bf" class="cnblogs_code_hide">
<pre><span style="color: rgba(0, 0, 0, 1)">常将运算器和控制器合称为中央处理器(Central Processing Unit,CPU)。

其中运算器用来主要负责程序运算与逻辑判断,控制器则主要协调各组件和各单元的工作,所以CPU的工作主要在于管理和运算。可以说计算机的大脑就是CPU


</span><span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)">1、运算器</span>
<span style="color: rgba(0, 0, 0, 1)">
  运算器是对信息进行处理和运算的部件。经常进行的运算是算术运算和逻辑运算,所以运算器又可称为算术逻辑运算部件(Arithmetic </span><span style="color: rgba(0, 0, 255, 1)">and</span><span style="color: rgba(0, 0, 0, 1)"> Logical,ALU)。

  运算器的核心是加法器。运算器中还有若干个通用寄存器或累加寄存器,用来暂存操作数并存放运算结果。寄存器的存取速度比存储器的存放速度快很多。

</span><span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)">2 控制器</span>
<span style="color: rgba(0, 0, 0, 1)">  控制器是整个计算机的指挥中心,它的主要功能是按照人们预先确定的操作步骤,控制整个计算机的各部件有条不紊的自动工作。

  控制器从主存中逐条地读取出指令进行分析,根据指令的不同来安排操作顺序,向各部件发出相应的操作信号,控制它们执行指令所规定的任务。控制器中包括一些专用的寄存器。</span></pre>
</div>
<span class="cnblogs_code_collapse">4、运算器与控制器(了解)</span></div>
<div class="cnblogs_code"><img src="https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" alt="" id="code_img_closed_1cec3753-913b-41c4-87d1-3cf08d7a5ffa" class="code_img_closed"><img src="https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif" alt="" id="code_img_opened_1cec3753-913b-41c4-87d1-3cf08d7a5ffa" class="code_img_opened" style="display: none">
<div id="cnblogs_code_open_1cec3753-913b-41c4-87d1-3cf08d7a5ffa" class="cnblogs_code_hide">
<pre><span style="color: rgba(0, 0, 0, 1)">因访问内存以得到指令或数据的时间比cpu执行指令花费的时间要长得多,所以,所有CPU内部都有一些用来保存关键变量和临时数据的寄存器,这样通常在cpu的指令集中专门提供一些指令,用来将一个字(可以理解为数据)从内存调入寄存器,以及将一个字从寄存器存入内存。cpu其他的指令集可以把来自寄存器、内存的操作数据组合,或者用两者产生一个结果,比如将两个字相加并把结果存在寄存器或内存中。

寄存器的分类:

</span>1<span style="color: rgba(0, 0, 0, 1)">.除了用来保存变量和临时结果的通用寄存器外

</span>2<span style="color: rgba(0, 0, 0, 1)">.多数计算机还有一些对程序员课件的专门寄存器,其中之一便是程序计数器,它保存了将要取出的下一条指令的内存地址。在指令取出后,程序计算器就被更新以便执行后期的指令

  </span>3<span style="color: rgba(0, 0, 0, 1)">.另外一个寄存器便是堆栈指针,它指向内存中当前栈的顶端。该栈包含已经进入但是还没有退出的每个过程中的一个框架。在一个过程的堆栈框架中保存了有关的输入参数、局部变量以及那些没有保存在寄存器中的临时变量

  </span>4.最后 一个非常重要的寄存器就是程序状态字寄存器(Program Status Word,PSW),这个寄存器包含了条码位(由比较指令设置)、CPU优先级、模式(用户态或内核态),以及各种其他控制位。用户通常读入整个PSW,但是只对其中少量的字段写入。在系统调用和I/<span style="color: rgba(0, 0, 0, 1)">O中,PSW非常非常非常非常非常非常重要

  寄存器的维护:

  操作系统必须知晓所有的寄存器。在时间多路复用的CPU中,操作系统会经常中止正在运行的某个程序并启动(或再次启动)另一个程序。每次停止一个运行着的程序时,操作系统必须保存所有的寄存器,这样在稍后该程序被再次运行时,可以把这些寄存器重新装入。</span></pre>
</div>
<span class="cnblogs_code_collapse">5、寄存器(了解)</span></div>
<p>&nbsp;&nbsp;</p>
<p>  <strong><span style="font-size: 18pt; color: rgba(255, 0, 0, 1)">处理器设计的演变</span></strong></p>
<p>1.最开始取值、解码、执行这三个过程是同时进行的,这意味着任何一个过程完成都需要等待其余两个过程执行完毕,时间浪费</p>
<p>2.后来被设计成了流水线式的设计,即执行指令n时,可以对指令n+1解码,并且可以读取指令n+2,完全是一套流水线。</p>
<p><img src="https://images2015.cnblogs.com/blog/1036857/201701/1036857-20170118175620421-960875756.png" alt="" class="medium-zoom-image"></p>
<p>3.超变量cpu,比流水线更加先进,有多个执行单元,可以同时负责不同的事情,比如看片的同时,听歌,打游戏。</p>
<p>两个或更多的指令被同时取出、解码并装入一个保持缓冲区中,直至它们都执行完毕。只有有一个执行单元空闲,就检查保持缓冲区是否还有可处理的指令</p>
<p><img src="https://images2015.cnblogs.com/blog/1036857/201701/1036857-20170118180026953-636695323.png" alt="" class="medium-zoom-image"></p>
<p>这种设计存在一种缺陷,即程序的指令经常不按照顺序执行,在多数情况下,硬件负责保证这种运算结果与顺序执行的指令时的结果相同。</p>
<p>  <strong><span style="font-size: 18pt; color: rgba(255, 0, 0, 1)">内核态与用户态</span></strong></p>
<div class="cnblogs_code"><img src="https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif" alt="" id="code_img_closed_45ba7fbb-3a3f-4765-b309-ebc48c8ffe69" class="code_img_closed"><img src="https://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif" alt="" id="code_img_opened_45ba7fbb-3a3f-4765-b309-ebc48c8ffe69" class="code_img_opened" style="display: none">
<div id="cnblogs_code_open_45ba7fbb-3a3f-4765-b309-ebc48c8ffe69" class="cnblogs_code_hide">
<pre><span style="color: rgba(0, 0, 0, 1)">  除了在嵌入式系统中的非常简答的CPU之外,多数CPU都有两种模式,即内核态与用户态。

  通常,PSW中有一个二进制位控制这两种模式。

  内核态:当cpu在内核态运行时,cpu可以执行指令集中所有的指令,很明显,所有的指令中包含了使用硬件的所有功能,(操作系统在内核态下运行,从而可以访问整个硬件)

  用户态:用户程序在用户态下运行,仅仅只能执行cpu整个指令集的一个子集,该子集中不包含操作硬件功能的部分,因此,一般情况下,在用户态中有关I</span>/<span style="color: rgba(0, 0, 0, 1)">O和内存保护(操作系统占用的内存是受保护的,不能被别的程序占用),当然,在用户态下,将PSW中的模式设置成内核态也是禁止的。

  内核态与用户态切换  

  用户态下工作的软件不能操作硬件,但是我们的软件比如暴风影音,一定会有操作硬件的需求,比如从磁盘上读一个电影文件,那就必须经历从用户态切换到内核态的过程,为此,用户程序必须使用系统调用(system call),系统调用陷入内核并调用操作系统,TRAP指令把用户态切换成内核态,并启用操作系统从而获得服务。

  请把的系统调用看成一个特别的的过程调用指令就可以了,该指令具有从用户态切换到内核态的特别能力。</span></pre>
</div>
<span class="cnblogs_code_collapse">CPU的两种工作状态:内核态与用户态</span></div>
<p>  <strong><span style="font-size: 18pt; color: rgba(255, 0, 0, 1)">多线程和多核芯片</span></strong></p>
<p style="margin-left: 30px">moore定律指出,芯片中的晶体管数量每18个月翻一倍,随着晶体管数量的增多,更强大的功能称为了可能,如</p>
<p style="margin-left: 30px">I.第一步增强:在cpu芯片中加入更大的缓存,一级缓存L1,用和cpu相同的材质制成,cpu访问它没有时延</p>
<p style="margin-left: 30px">II.第二步增强:一个cpu中的处理逻辑增多,intel公司首次提出,称为多线程(multithreading)或超线程(hyperthreading),对用户来说一个有两个线程的cpu就相当于两个cpu,我们后面要学习的进程和线程的知识就起源于这里,进程是资源单位而线程才是cpu的执行单位。</p>
<p style="margin-left: 30px">多线程运行cpu保持两个不同的线程状态,可以在纳秒级的时间内来回切换,速度快到你看到的结果是并发的,伪并行的,然而多线程不提供真正的并行处理,一个cpu同一时刻只能处理一个进程(一个进程中至少一个线程)</p>
<p style="margin-left: 30px">III.第三步增强:除了多线程,还出现了傲寒2个或者4个完整处理器的cpu芯片,如下图。要使用这类多核芯片肯定需要有多处理操作系统</p>
<p><img src="https://images2015.cnblogs.com/blog/1036857/201701/1036857-20170118182512359-1757124963.png" alt="" class="medium-zoom-image"></p>
<p><img src="https://images2015.cnblogs.com/blog/1036857/201701/1036857-20170118182858218-1536914146.png" alt="" class="medium-zoom-image">&nbsp;</p>
<div style="text-align: right"><a rel="nofollow noopener" href="#_labelTop"></a><a rel="nofollow noopener" name="_label6"></a></div><h2>4.2 存储器<button class="cnblogs-toc-button" title="显示目录导航" aria-expanded="false"></button></h2>
<p>计算机中第二重要的就是存储了,所有人都意淫着存储:速度快(这样cpu的等待存储器的延迟就降低了)+容量大+价钱便宜。然后同时兼备三者是不可能的,所以有了如下的不同的处理方式</p>
<p><img src="https://images2015.cnblogs.com/blog/1036857/201701/1036857-20170118183152312-1283265250.png" alt="" class="medium-zoom-image"></p>
<p>存储器系统采用如上图的分层结构,顶层的存储器速度较高,容量较小,与底层的存储器相比每位的成本较高,其差别往往是十亿数量级的</p>
<p>&nbsp;</p>
<p><strong><span style="font-size: 18pt; color: rgba(255, 0, 0, 1)">  寄存器即L1缓存:</span></strong></p>
<p>用与cpu相同材质制造,与cpu一样快,因而cpu访问它无时延,典型容量是:在32位cpu中为32*32,在64位cpu中为64*64,在两种情况下容量均&lt;1KB。</p>
<p><strong><span style="font-size: 18pt; color: rgba(255, 0, 0, 1)">  高速缓存即L2缓存:</span></strong></p>
<p>主要由硬件控制高速缓存的存取,内存中有高速缓存行按照0~64字节为行0,64~127为行1。。。最常用的高速缓存行放置在cpu内部或者非常接近cpu的高速缓存中。当某个程序需要读一个存储字时,高速缓存硬件检查所需要的高速缓存行是否在高速缓存中。如果是,则称为<strong><span style="font-size: 14pt; color: rgba(255, 0, 0, 1)">高速缓存命中</span></strong>,缓存满足了请求,就不需要通过总线把访问请求送往主存(内存),这毕竟是慢的。高速缓存的命中通常需要两个时钟周期。<span style="font-size: 14pt"><strong><span style="color: rgba(255, 0, 0, 1)">高速缓存为命中</span></strong></span>,就必须访问内存,这需要付出大量的时间代价。由于高速缓存价格昂贵,所以其大小有限,有些机器具有两级甚至三级高速缓存,每一级高速缓存比前一级慢但是容易大。</p>
<p>  缓存在计算机科学的许多领域中起着重要的作用,并不仅仅只是RAM(随机存取存储器)的缓存行。只要存在大量的资源可以划分为小的部分,那么这些资源中的某些部分肯定会比其他部分更频发地得到使用,此时用缓存可以带来性能上的提升。一个典型的例子就是操作系统一直在使用缓存,比如,多数操作系统在内存中保留频繁使用的文件(的一部分),以避免从磁盘中重复地调用这些文件,类似的/root/a/b/c/d/e/f/a.txt的长路径名转换成该文件所在的磁盘地址的结果然后放入缓存,可以避免重复寻找地址,还有一个web页面的url地址转换为网络地址(IP)地址后,这个转换结果也可以缓存起来供将来使用。</p>
<p>  缓存是一个好方法,在现代cpu中设计了两个缓存,再看4.1中的两种cpu设计图。第一级缓存称为L1总是在CPU中,通常用来将已经解码的指令调入cpu的执行引擎,对那些频繁使用的数据自,多少芯片还会按照第二L1缓存 。。。另外往往设计有二级缓存L2,用来存放近来经常使用的内存字。L1与L2的差别在于对cpu对L1的访问无时间延迟,而对L2的访问则有1-2个时钟周期(即1-2ns)的延迟。</p>
<p>内存:</p>
<p>再往下一层是主存,此乃存储器系统的主力,主存通常称为随机访问存储RAM,就是我们通常所说的内存,容量一直在不断攀升,所有不能再高速缓存中找到的,都会到主存中找,<strong><span style="font-size: 14pt; color: rgba(255, 0, 0, 1)">主存是易失性存储,断电后数据全部消失</span></strong></p>
<p>除了主存RAM之外,许多计算机已经在使用少量的<strong><span style="font-size: 14pt; color: rgba(255, 0, 0, 1)">非易失性随机访问存储如ROM(</span></strong>Read Only Memory,ROM),在电源切断之后,非易失性存储的内容并不会丢失,ROM只读存储器在工厂中就被编程完毕,然后再也不能修改。ROM速度快且便宜,在有些计算机中,用于启动计算机的引导加载模块就存放在ROM中,另外一些I/O卡也采用ROM处理底层设备的控制。</p>
<p><strong><span style="font-size: 14pt; color: rgba(255, 0, 0, 1)">EEPROM(Electrically Erasable PROM,电可擦除可编程ROM)和闪存(flash memory)也是非易失性的</span></strong>,但是与ROM相反,他们可以擦除和重写。不过重写时花费的时间比写入RAM要多。在便携式电子设备中中,闪存通常作为存储媒介。闪存是数码相机中的胶卷,是便携式音译播放器的磁盘,还应用于固态硬盘。闪存在速度上介于RAM和磁盘之间,但与磁盘不同的是,闪存擦除的次数过多,就被磨损了。</p>
<p>&nbsp;</p>
<p>还有一类存储器就是<strong><span style="font-size: 14pt; color: rgba(255, 0, 0, 1)">CMOS,它是易失性的</span></strong>,许多计算机利用CMOS存储器来<strong><span style="font-size: 14pt; color: rgba(255, 0, 0, 1)">保持当前时间和日期</span></strong>。CMOS存储器和递增时间的电路由一小块<span style="font-size: 14pt"><strong><span style="color: rgba(255, 0, 0, 1)">电池驱动</span></strong></span>,所以,即使计算机没有加电,时间也仍然可以正确地更新,除此之外<span style="font-size: 14pt"><strong><span style="color: rgba(255, 0, 0, 1)">CMOS还可以保存配置的参数,比如,哪一个是启动磁盘等</span></strong></span>,之所以采用CMOS是因为它耗电非常少,一块工厂原装电池往往能使用若干年,但是当电池失效时,相关的配置和时间等都将丢失</p>
<div style="text-align: right"><a rel="nofollow noopener" href="#_labelTop"></a><a rel="nofollow noopener" name="_label7"></a></div><h2>4.3 磁盘<button class="cnblogs-toc-button" title="显示目录导航" aria-expanded="false"></button></h2>
<p><img src="https://img2020.cnblogs.com/blog/1036857/202011/1036857-20201103145049279-941209661.png" alt="" loading="lazy"></p>
<p>&nbsp;</p>
<p>&nbsp;<img src="https://img2020.cnblogs.com/blog/1036857/202011/1036857-20201103145115759-1547694710.png" alt="" width="369" height="245" loading="lazy"></p>
<p><img src="https://images2015.cnblogs.com/blog/1036857/201703/1036857-20170309060223188-1339579.png" alt="" class="medium-zoom-image"></p>
<p><img src="https://img2020.cnblogs.com/blog/1036857/202011/1036857-20201103145310250-1919251080.png" alt="" loading="lazy"></p>
<p>&nbsp;</p>
<p><img src="https://img2020.cnblogs.com/blog/1036857/202011/1036857-20201103145317744-640227649.png" alt="" width="559" height="444" loading="lazy"></p>
<p>&nbsp;<img src="https://img2020.cnblogs.com/blog/1036857/202010/1036857-20201022180126269-1949248186.png" alt="" loading="lazy"></p>
<p>&nbsp;</p>
<p>磁盘低速的原因是因为它一种机械装置,在磁盘中有一个或多个金属盘片,它们以5400,7200或10800rpm(RPM&nbsp;=revolutions per minute 每分钟多少转&nbsp;)的速度旋转。从边缘开始有一个机械臂悬在盘面上,这类似于老式黑胶唱片机上的拾音臂。信息卸载磁盘上的一些列的同心圆上,是一连串的2进制位(称为bit位),为了统计方法,8个bit称为一个字节bytes,1024bytes=1k,1024k=1M,1024M=1G,所以我们平时所说的磁盘容量最终指的就是磁盘能写多少个2进制位。</p>
<div class="cnblogs_code"><div class="cnblogs_code_toolbar"><span class="cnblogs_code_copy"><a href="javascript:void(0);" onclick="copyCnblogsCode(this)" title="复制代码"><img src="//common.cnblogs.com/images/copycode.gif" alt="复制代码"></a></span></div>
<pre><span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)"> TB,PB, Eb, Zb, YB</span>
1B=<span style="color: rgba(0, 0, 0, 1)"> 8bit
1KB</span>=2(10)B=<span style="color: rgba(0, 0, 0, 1)">1024B; 括号中的数字为2的指数(即多少次方)
1MB</span>=2(10)KB=1024KB=2(20<span style="color: rgba(0, 0, 0, 1)">)B;
1GB</span>=2(10)MB=1024MB=2(30<span style="color: rgba(0, 0, 0, 1)">)B。
1TB</span>=2(10) GB=1024GB=2(40<span style="color: rgba(0, 0, 0, 1)">)B
1PB</span>=2(10) TB=1024TB=2(50<span style="color: rgba(0, 0, 0, 1)">)B
1EB</span>=2(10) PB=1024PB=2(60<span style="color: rgba(0, 0, 0, 1)">)B
1ZB</span>=2(10) EB=1024EB=2(70<span style="color: rgba(0, 0, 0, 1)">)B
1YB</span>=2(10) ZB=1024ZB=2(80<span style="color: rgba(0, 0, 0, 1)">)B

1Byte相当於一个英文字母
Kilobyte(KB)</span>=<span style="color: rgba(0, 0, 0, 1)">1024B相当於一则短篇故事的内容。
Megabyte(MB)</span>=<span style="color: rgba(0, 0, 0, 1)">l024KB相当於一则短篇小说的文字内容。
Gigabyte(GB)</span>=<span style="color: rgba(0, 0, 0, 1)">1024MB相当於贝多芬第五乐章交响曲的乐谱内容。
Terabyte(TB)</span>=<span style="color: rgba(0, 0, 0, 1)">1024GB相当於一家大型医院中所有的X光图片资讯量。
Petabyte(PB)</span>=l024TB相当於50%<span style="color: rgba(0, 0, 0, 1)">的全美学术研究图书馆藏书资讯内容。
Exabyte (EB)</span>=<span style="color: rgba(0, 0, 0, 1)">1024PB;5EB相当於至今全世界人类所讲过的话语。
Zettabyte(ZB)</span>=<span style="color: rgba(0, 0, 0, 1)">1024EB如同全世界海滩上的沙子数量总和。
Yottabyte(YB)</span>=1024ZB相当於7000位人类体内的微细胞总和。</pre>
<div class="cnblogs_code_toolbar"><span class="cnblogs_code_copy"><a href="javascript:void(0);" onclick="copyCnblogsCode(this)" title="复制代码"><img src="//common.cnblogs.com/images/copycode.gif" alt="复制代码"></a></span></div></div>
<p>&nbsp;</p>
<p>每个磁头可以读取一段换新区域,称为磁道</p>
<p>把一个戈丁手臂位置上所以的磁道合起来,组成一个柱面</p>
<p>每个磁道划成若干扇区,扇区典型的值是512字节</p>
<p><span style="font-size: 14pt"><strong><span style="color: rgba(255, 0, 0, 1)">  数据都存放于一段一段的扇区,即磁道这个圆圈的一小段圆圈,从磁盘读取一段数据需要经历寻道时间和延迟时间</span></strong></span></p>
<p><span style="color: rgba(255, 0, 0, 1)"><strong><span style="font-size: 14pt">平均寻道时间</span></strong></span></p>
<p>机械手臂从一个柱面随机移动到相邻的柱面的时间成为寻到时间,找到了磁道就以为着招到了数据所在的那个圈圈,但是还不知道数据具体这个圆圈的具体位置</p>
<div class="para"><span style="font-size: 14pt"><strong><span style="color: rgba(255, 0, 0, 1)">平均延迟时间</span></strong></span></div>
<div class="para">机械臂到达正确的磁道之后还必须等待旋转到数据所在的扇区下,这段时间成为延迟时间</div>
<div class="para">&nbsp;</div>
<div class="para">&nbsp;</div>
<div class="para"><span style="color: rgba(0, 0, 0, 1)"><strong>  <span style="color: rgba(255, 0, 0, 1); font-size: 18pt">虚拟内存:</span></strong></span></div>
<div class="para"><span style="color: rgba(0, 0, 0, 1)"><strong>许多计算机支持虚拟内存机制,该机制使计算机可以运行大于物理内存的程序,方法是将正在使用的程序放入内存取执行,而暂时不需要执行的程序放到磁盘的某块地方,这块地方成为虚拟内存,在linux中成为swap,这种机制的核心在于快速地映射内存地址,由cpu中的一个部件负责,成为存储器管理单元(Memory Management Unit MMU)</strong></span></div>
<div class="para">&nbsp;</div>
<div class="para"><span style="color: rgba(0, 0, 0, 1)"><strong>PS:从一个程序切换到另外一个程序,成为</strong><span style="font-size: 14pt; color: rgba(255, 0, 0, 1)">上下文切换</span><strong>(context switch),缓存和MMU的出现提升了系统的性能,尤其是上下文切换</strong></span></div>
<div class="para">&nbsp;</div>
<div style="text-align: right"><a rel="nofollow noopener" href="#_labelTop"></a><a rel="nofollow noopener" name="_label8"></a></div><h2>4.4 磁带<button class="cnblogs-toc-button" title="显示目录导航" aria-expanded="false"></button></h2>
<p>在价钱相同的情况下比硬盘拥有更高的存储容量,虽然速度低于磁盘,但是因其大容量,在地震水灾火灾时可移动性强等特性,常被用来做备份。(常见于大型数据库系统中)</p>
<p>4.5 I/O设备</p>
<p>cpu和存储器并不是操作系统唯一需要管理的资源,I/O设备也是非常重要的一环。</p>
<p>见四中的图,<strong><span style="font-size: 14pt; color: rgba(255, 0, 0, 1)">I/O设备一般包括两个部分:设备控制器和设备本身</span></strong>。</p>
<p>控制器:是查找主板上的一块芯片或一组芯片(硬盘,网卡,声卡等都需要插到一个口上,这个口连的便是控制器),控制器负责控制连接的设备,它从操作系统接收命令,比如读硬盘数据,然后就对硬盘设备发起读请求来读出内容。</p>
<p>控制器的功能:通常情况下对设备的控制是非常复杂和具体的,控制器的任务就是为操作系统屏蔽这些复杂而具体的工作,提供给操作系统一个简单而清晰的接口</p>
<p><span style="line-height: 1.5">设备本身:有相对简单的接口且标准的,这样大家都可以为其编写驱动程序了。要想调用设备,必须根据该接口编写复杂而具体的程序,于是有了控制器提供设备驱动接口给操作系统。必须把设备驱动程序安装到操作系统中。</span></p>
<div style="text-align: right"><a rel="nofollow noopener" href="#_labelTop"></a><a rel="nofollow noopener" name="_label9"></a></div><h2><span style="line-height: 1.5">4.5 输入输出设备</span><button class="cnblogs-toc-button" title="显示目录导航" aria-expanded="false"></button></h2>
<div class="cnblogs_code"><div class="cnblogs_code_toolbar"><span class="cnblogs_code_copy"><a href="javascript:void(0);" onclick="copyCnblogsCode(this)" title="复制代码"><img src="//common.cnblogs.com/images/copycode.gif" alt="复制代码"></a></span></div>
<pre><span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)">1、输入设备</span>
<span style="color: rgba(0, 0, 0, 1)">  输入设备的任务是把人们编好的程序和原始数据送到计算机中去,并且将他们转换成计算机内存所能识别和接受的信息方式。

  安输入信息的形态可分为字符(包括汉字)输入、图形输入、图像输入及语言输入等。目前,常见的输入设备有:键盘、鼠标、扫描仪等。辅助存储器(磁盘、磁带)也可以看作输入设备。另外,自动控制和检测系统中使用的模数(A</span>/<span style="color: rgba(0, 0, 0, 1)">D)转换装置也是一种输入设备。

</span><span style="color: rgba(0, 128, 0, 1)">#</span><span style="color: rgba(0, 128, 0, 1)">2、输出设备</span>
<span style="color: rgba(0, 0, 0, 1)">  输出设备的任务是将计算机的处理结果以人或其他设备所能接受的形式送出计算机。

  目前最常用的输出设备是打印机和显示器。辅助存储器也可以看做输出设备。另外,数模(D</span>/A)转换装置也是一种输出设备。</pre>
<div class="cnblogs_code_toolbar"><span class="cnblogs_code_copy"><a href="javascript:void(0);" onclick="copyCnblogsCode(this)" title="复制代码"><img src="//common.cnblogs.com/images/copycode.gif" alt="复制代码"></a></span></div></div>
<div style="text-align: right"><a rel="nofollow noopener" href="#_labelTop"></a><a rel="nofollow noopener" name="_label10"></a></div><h2>4.6 总线<button class="cnblogs-toc-button" title="显示目录导航" aria-expanded="false"></button></h2>
<p>四小节中的结构在小型计算机中沿用了多年,并也用在早期的IBM PC中。但是随着处理器和存储器速度越来越快,单总线很难处理总线的交通流量了,于是出现了下图的多总线模式,他们处理I/O设备及cpu到存储器的速度都更快。</p>
<p>北桥即PCI桥:连接高速设备</p>
<p>南桥即ISA桥:连接慢速设备</p>
<p><img src="https://images2015.cnblogs.com/blog/1036857/201701/1036857-20170118183358656-1969770652.png" alt="" class="medium-zoom-image"></p>
<p>主板图解:</p>
<p><img src="https://images2018.cnblogs.com/blog/1036857/201803/1036857-20180314164300354-1096940375.jpg" alt="" class="medium-zoom-image"></p>
<p><span style="color: rgba(255, 0, 0, 1)"><strong>电源(Power)==心脏:所有的组件要能运作,得要有足够的电力供给才行。这就好像心脏一样,如果心脏不跳动了,人就嗝屁了,电脑也是如果没有电源,那也就是一堆垃圾,什么作用都没有。</strong></span></p>
<div style="text-align: right"><a rel="nofollow noopener" href="#_labelTop"></a><a rel="nofollow noopener" name="_label11"></a></div><h2>4.7 启动计算机<button class="cnblogs-toc-button" title="显示目录导航" aria-expanded="false"></button></h2>
<p>在计算机的主板上有一个基本的输入输出程序(Basic &nbsp;Input Output system)</p>
<p>BIOS就相当于一个小的操作系统,它有底层的I/O软件,包括读键盘,写屏幕,进行磁盘I/O,该程序存放于一非易失性闪存RAM中。</p>
<p>&nbsp;</p>
<p>启动流程</p>
<p>1.计算机加电</p>
<p>2.BIOS开始运行,检测硬件:cpu、内存、硬盘等</p>
<p>3.BIOS读取CMOS存储器中的参数,选择启动设备</p>
<p>4.从启动设备上读取第一个扇区的内容(MBR主引导记录512字节,前446为引导信息,后64为分区信息,最后两个为标志位)</p>
<p>5.根据分区信息读入bootloader启动装载模块,启动操作系统</p>
<p>6.然后操作系统询问BIOS,以获得配置信息。对于每种设备,系统会检查其设备驱动程序是否存在,如果没有,系统则会要求用户按照设备驱动程序。一旦有了全部的设备驱动程序,操作系统就将它们调入内核。然后初始有关的表格(如进程表),穿件需要的进程,并在每个终端上启动登录程序或GUI</p>
<p>&nbsp;</p>
<p>linux系统centos7启动顺序:<a href="https://www.cnblogs.com/linhaifeng/articles/13274099.html" rel="noopener">https://www.cnblogs.com/linhaifeng/articles/13274099.html</a></p>
</div>
<div class="clear"></div>
<div id="blog_post_info_block" role="contentinfo">


<div id="BlogPostCategory">
分类:
<a href="https://www.cnblogs.com/linhaifeng/category/939357.html" target="_blank">计算机基础</a>
</div>

<div id="blog_post_info">
<div id="green_channel">
<a href="javascript:void(0);" id="green_channel_digg" onclick="DiggIt(6523843,cb_blogId,1);green_channel_success(this,'谢谢推荐!');">好文要顶</a>
<a id="green_channel_follow" onclick="follow('66b39f18-c28a-e611-845c-ac853d9f53ac');" href="javascript:void(0);">关注我</a>
<a id="green_channel_favorite" onclick="AddToWz(cb_entryId);return false;" href="javascript:void(0);">收藏该文</a>
<a id="green_channel_wechat" href="javascript:void(0);" title="分享至微信" onclick="shareManager.wechatShare()"><img src="https://common.cnblogs.com/images/wechat.png" alt=""></a>
</div>
<div id="author_profile">
<div id="author_profile_info" class="author_profile_info">
<a href="https://home.cnblogs.com/u/linhaifeng/" target="_blank"><img src="https://pic.cnblogs.com/face/1036857/20161007110720.png" class="author_avatar" alt=""></a>
<div id="author_profile_detail" class="author_profile_info">
<a href="https://home.cnblogs.com/u/linhaifeng/">linhaifeng</a>
<br>
<a href="https://home.cnblogs.com/u/linhaifeng/followers/">粉丝 - <span class="follower-count">6946</span></a>
<a href="https://home.cnblogs.com/u/linhaifeng/followees/">关注 - <span class="following-count">1</span></a><br>
</div>
</div>
<div class="clear"></div>
<div id="author_profile_honor"></div>
<div id="author_profile_follow" class="follow-tip">
<a href="javascript:void(0);" onclick="follow('66b39f18-c28a-e611-845c-ac853d9f53ac');return false;">+加关注</a>
</div>
</div>
<div id="div_digg">
<div class="diggit" onclick="votePost(6523843,'Digg')">
<span class="diggnum" id="digg_count">33</span>
</div>
<div class="buryit" onclick="votePost(6523843,'Bury')">
<span class="burynum" id="bury_count">0</span>
</div>
<div class="clear"></div>
<div class="diggword" id="digg_tips">
</div>
</div>

<script type="text/javascript">
currentDiggType = 0;
</script>
</div>
<div class="clear"></div>
<div id="post_next_prev">

<a href="https://www.cnblogs.com/linhaifeng/p/6509571.html" class="p_n_p_prefix">« </a> 上一篇: <a href="https://www.cnblogs.com/linhaifeng/p/6509571.html" data-featured-image="" title="发布于 2017-03-06 13:36">RPC通信原理(未完,先睡觉)</a>
<br>
<a href="https://www.cnblogs.com/linhaifeng/p/6592572.html" class="p_n_p_prefix">» </a> 下一篇: <a href="https://www.cnblogs.com/linhaifeng/p/6592572.html" data-featured-image="" title="发布于 2017-03-21 02:37">Shell第一篇:BASH 环境</a>

</div>
</div>
</div>
<div class="postDesc">posted @
<span id="post-date" data-last-update-days="1061.0839021418865" data-date-created="BlogServer.Application.Dto.BlogPost.BlogPostDto" data-date-updated="2020-11-22 14:51" aria-expanded="false">2017-03-09 03:55</span>&nbsp;
<a href="https://www.cnblogs.com/linhaifeng/">linhaifeng</a>&nbsp;
阅读(<span id="post_view_count">36990</span>)&nbsp;
评论(<span id="post_comment_count">17</span>)&nbsp;
<a href="https://i.cnblogs.com/EditPosts.aspx?postid=6523843" rel="nofollow">编辑</a>&nbsp;
<a href="javascript:void(0)" onclick="AddToWz(6523843);return false;">收藏</a>&nbsp;
<a href="javascript:void(0)" onclick="reportManager.report({ currentUserId: '37ded223-88aa-4aca-8c70-08da66bec2cf', targetType: 'blogPost', targetId: '6523843', targetLink: 'https://www.cnblogs.com/linhaifeng/p/6523843.html', title: '计算机基础系列一:计算机硬件' })">举报</a>
</div>
</div>


</div><!--end: topics 文章、评论容器-->
</div>
<script>
var cb_entryId = 6523843, cb_entryCreatedDate = '2017-03-09 03:55', cb_postType = 1, cb_postTitle = '计算机基础系列一:计算机硬件';
var allowComments = true, cb_blogId = 309331, cb_blogApp = 'linhaifeng', cb_blogUserGuid = '66b39f18-c28a-e611-845c-ac853d9f53ac';
mermaidRender.render()
markdown_highlight()
zoomManager.apply("#cnblogs_post_body img:not(.code_img_closed):not(.code_img_opened)");
</script>
<a id="!comments"></a>
<div id="blog-comments-placeholder">

<div id="comment_pager_top">

</div>

<br>
<div class="feedback_area_title">评论列表
<div id="comment_sort" class="comment-sort" title="切换评论排序">
<div class="comment-order-tab">
<span id="comment_default_list" class="comment-sort-label comment-sort-item">默认</span>
<span>|</span>
<span id="comment_sort_order_time" class="comment-sort-label comment-sort-item active">按时间</span>
<span>|</span>
<span id="comment_sort_order_digg" class="comment-sort-label comment-sort-item ">按支持数</span>
</div>
<svg class="comment-sort-item" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 20 20" fill="currentColor">
<path d="M3 3a1 1 0 000 2h11a1 1 0 100-2H3zM3 7a1 1 0 000 2h5a1 1 0 000-2H3zM3 11a1 1 0 100 2h4a1 1 0 100-2H3zM13 16a1 1 0 102 0v-5.586l1.293 1.293a1 1 0 001.414-1.414l-3-3a1 1 0 00-1.414 0l-3 3a1 1 0 101.414 1.414L13 10.414V16z"></path>
</svg>
</div></div>
<div class="feedbackNoItems">
<div class="feedbackNoItems"></div>
</div>
<div class="feedbackItem">
<div class="feedbackListSubtitle">
<div class="feedbackManage">
&nbsp;&nbsp;

<span class="comment_actions">
<a href="javascript:void(0);" onclick="return ReplyComment(3637355, 'wOUN/VMvEOej1a2KRYomeGA61ugPhs3na0PZyFibQ0SLE5pct4S9ag==')">
回复
</a>
<a href="javascript:void(0);" onclick="return QuoteComment(3637355, 'wOUN/VMvEOej1a2KRYomeGA61ugPhs3na0PZyFibQ0SLE5pct4S9ag==')">
引用
</a>


</span>


</div>

<a href="#3637355" class="layer">#1楼</a>
<a name="3637355" id="comment_anchor_3637355"></a>

<span class="comment_date">2017-03-10 20:27</span>


<a id="a_comment_author_3637355" href="https://www.cnblogs.com/fyknight/" target="_blank">暗黒骑士</a>

</div>
<div class="feedbackCon">

<div id="comment_body_3637355" data-format-type="Ubb" class="blog_comment_body cnblogs-ubb">
赞一个
</div>
<div class="comment_vote">
<span class="comment_error" style="color: red"></span>
<a href="javascript:void(0);" class="comment_digg" onclick="return voteComment(3637355, 'Digg', this.parentElement, false);">
支持(1)
</a>
<a href="javascript:void(0);" class="comment_burry" onclick="return voteComment(3637355, 'Bury', this.parentElement, false);">
反对(0)
</a>
</div>
<span id="comment_3637355_avatar" style="display:none">
https://pic.cnblogs.com/face/884071/20160119213528.png
</span>

</div>
</div>
<div class="feedbackItem">
<div class="feedbackListSubtitle">
<div class="feedbackManage">
&nbsp;&nbsp;

<span class="comment_actions">
<a href="javascript:void(0);" onclick="return ReplyComment(4462371, 'Z+YfvoIzQBmRLZ61YJtKPG596cPOlyFOacx/a5ZRMXsRF+/mL1UyNQ==')">
回复
</a>
<a href="javascript:void(0);" onclick="return QuoteComment(4462371, 'Z+YfvoIzQBmRLZ61YJtKPG596cPOlyFOacx/a5ZRMXsRF+/mL1UyNQ==')">
引用
</a>


</span>


</div>

<a href="#4462371" class="layer">#2楼</a>
<a name="4462371" id="comment_anchor_4462371"></a>

<span class="comment_date">2019-12-18 13:06</span>


<a id="a_comment_author_4462371" href="https://www.cnblogs.com/zx125/" target="_blank">zx125</a>

</div>
<div class="feedbackCon">

<div id="comment_body_4462371" data-format-type="Ubb" class="blog_comment_body cnblogs-ubb">
nice
</div>
<div class="comment_vote">
<span class="comment_error" style="color: red"></span>
<a href="javascript:void(0);" class="comment_digg" onclick="return voteComment(4462371, 'Digg', this.parentElement, false);">
支持(0)
</a>
<a href="javascript:void(0);" class="comment_burry" onclick="return voteComment(4462371, 'Bury', this.parentElement, false);">
反对(0)
</a>
</div>
<span id="comment_4462371_avatar" style="display:none">
https://pic.cnblogs.com/face/1751688/20201113161439.png
</span>

</div>
</div>
<div class="feedbackItem">
<div class="feedbackListSubtitle">
<div class="feedbackManage">
&nbsp;&nbsp;

<span class="comment_actions">
<a href="javascript:void(0);" onclick="return ReplyComment(4702427, 'FFL2mYwn81xQzV4UD5tHIRe4s1bGqPPpzR3xmyAV5zhpot/909ZjZA==')">
回复
</a>
<a href="javascript:void(0);" onclick="return QuoteComment(4702427, 'FFL2mYwn81xQzV4UD5tHIRe4s1bGqPPpzR3xmyAV5zhpot/909ZjZA==')">
引用
</a>


</span>


</div>

<a href="#4702427" class="layer">#3楼</a>
<a name="4702427" id="comment_anchor_4702427"></a>

<span class="comment_date">2020-10-11 16:14</span>


<a id="a_comment_author_4702427" href="https://www.cnblogs.com/meixianliang/" target="_blank">DHCP池</a>

</div>
<div class="feedbackCon">

<div id="comment_body_4702427" data-format-type="Markdown" class="blog_comment_body cnblogs-markdown">
<p>nice</p>

</div>
<div class="comment_vote">
<span class="comment_error" style="color: red"></span>
<a href="javascript:void(0);" class="comment_digg" onclick="return voteComment(4702427, 'Digg', this.parentElement, false);">
支持(0)
</a>
<a href="javascript:void(0);" class="comment_burry" onclick="return voteComment(4702427, 'Bury', this.parentElement, false);">
反对(0)
</a>
</div>

</div>
</div>
<div class="feedbackItem">
<div class="feedbackListSubtitle">
<div class="feedbackManage">
&nbsp;&nbsp;

<span class="comment_actions">
<a href="javascript:void(0);" onclick="return ReplyComment(4743048, 'ypj5/dnvRmvm8/pAyBB4cZgb2OZ6W/DoIoIapI7Wr6/GmUZIJXWSdQ==')">
回复
</a>
<a href="javascript:void(0);" onclick="return QuoteComment(4743048, 'ypj5/dnvRmvm8/pAyBB4cZgb2OZ6W/DoIoIapI7Wr6/GmUZIJXWSdQ==')">
引用
</a>


</span>


</div>

<a href="#4743048" class="layer">#4楼</a>
<a name="4743048" id="comment_anchor_4743048"></a>

<span class="comment_date">2020-11-17 15:26</span>


<a id="a_comment_author_4743048" href="https://www.cnblogs.com/bailong-ma/" target="_blank">白龙石马</a>

</div>
<div class="feedbackCon">

<div id="comment_body_4743048" data-format-type="Markdown" class="blog_comment_body cnblogs-markdown">
<ul>
<li>赞</li>
</ul>

</div>
<div class="comment_vote">
<span class="comment_error" style="color: red"></span>
<a href="javascript:void(0);" class="comment_digg" onclick="return voteComment(4743048, 'Digg', this.parentElement, false);">
支持(0)
</a>
<a href="javascript:void(0);" class="comment_burry" onclick="return voteComment(4743048, 'Bury', this.parentElement, false);">
反对(0)
</a>
</div>
<span id="comment_4743048_avatar" style="display:none">
https://pic.cnblogs.com/face/2151476/20200910194646.png
</span>

</div>
</div>
<div class="feedbackItem">
<div class="feedbackListSubtitle">
<div class="feedbackManage">
&nbsp;&nbsp;

<span class="comment_actions">
<a href="javascript:void(0);" onclick="return ReplyComment(4747892, 'Sm+OCvPTCTYGftp+Vdt33IzbBc+mDZYRsrhchY+jEAYKQ/cwHSIbFw==')">
回复
</a>
<a href="javascript:void(0);" onclick="return QuoteComment(4747892, 'Sm+OCvPTCTYGftp+Vdt33IzbBc+mDZYRsrhchY+jEAYKQ/cwHSIbFw==')">
引用
</a>


</span>


</div>

<a href="#4747892" class="layer">#5楼</a>
<a name="4747892" id="comment_anchor_4747892"></a>

<span class="comment_date">2020-11-21 21:10</span>


<a id="a_comment_author_4747892" href="https://home.cnblogs.com/u/2222011/" target="_blank">Giedunn</a>

</div>
<div class="feedbackCon">

<div id="comment_body_4747892" data-format-type="Markdown" class="blog_comment_body cnblogs-markdown">
<p>有些图片不错,尤其是南北桥和磁盘的图解。<br>
作为扫盲不错</p>

</div>
<div class="comment_vote">
<span class="comment_error" style="color: red"></span>
<a href="javascript:void(0);" class="comment_digg" onclick="return voteComment(4747892, 'Digg', this.parentElement, false);">
支持(0)
</a>
<a href="javascript:void(0);" class="comment_burry" onclick="return voteComment(4747892, 'Bury', this.parentElement, false);">
反对(0)
</a>
</div>

</div>
</div>
<div class="feedbackItem">
<div class="feedbackListSubtitle">
<div class="feedbackManage">
&nbsp;&nbsp;

<span class="comment_actions">
<a href="javascript:void(0);" onclick="return ReplyComment(4773623, 'CtgOV7PD1RO0ixDnV1QK4/++oZ2lImk5tDQqa8spRrfKdq8CviMwew==')">
回复
</a>
<a href="javascript:void(0);" onclick="return QuoteComment(4773623, 'CtgOV7PD1RO0ixDnV1QK4/++oZ2lImk5tDQqa8spRrfKdq8CviMwew==')">
引用
</a>


</span>


</div>

<a href="#4773623" class="layer">#6楼</a>
<a name="4773623" id="comment_anchor_4773623"></a>

<span class="comment_date">2020-12-14 15:33</span>


<a id="a_comment_author_4773623" href="https://www.cnblogs.com/cnblogswilliam/" target="_blank">williamgess</a>

</div>
<div class="feedbackCon">

<div id="comment_body_4773623" data-format-type="Markdown" class="blog_comment_body cnblogs-markdown">
<p>看前留赞</p>

</div>
<div class="comment_vote">
<span class="comment_error" style="color: red"></span>
<a href="javascript:void(0);" class="comment_digg" onclick="return voteComment(4773623, 'Digg', this.parentElement, false);">
支持(0)
</a>
<a href="javascript:void(0);" class="comment_burry" onclick="return voteComment(4773623, 'Bury', this.parentElement, false);">
反对(0)
</a>
</div>
<span id="comment_4773623_avatar" style="display:none">
https://pic.cnblogs.com/face/2217963/20210311174348.png
</span>

</div>
</div>
<div class="feedbackItem">
<div class="feedbackListSubtitle">
<div class="feedbackManage">
&nbsp;&nbsp;

<span class="comment_actions">
<a href="javascript:void(0);" onclick="return ReplyComment(4822962, '/AxceGcJb1tIDxjuiIhKYXRQgyYA3HkruHyYW/ZAEEikinqQAqwzCQ==')">
回复
</a>
<a href="javascript:void(0);" onclick="return QuoteComment(4822962, '/AxceGcJb1tIDxjuiIhKYXRQgyYA3HkruHyYW/ZAEEikinqQAqwzCQ==')">
引用
</a>


</span>


</div>

<a href="#4822962" class="layer">#7楼</a>
<a name="4822962" id="comment_anchor_4822962"></a>

<span class="comment_date">2021-02-21 11:50</span>


<a id="a_comment_author_4822962" href="https://www.cnblogs.com/davis12/" target="_blank">进击的davis</a>

</div>
<div class="feedbackCon">

<div id="comment_body_4822962" data-format-type="Markdown" class="blog_comment_body cnblogs-markdown">
<p>666</p>

</div>
<div class="comment_vote">
<span class="comment_error" style="color: red"></span>
<a href="javascript:void(0);" class="comment_digg" onclick="return voteComment(4822962, 'Digg', this.parentElement, false);">
支持(0)
</a>
<a href="javascript:void(0);" class="comment_burry" onclick="return voteComment(4822962, 'Bury', this.parentElement, false);">
反对(0)
</a>
</div>
<span id="comment_4822962_avatar" style="display:none">
https://pic.cnblogs.com/face/2121520/20200808201007.png
</span>

</div>
</div>
<div class="feedbackItem">
<div class="feedbackListSubtitle">
<div class="feedbackManage">
&nbsp;&nbsp;

<span class="comment_actions">
<a href="javascript:void(0);" onclick="return ReplyComment(4849349, 'qRkQXVm4IlDB4KpRSxe2EeKJSMpHyt4XSLztZ9/w9tCZhGMgCmjbEQ==')">
回复
</a>
<a href="javascript:void(0);" onclick="return QuoteComment(4849349, 'qRkQXVm4IlDB4KpRSxe2EeKJSMpHyt4XSLztZ9/w9tCZhGMgCmjbEQ==')">
引用
</a>


</span>


</div>

<a href="#4849349" class="layer">#8楼</a>
<a name="4849349" id="comment_anchor_4849349"></a>

<span class="comment_date">2021-04-09 16:13</span>


<a id="a_comment_author_4849349" href="https://home.cnblogs.com/u/2350263/" target="_blank">Admin000123</a>

</div>
<div class="feedbackCon">

<div id="comment_body_4849349" data-format-type="Markdown" class="blog_comment_body cnblogs-markdown">
<p>666</p>

</div>
<div class="comment_vote">
<span class="comment_error" style="color: red"></span>
<a href="javascript:void(0);" class="comment_digg" onclick="return voteComment(4849349, 'Digg', this.parentElement, false);">
支持(0)
</a>
<a href="javascript:void(0);" class="comment_burry" onclick="return voteComment(4849349, 'Bury', this.parentElement, false);">
反对(0)
</a>
</div>

</div>
</div>
<div class="feedbackItem">
<div class="feedbackListSubtitle">
<div class="feedbackManage">
&nbsp;&nbsp;

<span class="comment_actions">
<a href="javascript:void(0);" onclick="return ReplyComment(4852106, 'khBoP5moU9hlXsiSK39+oduD3pT/lYXDQfLfbfyiHmtiZl2uOEweGA==')">
回复
</a>
<a href="javascript:void(0);" onclick="return QuoteComment(4852106, 'khBoP5moU9hlXsiSK39+oduD3pT/lYXDQfLfbfyiHmtiZl2uOEweGA==')">
引用
</a>


</span>


</div>

<a href="#4852106" class="layer">#9楼</a>
<a name="4852106" id="comment_anchor_4852106"></a>

<span class="comment_date">2021-04-14 14:38</span>


<a id="a_comment_author_4852106" href="https://www.cnblogs.com/zzw-eternal/" target="_blank">最伟</a>

</div>
<div class="feedbackCon">

<div id="comment_body_4852106" data-format-type="Markdown" class="blog_comment_body cnblogs-markdown">
<p>大佬 支持 66666</p>

</div>
<div class="comment_vote">
<span class="comment_error" style="color: red"></span>
<a href="javascript:void(0);" class="comment_digg" onclick="return voteComment(4852106, 'Digg', this.parentElement, false);">
支持(0)
</a>
<a href="javascript:void(0);" class="comment_burry" onclick="return voteComment(4852106, 'Bury', this.parentElement, false);">
反对(0)
</a>
</div>

</div>
</div>
<div class="feedbackItem">
<div class="feedbackListSubtitle">
<div class="feedbackManage">
&nbsp;&nbsp;

<span class="comment_actions">
<a href="javascript:void(0);" onclick="return ReplyComment(4853341, 'khBoP5moU9hlXsiSK39+oduD3pT/lYXDQfLfbfyiHmtiZl2uOEweGA==')">
回复
</a>
<a href="javascript:void(0);" onclick="return QuoteComment(4853341, 'khBoP5moU9hlXsiSK39+oduD3pT/lYXDQfLfbfyiHmtiZl2uOEweGA==')">
引用
</a>


</span>


</div>

<a href="#4853341" class="layer">#10楼</a>
<a name="4853341" id="comment_anchor_4853341"></a>

<span class="comment_date">2021-04-16 10:48</span>


<a id="a_comment_author_4853341" href="https://www.cnblogs.com/zzw-eternal/" target="_blank">最伟</a>

</div>
<div class="feedbackCon">

<div id="comment_body_4853341" data-format-type="Markdown" class="blog_comment_body cnblogs-markdown">
<p>BIOS就相当于一个小的操作系统,它有底层的I/O软件,包括读键盘,写屏幕,进行磁盘I/O,该程序存放于一非易失性闪存RAM中 。<br>
百度百科是这么说的<br>
<img src="https://img2020.cnblogs.com/blog/1099738/202104/1099738-20210416104839180-1341750814.png" alt="" class="medium-zoom-image"><br>
这里是不是存在问题。</p>

</div>
<div class="comment_vote">
<span class="comment_error" style="color: red"></span>
<a href="javascript:void(0);" class="comment_digg" onclick="return voteComment(4853341, 'Digg', this.parentElement, false);">
支持(0)
</a>
<a href="javascript:void(0);" class="comment_burry" onclick="return voteComment(4853341, 'Bury', this.parentElement, false);">
反对(0)
</a>
</div>

</div>
</div>
<div class="feedbackItem">
<div class="feedbackListSubtitle">
<div class="feedbackManage">
&nbsp;&nbsp;

<span class="comment_actions">
<a href="javascript:void(0);" onclick="return ReplyComment(4979535, '8p207NGaTqtQZQBhavJUNqqQGsRVOHfnDyuJw2gNB5xu+kKCYH5LkA==')">
回复
</a>
<a href="javascript:void(0);" onclick="return QuoteComment(4979535, '8p207NGaTqtQZQBhavJUNqqQGsRVOHfnDyuJw2gNB5xu+kKCYH5LkA==')">
引用
</a>


</span>


</div>

<a href="#4979535" class="layer">#11楼</a>
<a name="4979535" id="comment_anchor_4979535"></a>

<span class="comment_date">2021-12-02 20:57</span>


<a id="a_comment_author_4979535" href="https://home.cnblogs.com/u/1012791/" target="_blank">KILLandDANCE</a>

</div>
<div class="feedbackCon">

<div id="comment_body_4979535" data-format-type="Markdown" class="blog_comment_body cnblogs-markdown">
<p>学学分享,学习了</p>

</div>
<div class="comment_vote">
<span class="comment_error" style="color: red"></span>
<a href="javascript:void(0);" class="comment_digg" onclick="return voteComment(4979535, 'Digg', this.parentElement, false);">
支持(0)
</a>
<a href="javascript:void(0);" class="comment_burry" onclick="return voteComment(4979535, 'Bury', this.parentElement, false);">
反对(0)
</a>
</div>

</div>
</div>
<div class="feedbackItem">
<div class="feedbackListSubtitle">
<div class="feedbackManage">
&nbsp;&nbsp;

<span class="comment_actions">
<a href="javascript:void(0);" onclick="return ReplyComment(5012212, 'zuGlseuBqJNMCb3rw+YKQwpEQ20wOJ/OFNltjn8mPFPSPKUmerf2uw==')">
回复
</a>
<a href="javascript:void(0);" onclick="return QuoteComment(5012212, 'zuGlseuBqJNMCb3rw+YKQwpEQ20wOJ/OFNltjn8mPFPSPKUmerf2uw==')">
引用
</a>


</span>


</div>

<a href="#5012212" class="layer">#12楼</a>
<a name="5012212" id="comment_anchor_5012212"></a>

<span class="comment_date">2022-02-11 07:24</span>


<a id="a_comment_author_5012212" href="https://home.cnblogs.com/u/1725273/" target="_blank">heitui</a>

</div>
<div class="feedbackCon">

<div id="comment_body_5012212" data-format-type="Markdown" class="blog_comment_body cnblogs-markdown">
<p>老师讲的时候不是还有一篇博客,计算机基础系列二 吗</p>

</div>
<div class="comment_vote">
<span class="comment_error" style="color: red"></span>
<a href="javascript:void(0);" class="comment_digg" onclick="return voteComment(5012212, 'Digg', this.parentElement, false);">
支持(3)
</a>
<a href="javascript:void(0);" class="comment_burry" onclick="return voteComment(5012212, 'Bury', this.parentElement, false);">
反对(0)
</a>
</div>

</div>
</div>
<div class="feedbackItem">
<div class="feedbackListSubtitle">
<div class="feedbackManage">
&nbsp;&nbsp;

<span class="comment_actions">
<a href="javascript:void(0);" onclick="return ReplyComment(5065750, 'y9pEpB/+a6B2ahfH59cMwNIrhi3le3JKk7vS1Q9WNxfNuZHtjvW5fQ==')">
回复
</a>
<a href="javascript:void(0);" onclick="return QuoteComment(5065750, 'y9pEpB/+a6B2ahfH59cMwNIrhi3le3JKk7vS1Q9WNxfNuZHtjvW5fQ==')">
引用
</a>


</span>


</div>

<a href="#5065750" class="layer">#13楼</a>
<a name="5065750" id="comment_anchor_5065750"></a>

<span class="comment_date">2022-06-09 22:13</span>


<a id="a_comment_author_5065750" href="https://home.cnblogs.com/u/2424088/" target="_blank">hhhaoliyou</a>

</div>
<div class="feedbackCon">

<div id="comment_body_5065750" data-format-type="Markdown" class="blog_comment_body cnblogs-markdown">
<p>老师,太喜欢您讲课了!由衷地佩服您!</p>

</div>
<div class="comment_vote">
<span class="comment_error" style="color: red"></span>
<a href="javascript:void(0);" class="comment_digg" onclick="return voteComment(5065750, 'Digg', this.parentElement, false);">
支持(0)
</a>
<a href="javascript:void(0);" class="comment_burry" onclick="return voteComment(5065750, 'Bury', this.parentElement, false);">
反对(0)
</a>
</div>

</div>
</div>
<div class="feedbackItem">
<div class="feedbackListSubtitle">
<div class="feedbackManage">
&nbsp;&nbsp;

<span class="comment_actions">
<a href="javascript:void(0);" onclick="return ReplyComment(5070284, 'kBx0HxmcbdIjuyyCkYLDE3vbMh6t2rZQqcbrDqtPDcozBVDdIAsiAw==')">
回复
</a>
<a href="javascript:void(0);" onclick="return QuoteComment(5070284, 'kBx0HxmcbdIjuyyCkYLDE3vbMh6t2rZQqcbrDqtPDcozBVDdIAsiAw==')">
引用
</a>


</span>


</div>

<a href="#5070284" class="layer">#14楼</a>
<a name="5070284" id="comment_anchor_5070284"></a>

<span class="comment_date">2022-06-22 15:35</span>


<a id="a_comment_author_5070284" href="https://home.cnblogs.com/u/2911821/" target="_blank">奔跑的蜗牛408</a>

</div>
<div class="feedbackCon">

<div id="comment_body_5070284" data-format-type="Markdown" class="blog_comment_body cnblogs-markdown">
<p>老师的计算机基础系列二有吗?</p>

</div>
<div class="comment_vote">
<span class="comment_error" style="color: red"></span>
<a href="javascript:void(0);" class="comment_digg" onclick="return voteComment(5070284, 'Digg', this.parentElement, false);">
支持(0)
</a>
<a href="javascript:void(0);" class="comment_burry" onclick="return voteComment(5070284, 'Bury', this.parentElement, false);">
反对(0)
</a>
</div>

</div>
</div>
<div class="feedbackItem">
<div class="feedbackListSubtitle">
<div class="feedbackManage">
&nbsp;&nbsp;

<span class="comment_actions">
<a href="javascript:void(0);" onclick="return ReplyComment(5114656, 'DXT4gDeKbl0nF/d0r/Yu3NcFM0Ss/OknIHx+vmkucojHO8D5RHzlHQ==')">
回复
</a>
<a href="javascript:void(0);" onclick="return QuoteComment(5114656, 'DXT4gDeKbl0nF/d0r/Yu3NcFM0Ss/OknIHx+vmkucojHO8D5RHzlHQ==')">
引用
</a>


</span>


</div>

<a href="#5114656" class="layer">#15楼</a>
<a name="5114656" id="comment_anchor_5114656"></a>

<span class="comment_date">2022-10-20 15:07</span>


<a id="a_comment_author_5114656" href="https://home.cnblogs.com/u/3012790/" target="_blank">DOSEHUN</a>

</div>
<div class="feedbackCon">

<div id="comment_body_5114656" data-format-type="Markdown" class="blog_comment_body cnblogs-markdown">
<p>感谢分享!</p>

</div>
<div class="comment_vote">
<span class="comment_error" style="color: red"></span>
<a href="javascript:void(0);" class="comment_digg" onclick="return voteComment(5114656, 'Digg', this.parentElement, false);">
支持(0)
</a>
<a href="javascript:void(0);" class="comment_burry" onclick="return voteComment(5114656, 'Bury', this.parentElement, false);">
反对(0)
</a>
</div>

</div>
</div>
<div class="feedbackItem">
<div class="feedbackListSubtitle">
<div class="feedbackManage">
&nbsp;&nbsp;

<span class="comment_actions">
<a href="javascript:void(0);" onclick="return ReplyComment(5135891, 'g99WYFf9KNdjmUtrELNgAhK+7jhpu7p14iWK/d4OC4dQtinKQWXzrg==')">
回复
</a>
<a href="javascript:void(0);" onclick="return QuoteComment(5135891, 'g99WYFf9KNdjmUtrELNgAhK+7jhpu7p14iWK/d4OC4dQtinKQWXzrg==')">
引用
</a>


</span>


</div>

<a href="#5135891" class="layer">#16楼</a>
<a name="5135891" id="comment_anchor_5135891"></a>

<span class="comment_date">2022-12-23 11:27</span>


<a id="a_comment_author_5135891" href="https://www.cnblogs.com/lures/" target="_blank">lures</a>

</div>
<div class="feedbackCon">

<div id="comment_body_5135891" data-format-type="Markdown" class="blog_comment_body cnblogs-markdown">
<p>已阅,太长了</p>

</div>
<div class="comment_vote">
<span class="comment_error" style="color: red"></span>
<a href="javascript:void(0);" class="comment_digg" onclick="return voteComment(5135891, 'Digg', this.parentElement, false);">
支持(0)
</a>
<a href="javascript:void(0);" class="comment_burry" onclick="return voteComment(5135891, 'Bury', this.parentElement, false);">
反对(0)
</a>
</div>
<span id="comment_5135891_avatar" style="display:none">
https://pic.cnblogs.com/face/2322473/20210307180949.png
</span>

</div>
</div>
<div class="feedbackItem">
<div class="feedbackListSubtitle">
<div class="feedbackManage">
&nbsp;&nbsp;

<span class="comment_actions">
<a href="javascript:void(0);" onclick="return ReplyComment(5148523, 'cZFsvyeomAX1litUNK53fP502O5x69R8fxaWWuedWxiwP1/80+4njw==')">
回复
</a>
<a href="javascript:void(0);" onclick="return QuoteComment(5148523, 'cZFsvyeomAX1litUNK53fP502O5x69R8fxaWWuedWxiwP1/80+4njw==')">
引用
</a>


</span>


</div>

<a href="#5148523" class="layer">#17楼</a>
<a name="5148523" id="comment_anchor_5148523"></a>
<span id="comment-maxId" style="display: none">5148523</span>
<span id="comment-maxDate" style="display: none">2023/2/12 19:46:22</span>

<span class="comment_date">2023-02-12 19:46</span>


<a id="a_comment_author_5148523" href="https://home.cnblogs.com/u/3091283/" target="_blank">coder雪山</a>

</div>
<div class="feedbackCon">

<div id="comment_body_5148523" data-format-type="Markdown" class="blog_comment_body cnblogs-markdown">
<p>峰哥厉害</p>

</div>
<div class="comment_vote">
<span class="comment_error" style="color: red"></span>
<a href="javascript:void(0);" class="comment_digg" onclick="return voteComment(5148523, 'Digg', this.parentElement, false);">
支持(0)
</a>
<a href="javascript:void(0);" class="comment_burry" onclick="return voteComment(5148523, 'Bury', this.parentElement, false);">
反对(0)
</a>
</div>

</div>
</div>

<div id="comment_pager_bottom">

</div>


</div>
<div id="comment_form" class="commentform">
<a name="commentform"></a>
<div id="divCommentShow"></div>
<div id="comment_nav">
<div class="comment-nav-right">
<span id="span_refresh_tips"></span><a href="javascript:void(0);" onclick="return RefreshCommentList();" id="lnk_RefreshComments" runat="server" clientidmode="Static">刷新评论</a><a href="#" onclick="return RefreshPage();">刷新页面</a><a href="#top">返回顶部</a>
</div>
</div>
<div id="comment_form_container"><script type="text/javascript" src="https://mention.cnblogs.com/bundles/mention.min.js"></script>
<div id="commentform_title">
<label>发表评论</label>
<a href="https://cnblogs.vip/" target="_blank" style="margin-left:20px">升级成为园子VIP会员</a>
</div>
<span id="tip_comment" style="color:Red"></span>
<div class="commentbox_main comment_textarea">
<div class="commentbox_title">
<div class="commentbox_title_left">
<span id="btn_edit_comment" class="commentbox_tab active" title="编辑评论">编辑</span>
<span id="btn_preview_comment" class="commentbox_tab" title="Markdown 预览">预览</span>
</div>
<div class="commentbox_title_right">
<span id="ubb_bold" class="comment_icon" alt="粗体" title="添加粗体(Ctrl + B)">
<svg class="comment_svg" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<g fill-rule="evenodd">
<path d="m13.221 19c1.4414 0 2.5793-0.27451 3.3759-0.82353 0.92931-0.66667 1.4034-1.7059 1.4034-3.1176 0-0.94118-0.22759-1.7059-0.66379-2.2549-0.45517-0.56863-1.119-0.94118-2.0103-1.1176 0.68276-0.27451 1.1948-0.64706 1.5552-1.1569 0.36034-0.54902 0.55-1.2157 0.55-2 0-1.0588-0.36034-1.902-1.0621-2.5294-0.75862-0.66667-1.8207-1-3.1672-1h-6.2017v14h6.2207zm-0.82196-8h-3.3987v-4h3.4367c0.91139 0 1.557 0.15686 1.9747 0.47059 0.37975 0.29412 0.58861 0.78431 0.58861 1.451 0 0.72549-0.20886 1.2549-0.58861 1.5882-0.39873 0.31373-1.0633 0.4902-2.0127 0.4902zm0.52612 6h-3.9249v-4h3.9855c1.052 0 1.8208 0.16216 2.3064 0.48649 0.46532 0.32432 0.70809 0.84685 0.70809 1.5856 0 0.72072-0.3237 1.2252-0.9711 1.5495-0.50578 0.25225-1.2139 0.37838-2.104 0.37838z" fill-rule="nonzero" stroke-width=".35"></path>
</g>
</svg>
</span>
<span id="ubb_url" class="comment_icon" title="添加链接(Ctrl + K)" alt="链接">
<svg class="comment_svg comment_svg_stroke" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<g fill-rule="evenodd">
<g transform="translate(4 4)" fill-rule="nonzero" stroke-width=".4">
<path d="m6.304 9.696c-0.288-0.288-0.512-0.608-0.704-0.992-0.16-0.32-0.032-0.704 0.288-0.864 0.32-0.16 0.704-0.032 0.864 0.288 0.128 0.224 0.256 0.448 0.448 0.64 0.928 0.928 2.432 0.928 3.36 0l3.36-3.328c0.928-0.928 0.928-2.432 0-3.36s-2.432-0.928-3.36 0l-2.272 2.272c-0.256 0.256-0.64 0.256-0.896 0-0.256-0.256-0.256-0.64 0-0.896l2.272-2.272c1.44-1.44 3.744-1.44 5.184 0 1.44 1.44 1.44 3.744 0 5.184l-3.36 3.296c-0.704 0.704-1.632 1.088-2.592 1.088-0.928 0-1.856-0.352-2.592-1.056z"></path>
<path d="m3.776 15.808c-0.992 0-1.888-0.384-2.592-1.056-1.44-1.44-1.44-3.744 0-5.184l3.328-3.328c1.44-1.44 3.744-1.44 5.184 0 0.288 0.288 0.544 0.64 0.736 1.024 0.16 0.32 0 0.704-0.32 0.864-0.32 0.16-0.704 0-0.864-0.32-0.128-0.256-0.288-0.48-0.48-0.672-0.928-0.928-2.432-0.928-3.36 0l-3.296 3.328c-0.928 0.928-0.928 2.432 0 3.36 0.448 0.448 1.056 0.704 1.664 0.704 0.608 0 1.248-0.256 1.664-0.704l2.112-2.112c0.256-0.256 0.64-0.256 0.896 0s0.256 0.64 0 0.896l-2.112 2.112c-0.672 0.704-1.568 1.088-2.56 1.088z"></path>
</g>
</g>
</svg>
</span>
<span id="ubb_code" class="comment_icon" title="添加代码(Ctrl + `)" alt="代码">
<svg class="comment_svg comment_svg_stroke" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<g fill-rule="evenodd">
<g transform="translate(16 6)" stroke-linecap="round" stroke-width="2">
<line x1=".5" x2="4.5" y1=".7" y2="6.3"></line>
<line transform="translate(2.5 9.1) scale(1 -1) translate(-2.5 -9.1)" x1=".5" x2="4.5" y1="6.3" y2="11.9"></line>
</g>
<g transform="translate(3 6.1)" stroke-linecap="round" stroke-width="2">
<line transform="translate(2.5 3.5) scale(-1 1) translate(-2.5 -3.5)" x1=".5" x2="4.5" y1=".7" y2="6.3"></line>
<line transform="translate(2.5 9.1) scale(-1) translate(-2.5 -9.1)" x1=".5" x2="4.5" y1="6.3" y2="11.9"></line>
</g>
<path transform="translate(12 12.5) scale(1 -1) translate(-12 -12.5)" d="m10.778 7.1249c0.50008-0.11366 0.9978 0.16911 1.1643 0.64128l0.032406 0.11223 2 8.8c0.1224 0.53855-0.21496 1.0744-0.75351 1.1968-0.50008 0.11366-0.9978-0.16911-1.1643-0.64128l-0.032406-0.11223-2-8.8c-0.1224-0.53855 0.21496-1.0744 0.75351-1.1968z" fill-rule="nonzero" stroke-width=".25"></path>
</g>
</svg>
</span>
<span id="ubb_quote" class="comment_icon" title="添加引用(Ctrl + Q)" alt="引用">
<svg class="comment_svg" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<g fill-rule="evenodd">
<g transform="translate(5 4)" fill-rule="nonzero" stroke-width=".25">
<path d="m5.0013 15v-5.2702h-2.8008c-0.13413-3.3762 1.2004-6.2143 4.0009-8.5135l-1.2-1.2163c-3.335 2.2996-5.0013 5.8119-5.0013 10.54v4.4595h5.0013-1.285e-5zm8.7987 0v-5.2702h-2.8008c-0.13453-3.3762 1.2-6.2143 4.0009-8.5135l-1.2-1.2163c-3.335 2.2996-5.0013 5.8119-5.0013 10.54v4.4595h5.0013-1.28e-5z"></path>
</g>
</g>
</svg>
</span>
<span id="ubb_img" class="comment_icon" alt="图片" title="上传图片(Ctrl + I)">
<svg class="comment_svg" viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">
<g fill-rule="evenodd">
<g transform="translate(3 3.8)" fill-rule="nonzero">
<path d="m14.1 0.58235h-11.2c-1.32 0-2.4 1.0482-2.4 2.3294v10.871c0 1.2812 1.08 2.3294 2.4 2.3294h11.2c1.32 0 2.4-1.0482 2.4-2.3294v-10.871c0-1.2812-1.08-2.3294-2.4-2.3294zm0.7 13.569-3.63-3.4165 1.33-1.2909c0.21-0.20382 0.59-0.20382 0.8 0l1.6 1.5529v2.7856c0 0.13588-0.04 0.26206-0.1 0.36882zm-11.9-12.016h11.2c0.44 0 0.8 0.34941 0.8 0.77647v5.8915l-0.47-0.45618c-0.84-0.825-2.22-0.825-3.07 0l-1.35 1.3103-2.39-2.2421c-0.85-0.825-2.22-0.825-3.05-0.019412l-2.48 2.2615v-6.7456c0.01-0.42706 0.37-0.77647 0.81-0.77647zm-0.8 11.647v-1.9897l3.6-3.2806c0.21-0.20382 0.58-0.21353 0.81 0.0097059l6.43 6.0371h-10.04c-0.44 0-0.8-0.33971-0.8-0.77647z"></path>
<ellipse cx="10.5" cy="6.4059" rx="1" ry="1"></ellipse>
</g>
</g>
</svg>
</span>
</div>
</div>
<div style="display:none">
<span id="comment_edit_id"></span>
<span id="span_parentcomment_id"></span>
<span id="span_parent_id"></span>
<span id="span_comment_replyto"></span>
<span id="span_comment_posted"></span>
<span id="span_current_user_id">37ded223-88aa-4aca-8c70-08da66bec2cf</span>
</div>
<textarea id="tbCommentBody" placeholder="支持 Markdown"></textarea>
<div id="tbCommentBodyPreview" class="feedbackCon" style="display: none">
<div id="tbCommentBodyPreviewBody" class="blog_comment_body comment_preview cnblogs-markdown"></div>
</div>
<div class="commentbox_footer">
<span>&nbsp;</span>
<span href="javascript:void(0)" id="ubb_auto_completion" class="comment_option">
<svg style="display: none" id="comment_auto_completion_on" viewBox="0 0 1080 1080" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2"><path d="M406.724 908.504c-89.02 0-157.885-32.319-206.594-96.957-49.549-64.639-73.903-155.795-73.903-274.299 0-116.017 24.354-206.345 73.903-270.155 48.71-63.81 117.574-95.3 206.594-95.3h19.316l-7.559 72.925h-3.359c-65.505 0-115.054 25.69-150.326 77.069-35.272 50.55-52.908 122.647-52.908 215.461 0 94.472 17.636 168.226 52.908 220.434 35.272 51.379 84.82 77.897 150.326 77.897h3.36l7.558 72.925h-19.316zm266.548 0c89.02 0 157.885-32.319 206.594-96.957 49.55-64.639 73.904-155.795 73.904-274.299 0-116.017-24.355-206.345-73.904-270.155-48.709-63.81-117.573-95.3-206.594-95.3h-19.315l7.558 72.925h3.36c65.505 0 115.054 25.69 150.326 77.069 35.272 50.55 52.908 122.647 52.908 215.461 0 94.472-17.636 168.226-52.908 220.434-35.272 51.379-84.821 77.897-150.327 77.897h-3.359l-7.558 72.925h19.315zm-94.068-65.897c0 31.514.854 54.433 1.708 68.758 1.709 14.325 3.417 25.784 6.835 34.38 2.563 8.594 6.834 14.324 12.814 20.054 5.126 5.73 14.523 11.46 27.337 17.189v34.38H451.914v-34.38c17.086-7.162 29.046-15.757 35.026-24.352 5.126-10.027 9.398-22.92 11.106-38.676 1.709-17.19 2.563-42.974 2.563-77.353V238.109c0-32.947-.854-55.866-1.709-71.623-1.708-14.325-4.271-25.784-6.834-32.947-3.417-8.595-7.689-15.757-12.814-20.054-5.126-5.73-14.523-10.027-27.338-17.19V61.916h175.984v34.38c-11.96 5.73-21.357 11.459-26.483 15.756-5.125 5.73-9.397 11.46-12.814 20.055-3.417 7.162-5.98 18.622-6.834 34.379-1.709 15.757-2.563 38.676-2.563 71.623v604.498z" fill-rule="nonzero"></path></svg>
<svg id="comment_auto_completion_off" viewBox="0 0 1080 1080" xmlns="http://www.w3.org/2000/svg" fill-rule="evenodd" clip-rule="evenodd" stroke-linejoin="round" stroke-miterlimit="2"><path d="M242.96 223.172l59.627 58.009c-14.277 10.773-26.874 24.032-37.791 40.606-35.272 50.55-52.908 122.647-52.908 215.461 0 94.472 17.636 168.226 52.908 220.434 35.272 51.379 84.82 77.897 150.326 77.897h3.36l7.558 72.925h-19.316c-89.02 0-157.885-32.319-206.594-96.957-49.549-64.639-73.903-155.795-73.903-274.299 0-116.017 24.354-206.345 73.903-270.155 12.597-16.574 26.874-31.49 42.83-43.921zm36.952-23.204c36.112-19.06 78.943-28.175 126.812-28.175h19.316l-7.559 72.925h-3.359c-27.714 0-52.908 4.144-74.743 14.088l-60.467-58.838zM805.123 770.94l60.466 58.01c-47.869 53.036-111.695 79.554-192.317 79.554h-19.315l7.558-72.925h3.36c59.626 0 105.816-21.546 140.248-64.638zm23.515-37.29c26.034-49.723 39.47-115.19 39.47-196.402 0-92.814-17.635-164.91-52.907-215.461-35.272-51.38-84.821-77.069-150.327-77.069h-3.359l-7.558-72.925h19.315c89.02 0 157.885 31.49 206.594 95.3 49.55 63.81 73.904 154.138 73.904 270.155 0 108.56-20.996 194.744-62.146 257.725l-62.986-61.324zM500.609 474.465l78.595 75.92v292.222c0 31.514.854 54.433 1.708 68.758 1.709 14.325 3.417 25.784 6.835 34.38 2.563 8.594 6.834 14.324 12.814 20.054 5.126 5.73 14.523 11.46 27.337 17.189v34.38H451.914v-34.38c17.086-7.162 29.046-15.757 35.026-24.352 5.126-10.027 9.398-22.92 11.106-38.676 1.709-17.19 2.563-42.974 2.563-77.353V474.465zm0-60.164V238.11c0-32.947-.854-55.866-1.709-71.623-1.708-14.325-4.271-25.784-6.834-32.947-3.417-8.595-7.689-15.757-12.814-20.054-5.126-5.73-14.523-10.027-27.338-17.19v-34.38h175.984v34.38c-11.96 5.73-21.357 11.459-26.483 15.756-5.125 5.73-9.397 11.46-12.814 20.055-3.417 7.162-5.98 18.622-6.834 34.379-1.709 15.757-2.563 38.676-2.563 71.623v253.545l-78.595-77.353z"></path><path d="M153.103 132.024l805.45 783.706-44.277 45.505-805.45-783.706z"></path></svg>
<span class="inline_middle">自动补全</span>
</span>
</div>
</div>
<p id="commentbox_opt">
<input id="btn_comment_submit" type="button" class="comment_btn" title="提交评论(Ctrl + Enter)" value="提交评论">
<span id="span_comment_canceledit" style="display:none"><a href="javascript:void(0);" onclick="return CancelCommentEdit()">不改了</a></span>
<a href="javascript:void(0);" onclick="return account.logout();">退出</a>
<a id="commentbox_opt_sub" href="javascript:void(0);" title="订阅后有新评论时会邮件通知您" onclick="commentManager.Subscribe()">订阅评论</a>
<a href="//www.cnblogs.com/yuandatou/" target="_blank">我的博客</a>
</p>
<div id="tip_comment2" style="color:Red"></div>
<p>[Ctrl+Enter快捷键提交]</p>
<script>var commentEditor = initCommentEditor("tbCommentBody");</script>

</div>
<div class="ad_text_commentbox" id="ad_text_under_commentbox"></div>
<div id="cnblogs_ch"><a href="https://www.cnblogs.com/cmt/p/17520031.html" target="_blank" onclick="gtag('event', 'click', {'event_category': 'ad', 'event_label': 'T2-会员救园'})">【推荐】会员救园:园子走出困境的唯一希望,到年底有多少会员</a><br><a href="https://www.cnblogs.com/cmt/p/17771909.html" target="_blank" onclick="gtag('event', 'click', {'event_category': 'ad', 'event_label': 'T2-行行AI-人才服务'})">【招聘】2023全面拥抱AI,现诚邀AI技术精英,共创跨境电商未来</a><br><a href="https://click.aliyun.com/m/1000376076/" target="_blank" onclick="gtag('event', 'click', {'event_category': 'ad', 'event_label': 'T2-阿里云'})">【推荐】阿里云-云服务器省钱攻略 :五种权益,限时发放,不容错过</a><br></div>
<div id="opt_under_post"></div>
<div id="cnblogs_c1" class="under-post-card">
<div id="div-gpt-ad-1592365906576-0" style="width: 300px; height: 250px;" data-google-query-id="CIvo4O7dgYIDFbSN6QUdgroNGA"><div id="google_ads_iframe_/1090369/C1_0__container__" style="border: 0pt none; display: inline-block; width: 300px; height: 250px;"><iframe frameborder="0" src="https://e4349408ee03d722427da7233c8a5bf4.safeframe.googlesyndication.com/safeframe/1-0-40/html/container.html" id="google_ads_iframe_/1090369/C1_0" title="3rd party ad content" name="" scrolling="no" marginwidth="0" marginheight="0" width="300" height="250" data-is-safeframe="true" sandbox="allow-forms allow-popups allow-popups-to-escape-sandbox allow-same-origin allow-scripts allow-top-navigation-by-user-activation" role="region" aria-label="Advertisement" tabindex="0" data-google-container-id="1" style="border: 0px; vertical-align: bottom;" data-load-complete="true"></iframe></div></div>
</div>
<div id="under_post_card1"><div class="under-post-card">
<b>编辑推荐:</b>
<br>

· <a href="https://www.cnblogs.com/xijiu/p/17771600.html" target="_blank">从一次 Kafka 宕机说起(JVM hang) </a>
<br>
· <a href="https://www.cnblogs.com/tenleft/p/17766501.html" target="_blank">详解 .NET 依赖注入中对象的创建与“销毁”</a>
<br>
· <a href="https://www.cnblogs.com/InCerry/p/dotnet-bitmap-index-part-1.html" target="_blank">.NET 高性能开发 - 位图索引(一)</a>
<br>
· <a href="https://www.cnblogs.com/coodream2009/p/17759899.html" target="_blank">服务器崩溃前的数据拯救实践</a>
<br>
· <a href="https://www.cnblogs.com/eventhorizon/p/17760641.html" target="_blank">使用OpenTelemetry构建.NET应用可观测性:ASP.NET Core应用中集成OTel</a>
<br>
</div></div>
<div id="under_post_card2"><div class="itnews under-post-card">
<b>阅读排行:</b>
<br>
· <a href="https://www.cnblogs.com/skychen1218/p/17770278.html" target="_blank">谈加班与管理:加班 = 管理 + 无能?</a>
<br>
· <a href="https://www.cnblogs.com/blogtimes/p/17771330.html" target="_blank">7×24无人值守直播推流软件开发实战,一文为你揭开视频推流的底层原理(附源码)</a>
<br>
· <a href="https://www.cnblogs.com/xijiu/p/17771600.html" target="_blank">从一次Kafka宕机说起(JVM hang)</a>
<br>
· <a href="https://www.cnblogs.com/lianshuiwuyi/p/17771618.html" target="_blank">Redis使用中的缓存雪崩、缓存击穿、缓存穿透问题</a>
<br>
· <a href="https://www.cnblogs.com/mazhimazhi/p/17771509.html" target="_blank">手写商用Java虚拟机HotSpot,疯狂磨砺技术中</a>
<br>
</div></div>
<div id="HistoryToday" class="under-post-card"></div>
<script type="text/javascript">
var commentManager = new blogCommentManager();
commentManager.renderComments(0);
fixPostBody();
window.footnoteTipManager.generateFootnoteTips();

window.tocManager.displayDisableTocTips = false;
window.tocManager.generateToc();

setTimeout(function() { countViews(cb_blogId, cb_entryId); }, 50);

deliverT2();
deliverC1C2();
loadNewsAndKb();

LoadPostCategoriesTags(cb_blogId, cb_entryId);

LoadPostInfoBlock(cb_blogId, cb_entryId, cb_blogApp, cb_blogUserGuid);
GetPrevNextPost(cb_entryId, cb_blogId, cb_entryCreatedDate, cb_postType);
loadOptUnderPost();
GetHistoryToday(cb_blogId, cb_blogApp, cb_entryCreatedDate);
</script>
</div>

</div><!--end: forFlow -->
</div>