手机版
你好,游客 登录 注册 搜索
背景:
阅读新闻

笨兔兔的故事——带你了解Ubuntu,了解Linux

协作

[日期:2010-12-23] 来源:Ubuntu社区  作者: 懒蜗牛Gentoo [字体: ]
(37) 协作
  64位的EVA熟练的使用着64位的CPU;同时,32位的奔流也在使用的同一颗CPU;(当然,是当成32位的用。)同时,皮筋也时不时的汇报一下主人的MSN和GTalk上的好友是否有消息发来;同时,狐狸妹妹也没闲着,游走在个个网站之间;同时………………总之,内存里大家各司其职,一派繁荣和谐的景象。而这和谐景象的背后,是由于我认真的学习了XXX思想,XXX理论,并且还戴了三个表。 -_-b
  
  好吧,其实之所以大家能够如和谐的同时工作,都因为我是一个多任务的操作系统。什么是多任务呢?直观的说,就是你能一边聊天,一边看电影还一边打字。(什么?你说你不能?那是因为你的大脑不是多任务系统。)有的人要说了,哪个电脑哪里系统不能一边聊天一边打字了?这说来又话长了,话说很久以前,还是那有点软的公司,在查皮的老祖宗问世之前,有点软公司赖以起家的,是一个叫做“剁死”(DOS)的操作系统。这个操作系统就是单任务的,也就是说,同时只能有一个软件在内存里运行。
  
  难道多让几个程序跑进内存里很难么?答案是——没错。我们工作用的内存阿CPU阿,都是很重要的资源,尤其CPU,一个CPU同时只能有一个程序在用(现在的多核心CPU对程序来说就是多个CPU),如果要让很多程序同时跑进来一起干活,就一定要对CPU进行合理的分配。剁死系统就比较简单,基本不管分配的事情。比如主人要启动狐狸妹妹(那念头当然还没有狐狸妹妹,咱就打个比方),如果是剁死系统的话,他就会跑去叫醒狐狸妹妹,然后跟她说:狐狸阿,起床干活了,你看咱这有一个奔腾166的CPU,16M的内存,够你用的不够?狐狸说,够了。然后剁死就说,那好,你去干活吧,我就不管了,干完了叫我。然后剁死就睡觉去了,整个机器归狐狸妹妹控制。所以不可能同时运行两个程序嘛。
  
  那多任务的系统又是怎样的呢?比如我和隔壁的查皮,都是多任务的操作系统,我们不会把整个计算机的所有资源都给一个程序用,而是进行合理和规划。还比如叫狐狸妹妹,我会去跟她说:狐狸阿,起床干活了。狐狸妹妹会起来跟我说,好,我现要10M的内存。我说检查一下内存空间,然后告诉她,可以,那一块10M的地方给你用。然后狐狸就走进工作室,开始工作的时候,一定要用到CPU,需要用的时候狐狸要找到我,向我提出申请。我根据情况,看现在有没有人正在用CPU,要是有的话就让狐狸等一下,没有的话就给她用。但是给她用也不能就让他一直用,只能让她用一会,因为还有别的程序要用。这个“用一会”的时间,专业的说法叫做时间片。每个运行着的程序都轮流的“用一会”,也就是每个程序都分配一定的时间片。没有分到时间片的程序就等着,不过这个切换的时间是非常短的,在主人那里根本感觉不到程序等待使用CPU的时间的,所以在主人看来,就是多个程序一起运行了,也就是我们所说的多任务。
  
  多任务的实现也有不同的模式,有协同式多任务,和抢占式多任务。
  
  协同式多任务,需要每个正在使用CPU的程序主动放弃CPU控制权,并由操作系统再次分配。如果我是个协同式多任务的操作系统,那就是这个样子的:狐狸妹妹用了一会CPU说,好了,我暂时不用了,去网口等个数据包去。兔子哥你让下一个程序用吧。然后我就回收了CPU的控制全,扭头一看,皮筋那里等了半天了,就把CPU给他用,他用了一会说,好了,我一会再用,先让下一个程序来吧……就这样,大家互相谦让,内存里一派繁荣和谐的景象。这主要是因为我学习XXX思想,XXX理论……戴了三个表。不过这样做得缺点就是万一有个程序不和谐就坏了。比如狐狸妹妹用了半天了,我跟她说:狐狸呀,你看,你用CPU都用了1秒了(对于我们程序来说,1秒已经是相当长的时间了)是不是该让其他的小朋友们……哦,不对,是不是刚让其他的程序用用阿?狐狸扭头斩钉截铁的说:不!于是我也没办法。如果狐狸始终不能放开CPU,那其他程序就一直等着,直到天荒地老,沧海桑田,直到机器重启,直到小区停电。
  
  抢占式多任务是怎么样呢?就是由操作系统决定什么时候收回CPU的控制权,而不是靠程序主动放弃。这种方式的核心就是一个字——抢!如果我是个抢占式多任务的操作系统,其实不用如果,我就是个抢占式多任务的操作系统。那么情况就是这个样子的:狐狸妹妹用了一会CPU,我对她说,你本次使用CPU的时间已到,立刻停止使用并重新排队。然后狐狸就乖乖的交出CPU,排到队尾等待下一次使用CPU。我则让下一个程序来使用CPU,使用了一段时间后,我又让这个程序停止使用,让再下一个来,如此循环往复,一派繁荣和谐的景象,这主要是……思想……理论……还戴三块表。 当!哎哟~linux
【内容导航】
第1页:开端 第2页:醒来
第3页:工作 第4页:历史
第5页:也是历史 第6页:还是历史
第7页:串门 第8页:碎片
第9页:邻居 第10页:人才
第11页:来头 第12页:本事
第13页:开源 第14页:故事
第15页:minix 第16页:(16) linux
第17页:Friends 第18页:杀毒
第19页:免疫 第20页:权利
第21页:内存 第22页:内存
第23页:信封 第24页:
第25页:酒 too 第26页: 酒Again
第27页:Year 第28页:人物志
第29页:日志 第30页:XFS
第31页:分区 第32页:挂载
第33页:GIMP 第34页:QQ
第35页:运算 第36页:��
第37页:协作 第38页: 加速
第39页:OpenGL 第40页:Power On
第41页:init 第42页:EXT4
第43页:有朋远来 第44页:他乡故知
第45页:可视电话 第46页:磁盘
第47页:硬解 第48页:刻录
第49页: Rubbish 第50页:Bug
第51页:施工 第52页:规划
第53页:因地制宜 第54页:Richard
第55页:Stallman 第56页:进程
第57页:僵尸 第58页:State
第59页:毕加索 第60页: 对决
第61页:空间 第62页:VBox
第63页: 动物园 第64页:BT
第65页: tar包 第66页:编译安装
第67页:对话 第68页:聊天记录
第69页:LOSE 第70页:宏&微
第71页:无线网卡 第72页: 驱动
第73页:显卡驱动 第74页:SLax
第75页:备份 第76页:浮云
第77页:文件类型 第78页:fedora
第79页:RPM 第80页:(80) 爱丽恩
第81页:用户认证 第82页:不知道起啥名字了……
第83页: 第84页:权限
第85页:多用户 第86页:比武
第87页:间歇 第88页:(88) 舌战
第89页:了断 第90页:shell
第91页:乱七八糟 第92页:文泉驿
第93页:dropbox 第94页:
第95页:地址 第96页:绕路
第97页:邮局 第98页:端口
第99页:云山雾罩 第100页:记忆
第101页:浏览器的战争 第102页:狐狸出世
第103页:群雄并起 第104页:门派
第105页:任天堂 第106页:敲敲打打本正理,补补全全是便捷
第107页:往事如烟千般忆,一令似关万物分 第108页:片片云烟过眼 页页细审在目
第109页:众里寻他千百度 第110页:山高无路阻佳音,途中逢友传鸿雁
第111页:笔走龙蛇书妙体,顿开金锁走蛟龙 第112页:小熊猫下小熊猫,游戏者装游戏者
第113页:忠勇智计三千人,三千宠爱在一身 第114页:一寸光阴一寸金 寸金难买寸光阴
第115页: 集腋成裘,拼小为大 第116页:容量速度和安全,阵列级别零一五
第117页:喜得广厦千万间,挂载之后方欢颜 第118页:硬盘扩建无忧虑 文件共享有三八
第119页:通讯靠吼 第120页:认证张口
第121页:SMB初具规模 NFS虎视眈眈 第122页:某年某月某日 某时某分某秒
第123页: 长江后浪推前浪,一代新兔胜旧兔 第124页:伤情最是晚凉天,升级坎坷不堪言
第125页: 惨淡天空,又见光明 第126页:三个和尚没水喝,两个内核没图形
第127页:为体验换装KDE,要易用开发新界面 第128页:我不知道叫什么题目好了
第129页:人生自古谁无死 留洒芳香满内存
相关资讯       Ubuntu Linux 
本文评论   查看全部评论 (12)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款
第 12 楼
* 匿名 发表于 2018/2/19 0:02:32
嗨,真想做个笨兔兔,陪在懒蜗牛身边,.😇
第 11 楼
* 匿名 发表于 2017/4/16 13:43:37
和俱
第 10 楼
* Aaron_Peng会员 发表于 2015/1/28 12:09:59
很不错,推荐给小白看看
回复 支持 (24) 反对 (26)
第 9 楼
* 匿名 发表于 2013/1/23 18:03:37
花了4天去看完,前面有些历史知识,还有些软件的原理,值得去看一下。后面十几章,我就粗略的带过了。显得有些臃肿,啰嗦,价值没有前面几章大。
回复 支持 (29) 反对 (32)
第 8 楼
* Jarod 发表于 2012/8/1 9:42:19
实在太精彩了!我留了份,哈哈
回复 支持 (38) 反对 (37)