当前位置: 首页 > news >正文

会所网站建设织梦建站教程视频

会所网站建设,织梦建站教程视频,南宁seo全网营销,广州电商网站开发公司电脑死机,应该每个接触计算机的小伙伴都经历过吧。 尤其是早些年,电脑配置还没现在这么高的时候,多开几个重量级应用程序,死机就能如约而至,就算你把键盘上的CTRLALTDELETE按烂了,任务管理器也出不来&…

电脑死机,应该每个接触计算机的小伙伴都经历过吧。

尤其是早些年,电脑配置还没现在这么高的时候,多开几个重量级应用程序,死机就能如约而至,就算你把键盘上的CTRL+ALT+DELETE按烂了,任务管理器也出不来,最后只能默默含泪长按关机按钮,强制关机。

那么,你有没有想过,电脑在死机的时候,它到底在干嘛呢?

众所周知,计算机的核心中枢是中央处理器CPU。上过计算机基础课程的同学都被教导过:CPU是一根筋死脑筋,只知道不断的取出指令来一条条执行,直到关机方休。

所以理论上,死机分为两种,一种是CPU罢工不干了,不再执行下一条指令了,这属于硬件死机,不过这种情况基本不会发生。

更多的是软件层面的死机,也就是CPU被困在了某个地方出不来了,导致本该执行的程序得不到执行,看起来就是死机了一般。

聪明的你可能马上想到,如果写一个死循环,把CPU陷在里面出不去,是不是就能死机了?比如这样:

void dead_loop() {
  while (1) {
    ...
  }
}

你可以试一下,会发现为CPU降温的风扇可能会转起来,但计算机依旧能正常工作,并没有死机。

死循环,CPU不是应该一直在这里转圈吗?难道不会死机?

这就不得不提到一个概念:中断

中断

中断这个概念,绝对是计算机史上最伟大的发明之一。

中断,顾名思义,用于打断CPU正常的工作,让它去执行别处的指令程序。

操作系统之所以能够掌控全局,就得益于它启动时给CPU安插的一系列的中断处理函数(比如我们最常见的时钟中断),好让操作系统能周期性的收回CPU的执行权,调度别的线程来执行。

所以,即便你某个线程进入了死循环,在你的时间片用完之后,也得乖乖交出CPU,让别的程序来执行。

想用一个死循环就把电脑搞死机,那自然是不可能的。

其实想来也是,如果这么容易就给你搞死机了,那这操作系统也太菜了吧,新手如果刚学编程,还不得一天强制重起电脑十几回?

退一万步讲,就算不考虑中断的影响,现在的CPU大都是多核,一个线程进入死循环,但还有别的核可以参与系统调度,也依然不会死机。

那么回到开始的问题,那到底CPU被困在了哪里出不来,连中断都拿它没办法呢?

其实有两种情况:

1、中断确实拿它没办法

很多人都知道中断的概念,但很多人不知道,中断也是有优先级的。

这很容易理解,比如CPU正在执行程序,突然发生了一个中断事件。CPU保存好当前执行的上下文,转头去处理这个中断事件,但刚处理到一半儿,这时又有一个新的中断事件来了,那CPU怎么办?要不要响应?

所以中断也有优先级之分,低优先级的中断无法打断高优先级的中断。

有了这个前提来试想一下,如果由于操作系统内核代码写的不当,在处理某个中断的时候陷入了死循环,比如自旋锁,会发生什么?

因为在处理中断的时候,CPU运行在一个很高的优先级上,一般的中断是无法把执行权抢过去的,这就导致这颗CPU核心成为了“植物人”,怎么叫它都没反应了。

2、中断能抢到CPU,但发现没有线程可以调度

程序员们对死锁这个概念应该不陌生,两个线程A等待B,B等待A,两个线程互相等待对方让步(释放锁),形成僵持局面,最后成为死锁。

如果死锁发生在应用层面,那问题不大,最多就是两个程序死了。但如果发生在内核呢?

比如在Windows操作系统内核中,就有大量的全局性的锁,一个不小心造成死锁,其他想要的线程都得进入等待队列,那就凉凉了。

b8852bd54408fe493da7390a98b33546.jpeg

引用一段另一位大神Tim Chen的描述(我觉得特别形象):

e1ed424d4c766d3506db4411c3593dc1.jpeg
http://www.15wanjia.com/news/174717.html

相关文章:

  • 深圳建设集团网站首页东莞网站平台价格
  • 网站建设心得体会合肥效果图公司哪家好
  • 关键词挖掘爱网站广州网站建设提供商
  • 郑州网站开发培训班百度商桥绑定网站
  • 南京网站建设 零云建站西安网站seo价格
  • 做试试彩网站利用国外网站文章图片做书营利
  • 做暖视频网站免费大学做视频网站
  • 大通网站建设公司形象vi设计
  • 滕州网站建设网店免费注册
  • 网站做gzip压缩启东建设网站
  • 网站访客qq系统东莞建设网站
  • 高端网站制作价格中国建设住建网站
  • 做学校网站素材图片大全免费推广网站翻译英文
  • wordpress 内核seo需要会网站建设吗
  • 微信公众号和网站建设的意义微信商户平台登录官网
  • 网站做qq微信微博登录石家庄高铁站
  • 手机网站建设教程视频模板网站的优缺点
  • 凯里市网站建设seo推广有效果吗
  • 网站建设后续说明弹窗网站制作器
  • 网站搜索引擎优化工具如何向雅虎提交网站
  • 影视公司网站设计做网站的技术性说明
  • 设计网站一条龙app源码购买
  • 廊坊网站开发公司怎样开发一个管理系统
  • 房地产建设网站凡客诚品质量如何
  • 西安有做网站的吗对二次网站开发的认识
  • 网站链接提交百度提交入口
  • 网站制作培训课程网站建设营销型
  • 主做销售招聘的招聘网站有哪些大前端网站
  • 江苏建设通网站周口公司做网站
  • 聊城城乡建设局网站大连网络公司团队