<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml>
<head><meta forua="true" http-equiv="Cache-Control" content="max-age=0" /></head>
<card title="电脑和人脑并发问题" id="card1">
<p> 游客</p><p>
标题:电脑和人脑并发问题<br/>
正文:<br/>
在计算机发展初期，CPU的计算能力非常有限，计算资源稀缺而昂贵。最早的时候一个CPU只能同时运行一个任务，这简直让人无法忍受。什么叫做只能运行一个程序呢？这就像大学上自习占座一样，一旦一本书、一张纸、一个包或一个活人占有了那个桌子，其他人就再也没法用了，无论是这个人出去上厕所，踢球，你都不能去用那个座位，如果你贼胆包天敢偷着去坐，这时候就会有个神秘人突然拍拍你的肩膀告诉你「童靴，这里有人」，这就是常说的「见鬼的故事」。故事里的座位就是CPU，无论当前任务在使用CPU进行计算，还是在读写磁盘IO或进行网络交互，丫都得占着CPU，黑客极客和各种无证程序员们觉得，这，不，科，学！于是大家试图通过各种方式来改变这一现象。首先出场的是多通道程序，程序员们很快写了一个监控程序，发现当前任务不用CPU计算时，就唤醒其他等待CPU资源的程序，让CPU资源能够得到充分利用。但多通道的问题是调度乏力，不分青红皂白和轻重缓急，不管是急诊还是普通门诊，该等都得等。第二出场的是分时系统，分时系统是一种协作模式，每个程序运行一小段时间都得主动把CPU让出来给其他程序，这样每个程序都有机会用到CPU一小段时间。这时操作系统的监控程序也完善了一些，能够处理相对复杂的请求。早期的Windows和Mac OS（注意没有X）都是采用这种方式来调度程序的。分时系统的问题是，一旦某个程序死循环，系统就没招了，只能干等着，就像死机了一模一样，程序员们说，这是不可接受的！第三个隆重登场的是多任务系统，程序员们让操作系统接管了所有的硬件资源，变得更加高级智能，系统进程开始分级，有的是特权级别，有的是平民级别（你就知道，在计算机世界都特么是这个样子！），所有的应用程序以进程和线程方式运行，CPU的分配方式采用了抢占式，就是说操作系统可以强制把CPU的资源分配给目前最需要的程序。程序员们成功了，几乎完美的控制了一切，并造成了很多任务都在同时运行的假象，如果用两个字来形容的话，那就是「和谐」！目前OS X、Unix、Linux、Windows都是采用这种方式进行任务管理的。以上都是单核单CPU的情况，但无论线程间的切换多么快，这些都是并发，而不是并行。好吧，中间插播一段并发和并行的区别。并发的英文单词是Concurrency，并行是Parallelism。如果一个系统支持两个或多个动作（Action）同时存在，那就是一<br/><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=689&amp;Page=1">[&lt;&lt;]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=689&amp;Page=1">[[1]]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=689&amp;Page=2">[2]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=689&amp;Page=3">[3]</a><a href="http://camnpr.com/wap.asp?mode=WAP&amp;act=View&amp;id=689&amp;Page=4">[&gt;&gt;]</a><br/>
<br/>
<a href="wap.asp?act=Com&amp;id=689">查看评论(0)</a><br/>
<a href="wap.asp?act=AddCom&amp;inpId=689">发表评论</a><br/><br/>

<br/>

<br/>
<a href="http://camnpr.com/wap.asp">首页</a>
</p>
</card>
</wml>