听windowsXP讲故事(操作系统课程).doc
-
资源ID:79333694
资源大小:35KB
全文页数:5页
- 资源格式: DOC
下载积分:15金币
快捷下载
会员登录下载
微信登录下载
三方登录下载:
微信扫一扫登录
友情提示
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
|
听windowsXP讲故事(操作系统课程).doc
听windowsXP讲故事(2010-06-27 08:56:25)转载标签: 杂谈谁?您叫我呢?我是谁?对,您说对了。我就是那个叫“windowsXP”的家伙,自从老妈生了一个叫vista的小妹妹,我就被赶到了一个这个鸟不拉屎的地方做了饭店经理。不过,比起的我的哥哥DOS和windows98,我觉得自己比较幸运了。他们这会不知被扔在哪个犄角旮旯里,躲在布满灰尘的光盘上哭啼。但是并不是所有的父母都是那么喜新厌旧,像是隔壁NUIX大叔一家,就过的其乐融融,他们兄弟姐妹生活在一起其乐融融。FreeBSD、OpenBSD和NetBSD,以及漂亮的Solaris MM。这几年就连UNIX大叔的养子Linux也混的不错,和富婆Google生了一个叫Android的宝宝,和我的小外甥windows mobile在幼儿园打得不可开交。好了,既然您想听,我就给你讲讲我们操作系统那点事。一、来盘“宫保鸡丁”(操作系统的虚拟化概念) 操作系统和饭店管理的模型是非常相似的。核心就是虚拟化的概念,当我们需要登录互联网访问网页时,不管MAC还是PC上,不管他CUP多快,内存多大,只需打开浏览器,出入网址就行了。根本不需要关心CUP怎么处理,内存怎么分配,网络如何连接。同样的“ 虚拟化”也出现在饭店中。当一个脂肪过多的胖子走进饭店喊到:“来盘宫保鸡丁”的时候。他根本不必知道母鸡从哪里来,厨子会先放盐,还是先放醋。饭店和操作系统两者的目的是一致的:为客户提供一个统一、简化的操作模式,屏蔽内部复杂的实现方式差异。 凡 是虚拟化的模型都会遇见一个问题,访问的未知性,尽管操作系统近乎“全知全能”的,但是永远也没法知道下一刻用户到底做什么,需要用到什么样的资源。同样 对于饭店也一样,没有办法预知下一刻会来多少客户,他们需要什么样的服务,所以虚拟化模型中没有所谓的最优算法,而是转而考虑一些比较中庸、均衡的策略。二、大厨的杯具(操作系统中的CPU调度算法) CPU是计算机系统中最核心的部件,当然也是最贵的部件之一,CPU调度的目的是让CUP保持最大的吞吐率。就像饭店里面大厨师,他们是整个饭店的核心,经理们调动一切资源让他们忙起来。一个厨师很闲的饭店,生意一定好不到哪里。一个CUP吞吐率很低的操作系统,肯定不是一个优秀的设计。 因此,CPU“杯具”命运基本上是可以确定的,他们是天生的劳动模范以及被剥削的对象。 在计算机系统的早期(比如80286),只有一个CPU的,就像学校边上的农家小店。一个厨师(单指令流系统),只卖陕西著名的小吃“油泼面”和“擀面皮(一种制作简易的凉面的)”,当有很多客户来吃的时候,他们就按照客户到来的顺序为客户提供服务,在操作系统中把这种方式叫做(FCFS, First Come First Serve)当然这样可以保证客户间的公平。 小店的生意很好,慢慢的,来的人多了起来,特别是爱吃擀面皮的女生。他们抱怨一小份擀面片却要等待那么多的时间。为了照顾这些“好吃”的女生,老板规定:厨师必须及时响应那些很快能搞定的顾客。并把这个策略称为(SJF, Shortest Job First),就这样,爱吃凉面的女生越来越多,但是吃面的人却因为等待时间过长而越来越少。当然,这个是难不倒聪明的老板的。他在小店里面设立了专门的凉面专柜,专门响应那些爱吃擀面皮的女生。于是计算机系统前进到了80386模式,除了主CPU之外,增加的一个叫协处理器的东东,专门处理数学运算。 客户满意当然赚钱多多,但是一个厨师忙不过来,于是老板就另外增加了一个厨师(多指令流系统,奔腾双核处理器诞生了)于是做饭的效率被大大的提高了。但是 两个厨师间的分工成了新的问题。老板专门设计了一套策略才让他们既不相互为了使用同一部勺子发生冲突,也要保证他们之间的工作量大概均衡,这套方案叫做 “多指令流并行系统”。呵呵,老板真的很强悍。 三、操作系统的外设管理 强悍的老板总是不断进步,随着店面扩大。老板遇到的新的问题。需要招募专门的服务人员照顾客人提出的各种需求,以前这个事情是由厨师直接做的(直接IO指令方式),而现在要面对不断增加的客人和他们千奇百怪的要求,必须有人专门处理这件事情(设备适配器)当客户有需求的时候,就招呼服务员(操作系统中外设中断响应)当然,对于那些只是需要一杯水的客户,服务员可以稍晚一点给他,但是有人因为饭菜的质量问题,必须立即响应,所以就有的中断的响应级别。在饭店服务繁忙的时候,老板干脆让服务员不响应那些不会引发重要后果的客户请求。这种情况被称为中断屏蔽位。但是不管如何繁忙,客户因为需要买单的中断请求时永远是最优先级,而且永远不能被屏蔽的。四、Cache memory的产生 搞定了客户需求之后,老板有发现了厨房的效率问题,两个大厨成天忙于需要自己洗菜、切菜等低价值的劳动,没有发挥出应有的水平,为了把好钢用在刀刃上,老板有雇佣了几个学徒,专门处理洗菜、准备物料的事情,这样大厨就能专心的完成最重要的部分了。操作系统中也有类似的概念。各级的Cache memory就是预先的需要加工的数据放好。提高CPU的使用效率。管理学上有句名言:让最重要的人干最有价值的事情,我想,不管在操作系统设计还是饭店管理中都能体现这句话的思想。五、凉菜与甜点(线程池策略) 通过一段时间的观察,老板发现虽然每个客户 点的菜大相径庭,但是在对于凉菜和甜点的数量每天基本上确定,为了缩短上菜时间,老板组织大家在非高峰期制作一批凉菜与甜点,当用户需要时,就能以最快的 素缎响应,这样的情况在操作系统中也很常见,对一些简单、重复性高的业务场景(如WWW服务)。可以使用建立线程池的方式。极大的提高访问速度。 写在最后 我想。我们学习操作系统的目的是学习其设计思想。其优秀的设计思想不能能帮助我们在今后的系统设计中拓展思路,更重要的是我们能够对我们在日常事物处理中提供指导。