荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: bat (蝙蝠仔), 信区: Linux
标  题: 乐者确能为王 国外本科生的能力(zz)
发信站: 荔园晨风BBS站 (Sun Oct 28 14:58:26 2001), 转信

【 以下文字转载自 bat 的信箱 】
【 原文由 jjks.bbs@melon.gznet.edu.cn 所发表 】
发信人: shanhai (半边海), 信区: Linux
标  题: 乐者确能为王 国外本科生的能力(zz)
发信站: 华南网木棉站 (Sun Oct 28 12:51:15 2001), 转信

发信人: lookout (看世界), 信区: Linux
标  题: 乐者确能为王 国外本科生的能力(zz)
发信站: 武汉白云黄鹤站 (2001年10月28日11:33:16 星期天), 站内信件


发信人: sin (人生宛如梦幻), 信区: linux
标  题: 乐者确能为王 国外本科生的能力(zz)
发信站: 我爱南开站 (Fri Oct 26 21:01:42 2001), 转信

人物专访:核心黑客系列之一Robert Love

    每个星期,我们都采访一个内核编写社区的人,虽然这样的采访会很侧重技术,
    但是我们的立足点是为了让所有人都能接受。本周我们采访了Robert Love,现在
    他正在维护“可抢占内核”的升级包和其他一些事。他使用Linux已经7年了,对于

    现在的内核有很多贡献。所有这些最后用他自己的话来描述。
    记者Jeremy Andrews(一下简称“JA”):请谈一点关于你自己和你的背景Robert

    Love:我现在是Florida大学计算机和数学系的学生,未婚但有一个很可爱的女朋
    友。我的编程兴趣是操作系统和数学/科学计算。
    JA:你何时毕业?还会继续读研吗?
    Rebert Love:我想继续留在学校里读研究生,特别是如果社会经济状况还像现在
    这样的话。
    JA:你何时并且如何开始学习Linux的?
    Rebert Love:在1994年,我有了第一台运行Linux的个人电脑,那时还是1.0的内
    核。这也是我第一次实际接触一个类UNIX的系统。有我一台386SX电脑(感谢妈
    妈!)并且安装了可转换的Windows 95beta版。随着使用Linux越来越多,我最
    后终于在2.2的时候完全的转移到Linux上来,从那时起,我一直完全的使用
    Linux。
    我当时部分的转移到Linux上是由于一个明显的原因:我相信Linux是一个强大和
    强壮的系统,它有很好的应用程序。但根本的原因是我喜欢和Linux系统以及围绕
    在它周围的社区交流的能力。
    JA:你能比较一个1.0和2.4内核的不同点吗?
    Rebert Love:如果它们有几页代码是相同的话,我会感到很惊奇的。所以,每件
    事都不同。
    JA:安装和使用1.0的内核是怎样的?当时有什么软件?
    Rebert Love:很幸运,在1994/1995年,Linux发展的很好。当时SLS和Slackware
    都发行完整版。我最开始使用Slackware2.0。你不得不下载很多磁盘文件集
    (disk sets)-也许现在也一样。我记得磁盘文件A好像是核心,磁盘文件N提供
    网络支持等等。(译者:我想那时没有光盘,发布还是用软盘的,所以才有所谓
    的磁盘文件,也就是一个文件1.44M)
    那时Linux就有网络,X (XFree86 2.0)也有,还支持很多硬件呢。
    从今天看来最大的问题就是缺少文档,在加上复杂的安装过程。我记得我怎么做
    都不能让PPP工作……最终我放弃了。如果我可以让PPP工作的话,我也许那时就
    转换到Linux上了。
    JA:你做了那些贡献?
    Rebert Love:现在我大多数时间用来维护可抢占内核的升级包上。它允许低优先
    级的进程被抢占,即使是在内核空间(译者:现在的内核是不可抢占的,抢占是
    只发生在内核空间的工作完成,切换回用户空间的时候),这样可以提高体统响
    应。这个升级包最初是由MontaVista-一个很棒的公司-做的,所以我现在和他
    们以及社区的其他人紧密的工作。它是一个很有趣的项目。我门的目标是使它加
    入2.5内核中。
    我很随意的,否则……我修改漏洞,做优化。我写了i815和AMD761 AGP GART
    代码。我还维护其他可能加入内核或没用的升级包。
    JA:如果内核可以被抢占的话,那么内核将发生什么样的变化?
    Rebert Love:我们使用的模型是当内核没有被锁时,允许内核在任何时间都能被
    抢占。在这种思路的设计下,当使高优先级的进程变为可运行(runnable)的事
    件发生时,系统将抢占当前的任务并运行高优先级的任务。
    我们必须修改在entry.S中的中断代码,防止一些情况发生和允许从一个中断处理
    程序返回的时候抢占。但是,就象我们不能允许多处理同时在临界区(critical
    regions)内一样,我们不能在临界区内执行抢占-所以当保持一个spinlock
    (holding a spinlock)的时候,我们要避免抢占的发生。低速内核例程(bottom

    half handler)和调度程序也被修改来防止它们在执行时被抢占。
    JA:就目前来说,你认为这个包有多稳定?我在一个单独的Linux服务器上作所有
    的工作,我经常升级到新内核和新软件。提高整体系统响应时间看上去很吸引
    人,但是你认为这个升级包可以稳定到可以被“每天都使用(every-day-use)”的

    服务器用吗?
    Robert Love:这个包非常稳定。我很自信的建议每个人都使用它。我们有很多用
    户并收到了很多反馈。我想所有明显的bug都被改正了。
    我现在在我的主系统上就在使用这个包。
    好的一面是我们知道设计和实现是正确的。使用我们最近的包,我想我们可以处
    理任何问题。
    JA:你看到系统响应时间提高的有多明显?
    Rebert Love:非常明显。
    系统响应时间有200%的提高。通过这个可抢占内核的升级包,平均系统响应时
    间现在是1ms,最大到10ms。现在还有降低响应时间的一些长时间锁,有些长度
    达到100ms+。幸运的是,它们只在特别的地方发生,比如“VC切换(switching
    VCs-译者:不知什么意思:-<)”。
    JA:还有一个有Andrew Mortan维护的包也要达到同一个目标,你的和他的有什么
    区别?
    Rebort Love:我们的目标是相同的,那是因为内核代码是非抢占的。所以,内核
    会一直运行直到完成或者显式的自动放弃。如果在内核执行期间,用户空间的事
    件发生了,它们必须等到内核完成。这就是我们需要解决的问题,也就是降低系
    统响应时间的原因。
    Andrew的低响应时间包在整个内核中的策略点放置了基于条件的调度调用。这些
    调用可以有效的允许长时间的内核操作说“我很好心可以让其他人来运行,有任务
    需要运行吗?如果有,运行吧!”这样会打断操作,减少这些地方的系统响应时
    间。
    我的这个可抢占内核的包同他的工作机制不同,它通过修改内核本身来允许内核
    代码被抢占。所以上面的问题根本不会发生-如果一个任务要运行,它就会运行
    -并且系统响应也改善了。
    JA:最近在lkml上你谈到将两种包结合的可能性,你现在有作这方面的工作吗?
    Rebert Love:这当然值得考虑。因为我们在上锁期间不能抢占,那么长时间的锁
    就会对系统响应时间造成值得注意的影响。该锁的操作时间就是系统的等待时间
    了。
    一个解决办法是像Andrew那样中断锁操作。这就是将他的包融入可抢占内核的部
    分。或者更实际的办法,做一个应用了他的包的能意识到抢占的版本,当一个锁
    操作时引发的任何一个基于条件的调度程序也许是很有帮助的。
    这个方向的一个问题就是确认一个长时间的锁操作。这是preempt-stats包的作
    用,它测量非抢占时间并报告到底是什么锁产生的。
    这只是关于长时间锁的一种解决办法。

    JA:内核的那些部分会有你说的长时间的锁?
    Robert Love:控制台层(console layer)曾经使用了一些很长时间的锁,不过幸运
    的是Andrew Mortan最近修改了很多。帧缓存(frame buffer)使中断无效了很长
    时间-避免向它打印很多东西。如果你卷动了很多次屏幕,你将发现需要等待最
    长500ms。切换虚拟终端很糟糕。blkdev_close()使用了一个长时间的锁。一些模
    块操作也很耗时。如果VM开始thrashing,将产生很长时间的等待,因为在保持
    一个锁期间,它做所有的事。VFS也有一些长时间的锁。

    JA:你的这个包进入内核2.5有多大可能性?会有写什么困难?
    Robert Love:这将取决于Linus对这个包的评价,其他内核编程者的意见。Linus曾
    经说过他这个主意很感兴趣,我希望这有所帮助。
    我们有一个很大的用户数据库,那也将有所帮助。我们得到了很多反馈包括展现
    其提高性能的基准测试结果。
    关于可抢占内核的争论是因为它降低了系统吞吐量(system throughput)。这是
    很正确的观点。也是需要我们关注的观点。现在的测试表明会损失0-5%的吞吐
    量-我想对于200%的响应速度的增加还是很值得!而且,有时候还会增加吞吐
    量。不管如何,对于那些任何吞吐量的损失都不能接受的系统,可抢占性内核只
    是一个配置参数而已。

    JA:开发时你使用的主要工具?请描述一下你的环境,计算机和使用的方法。
    Robert Love:我主要的机器是P3-733,384M内存,U2W SCSI硬盘。我也有一个
    IBM的ThinkPad和我公寓里各种各样的老机器。我运行最新的RedHat Rawhide和
    Ximian GNOME。
    我使用vi编码因为我不想学习其他OS :-)
    我一般在X里,所以我通常使用gnome=terminal和gvim窗口打开我的project。我
    倾向于先广泛的看看,如果需要做做研究,然后开始编码。很少在纸上作设计。
    我经常依靠lkml和email-我喜欢其他人跳跃性的想法。

    JA:你使用其他的操作系统吗?和Linux相比,你喜欢还是不喜欢它们?
    Robert Love:我有一个Windows2000的工作站,和一台运行Irix的老式SGI Indy。
    除此之外,任何事情都是Linus。我使用Windows是为了Powerpoint,以防
    AbiWord不能剪贴它。
    我最不喜欢其他操作系统的原因就是它们不是open source的。我不是一个free
    software的狂热者-虽然我赞成它们的优点,我认为源码开放和围绕它的社区是
    无价的。

    JA:你曾经使用open source的BSD操作系统吗?特别是,你曾经关注过它的内核
    吗?
    Robert Love:我曾经有一台OpenBSD的机器,但是我把它丢到垃圾箱了。(虽然
    不是因为OpenBSD)
    其他的我所知道的就是学术性的了,我被Matt Dillon在FreeBSD的工作所打动(他
    写了VM)。他们的SMPng工作进展的很不错(在SMP扩展性方面,他们落后于
    Linux)并且他们甚至在考虑实现一个可抢占内核。

    JA:你知道他们倾向于使用何种抢占性吗?可能像你的升级包,或者像Andrew的
    升级包,或者是个结合体?
    Robert Love:他们考虑一个完全抢占性内核,就象我的包一样。我不知道对此他
    们会做了什么,也许在FreeBSD Core开发组已经被讨论过了。
    JA:你对当前2.4内核系列有什么看法?你认为它很稳定吗?
    Robert Love:我想我们比2.2有很大的提高。在2.3和2.4中完成的工作太棒了。我
    们做的一些提高,特别是Linus和Ingo作的一些工作真的是棒极了。2.4现在可以
    完成一些高性能/高扩展性的工作了。
    这并不是说在这点上我对2.4完全满意,我认为拆分Rik的VM是个错误。如果
    Linus想在2.5中尝试不同的东西,他都可以。在稳定的系列中,我认为我们需要
    更少的改变。我们不能就这么丢掉了花在VM上一年多的工作,还有所有的对应文
    档和理念。但是看来VM被裁减的很
    好。我使用Alan的内核,这个内核还坚持Rik的VM,而且我们正在为提高它而努
    力。谁知道当2.4的内核被传递到Alan手上以后,我们会有什么样的内核。

    JA:如果你遇到突然改变内核,你会如何处理?
    Robert Love:首先,也许内核会变成不知道什么鬼样子,不管我如何抱怨或者其
    他人如何反对Linus,他不单单是一个不可思议的高手(hacker)而是一个很棒的
    管理者,Linux需要他。
    对于VM的问题,我将跟随Alan领导的2.4内核。测试和文档化Rik的VM。我想我
    们需要更好的测试。太多Rik的主意和包都被忽略了。其他包被合并而不复存在
    了。我们需要一点一点的进行合并VM的工作,同时需要没有冲突的包,测试和结
    果。我们现在在Alan的代码树中需要这些。
    对于2.5,当然了,任何事都在发展。丢弃任何可以丢掉的。我认为Andrea的VM
    性能很好,可能它更好。It is just a bad time to find out, IMHO。

    JA:对于2.5内核,你最希望看到什么?从这里你打算何时开始?
    Robert Love:当然是一个可抢占的内核 :-)
    除了那个,我将继续探索更好粒度的锁(finer-grained locking)和整体清除
    (overall cleanup)。我想块设备,SCSI层和控制台层需要重写。我们关注NAPI
    and/or 某种形式的中断扼杀(IRQ throtting)。Ben LaHaise的异步I/O工作合
    并。Keith的新的kbuild看上去不错。我期待这所有这些。
    我真的认为我们需要重写tty系统,但是我不知道谁会做这个-我肯定不会做的。
    我想没有人,包括Linus对于2.5开始有一个明确的线索。我最初认为是2.4.0发布
    (2001/01/04)几个月后-可能是3月,或5月,可是现在还这样,一年又过去
    了,我猜不到。我怀疑等VM被证明是稳定的并且Alan和Linus可以完全同步的时
    候,我们将看到2.5.0。我希望这很快发生
    JA:你遇到到Linus吗?或者其他内核开发者?
    Rebort Love:我没有遇到国任何“著名”的高手。我希望遇到他们,也许某天,在
    一个会议或是宠物公园吧。

    JA:对于希望称为内核高手的人你有什么窍门和灵感?
    Rebort Love:读代码,“玩”代码(译者:其实文中多次提到“玩(play with)”
?   词),并且要经常洗澡。对于初学者,O'Reilly有几本很棒的书(“Understandin
g    the Linux Kernel”-Bovet and Cesati,和“Linux Device Driver 2ed“-Rub
inend   Corbet非常棒)。但是打开内核的钥匙还是度代码。你有整个系统的代码-读
    它,修改它,学习它。
    我一年前加入了lkml,但是直到2.3我才第一次真的做出了贡献。在lkml旁观
    (Lurking on lkml)是观看高手出招的最好办法,你能学到很多。

    JA:谢谢你有时间回答所有的问题,由于这次谈话,我一定要下载你的包并升级
    我的系统
    Rebort Love:太好了!请让我知道它工作的如何并且也同时感谢MontaVista的伙
    计们(可抢占内核最初的开发者)。
    ------------------------------------------------------------------------
    Any comments you have about this interview, or this series, can be poste
d here    or mailed to me at jeremy@kerneltrap.com

    后记:与Robert谈完后,我下载了他的包并测试了一下(2.4.10-ac12)。wow!
    提高很明显!VMWare和Mozilla这样的程序在加载和退出时我的系统要冻住一段
    时间的,应用了Robert的包后,我能够同时加载他们两个,而我的系统还可以响
    应。我注意到当大型程序装载时xmms不再“skips"了。从现在起,我将使用它
    了,我希望它能更快的融入2.5内核
    from: http://kerneltrap.com/article.php?sid=328

    人物预告
    http://kerneltrap.com/article.php?sid=340
    Interview: Russell King
    Posted on Saturday, October 20 @ 07:49:30 EDT
    This week's interview is with Russell King who originally ported Linux t
o AR    and continues to oversee ARM Linux development. Russell talks about
ARM,  the
    2.4 kernel, the upcoming 2.5 kernel and much more...
--
 你想要得到吗?那么好吧,你先放弃吧
My Linux Number is 113287



发信人: lzjinx (阿瞒~少年游), 信区: linux
标  题: 乐者确能为王 国外本科生的能力(zz)
发信站: 我爱南开站 (Fri Oct 26 23:25:55 2001), 转信

如果我在94年也有一台个人电脑,现在估计也不会比他菜多少,
嘿嘿!
唉,如果而已!
【 在 sin (人生宛如梦幻) 的大作中提到: 】
: 人物专访:核心黑客系列之一Robert Love



发信人: mark (花生), 信区: linux
标  题: 乐者确能为王 国外本科生的能力(zz)
发信站: 我爱南开站 (Fri Oct 26 23:46:54 2001), 转信

不一定.

关键是你接触些什么.
如果你的路是这样一条:

94年你有台486,
当时的新款, 你马上装上dos和很牛的windos 3.1中文
你崇拜病毒, 你开始了解dos 内核. undebug 病毒..
你认识外面人找到个用foxbase开发赚钱的活计.
你发现计算机玩游戏 三国, 大富翁

95年你升级你的计算机
你方向forxpro比foxbase好多.
你开始研究这东西-
你安装了BC3.1但是发现这东西好困难, 不如tc2.0好用
游行开始变大, 你开始玩 C&C

96年你开始喜欢photoshop.
你再升你的cpu
你把自己和你喜欢的女明星处理在一起
你开始玩3DS, 做个球乱蹦你乐半天

97年你开始上网
你知道email.www.bbs
聊天.
你学习了tcpip, 开始学习做homepage
你学习用frontpage.然后给大家看
你安装slackware . 用好多张软盘,
但是每次启动用windows

98年你狂上网
聊天
你知道网上有些有意思的site..
你知道什么是'hacke", 就是可以进入别人计算机的人
你开始到处找进入的机会

99年
你已经是你周围公认的黑科.
你不但能直接用人家的程序, 还能自己写一点.
用你的名字发布出去
聊天. 学习delphi vb com java

00年
升级电脑
找人想一切办公司开网站.作CEO
没找到人, 去家公司给人作
asp. php, dhtml. css.
icq, oicq, 聊天

01年
buy another pc.
install rh7.0
然后每次以windows起动挖雷


今天你看了这文章

【 在 lzjinx (阿瞒~少年游) 的大作中提到: 】
: 如果我在94年也有一台个人电脑,现在估计也不会比他菜多少,
: 嘿嘿!
: 唉,如果而已!


--
                    |_
       *   ●      )|_)
                   )|_)
           \._ii____|___-/~_~_~_~_
             \---------*_~_~_~

        _~_~    远离寂寞,陪伴幸福~永远~~~



--

        健康的人快乐多
※ 来源:·武汉白云黄鹤站 bbs.whnet.edu.cn·[FROM: 202.113.27.43]
--


--
:人生在世  难得糊涂

※ 来源:.华南网木棉站 bbs.gznet.edu.cn.[FROM: bbs.xanet.edu.cn]
--
※ 转寄:.华南网木棉站 bbs.gznet.edu.cn.[FROM: 深大荔园晨风转站]
--
※ 转载:·荔园晨风BBS站 bbs.szu.edu.cn·[FROM: 192.168.0.175]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店