无聊的时候写的,搬出来晒晒。 ------------------------------------------------------------------------ 浙大四门考研科目,有一本大且笨重,唤作《操作系统》。无奈之下苦心研读(注2),读到进程调度,不由拍案叫绝:这点点滴滴,简直就是活生生的社会管理案例。 进程调度有四。一乃FCFS(First Comes First Serves),先来者先服务,后来者不许抢。孔夫子有云,有主的干粮不许碰。又有高卢人一枚,姓卢名梭者,洋洋写道,财产是“公民一切权力中最神圣的权力”。后来蜂拥而至的社会主义者却在他的著作里发现了攻击私有制的痕迹,并把《社会契约论》奉为经典。话说回来,纯粹的FCFS平均等待时间惊人,用流行的话来讲,既不考虑效率,又不兼顾公平。 后来,早期的联邦科学办公署(United States Scientific Bureau,简称US-SB)学乖了。他们提出了用来取代FCFS,具有“划时代性变革”的SJF(Shortest Job First),最短作业优先调度。这一算法将每个进程和下一个CPU区间段相关联。当CPU可用时,它会付给具有最短后续CPU区间的进程——这是原话。简单的讲,谁越有能力,让别人等待时间越短,谁就有资格获得资源。优胜劣汰,适者生存,精彩的丛林法则。 可惜……这永远存在于学者的图纸上。效率优先是最好的,最好的往往不是最适合的,这句话到哪儿都通用。对于这种算法,长时间段进程显然拿不到,起码要等待相当长的时间段才能拿到资源。(注3)而如果这是一个关系到系统运行稳定、关系到必需资源调配的内核进程,那么对于操作系统,这就是一场「灾难」。OK,把系统替换为社会。弱势群体永远是议会两侧争论最激烈的话题,从种族歧视到平权法案(Affirmation Action,又译作A-A),遗憾的是,似乎仅限于此。自由主义要克服“不干涉”和“垄断”之间的矛盾,还有很多路要走。(注4) ------------------------------------------------------------------------ 注1:不要被题目吓倒。对题目,作者知道的不比你多。 注2:作者上次OS差点挂科。 注3:事实上,这不是算法的根本缺陷!这种算法根本只存在于图纸上,你永远无法预测下一个进程需要的时间——进程自己也不知道。 注4:好吧,这其实关系到抢占型算法和非抢占型算法。在下一章里,作者也许会提到。
正文
对操作系统进程调度算法的社会学分析(注1) Ⅰ2006-10-26 23:23:00
【评论】 【打印】 【字体:大 中 小】 本文链接:http://blog.pfan.cn/cruxd/19730.html
阅读(4517) | 评论(1)
版权声明:编程爱好者网站为此博客服务提供商,如本文牵涉到版权问题,编程爱好者网站不承担相关责任,如有版权问题请直接与本文作者联系解决。谢谢!
评论