<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-34256609</id><updated>2011-12-15T10:31:55.075+08:00</updated><title type='text'>Ten Years</title><subtitle type='html'>十年一剑！&lt;br /&gt;
-------------------------------------------------&lt;br /&gt;
Operating System Research / Technique</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Andy Yang</name><uri>http://www.blogger.com/profile/12163890391675011860</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>77</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-34256609.post-4690065630421243366</id><published>2008-02-26T20:03:00.003+08:00</published><updated>2008-02-26T20:32:02.981+08:00</updated><title type='text'>(HotOS'05 Note)Are Virtual Machine Monitors Microkernels Done Right?</title><content type='html'>&lt;span style="font-family: verdana;font-size:85%;" &gt;&lt;span style="font-weight: bold;"&gt;Are Virtual Machine Monitors Microkernels Done Right?&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;Steven Hand, Andrew Wareld, Keir Fraser, Evangelos Kotsovinos, Dan Magenheimery&lt;/span&gt;&lt;br /&gt;HotOS'05&lt;br /&gt;&lt;br /&gt;看到作者列表中熟悉的名字，就知道这是来自"The Xen guys"的声音。Xen的大获成功毫无疑问大大提高了他们的影响力，更多的人愿意聆听他们对OS的理解；当然，也有少数人不愿意听到这样的理解（如Heiser）。&lt;br /&gt;&lt;br /&gt;2000年，Rob Pike发表"&lt;/span&gt;&lt;span style="font-family: verdana;font-size:85%;" &gt;Systems Software Research is Irrelevant&lt;/span&gt;&lt;span style="font-family: verdana;font-size:85%;" &gt;"，痛斥System研究者不思进取，所做的研究在学术界外毫无影响力，再无80-90年代初那种轰轰烈烈的创新。3年以后，Xen横空出世，2年的飞速发展及在工业界的巨大影响力，让Hand等人有了底气。&lt;br /&gt;&lt;br /&gt;本文对VMM和Microkernel的一些异同点进行了对比，提出："We argue that modern VMMs present a practical&lt;br /&gt;platform which allows the development and deployment of innovative systems research: in essence, VMMs are microkernels done right."&lt;br /&gt;&lt;br /&gt;首先，文章从历史的角度指出两者有很多共性，特别是在目标上；很多时候两者的界限非常模糊，比如denali是VMM，但uDenali可以属于Microkernel；L4开始时Microkernel，但后来发展成可以运行多个不同的OS。&lt;br /&gt;&lt;br /&gt;两者不同的地方有以下三点：&lt;/span&gt;&lt;span style="font-family: verdana;font-size:85%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-family: verdana;font-size:85%;" &gt; Avoid Liability Inversion: Microkernel itself depends on application level components, such as pagers, to make forward progress. Various inelegant timeout and fallback mechanisms were required to avoid deadlock. &lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: verdana;font-size:85%;" &gt; Make IPC Performance Irrelevant: First, since VMMs hold isolation to be a key goal, IPC between virtual machines is considerably less common in general. Secondly, we have determined that a clear separation between control and data path operations allows us to optimize for the common case.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: verdana;font-size:85%;" &gt;Treat OS as Component: &lt;/span&gt;&lt;span style="font-family: verdana;font-size:85%;" &gt;Guest OS need few/none changes. Compatibility.&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-family: verdana;font-size:85%;" &gt;Microkernel有很多优点，而VMM也可以实现：&lt;/span&gt;&lt;span style="font-family: verdana;font-size:85%;" &gt;&lt;br /&gt;&lt;/span&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-family: verdana;font-size:85%;" &gt; Narrow interfaces between system components providing easy extensibility of device and OS functionality. &lt;/span&gt;&lt;span style="font-family: verdana;font-size:85%;" &gt;Indeed, it seems very likely that the exploration of how services and management will be structured in a &lt;span style="font-weight: bold; font-style: italic;"&gt;multi-OS&lt;/span&gt; VMM system will continue to present many exciting research opportunities.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: verdana;font-size:85%;" &gt;A small code base that can guarantee security more easily than monolithic kernels. &lt;/span&gt;&lt;span style="font-family: verdana;font-size:85%;" &gt;Several groups have expressed interest in developing these ideas for Xen, using concepts from projects such as the Flask-derived SELinux.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: verdana;font-size:85%;" &gt;Strong isolation providing opportunities for improved manageability. &lt;/span&gt;&lt;span style="font-family: verdana;font-size:85%;" &gt;recently by VMMs has been to explore less performance-centric aspects of systems development. (e.g. migration, log&amp;amp;replay)&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-family: verdana;font-size:85%;" &gt;最后总结：Microkernel的许多优点，VMM也都能实现；而VMM能够运行商业OS的特性，对现有应用提供更好的兼容性使得其走出学院，更多地在工业界发挥影响力，这是Microkernel所不具备的。&lt;br /&gt;&lt;br /&gt;马上，就会有一篇激烈的文章来反驳Hand，作者就是L4的开发人员，来自澳大利亚的Heiser。&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-4690065630421243366?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/4690065630421243366/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=4690065630421243366' title='141 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/4690065630421243366'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/4690065630421243366'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2008/02/hotos05-noteare-virtual-machine.html' title='(HotOS&apos;05 Note)Are Virtual Machine Monitors Microkernels Done Right?'/><author><name>Brady</name><uri>http://www.blogger.com/profile/15629869212744470227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>141</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-117009379932994575</id><published>2007-01-30T02:03:00.000+08:00</published><updated>2007-01-30T02:03:19.346+08:00</updated><title type='text'>AF_INET和PF_INET的区别</title><content type='html'>&lt;p&gt;在写网络程序的时候，建立TCP socket一般是这样的：&lt;br&gt;&lt;font face="Courier New"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;sock = socket(PF_INET, SOCK_STREAM, 0);&lt;br&gt;然后在绑定本地地址或连接远程地址时需要初始化sockaddr_in结构，其中指定address family时一般设置为AF_INET，即使用IP。&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Courier New"&gt;问题是AF_INET和PF_INET到底有什么区别，甚至很多参考书上都是混用。今天查了一下相关头文件的定义，找到了答案。&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Courier New"&gt;AF = Address Family&lt;br&gt;PF = Protocol Family&lt;br&gt;AF_INET = PF_INET&lt;/font&gt;&lt;/p&gt; &lt;p&gt;&lt;font face="Courier New"&gt;所以，理论上建立socket时是指定协议，应该用PF_xxxx，设置地址时应该用AF_xxxx。当然AF_INET和PF_INET的值是相同的，混用也不会有太大的问题。&lt;/font&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-117009379932994575?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/117009379932994575/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=117009379932994575' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/117009379932994575'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/117009379932994575'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2007/01/afinetpfinet.html' title='AF_INET和PF_INET的区别'/><author><name>Andy Yang</name><uri>http://www.blogger.com/profile/12163890391675011860</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-117009306533898613</id><published>2007-01-30T01:51:00.000+08:00</published><updated>2007-01-30T01:51:05.346+08:00</updated><title type='text'>Thin-Clien Computing论文阅读指南 -- 3 WBT系统</title><content type='html'>&lt;h1&gt;3. WBT系统&lt;/h1&gt; &lt;p&gt;WBT系统就是Windows终端，基于RDP协议。RDP是Windows远程协助、远程桌面的基础。WBT在服务器端需要Windows终端服务，通信使用RDP协议。&lt;/p&gt; &lt;p&gt;Citrix Systems, &lt;b&gt;Citrix MetaFrame 1.8 Backgrounder&lt;/b&gt;, &lt;i&gt;Technical White Paper&lt;/i&gt;, Fort Lauderdale, FL, June 1998. &lt;br&gt;Citrix公司的MetaFrame是最早的在Windows NT上支持多用户图形化登录的系统，后来核心功能卖给了M$，于是诞生了Windows NT 4.0, Terminal Server Edition(TSE)，M$之后就有了Terminal Server的产品线（现在是Server版的标准功能，甚至XP里也有，只不过只支持1个用户）。这篇文章还介绍了当时Citrix当时和M$的协议。MetaFrame使用ICA（Independent Computing Architecture)协议，现在也依赖于Windows终端服务，可以看作RDP的高级版。&lt;/p&gt; &lt;p&gt;Microsoft Corporation, &lt;b&gt;Microsoft Windows NT Server, Terminal Server Edition, Version 4.0: An Architectural Overview&lt;/b&gt;, &lt;i&gt;Technical White Paper&lt;/i&gt;, Redmond, WA, 1998.&lt;br&gt;前面提到了NT 4.0 TSE，第一个Terminal Service。对终端服务的结构有比较细致的描述。&lt;strong&gt;（推荐阅读）&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;Microsoft Corporation, &lt;b&gt;Microsoft Windows Server 2003: Technical Overview of Terminal Services&lt;/b&gt;, &lt;i&gt;Technical Article&lt;/i&gt;, Redmond, WA, 2004.&lt;br&gt;Windows 2003版的，不过M$是越来越抠门了，实质性的内容比上一篇更少。&lt;/p&gt; &lt;p&gt;Databeam Corporation, &lt;b&gt;A Primer on the T.120 Series Standard&lt;/b&gt;, &lt;i&gt;Technical White Paper&lt;/i&gt;, Lexington, KY, May 1997.&lt;br&gt;RDP协议最初基于T.128（用于NetMeeting），属于T.120协议族，这篇文章有些基本的介绍。&lt;/p&gt; &lt;p&gt;&lt;i&gt;&lt;strong&gt;ITU-T Recommendation T.128: Multipoint Application Sharing&lt;/strong&gt;&lt;/i&gt;. Telecommunication Standardization Sector of International Telecommunication Union (ITU), 1998.&lt;br&gt;T.128标准，RDP 4和T.128很相似。如果要实现分析RDP协议，这篇文档很有帮助。&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;i&gt;Performance and Sizing of Compaq Servers with Microsoft Windows NT Server 4.0, Terminal Server Edition&lt;/i&gt;.&lt;/strong&gt; Compaq Computer Corporation, Houston, TX, 1998.&lt;br&gt;&lt;strong&gt;&lt;i&gt;HP NetServer Performance and Sizing Guidelines: Microsoft Windows NT 4.0 Server, Terminal Server Edition&lt;/i&gt;.&lt;/strong&gt; Hewlett-Packard Company, Cupertino, CA, 1999.&lt;br&gt;&lt;strong&gt;&lt;i&gt;Windows Server 2003 Terminal Server Capacity and Scaling&lt;/i&gt;.&lt;/strong&gt; Microsoft Corporation, Redmond, WA, 2003.&lt;br&gt;关于Windows终端服务的性能规划问题，内容大同小异。&lt;br&gt;&lt;/p&gt; &lt;p&gt;H.L. Yu, W.M. Zhen, and M.M. Shen, &lt;b&gt;Extending the Power of Server Based Computing&lt;/b&gt;, &lt;i&gt;Proceedings of the 4th International Conference on Computational Science (ICCS2004)&lt;/i&gt;, June 2004, pp. 242-249.&lt;br&gt;清华的朋友写的，关于NC的实现，可以看作国内CPU+NC开发工作的一个典型。也提到了本地解码支持视频播放。&lt;strong&gt;（推荐阅读）&lt;/strong&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-117009306533898613?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/117009306533898613/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=117009306533898613' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/117009306533898613'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/117009306533898613'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2007/01/thin-clien-computing-3-wbt.html' title='Thin-Clien Computing论文阅读指南 -- 3 WBT系统'/><author><name>Andy Yang</name><uri>http://www.blogger.com/profile/12163890391675011860</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-117009305189225389</id><published>2007-01-30T01:50:00.001+08:00</published><updated>2007-01-30T01:50:51.910+08:00</updated><title type='text'>Thin-Clien Computing论文阅读指南 -- 2 Thin-client应用</title><content type='html'>&lt;h1&gt;2. Thin-client应用&lt;/h1&gt; &lt;p&gt;先说说thin-client的应用，这些文章一般都在IT应用的会议和期刊，主要是关于thin-client的优劣势问题，可以帮助理解thin-client。但是说对研究thin-client有什么作用，似乎主要是增加reference数量和完整性:-)&lt;/p&gt; &lt;p&gt;&lt;/p&gt; &lt;p&gt;Don McIntosh and Rich Bom, &lt;b&gt;Server-Based Computing: Back to the Future Solves Enterprise Desktop Problems&lt;/b&gt;, &lt;i&gt;Proceedings of the IEEE International Conference on Management of Innovation and Technology (ICMIT)&lt;/i&gt;, Volume 2, November 2000, pp. 732-737.  &lt;p&gt;Andrej Volchkov, &lt;b&gt;Server-Based Computing Opportunities&lt;/b&gt;, &lt;i&gt;IEEE IT Professional&lt;/i&gt;, Volume 4, Issue 2, March-April 2002, pp. 18-23.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-117009305189225389?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/117009305189225389/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=117009305189225389' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/117009305189225389'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/117009305189225389'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2007/01/thin-clien-computing-2-thin-client.html' title='Thin-Clien Computing论文阅读指南 -- 2 Thin-client应用'/><author><name>Andy Yang</name><uri>http://www.blogger.com/profile/12163890391675011860</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-117009303442919088</id><published>2007-01-30T01:50:00.000+08:00</published><updated>2007-01-30T01:50:39.870+08:00</updated><title type='text'>Thin-Clien Computing论文阅读指南 -- 1 概念</title><content type='html'>&lt;p&gt;（注：由于内容比较多，现在没有那么多时间一下写完，先来个连载吧。）&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;Thin-client computing不是一个范围很广的主题，这里尝试针对这个主题给出一个快速阅读指南。&lt;/p&gt; &lt;h1&gt;1. 概念&lt;/h1&gt; &lt;p&gt;&lt;em&gt;Thin-client computing&lt;/em&gt;是将计算任务集中在服务器端从而使用简单的（“瘦”的）客户端访问桌面计算环境的一种技术。代表性的thin-client有Windows终端（Windows Based Terminal，简称WBT）、Sun Ray、VNC等。某种意义上说，thin-client是大型主机（mainframe）时代的文本终端的现代图形化版本。按照其定义来讲，使用telnet的远程终端（或者SSH终端）也是符合thin-client定义的，因为所有计算都是在远程主机（remote host）上完成。不过，现在通常在说thin-client时，都隐含了使用图形界面的意思。由于thin-client computing的关键之一是远程访问图形界面，X终端有时也被当作thin-client，尤其是在进行比较的时候，因为X Window本质上就是网络透明的，可以从远程访问桌面环境，例如通过XDMCP。但是X Server实在是太“胖”了（注意是X server运行在X终端一边！），而且缺少stateless特性（前面列举的thin-client的重要特性），最重要的是X在设计时并有thin-client方面的考虑，所以我认为除了在分析远程显示机制时，不应当将X终端当作thin-client。&lt;/p&gt; &lt;p&gt;一个相关的概念是网络计算机（Network Computer, NC）。国内对NC的概念提的比较多，尤其是伴随着国产CPU纷纷选择thin-client应用作为重要的应用模式。NC的概念最早由Oracle和Sun等公司于1995年提出，并制定了NC参考标准（Network Computer Reference Profile）。最初NC是基于Java技术的，只能运行Java编写的程序，应用受到了很大的限制。现实一点的说法是最初NC概念伴随着Java OS等技术的失败而夭折了。（也许Java OS的概念太前驱了吧，我有朋友有幸参与到Java OS的开发，虽然大家尽了最大的努力，但是还是……我对Java OS没有偏见，也许是生不逢时吧，看看最近很火的VMM，也许有一天人们还会想起它。）后来，随着Windows终端服务的普及，基于Windows远程桌面协议（Remote Desktop Protocol, RDP）的WBT开始广泛应用，NC的概念开始和thin-client等同起来，也包括国内的大多数所谓“NC”（可以看看“&lt;a href="http://www.pkunity.com"&gt;北大众志NC&lt;/a&gt;”哦:P）。目前的现状是国外的论文一般使用thin-client，国内NC用的比较多。&lt;/p&gt; &lt;p&gt;由于典型的thin-client系统都是把计算任务集中在服务器端的，客户端只负载输入和显示等，一些文章也使用server centric computing， server based computing等术语表示和thin-client computing相似的概念。我的理解是强调了不同的方面，一般可以互换，但thin-client可能还是广泛些，因为从概念上讲没有说计算一定是server based。总之，在检索文献时也可以查查server centric/server based。另外，thin client有时也指一种设计模式，如在面向对象的设计环境中，不过似乎在2000年之后的就专指现在的概念了。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-117009303442919088?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/117009303442919088/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=117009303442919088' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/117009303442919088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/117009303442919088'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2007/01/thin-clien-computing-1.html' title='Thin-Clien Computing论文阅读指南 -- 1 概念'/><author><name>Andy Yang</name><uri>http://www.blogger.com/profile/12163890391675011860</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-116964903002470382</id><published>2007-01-24T22:30:00.000+08:00</published><updated>2007-01-24T22:32:20.193+08:00</updated><title type='text'>(Paper Note)The Design of a Transport Protocol for On-Demand Graphical Rendering</title><content type='html'>&lt;p&gt;Albert F. Harris, III and Robin Kravets&lt;br&gt;NOSSDAV 2002&lt;/p&gt; &lt;p&gt;为远程传输3D模型数据开发了一种传输协议——OGP(On-Demand Graphic Transport Protocol)。&lt;/p&gt; &lt;p&gt;关键是根据应用的特点，设计partial ordering，partial reliability的传输协议，介于TCP和UDP的特性之间。3D模型数据可以表示为一个树形结构，每个子树的根节点描述了一个区域，子节点是对该区域的细化描述。所以子节点是依赖于父节点的，但由于兄弟节点表示的区域之间没有重叠，兄弟节点之间没有依赖关系。所以半序的传输是可以接受的。同时，丢失一个子树只影响到一个区域，传输不必是完全可靠的。&lt;/p&gt; &lt;p&gt;OGP对于模型节点进行封装（节点都较小，小于MTU），然后传输，在封装时要注意保证半序性。封装后的包进行传输，拥塞控制采用TCP New-Reno方案，但由于其特性比TCP更简单。重传不是必须的，当用户不关心相应区域时可以不进行重传。&lt;/p&gt; &lt;p&gt;这篇文章从传输内容的特点出发设计专用的传输协议，类似用RTP传输视频流，有一定借鉴意义。相关工作部分也提到了Video streaming的传输问题。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-116964903002470382?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/116964903002470382/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=116964903002470382' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/116964903002470382'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/116964903002470382'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2007/01/page-notethe-design-of-transport.html' title='(Paper Note)The Design of a Transport Protocol for On-Demand Graphical Rendering'/><author><name>Andy Yang</name><uri>http://www.blogger.com/profile/12163890391675011860</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-116956906169753269</id><published>2007-01-24T00:17:00.000+08:00</published><updated>2007-01-24T00:17:41.960+08:00</updated><title type='text'>写点什么吧</title><content type='html'>&lt;p&gt;前一段时间一直在忙论文，有一段事件没有更新blog了。其实更重要的是主要的时间都花在写论文上了，没有什么时间看新的东西，自然也就没有什么好写在blog上的了。不过这一段时间也感觉到自己的脑子像被倒空了一样，需要再补充一下了！&lt;/p&gt; &lt;p&gt;总之，今天开始更新blog~~~~~~~&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-116956906169753269?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/116956906169753269/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=116956906169753269' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/116956906169753269'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/116956906169753269'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2007/01/blog-post.html' title='写点什么吧'/><author><name>Andy Yang</name><uri>http://www.blogger.com/profile/12163890391675011860</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-116697022236416601</id><published>2006-12-24T22:23:00.000+08:00</published><updated>2006-12-24T22:23:42.410+08:00</updated><title type='text'>投中DCC'07 POSTER，纪念一下</title><content type='html'>&lt;p&gt;今天是平安夜，一个好日子。下午收邮件，DCC commitee的邮件早早就到了，他们23号下午就发出来了，还挺快的。结果还算不错，中了POSTER，“A Fast Lossless Codec of Continuous-Tone Images for Thin Client Computing”。3个reviewer，一个给3.5 - Definitely as poster, weak as paper，一个给4.0 - Accept as paper，还有一个只给了1.5 - Borderline accept as poster。这篇paper是投的第一篇，本来也没有抱有很大的希望，只是觉得review速度比较快，能有些review意见就好，可以帮助改paper。能中POSTER也算喜出望外吧:-)&lt;/p&gt; &lt;p&gt;另外，还有一个教训，就是图表一定要清晰！给3分的那个reviewer的意见如下：&lt;br&gt;The paper is generally well written, though the english needs to be improved and the &lt;strong&gt;figures are ugly/blurry/unprofessional&lt;/strong&gt;. The complexity results look very good. &lt;br&gt;Please define all acronyms when you introduce them. &lt;br&gt;The nomenclature in Figure 2 should be improved; for example, sensitivity and selectivity. &lt;br&gt;Figure 4 is very hard to read - consider putting this information in a table instead of in a figure. &lt;br&gt;说不定图表搞得好点，就可以中full paper了，呵呵！以后可要吸取教训，一定要把图中的文字大小调整好，插入的格式也得注意，要保证最终图像的清晰！&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-116697022236416601?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/116697022236416601/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=116697022236416601' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/116697022236416601'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/116697022236416601'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/12/dcc07-poster.html' title='投中DCC&amp;#39;07 POSTER，纪念一下'/><author><name>Andy Yang</name><uri>http://www.blogger.com/profile/12163890391675011860</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-116384616671529842</id><published>2006-11-18T18:28:00.000+08:00</published><updated>2006-11-18T19:08:41.953+08:00</updated><title type='text'>一些学术会议信息的网络资源</title><content type='html'>&lt;span style="font-weight: bold;"&gt;Upcoming Conferences&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Operating Systems (and some relevant Systems and Architecture) Conferences (Livio Baldini Soares, University of Toronto): &lt;a href="http://www.eecg.toronto.edu/%7Elivio/os/conferences.shtml"&gt;http://www.eecg.toronto.edu/~livio/os/conferences.shtml&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;WWW Computer Architecture Page (Architecture Group at the University,      Wisconsin-Madison): &lt;a href="http://www.cs.wisc.edu/arch/www/conferences.htm"&gt;http://www.cs.wisc.edu/arch/www/conferences.htm&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Computer Science Related Conferences (BITS, Pilani, India): &lt;a href="http://www.bits-pilani.ac.in:12356/facultypage/conflist.htm"&gt;http://www.bits-pilani.ac.in:12356/facultypage/conflist.htm&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Networking conference dates (Tim Moors, University of New South Wales): &lt;a href="http://www.ee.unsw.edu.au/%7Etimm/netconf/"&gt;http://www.ee.unsw.edu.au/~timm/netconf/&lt;/a&gt;&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Call for Papers (华中科技大学  网格计算平台): &lt;a href="http://grid.hust.edu.cn:8080/call/cfp.jsp"&gt;http://grid.hust.edu.cn:8080/call/cfp.jsp&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;span style="font-weight: bold;font-size:100%;" &gt;Impact of conferences&lt;/span&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Estimated impact of publication venues in Computer Science (higher is better) - May 2003 (CiteSeer): &lt;a href="http://citeseer.ist.psu.edu/impact.html"&gt;http://citeseer.ist.psu.edu/impact.html&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Computer Science Conference Rankings (Guofei Gu, Georgia Tech): &lt;a href="http://www-static.cc.gatech.edu/%7Eguofei/CS_ConfRank.htm"&gt;http://www-static.cc.gatech.edu/~guofei/CS_ConfRank.htm&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Networking Conferences Statistics(Kevin C. Almeroth, UCSB): &lt;a href="http://www.cs.ucsb.edu/%7Ealmeroth/conf/stats/"&gt;http://www.cs.ucsb.edu/%7Ealmeroth/conf/stats/&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-116384616671529842?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/116384616671529842/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=116384616671529842' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/116384616671529842'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/116384616671529842'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/11/blog-post_18.html' title='一些学术会议信息的网络资源'/><author><name>Andy Yang</name><uri>http://www.blogger.com/profile/12163890391675011860</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-116254212658568691</id><published>2006-11-03T16:22:00.000+08:00</published><updated>2006-11-03T16:22:06.596+08:00</updated><title type='text'>导师谈博士研究(2): 读论文、写论文</title><content type='html'>&lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;h3&gt;&lt;strong&gt;1 目前大家的一些通病&lt;/strong&gt;&lt;/h3&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 目前大家做论文时的一个通病就是&lt;strong&gt;急躁&lt;/strong&gt;，不能把自己的工程实践和论文发表很好的结合起来。老师提了以下建议。&lt;/p&gt; &lt;p&gt;&lt;strong&gt;a&amp;nbsp;&lt;/strong&gt;注意平时积累，整理工作日志，记录好临时产生的思想火花。阅读到好的内容、段落要记录，多考虑哪些内容可以加以利用。&lt;/p&gt; &lt;p&gt;&lt;strong&gt;b &lt;/strong&gt;加强paper阅读，尤其是经典的范例论文，要注意写读后感。注意论文被引用时的别人对它的评价。&lt;/p&gt; &lt;p&gt;&lt;strong&gt;c &lt;/strong&gt;不要人云亦云，加强回溯，对基本概念要清晰，要追溯，要追问。&lt;/p&gt; &lt;h3&gt;2 写论文的几个注意&lt;/h3&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 经常被人引用的论文一定要仔细读，至少读三遍。&lt;u&gt;&lt;strong&gt;第一遍读，要忘掉自己&lt;/strong&gt;&lt;/u&gt;，以欣赏的眼光来读，读懂论文内容；&lt;u&gt;&lt;strong&gt;第二遍读，要细读&lt;/strong&gt;&lt;/u&gt;，仔细对基本概念、核心思想等进行逐字逐句的阅读，可能一些内容反复琢磨也不甚了了，不要紧；然后要放下，读其它的文章，放上几天，&lt;u&gt;&lt;strong&gt;第三遍读，要有针对性的读&lt;/strong&gt;&lt;/u&gt;，针对以前自己比较含糊的部分，以及读其它论文的感悟进行，这一次结合已经阅读的其它论文，尤其是别人的评论，会有更多的感悟，常常有“原来是这样的”感觉。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 写论文时，不要过于求新求大，不要想所有内容都有所创新，那是不可能的。一篇论文有70%都是已有的东西，只有30%是创新的内容。&lt;strong&gt;&lt;u&gt;只在一两个点上“打人”&lt;/u&gt;&lt;/strong&gt;，不要全面开花攻击别人已有的工作。一篇好的论文，关键是三点：&lt;strong&gt;&lt;u&gt;新颖、可信、实用&lt;/u&gt;&lt;/strong&gt;。所以，论文关键要写清楚为什么做（motivation），怎么做的以及为什么这么做，其中&lt;strong&gt;&lt;u&gt;为什么最为重要！&lt;/u&gt;&lt;/strong&gt;。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 写论文，其实很简单，难是难在做实验和研究，&lt;strong&gt;&lt;u&gt;在形成文章时要像高考一样，限定deadline，一气呵成。&lt;/u&gt;&lt;/strong&gt;建议找一段比较安静的时间（比如晚上），花六、七个小时一口气完成初稿，不要拖泥带水，就好比高考作文，到点就要交，限定时间完成初稿。当然改文章无论如何都是比较痛苦的，必须要细致，有耐心。跳出来，站在reader的角度，站在reviewer的角度多考虑。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-116254212658568691?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/116254212658568691/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=116254212658568691' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/116254212658568691'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/116254212658568691'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/11/2.html' title='导师谈博士研究(2): 读论文、写论文'/><author><name>Andy Yang</name><uri>http://www.blogger.com/profile/12163890391675011860</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-116253847372920348</id><published>2006-11-03T15:21:00.001+08:00</published><updated>2006-11-03T15:33:40.356+08:00</updated><title type='text'>导师谈博士研究(1): 综合考试与开题</title><content type='html'>&lt;p&gt;&lt;/p&gt; &lt;p&gt;&lt;b&gt;&lt;/b&gt;&amp;nbsp; &lt;p&gt;&lt;b&gt;（推出《导师谈博士研究》系列！根据我的导师对我的博士研究的指导进行整理。）&lt;/b&gt; &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&amp;nbsp; &lt;p&gt;&lt;b&gt;1 什么是博士综合考试，什么叫开题&lt;/b&gt;  &lt;p&gt;&lt;b&gt;综合考试：&lt;/b&gt;考察基础课程是否已经学好，是否有进一步培养的潜力，是否有理论和实践相结合的能力。重点是考察&lt;u&gt;在实践基础上思考的能力&lt;/u&gt;。 &lt;/p&gt; &lt;p&gt;&lt;b&gt;开题工作：&lt;/b&gt;就是预研工作，主要考察研究的基础是否已经具备。包括：a 选题的意义是否已经具备，包括理论意义和时间意义；b 是否源于现实，高于现实；c 是否具有把握国际定向的能力。关键点在于：&lt;u&gt;对所研究的领域有比较充分全面的认识，上至起源，下至热点，以及为了五年到十年内的主要问题等都要有比较好的把握。&lt;/u&gt;所以，要注意：既不能太虚太大，也不能太具体太细节。 &lt;/p&gt; &lt;p&gt;&lt;b&gt;已有论文情况：&lt;/b&gt;对相关领域已有论文及其引用情况的了解，是开题工作中的重要部分。在完成开题工作时，对如下三类论文必须有较为全面细致的了解。 &lt;/p&gt; &lt;ul&gt; &lt;li&gt;&lt;b&gt;a 学科环境和条件。&lt;/b&gt;对于一个学科的基本外部环境和研究条件，应当有全面的认识，对相关的基本概念和结论，要有正确的认识和把握，&lt;u&gt;应该熟悉相关的经典文献&lt;/u&gt;。例如，在做芯片设计时，必须对对基本概念有准确的把握，对工艺技术的发展有一定了解，包括：亚微米、深亚微米、超深亚微米等概念，国际半导体工艺的发展和预期路线（ISTR）等。只有读透最权威的论文，才能厚积薄发。&lt;u&gt;要注意这些学科环境和条件在大时间尺度上发生的特殊变化&lt;/u&gt;，了解原因，分析对自己研究工作的影响。例如：分析微电子工艺发展趋势对设计中性能、功耗目标有何影响，分析为什么2000年后最新的工艺首先要应用在微处理器制造，而不是之前的DRAM制造等等。同时，&lt;u&gt;相关的产业趋势及发展速度也是需要关注的一个问题&lt;/u&gt;，这从一个侧面反映了相关领域研究的重要性和发展前途。  &lt;li&gt;&lt;b&gt;b 具体研究领域之综述。&lt;/b&gt;对于自己从事的具体研究领域，要认真分析和总结相关的综述性文献。了解和分析该领域的&lt;u&gt;起源、重大历史事件&lt;/u&gt;等，对相关&lt;u&gt;背景、变革和需求&lt;/u&gt;等要深入思考背后的原因。  &lt;li&gt;&lt;b&gt;c 有代表性的博士论文。&lt;/b&gt;除了代表性博士论文本身的技术路线和研究内容以外，还应当重点分析文中给出的&lt;u&gt;背景、动机和相关工作&lt;/u&gt;，并结合自己的工作进行分析和比较，对自己的研究进行拔高。关键在于要能够分析出&lt;u&gt;论文的作者是怎样做出这些工作的&lt;/u&gt;，以及和自己工作状况的异同点。对于related works，要重点分析&lt;u&gt;各个工作解决的问题和存在的问题&lt;/u&gt;，尤其是存在的问题，很可能就是自己工作的突破点。对于存在的问题，可以着重从假设的正确性等入手，从原文中的评论（drawbacks部分）和他人引用时的评论中分析和提取。 &lt;/li&gt;&lt;/ul&gt; &lt;p&gt;&lt;b&gt;开题报告：&lt;/b&gt;主要包括如下内容。 &lt;/p&gt; &lt;ol&gt; &lt;li&gt;简介  &lt;li&gt;背景  &lt;li&gt;相关工作  &lt;li&gt;研究动机  &lt;li&gt;技术路线（技术思路、实验设计、数据分析方法等）  &lt;li&gt;进度安排 &lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&lt;b&gt;2 杂项话题&lt;/b&gt;  &lt;p&gt;&lt;b&gt;关于做博士研究：&lt;/b&gt;要立志于做胡杨而不时做灌木。关键在于自信，而自信源坚韧不拔和脚踏实地态度。 &lt;/p&gt; &lt;p&gt;&lt;b&gt;关于做报告：&lt;/b&gt;做报告的人要努力让听众易于理解，听报告的人要积极的提出建议，尤其是全局性的建议。 &lt;/p&gt; &lt;p&gt;&lt;b&gt;关于说服：&lt;/b&gt;写论文，是要说服别人，在说服别人之前，先要说服自己。这要求&lt;u&gt;将自己放在公正客观的角度去审视自己的工作&lt;/u&gt;。关键在于point of view。 &lt;/p&gt; &lt;p&gt;&lt;b&gt;关于思路：&lt;/b&gt;一定要有开放的思路，要open。仔细思考别人为什么做、怎么做，想透之后再推翻别人的结论。要采用“&lt;u&gt;改进-&amp;gt;refine-&amp;gt;创新&lt;/u&gt;”的思路来做工作。 &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-116253847372920348?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/116253847372920348/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=116253847372920348' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/116253847372920348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/116253847372920348'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/11/blog-post.html' title='导师谈博士研究(1): 综合考试与开题'/><author><name>Andy Yang</name><uri>http://www.blogger.com/profile/12163890391675011860</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-116124216694804240</id><published>2006-10-19T15:09:00.000+08:00</published><updated>2006-10-19T15:57:09.876+08:00</updated><title type='text'>X下视频显示支持方式</title><content type='html'>&lt;p&gt;（主要截取自FreeBSD的文档。）&lt;/p&gt;在X11下有几种可以显示图像的方式。 到底哪个能工作很大程序上依赖于硬件。 首先，下边描述的每一种方法在不同的硬件上都会有不同的品质。 其次，在X11里的图像显示近来引起普遍的关注， 随着 &lt;strong class="APPLICATION"&gt;Xorg&lt;/strong&gt; 或 &lt;strong class="APPLICATION"&gt;&lt;span class="TRADEMARK"&gt;XFree86&lt;/span&gt;&lt;/strong&gt; 的每一个版本，都会有很大的突破。&lt;br /&gt;&lt;p&gt;　　常见图像接口列表：&lt;/p&gt;&lt;ol&gt;&lt;li&gt;X11: 一般性的使用共享内存的X11输出。&lt;/li&gt;&lt;li&gt;XVideo: 一种X11接口扩展，支持任何X11图像的可拖拉。&lt;/li&gt;&lt;li&gt;SDL: 简单直接媒体层。&lt;/li&gt;&lt;li&gt;DGA: 直接图片存取。&lt;/li&gt;&lt;li&gt;SVGAlib: 低层次掌控图片层。&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="text-decoration: underline;"&gt;XVideo&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;strong class="APPLICATION"&gt;Xorg&lt;/strong&gt; 和 &lt;strong class="APPLICATION"&gt;&lt;span class="TRADEMARK"&gt;XFree86&lt;/span&gt; 4.X&lt;/strong&gt; 有种扩展叫做&lt;span class="emphasis"&gt;&lt;strong class="EMPHASIS"&gt;XVideo&lt;/strong&gt;&lt;/span&gt; (或称Xvideo, Xv, xv)，它可以通过一个特殊的加速器直接把图像显示在可拖拉的对象里。 即使在低端的计算机 (例如PIII 400 Mhz膝上电脑)， 这个扩展也提供了很好的播放质量。要了解这一扩展是否在正常工作， 可以使用 &lt;tt class="COMMAND"&gt;xvinfo&lt;/tt&gt; 命令。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="text-decoration: underline;"&gt;&lt;span style="text-decoration: underline;"&gt;&lt;strong&gt;&lt;span style="text-decoration: underline;"&gt;SDL&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;简单直接媒体层(SDL)，原意是做为 &lt;span class="TRADEMARK"&gt;Microsoft&lt;/span&gt;® &lt;span class="TRADEMARK"&gt;Windows&lt;/span&gt;®、BeOS 以及 &lt;span class="TRADEMARK"&gt;UNIX&lt;/span&gt;® 之间的端口层，允许跨平台应用发展，更高效地利用声卡和图形卡。SDL 层可以在低层访问硬件，有时这样做就比 X11 接口层更为高效。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;span style="text-decoration: underline;"&gt;DGA&lt;br /&gt;&lt;/span&gt;&lt;/strong&gt;直接图形存取 (Direct Graphics Access) 是一种 X11 扩展， 通过它， 应用程序能够绕过 X 服务， 并直接修改画面缓存 (framebuffer)。 由于它依赖一种底层的内存映射来实现其功能，因此使用它的程序必须以 &lt;tt class="USERNAME"&gt;root&lt;/tt&gt; 身份来执行。DGA 扩展可以通过dga(1) 来完成测试和性能测量。 运行 &lt;tt class="COMMAND"&gt;dga&lt;/tt&gt; 时， 它将随按键改变现实的颜色。按 &lt;strong class="KEYCAP"&gt;q&lt;/strong&gt; 退出这个程序。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-116124216694804240?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/116124216694804240/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=116124216694804240' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/116124216694804240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/116124216694804240'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/10/x.html' title='X下视频显示支持方式'/><author><name>Andy Yang</name><uri>http://www.blogger.com/profile/12163890391675011860</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-116056900959763392</id><published>2006-10-11T20:16:00.000+08:00</published><updated>2006-10-19T15:17:10.210+08:00</updated><title type='text'>(OSDI'02 Note)Scalability and Accuracy in a Large-Scale Network Emulator</title><content type='html'>&lt;br /&gt;&lt;p&gt;&lt;em&gt;Amin Vahdat et al.&lt;/em&gt;&lt;br/&gt;OSDI 2002&lt;/p&gt;&lt;br /&gt;&lt;p&gt;本文提出了一套用很少的PC仿真大范围的类似Internet环境的系统。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;在开发Internet Service软件原型的时候（如P2P系统及其他分布式服务），常常需要有一个大规模的网络环境用于调试。但是部署、管理、配置新的软件原型非常麻烦。于是作者希望通过用少量的PC来仿真大范围的网络环境，开发了一个系统：ModelNet。&lt;/p&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;一台服务器级别的PC，可以仿真上千个节点。&lt;/li&gt;&lt;br /&gt;&lt;li&gt;可以在牺牲准确率的前提下选择更多的节点。&lt;/li&gt;&lt;br /&gt;&lt;li&gt;使用了ModelNet评测CFS，得到了与标准相同的结果。&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;p&gt;具体的实现没有仔细看，知道一下有人在做这事。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;PS. 这篇论文署名的有七个人，hoho&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-116056900959763392?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/116056900959763392/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=116056900959763392' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/116056900959763392'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/116056900959763392'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/10/osdi02-notescalability-and-accuracy-in.html' title='(OSDI&apos;02 Note)Scalability and Accuracy in a Large-Scale Network Emulator'/><author><name>Brady</name><uri>http://www.blogger.com/profile/15629869212744470227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-116053376559576981</id><published>2006-10-11T10:29:00.000+08:00</published><updated>2006-10-11T10:29:25.973+08:00</updated><title type='text'>(SOSP'03 Note)Backtracking Intrusions</title><content type='html'>&lt;p&gt;Samuel T.King, Peter M. Chen&lt;/p&gt; &lt;p&gt;本文针对入侵攻击提出了一种分析入侵过程的方法，以帮助被入侵者恢复系统。&lt;/p&gt; &lt;p&gt;技术上的目标是如何从探测到系统被入侵向前回溯到入侵者开始影响系统的那一点。作者开发了一个系统叫做BackTracker，包含两大部分：&lt;br&gt;1.&amp;nbsp; 在线的日志记录&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;日志记录可以有几个级别：Machine-level, OS-level, Network-level, Application-level等，级别越低，获得的信息越丰富，反之，语义越清晰。BackTracker采用了OS-level。&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 记录的内容主要包括两种：&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.1. Object: process, file, filename&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;1.2. dependence: Process-Process dependence, Process-file dependence, Process-filename dependence&lt;br&gt;&amp;nbsp;2. 离线的日志分析&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 通过分析第一部分得到的记录，得到和入侵进程或文件相关的依赖图，从而可以清晰地看到入侵过程及其影响到文件或进程。&lt;/p&gt; &lt;p&gt;Brady的看的Enabling Intrusion Analysis through Virtual-Machine Logging and Replay那篇文章也是关于入侵分析的，感觉Information Control或许对rdesktop的分析能有点启发。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-116053376559576981?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/116053376559576981/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=116053376559576981' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/116053376559576981'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/116053376559576981'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/10/sosp03-notebacktracking-intrusions.html' title='(SOSP&apos;03 Note)Backtracking Intrusions'/><author><name>Vivian.Niu</name><uri>http://www.blogger.com/profile/04158699116531537222</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-116049345647839624</id><published>2006-10-10T23:11:00.000+08:00</published><updated>2006-10-10T23:17:41.220+08:00</updated><title type='text'>(SOSP'05 Note)IRON File Systems</title><content type='html'>&lt;br /&gt;&lt;p&gt;&lt;strong&gt;IRON File Systems&lt;br/&gt;&lt;/strong&gt;&lt;em&gt;Vijayan Prabhakaran et al.&lt;br/&gt;&lt;/em&gt;SOSP 2005&lt;/p&gt;&lt;br /&gt;&lt;p&gt;对于硬盘故障提出了fail-partial model，引入了Internal RObustNess（IRON）分类方法，开发了failure-policy fingerprinting框架，对一些典型的文件系统进行了分析，总结比较了其故障处理策略，最后介绍了IRON file system原型系统ixt3（基于ext3）。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;&lt;em&gt;TBC&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-116049345647839624?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/116049345647839624/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=116049345647839624' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/116049345647839624'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/116049345647839624'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/10/sosp05-noteiron-file-systems.html' title='(SOSP&apos;05 Note)IRON File Systems'/><author><name>Andy Yang</name><uri>http://www.blogger.com/profile/12163890391675011860</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-116045196337249870</id><published>2006-10-10T11:46:00.000+08:00</published><updated>2006-10-10T12:21:12.416+08:00</updated><title type='text'>(SOSP'03 Note)Improving the Reliability of Commodity Operating System</title><content type='html'>&lt;br /&gt;&lt;p&gt;Michael M. Swift et al.&lt;br/&gt;SOSP 2003&lt;/p&gt;&lt;br /&gt;&lt;p&gt;本文提出了一种改进商业操作系统可靠性的方法。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;动机明确且很有说服力：&lt;br/&gt;1. Computer system reliability remains a crucial but unsolved problem.&lt;br/&gt;2. OS extensions have become increasingly prevalent in commodity systems such as Linux and Windows.&lt;br/&gt;3. Extensions are a leading cause of operating system failure.&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;OS extensions&lt;/strong&gt; are optional components that reside in the kernel address space and typically communicate with the kernel through published interface. 包括设备驱动、文件系统、病毒检测、网络协议等。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;本文在实现reliability的前提下兼顾extensibility。在这两个方面，前人已经做了很多工作，采用的方法也很丰富：&lt;br/&gt;1. new kernel architecture&lt;br/&gt;2. new driver architecture&lt;br/&gt;3. user-level extensions&lt;br/&gt;4. new hardware&lt;br/&gt;5. type-safe language&lt;br/&gt;这些方法最致命的缺点在于其backward compatibility很差，已有的系统必须做彻底的改动才可以。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;而本文提出的系统Nooks则在对现有OS或driver做little or no change 的基础上，通过隔离driver的错误和Kernel来达到reliability，且加入了跟踪机制以从错误中迅速恢复。实现的关键点在于提出了一个lightweight kernel proctection domain，driver不再是放任自流的状态，而是运行在这个受控的domain中，driver的一言一行都将被记录和控制，从而达到了有效隔离和恢复的目标。其实可以认为是在user-mode和kernel-mode之间又加入了一个中间mode。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;该方法的缺点可能在于：&lt;br/&gt;1. 只能应用于performance-insensitive的环境&lt;br/&gt;2. 针对的目标仅仅是OS extensions，对kernel很信任，而这其实也正是本文的出发点。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-116045196337249870?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/116045196337249870/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=116045196337249870' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/116045196337249870'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/116045196337249870'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/10/sosp03-noteimproving-reliability-of.html' title='(SOSP&apos;03 Note)Improving the Reliability of Commodity Operating System'/><author><name>Vivian.Niu</name><uri>http://www.blogger.com/profile/04158699116531537222</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-116030168693779816</id><published>2006-10-08T18:01:00.000+08:00</published><updated>2006-10-10T12:37:31.736+08:00</updated><title type='text'>(OSDI'02 Note)ReVirt: Enabling Intrusion Analysis through Virtual-Machine Logging and Replay</title><content type='html'>&lt;br /&gt;&lt;p&gt;&lt;strong&gt;ReVirt: Enabling Intrusion Analysis through Virtual-Machine Logging and Replay&lt;br/&gt;&lt;/strong&gt;&lt;em&gt;George W. Dunlap et al.&lt;/em&gt;&lt;br/&gt;OSDI 2002&lt;/p&gt;&lt;br /&gt;&lt;p&gt;本文讨论了在VMM基础上利用Log机制实现攻击分析。又是一篇讨论攻击（Intrusion）分析的论文，而且包含热门关键词（VMM）。其中为了Logging/Replay，又牵涉到了Fault-Tolerance的一些技术。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;本文提出了目前的log机制无法满足以下两点：&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Integrity&lt;/strong&gt;: 对kernel过于信任，攻击者可以对Log文件进行任意的改动，或者制造很多无用Log信息混淆视听。本文的解决方法是把整个系统放在VM中运行，将Log的层次放在VM之下。由于VM的接口相对于OS来说要窄得多，所以记录下的事件也就相对来说少了很多个数量级。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Completeness&lt;/strong&gt;: 没有记录下重现攻击所必需的信息，导致最后对攻击的很多判断不得不靠猜测。本文的解决方法是使用fault-tolerance的技术，如checkpointing, logging, roll-forward recovery等。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;本文的实现以UMLinux为基础（UMLinux，即User Mode Linux，与User-Mode Linux是两个不同的虚拟机。前者将虚拟机和虚拟机上运行的所有的应用程序作为一个进程，而后者则为虚拟机上的每一个应用程序单独开一个进程）。ReVirt是在UMLinux之下的Logger，它会记录下所有的确定性和非确定性事件，从而能做到完全回放。产生的Log大小可以接受，能够长时间（几个月）的在一块本地硬盘上记录Log。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;PS:&lt;/strong&gt; 再想一下，这样做会有什么不足呢？我能想到的只有：&lt;/p&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;&lt;li&gt;引入虚拟机后带来的性能下降，导致与真实情况存在差异&lt;/li&gt;&lt;br /&gt;&lt;li&gt;无法证明记录虚拟机产生的时间与记录OS产生的事件等价&lt;/li&gt;&lt;br /&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-116030168693779816?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/116030168693779816/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=116030168693779816' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/116030168693779816'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/116030168693779816'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/10/osdi02-noterevirt-enabling-intrusion.html' title='(OSDI&apos;02 Note)ReVirt: Enabling Intrusion Analysis through Virtual-Machine Logging and Replay'/><author><name>Brady</name><uri>http://www.blogger.com/profile/15629869212744470227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-116010575381890492</id><published>2006-10-06T11:26:00.000+08:00</published><updated>2006-10-10T12:37:23.186+08:00</updated><title type='text'>(Note)FreeVGA: Architecture Independent Video Graphis Initialization for LinuxBIOS</title><content type='html'>&lt;br /&gt;&lt;p&gt;&lt;em&gt;Li-Ta Lo et al&lt;/em&gt;&lt;br/&gt;&lt;br/&gt;LinuxBIOS广泛使用于集群计算的应用，当前它也受到网络设备、桌面和虚拟应用开发者的关注。网络设备、桌面和虚拟应用需要支持多种多样的VGA硬件设备，而LinuxBIOS并不支持多样的VGA硬件。为解决该问题，本文提出了一个处于LinuxBIOS和VGA BIOS之间的兼容层，以来模拟VGA BIOS运行时需要的环境。该兼容层是以x86emu为基础的x86模拟器。&lt;br/&gt;&lt;br/&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;使用非传统方法初始化VGA显卡的方法：&lt;/p&gt;&lt;br /&gt;&lt;p&gt;SVGLib：一个提供支持老款VGA显卡通用接口的库。使用x86处理器的vm86模式来执行VGA BIOS，vm86模式下运行32位的程序没异样，但运行16位的代码时它就像是运行在传统8086CPU上。缺点是不可移植，难以调试。[&lt;a href="http://www.svgalib.org/"&gt;http://www.svgalib.org/&lt;/a&gt;]&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br/&gt;ADLO：在LinuxBIOS中增加一个BOCH BIOS，LinuxBIOS加载BOCH BIOS和VGA BIOS，并跳到BOCH BIOS执行，BOCH BIOS提供传统BIOS的环境并执行VGA BIOS。缺点是难以调试。[Adam Agnew, Adam Sulmicki, Ronald minnich, Willian Arbaugh. Flexibility in ROM: A stackable open source bios. In 2003 USENIX Annual Techinical Conference]&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br/&gt;VIA/EPIA Port：实现一个跳板（trampoline）以在16位和32位模式之间切换，运行VGA BIOS直接在16位模式运行，但使用32位C代码来模拟标准的BIOS回调功能。缺点是不可移植，难以调试。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br/&gt;XFree86：为了支持多体系结构（但使用的仍是x86的显卡），在LinuxBIOS中加入一个x86模拟器x86emu，将VGA BIOS rom中的代码拷到内存有x86的模拟器执行。缺点是VGA硬件的初始化比较晚。[&lt;a href="http://www.xfree86.com/"&gt;http://www.xfree86.com/&lt;/a&gt;]&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br/&gt;FreeVGA：和XFree86类似，但对硬件的初始化比较早，并且使用以x86emu为基础的x86模拟器。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br/&gt;相关文章：&lt;br/&gt;AMD. BIOS and Kernel Developer's Guide forAMD Athlon 64 and AMD OpteronProcessors, May 2003.&lt;br/&gt;Richard F. Ferraro. Programmer's Guide to theEGA, VGA, and Super VGA Cards. AddisonWesley,1994.&lt;br/&gt;Ron Minnich, James Hendricks, and Dale Webster.The Linux BIOS. In Proceedings of theFourth AnnualLinux Showcase and Conference, Atlanta, GA,October 2000.&lt;br/&gt;Gregory R. Watson, Matthew J. Sottile, Ronald G.Minnich, Erik A. Hendriks, and Sung-EunChoi.Pink: A 1024-node single-system image linux cluster.In Proceedings of HPC Asia2004, Toyko,Japan, July 2004.&lt;/p&gt;&lt;br /&gt;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-116010575381890492?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/116010575381890492/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=116010575381890492' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/116010575381890492'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/116010575381890492'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/10/notefreevga-architecture-independent.html' title='(Note)FreeVGA: Architecture Independent Video Graphis Initialization for LinuxBIOS'/><author><name>water</name><uri>http://www.blogger.com/profile/08057932794676650883</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-116003805570515331</id><published>2006-10-05T16:41:00.000+08:00</published><updated>2006-10-05T16:47:36.396+08:00</updated><title type='text'>(SOSP'05 Note)Speculative Execution in a Distributed File System</title><content type='html'>&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Speculative Execution in a Distributed File System&lt;br/&gt;&lt;/strong&gt;&lt;em&gt;Edmund B. Nightingale et al.&lt;br/&gt;&lt;/em&gt;SOSP 2005&lt;/p&gt;&lt;br /&gt;&lt;p&gt;本文讨论了在分布式文件系统中支持进程级推测执行的问题。一个激动人心的主题。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Speculative Execution不是一个新的技术，在CPU设计中已经广泛使用。IA-64的EPIC架构中，speculative execution就是一个很重要的主题。（想想还是六、七年前接触这个词了。）作者将其思想应用在进程级别，修改OS使之支持进程speculative execute，并在失败时rollback。Introduction中是这样说的：&lt;br/&gt;"We demonstrate that, with operating system support for lightweight checkpointing, speculative execution, and tracking of causal interdependencies between processes, distributed file systems can be fast, safe, and consistent. Rather than block a process while waiting for the result of a remote communication with a file server, the operating system checkpoints its state, predicts the result of the communication , and continues to execute the process speculatively. If the prediction is correct, the checkpoint is discarded; if it is false, the application is rolled back to the checkpoint."&lt;/p&gt;&lt;br /&gt;&lt;p&gt;作者的动机很清晰。NFS之类的分布式文件系统，虽然client端有cache，但为了保证cache的一致性，仍需要使用同步的远程调用对cache进行确认。由于cache不一致的概率是很低的，如果OS可以支持speculative execution，那么可以让进程先按照cache里的内容继续执行，同时异步地向服务器进行查询，发现错误后对进程进行回滚。作者明确列出了这种推测执行方法适用地条件：&lt;br/&gt;&lt;strong&gt;1. The results of speculative operations are highly predictable.&lt;br/&gt;2. Checkpointing is often faster than remote I/O.&lt;br/&gt;3. Modern computers often have spare resources.&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;要推测执行，首先要在开始推测时建立checkpoint，以便rollback。本文所采用的方法是：在系统调用的入口进行fork，利用fork的copy-on-write机制，为进程构造推测执行的副本，并对内核对象进行跟踪，记录必要的undo操作。为了保证其正确性，需要确保下面两个条件：&lt;br/&gt;&lt;strong&gt;1. Speculative state should never be visible to the user or any external devices.&lt;br/&gt;2. A process should never view speculative state unless it is already speculatively dependent upon that state.&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;文章用了很多篇幅讨论因果依赖关系的传播问题，包括各种对象如何传播依赖关系等，例如：本地内存、本地文件、管道、FIFO、socket、signal等等。作者在NFS和BlueFS（作者开发的一个分布式文件系统）上应用了speculation技术。NFS中处理修改操作时，通过将依赖关系通知server（需要修改底层RPC），在Server一端解决了推测假定的判断问题，也算是一种bypass吧。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;当然，speculation execution也不是作者发明的，请看作者对其工作的定位：&lt;br/&gt;"To the best of our knowledge, Speculator is the first support for &lt;span style="TEXT-DECORATION: underline"&gt;multi-porcess&lt;/span&gt; speculative execution in a &lt;span style="TEXT-DECORATION: underline"&gt;commodity operating system&lt;/span&gt; and the first use of speculative execution to &lt;span style="TEXT-DECORATION: underline"&gt;improve cache coherence and write throughput&lt;/span&gt; in distributed file systems."&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;P.S.&lt;/strong&gt; 对于分布式文件系统的cache coherence问题，已有的一些策略如下：&lt;br/&gt;1. polling the file server－向服务器确认cache是否有效，NFS和BlueFS是此类；&lt;br/&gt;2. callbacks－由服务器通知客户端，AFS和Coda属于此类；&lt;br/&gt;3. leases－客户端获得排他访问租约，SFS（也用callback）和Echo属于此类。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;总之，一篇好文章，推荐大家读读。不同领域的思想嫁接，很棒！不过，我还没有想清楚除了DFS，还有什么应用可以用speculative execution。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-116003805570515331?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/116003805570515331/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=116003805570515331' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/116003805570515331'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/116003805570515331'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/10/sosp05-notespeculative-execution-in.html' title='(SOSP&apos;05 Note)Speculative Execution in a Distributed File System'/><author><name>Andy Yang</name><uri>http://www.blogger.com/profile/12163890391675011860</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115987934117201509</id><published>2006-10-03T20:36:00.000+08:00</published><updated>2006-10-04T17:29:50.060+08:00</updated><title type='text'>(SOSP'03 Note)Xen and the Art of Virtualization</title><content type='html'>&lt;p&gt;Paul Barham et al&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Xen VMM(Virtual Machine Monitor)是由剑桥大学计算机实验室开发的一个开源项目，他能够在一台服务器上创建独立运行的很多虚拟机，每个虚拟机上运行一个功能相对独立的服务或应用程序，避免了多个服务或应用程序运行在一个操作系统下时引起的冲突。从另一个角度讲，就是将原来的进程级资源管理提升到了操作系统级资源管理。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Xen相关入门资料：&lt;a href="http://www.csdn.net/subject/xen/"&gt;http://www.csdn.net/subject/xen/&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115987934117201509?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115987934117201509/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115987934117201509' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115987934117201509'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115987934117201509'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/10/sosp03-notexen-and-art-of.html' title='(SOSP&apos;03 Note)Xen and the Art of Virtualization'/><author><name>Vivian.Niu</name><uri>http://www.blogger.com/profile/04158699116531537222</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115986521211602599</id><published>2006-10-03T16:40:00.000+08:00</published><updated>2006-10-03T17:07:07.803+08:00</updated><title type='text'>(SOSP'05 Note)Hibernator: Helping Disk Arrays Sleep through the Winter</title><content type='html'>&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Hibernator: Helping Disk Arrays Sleep through the Winter&lt;br/&gt;&lt;/strong&gt;&lt;em&gt;Qingbo Zhu et al.&lt;/em&gt;&lt;br/&gt;SOSP 2005&lt;/p&gt;&lt;br /&gt;&lt;p&gt;本文讨论了数据中心中磁盘阵列节电的问题。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;服务器磁盘阵列的耗电在整个服务器耗电中所占的比例是比较大。与CPU节电等使用动态速度、电压调整技术相比，磁盘的速度切换是比较困难的（需要相关硬件支持，SONY有产品），也是比较慢的（10s级别），代价也是比较高的（会影响磁盘寿命，也启动磁盘时耗电量很大）。作者讨论的磁盘阵列节电技术，仍然从降低磁盘旋转速度出发，但充分考虑了上述因素，采用了大时间粒度的调整策略，将磁盘阵列按照速度分层（tier），每层的磁盘速度相同，但层之间可能不同。根据性能监测结果，采用temperature-based方法将数据在速度不同的各层之间有效分布（访问多的放在高速运行的磁盘上）。在各层内部，仍然使用RAID5存储数据。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;除了基本思想，文章讨论了数据分布的问题，对于relocation blocks(RBs)，可能需要根据temperature在层之间移动，怎样减小移动次数当然很重要。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;另外，由于数据中心可能会对提供的服务性能作出承诺，若何保证性能在合同许可范围之内也是一个问题。一个简单的思路就是如果性能下降到阈值，就将所有硬盘调整到全速。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;如果熟悉动态电压调整（DVS）等CPU功耗的话题，读读这篇文章可能会收获些新的角度、新的思考。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115986521211602599?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115986521211602599/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115986521211602599' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115986521211602599'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115986521211602599'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/10/sosp05-notehibernator-helping-disk.html' title='(SOSP&apos;05 Note)Hibernator: Helping Disk Arrays Sleep through the Winter'/><author><name>Andy Yang</name><uri>http://www.blogger.com/profile/12163890391675011860</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115980193402560600</id><published>2006-10-02T23:05:00.000+08:00</published><updated>2006-10-03T15:28:12.236+08:00</updated><title type='text'>(SOSP'03 Note)Transforming Policies into Mechanisms with Infokernel</title><content type='html'>&lt;p&gt;Andrea C. Arpaci-Dusseau et al&lt;br /&gt;&lt;br /&gt;文中从机制和策略分离的角度描述了一种操作系统向更flexible、appropriate的方向演化的方式，提出了一个Infokernel的概念：We name an operating system that has been enhanced to expose internal information an &lt;em&gt;inforkernel.&lt;/em&gt;其中一个重要的思想基础是机制和策略的概念是相对的，而非绝对的，这样，OS相对user application来说就成为一种机制。文章围绕如何将OS作为一种机制暴露给用户级应用程序展开。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;首先，描述了因此而产生的Benefits：&lt;br /&gt;1. 能够向OS施加控制；&lt;br /&gt;2. 用户级应用程序利用掌握的OS信息可以改进自身性能；&lt;/p&gt;&lt;br /&gt;&lt;p&gt;提出了因此而衍生的几个设计中需要关注的问题：&lt;br /&gt;1. 作为一把双刃剑，OS应该向应用程序暴露多少信息呢？&lt;br /&gt;2. 应用程序之间应该暴露多少信息给对方呢？&lt;br /&gt;3. 何时添加机制，而非简单地暴露信息？&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115980193402560600?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115980193402560600/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115980193402560600' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115980193402560600'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115980193402560600'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/10/sosp03-notetransforming-policies-into.html' title='(SOSP&apos;03 Note)Transforming Policies into Mechanisms with Infokernel'/><author><name>Vivian.Niu</name><uri>http://www.blogger.com/profile/04158699116531537222</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115950403118920885</id><published>2006-09-29T11:00:00.000+08:00</published><updated>2006-09-29T13:43:25.976+08:00</updated><title type='text'>(SOSP'03 Note)Upgrading Transport Protocols using Untrusted Mobile Code</title><content type='html'>&lt;p&gt;Parveen Patel, Andrew Whitaker, David Wetherall, Jay Lepreau, Tim Stack&lt;/p&gt;&lt;br /&gt;&lt;p&gt;在更新以TCP为主导的网络协议时，目前现状是通信双方须同时各自更新，而从事实角度来讲，这是极不现实的，本文针对此问题提出了一种叫做STP的方法，改方法的目标和策略如下：&lt;br /&gt;&lt;strong&gt;GOAL:&lt;/strong&gt; provide this "two-ended" upgrade in a practical form&lt;br /&gt;&lt;strong&gt;APPROACH:&lt;/strong&gt; allow developers to freely write transport extensions that require new code at both endpoints and then use mobile code techniques to remotely upgrade both endpoints&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;STP包含如下组件：&lt;br /&gt;1. 在socket层之下、网络层之上，加入STP Sandbox， 其中包括了STP API，以及内存和cpu运行时监视，实现了无缝地、安全地使用新传输协议，在已有网络应用程序无需任何更改的情况下，可以安全地使用新传输协议。&lt;br /&gt;2. Policy manager负责选择双方的传输协议，以及传输协议的安全策略；&lt;br /&gt;3. Trusted Tool-Chain负责本地编译新的传输协议。如果Policy manager的输出结果表明一方仍用TCP，则会自动下载新传输协议并编译，供以后传输使用。&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;本文其实也可以归为解决legacy applications领域的相关文章。&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;还从这篇文章中看到几个工具：&lt;br /&gt;一种安全的C：Cyclone，&lt;a href="http://cyclone.thelanguage.org/"&gt;http://cyclone.thelanguage.org/&lt;/a&gt;&lt;br /&gt;一个路由器模拟器：dummynet，&lt;a href="http://info.iet.unipi.it/~luigi/ip_dummynet/"&gt;http://info.iet.unipi.it/~luigi/ip_dummynet/&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115950403118920885?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115950403118920885/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115950403118920885' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115950403118920885'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115950403118920885'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/sosp03-noteupgrading-transport.html' title='(SOSP&apos;03 Note)Upgrading Transport Protocols using Untrusted Mobile Code'/><author><name>Vivian.Niu</name><uri>http://www.blogger.com/profile/04158699116531537222</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115944253617007267</id><published>2006-09-28T19:12:00.000+08:00</published><updated>2006-09-28T19:22:16.173+08:00</updated><title type='text'>启动VNC服务</title><content type='html'>前一段时间在搭建VNC的环境，使用方面有点问题，今天查了一下，在FC2上搞定了。特此记录。&lt;br /&gt;&lt;br /&gt;FC2安装时选上vncserver，然后启动vncserver服务：&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;strong&gt;$ service vncserver start&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;strong&gt;Starting VNC server:                                    [  OK  ]&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;然后设置密码：&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:courier new;"&gt;$ vncpasswd&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:courier new;"&gt;Password:&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:courier new;"&gt;Verify:&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;运行vncserver，可以加上参数“:2”之类指定桌面号：&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:courier new;"&gt;$ vncserver&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-family:courier new;"&gt;……&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;这样就搞定了。就可以使用vncviewer连接vnc桌面了。&lt;br /&gt;&lt;br /&gt;缺省的，vncserver启动的窗口管理器是twm，在~/.vnc/xstartup中修改一下就可以用GNOME或KDE了。用GNOME就将twm替换成gnome-session，用KDE就替换成startkde。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115944253617007267?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115944253617007267/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115944253617007267' title='10 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115944253617007267'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115944253617007267'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/vnc.html' title='启动VNC服务'/><author><name>Andy Yang</name><uri>http://www.blogger.com/profile/12163890391675011860</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>10</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115944182462734182</id><published>2006-09-28T18:54:00.000+08:00</published><updated>2006-09-28T19:10:24.640+08:00</updated><title type='text'>Why frames are dropped even with low cpu utilization ?</title><content type='html'>网上看到一篇文章，讨论Multimedia和Kernel的调度的问题。&lt;br /&gt;作者发现在2.4.17的内核上播放很流畅，在2.4.18上却有问题，CPU并不忙，但却丢帧。奇怪的是使用O(1)调度器的新内核似乎都会丢帧。&lt;br /&gt;&lt;br /&gt;其实CPU调度只是媒体播放中的一个影响因素，媒体文件的解码、渲染等都有不同的软件组件参与，性能与各方面都有关系。&lt;br /&gt;&lt;br /&gt;作者对于Kernel的影响尝试做了一些分享，写了一个simulator。具体内容参看：&lt;a href="http://cambuca.ldhs.cetuc.puc-rio.br/~miguel/multimedia_sim/"&gt;http://cambuca.ldhs.cetuc.puc-rio.br/~miguel/multimedia_sim/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115944182462734182?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115944182462734182/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115944182462734182' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115944182462734182'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115944182462734182'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/why-frames-are-dropped-even-with-low.html' title='Why frames are dropped even with low cpu utilization ?'/><author><name>Andy Yang</name><uri>http://www.blogger.com/profile/12163890391675011860</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115943740586323709</id><published>2006-09-28T17:51:00.000+08:00</published><updated>2006-09-28T17:56:45.873+08:00</updated><title type='text'>depth和bpp的差别</title><content type='html'>&lt;br /&gt;&lt;p&gt;今天在看xine代码时解开了一个困扰我许久的谜团，就是depth和bpp到底有什么差别？&lt;/p&gt;&lt;br /&gt;&lt;p&gt;xine的video output中的fb output中有一段注释解释了这个问题。就X的术语而言，depth指实际的颜色深度，如15位、16位、24位等，bpp指用于实际用于像素表示的位数，应当是8的倍数，不会小于depth，但可能和depth不同。例如对于R5G5B5即15位的depth，bpp应该为16，24位depth，bpp可能为24，也可能为32。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115943740586323709?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115943740586323709/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115943740586323709' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115943740586323709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115943740586323709'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/depthbpp_28.html' title='depth和bpp的差别'/><author><name>Andy Yang</name><uri>http://www.blogger.com/profile/12163890391675011860</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115936081972597429</id><published>2006-09-27T20:10:00.000+08:00</published><updated>2006-10-10T12:35:38.333+08:00</updated><title type='text'>(OSDI'02 Note)Defensive Programming: Using an Annotation Toolkit to Build DoS-Resistant Software</title><content type='html'>&lt;br /&gt;&lt;p&gt;&lt;em&gt;Xiaohu Qie et al&lt;/em&gt;&lt;br/&gt;&lt;br/&gt;防御性编程一般有以下几种方法：&lt;br/&gt;&lt;br/&gt;* 异常监测：以正常为基准，根据system-call的调用顺序来判断程序的行为是否正常。但是这种方法无法判断出资源被耗尽的情况。&lt;br/&gt;* 性能监控：一般用profiling-based detection，本文的方法是在源程序中插入代码，不但能进行监控工作，而且可以进行预先保护。&lt;br/&gt;* 静态分析：meta-level compilation，基于一些规则对代码进行分析，如"kernel code cannot call blocking functions with interrupts disabled"等。&lt;br/&gt;* 新的OS机制：如用Resource Container取代了Process，将资源与执行域分离。&lt;br/&gt;&lt;br/&gt;BTW：本文第三作者Larry Peterson，普林斯顿大学的大牛，写过《计算机网络》。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115936081972597429?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115936081972597429/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115936081972597429' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115936081972597429'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115936081972597429'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/osdi02-notedefensive-programming-using.html' title='(OSDI&apos;02 Note)Defensive Programming: Using an Annotation Toolkit to Build DoS-Resistant Software'/><author><name>Brady</name><uri>http://www.blogger.com/profile/15629869212744470227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115928033552322104</id><published>2006-09-26T22:14:00.000+08:00</published><updated>2006-09-26T22:20:28.376+08:00</updated><title type='text'>VLC、FFmpeg相关的一些资料</title><content type='html'>&lt;p&gt;&lt;a href="https://secure.wikimedia.org/wikipedia/en/wiki/VLC_media_player#_note-2" target="_blank"&gt;VLC media player&lt;/a&gt; (From Wikipedia)&lt;br /&gt;&lt;br /&gt;是仅有的两款同时支持Window、GNU/Linux、BSD Unix、Mac OS X、Solaris的播放器之一（还有一款是MPlayer，xine不支持Windows）。它支持多种codec和多种file formats。对codec的支持大部分来自FFmpeg项目提供的libavcodec库，同时还用了libdvdcss库来解码播放DVD。&lt;/p&gt;&lt;p&gt;VLC有不同的前端：&lt;br /&gt;* RC, Remote Control, to control VLC media player from a distant computer.&lt;br /&gt;* &lt;a title="HTTP"&gt;HTTP&lt;/a&gt;, to control VLC media player from a web page. It uses &lt;a title="Ajax (programming)"&gt;AJAX&lt;/a&gt;.&lt;br /&gt;* &lt;a title="Telnet"&gt;telnet&lt;/a&gt;, using the telnet protocol.&lt;br /&gt;* GUI, which is written in Cocoa under MacOSX, and wxwidgets under Linux/Windows.&lt;br /&gt;* skins2, a higly personnalisable skinable interface.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="https://secure.wikimedia.org/wikipedia/en/wiki/FFmpeg"&gt;FFmpeg &lt;/a&gt;(From Wikipedia)&lt;br /&gt;是一个工具集合，用来录制、转换、流化音视频。包括以下部分：&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;ffmpeg&lt;/strong&gt; is a command line tool to convert one video file format to another. It also supports grabbing and encoding in real time from a TV card.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;ffserver&lt;/strong&gt; is an HTTP (RTSP is being developed) multimedia streaming server for live broadcasts. Time shifting of live broadcast is also supported. Note that this is very buggy and unlikely to work.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;ffplay&lt;/strong&gt; is a simple media player based on SDL and on the FFmpeg libraries.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;a href="https://secure.wikimedia.org/wikipedia/en/wiki/Libavcodec"&gt;libavcodec&lt;/a&gt;&lt;/strong&gt; is a library containing all the ffmpeg audio/video encoders and decoders. Most codecs were developed from scratch to ensure best performance and high code reusability.&lt;br /&gt;&lt;strong&gt;&lt;br /&gt;libavformat&lt;/strong&gt; is a library containing demuxers and muxers for audio/video container formats.&lt;br /&gt;&lt;strong&gt;&lt;br /&gt;libavutil&lt;/strong&gt; is a helper library containing routines common to different parts of FFmpeg.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;顺便附上来自wikipedia的各种Media Player的比较，几乎涵盖了所有能见到的类型，太赞了！&lt;br /&gt;&lt;a href="https://secure.wikimedia.org/wikipedia/en/wiki/Comparison_of_media_players" target="_blank"&gt;Comparison of media players&lt;/a&gt; &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115928033552322104?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115928033552322104/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115928033552322104' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115928033552322104'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115928033552322104'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/vlcffmpeg_26.html' title='VLC、FFmpeg相关的一些资料'/><author><name>Brady</name><uri>http://www.blogger.com/profile/15629869212744470227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115927999859392196</id><published>2006-09-26T22:06:00.000+08:00</published><updated>2006-09-26T22:39:30.410+08:00</updated><title type='text'>(SOSP'03 Note)Model-Carrying Code: A Practical Approach for Safe Execution of Untrusted Applications</title><content type='html'>Model-Carrying Code: A Practical Approach for Safe Execution of Untrusted Applications&lt;br /&gt;&lt;em&gt;R.Sekar, V.N. Venkatakrishnan, Samik Basu, Sandeep Bhatkar, Daniel C.Duvarney&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;自从第一个病毒开始出现后，系统安全就毋庸置疑地成为计算机系统的一个重要领域，尤其在当今，网络盛行，各类应用名目繁多，各种应用程序应接不暇。有些程序确实从一定程度上为计算机用户带来了方便，但在享用这些便利的同时却也在承担着极大的风险：自己的数据可能会被正在运行的程序破坏，操作系统可能会被正在运行的程序crash掉，...目前在OS级并没有很好的安全方面的支持。&lt;br /&gt;&lt;br /&gt;本文提出了一种叫做MCC（Model-carring code）的框架，可以保证untrusted code的安全执行。以前有些方法是将安全执行的机制保障放在code producer端，对源代码做静态检查，因为没有深入查资料，我想是不是由编译器保证呢，还是在编译完成后再用其它工具处理；有些方法是放在code consumer端，我能想到的例子例如在新安装完应用程序时，防火墙会提醒等等。因为很多时候是没有应用程序的源代码的，所以，第一种方法无法保证，而第二种方法则只能在运行时才进行，这时已经有潜在风险了。MCC方法的思想其实是对二者进行了综合，建立了一座连接code producer和code consumer的桥梁，感觉是取其精华，弃其糟粕吧。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;em&gt;&lt;/em&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115927999859392196?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115927999859392196/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115927999859392196' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115927999859392196'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115927999859392196'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/sosp03-notemodel-carrying-code.html' title='(SOSP&apos;03 Note)Model-Carrying Code: A Practical Approach for Safe Execution of Untrusted Applications'/><author><name>Vivian.Niu</name><uri>http://www.blogger.com/profile/04158699116531537222</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115923669397787254</id><published>2006-09-26T10:11:00.000+08:00</published><updated>2006-10-10T12:34:53.126+08:00</updated><title type='text'>(OSDI'04 Note)Program-Counter-Based Classification in Buffer Caching</title><content type='html'>&lt;br /&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;em&gt;Chris Gniady et al&lt;br/&gt;&lt;br/&gt;&lt;/em&gt;本文将一种技术（基于PC的预测）应用到另一个领域（OS中的Buffer Caching）。&lt;br/&gt;&lt;br/&gt;基于PC的预测，在体系结构中应用非常广泛，包括&lt;br/&gt;*　Branch prediction&lt;br/&gt;*　Optimize energy&lt;br/&gt;*　Cache management&lt;br/&gt;*　Memory prefetching&lt;br/&gt;*　I/O activities prediction&lt;br/&gt;但是在OS中，没有被利用到。&lt;br/&gt;&lt;br/&gt;Buffer Caching的一个重要问题是block replacement，目前常用的就是LRU。但LRU无法识别出哪些访问属于sequential，哪些属于loop。所以有了Pattern-based buffer replacement scheme，将cache分块，每个子块对应一种pattern。对每一个子块，采取不同的replacement算法，并动态调整大小。&lt;br/&gt;&lt;br/&gt;对于子块的划分方法，即Buffer Caching Classification，目前有Per-application、Per-file、Per-PC的方法，本文讨论的就是第三种方法。&lt;br/&gt;&lt;br/&gt;核心思想：There is a strong correlation between the program context from which I/O operations are invoked and the access pattern among the accessed blocks, and the call instruction that leads to the I/O operations provides an effective means of recording the program context.&lt;/p&gt;&lt;br /&gt;&lt;br/&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115923669397787254?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115923669397787254/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115923669397787254' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115923669397787254'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115923669397787254'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/osdi04-note-program-counter-based.html' title='(OSDI&apos;04 Note)Program-Counter-Based Classification in Buffer Caching'/><author><name>Brady</name><uri>http://www.blogger.com/profile/15629869212744470227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115923644545666627</id><published>2006-09-26T10:02:00.000+08:00</published><updated>2006-09-26T10:07:26.823+08:00</updated><title type='text'>开博工具总结</title><content type='html'>&lt;br /&gt;&lt;p&gt;"十年"开张也有一段时间了，对相关的工具也有了一些摸索，总结一下。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Blogger&lt;/strong&gt;，用起来还是不错的，毕竟google的东东嘛。页面很干净。缺点就是现在还不支持分类、标签什么的，感觉像是大杂烩:-( 另外有时需要定制模版的HTML，比较麻烦，当然也比较彻底。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Google AdSense&lt;/strong&gt;，很不错，关键字有时候抓的还是很准的，比如有IBM Linux、RDP等方面的广告。当然最关键还是能不能把Money汇给我，呵呵~~~~&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;SiteMeter&lt;/strong&gt;，计数器，我还比较满意，会发具体的报告给我。其实，我是对目前的访问量比较满意，^_^&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Google SpreadSheet&lt;/strong&gt;，用来share表格，还比较好用，自动保存功能很实用。目前基本把其它几个个人的表格也放上去，和好友们分享一下。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Blogger for Word&lt;/strong&gt;，一个Word插件，可以直接提交到blog上可以用，但格式要注意，不能用表格等复杂格式，最好就是光写字。字最好选小四号，否则太小（可能也和blog模版有关）。有的时候关闭Word时会崩溃。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Zoundry Blog Writer&lt;/strong&gt;，相当不错，就是要占50MB内存！可以方便的下载blog文章，并另存为HTML文件，很赞。当然在本地编辑还是很方便的。&lt;strong&gt;注意：&lt;/strong&gt;我发现一个bug，就是如果blog用的编码是UTF-8，而Zoundry用中文的界面，则上传时会报告无法转换成Unicode，无法上传。使用英文界面就可以了。现在我只用Zoundry，推荐一下！&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;strong&gt;AMD Streamload&lt;/strong&gt;，网络硬盘，免费的是25GB，每月可下载1GB（我记不清了）。有一个客户端，还比较好用，缺点就是.Net 2.0的，需要download一个几十MB的包……&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115923644545666627?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115923644545666627/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115923644545666627' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115923644545666627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115923644545666627'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/blog-post_26.html' title='开博工具总结'/><author><name>Andy Yang</name><uri>http://www.blogger.com/profile/12163890391675011860</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115923523693781054</id><published>2006-09-26T09:42:00.000+08:00</published><updated>2006-09-26T09:47:16.950+08:00</updated><title type='text'>(HotOS'03 Note)Towards a Semantic-Aware File Store</title><content type='html'>&lt;br /&gt;&lt;p&gt;Towards a Semantic-Aware File Store&lt;br/&gt;Zhichen Xu et al.&lt;br/&gt;HotOS 2003&lt;/p&gt;&lt;br /&gt;&lt;p&gt;作者是HP Lab的，做了一个叫做pStore的semantic-aware file store。基本思想就是在file system之上建立一套可以管理文件属性语义的存储系统。和之前一篇文章（Why can't I Find My Files?）不同，本文主要讨论语义的保存及应用的架构，对于语义如何获得没有太多描述。这可能与其研究动机有关吧，作者介绍了数字电影制作的情境，大量的素材，大量的版本，大量的文件……也许这种情形之下用户很愿意自己输入文件属性？毕竟像《怪物史莱克》之类的影片都是大制作嘛。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;作者列举了一些常用的语义：文件版本、基于应用程序的相关性、基于属性的语义、基于内容的语义、基于上下文的信息。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;作者讨论了语义表示（使用RDF）、schema演化、整体framework等问题。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115923523693781054?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115923523693781054/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115923523693781054' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115923523693781054'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115923523693781054'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/hotos03-notetowards-semantic-aware.html' title='(HotOS&apos;03 Note)Towards a Semantic-Aware File Store'/><author><name>Andy Yang</name><uri>http://www.blogger.com/profile/12163890391675011860</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115923419765759952</id><published>2006-09-26T09:24:00.000+08:00</published><updated>2006-09-26T09:30:13.740+08:00</updated><title type='text'>(HotOS'03 Note)Flexible OS Support and Applications for Trusted Computing</title><content type='html'>&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Flexible OS Support and Applications for Trusted Computing&lt;br/&gt;&lt;/strong&gt;&lt;em&gt;Tal Garfinkel et al.&lt;/em&gt;&lt;br/&gt;HotOS 2003&lt;/p&gt;&lt;br /&gt;&lt;p&gt;讨论可信计算的问题，使用VMM支持。一种Open-box，一种Close-box。好像前者主要用于支持现有的OS？总之close-box可以提供更好的可信控制。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br/&gt;可信技术方面的文章我也看了好几篇，还是没有太多兴趣。其主要问题集中在trusted platform，tamper，attestation等方面，数字签名等密码学工具是必备的。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;粗粗的浏览了一遍，没有什么好说的了……&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115923419765759952?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115923419765759952/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115923419765759952' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115923419765759952'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115923419765759952'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/hotos03-noteflexible-os-support-and.html' title='(HotOS&apos;03 Note)Flexible OS Support and Applications for Trusted Computing'/><author><name>Andy Yang</name><uri>http://www.blogger.com/profile/12163890391675011860</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115920191187306671</id><published>2006-09-26T00:26:00.000+08:00</published><updated>2006-09-26T00:31:51.873+08:00</updated><title type='text'>(HotOS'03 Note)Hardware Works, Software Doesn't: Enforcing Modularity with Mondriaan Memory Protection</title><content type='html'>&lt;br /&gt;&lt;p&gt;&lt;strong&gt;Hardware Works, Software Doesn't: Enforcing Modularity with Mondriaan Memory Protection&lt;br/&gt;&lt;/strong&gt;&lt;em&gt;Emmett Witchel et al.&lt;br/&gt;&lt;/em&gt;HotOS 2003&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br/&gt;本文讨论（内核）模块边内存界保护的问题，基于称为Mondriaan Memory Protection(MMP)的细粒度内存保护硬件机制进行研究。MMP是作者发表在ASPLOS 2002中的Mondriaan Memory Protection一文中提出的。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;MMP支持32-bit字的许可粒度，可以为内存保护提供很精确的控制。类似与TLB，MMP硬件包含称为protection lookaside buffer (PLB)的高速缓存，以提高速度。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;在内核中使用MMP，需要解决几个主要的问题：&lt;br/&gt;1. Memory supervisor，关于bootloader及保护域创建问题；&lt;br/&gt;2. Stacks and threads，关于栈的分配和权限问题；&lt;br/&gt;3. Cross-domain calls，关于跨保护边界的调用，call gate、return gate等。熟悉x86保护模式应该很容易接受这些概念。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;对于硬件支持OS内存保护机制的问题，我向来兴趣不大。我认为在今天CPU arch和OS的发展现状下，同时修改任何两者难度很大，很多时候保证兼容性是压倒一切的。（当然，我也知道这样有些偏颇，更准确的应该说是我自己的研究思路是这样。）&lt;/p&gt;&lt;br /&gt;&lt;p&gt;文章中对于相关工作的总结不错。提到了各种保护机制：&lt;br/&gt;1. Nooks：使用已有硬件支持驱动程序安全（我印象中是用分页）；&lt;br/&gt;2. Palladium：综合使用x86的分页和分段，但是share libraries很难使用分段实现，Palladium用分页实现，论文：SOSP 1999，Integrating segmentation and paging protection for safe, efficient and transparent software extensions.；&lt;br/&gt;3. Capabilities：比较早，1966年，用在IBM AS400之类的系统上；&lt;br/&gt;4. Lightweight remote procedure call (LRPC)：类似于RPC，需要进行data marshaling and copying，在跨越保护边界时比较费；&lt;br/&gt;5. Safe language：语言级别的保护，如类型安全语言（我觉得Cyclone应该算这一类），缺点是单一语言较难利用软件遗产，还有就是编译器的可信赖等问题；&lt;br/&gt;6. Modern static analysis and model checking：对OS进行静态分析和模型检查（OSDI 2004上有几篇相关文章）。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115920191187306671?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115920191187306671/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115920191187306671' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115920191187306671'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115920191187306671'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/hotos03-notehardware-works-software_26.html' title='(HotOS&apos;03 Note)Hardware Works, Software Doesn&apos;t: Enforcing Modularity with Mondriaan Memory Protection'/><author><name>Andy Yang</name><uri>http://www.blogger.com/profile/12163890391675011860</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115917764679929473</id><published>2006-09-25T17:47:00.000+08:00</published><updated>2006-09-25T22:22:42.090+08:00</updated><title type='text'>推荐使用本地Blog编辑器：Zoundry</title><content type='html'>&lt;br /&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;很不错的一个本地Blog编辑器，可以下载所有的Blog，并单独保存为HTML页面。而且可以支持撤销操作，比Browser中编辑要方便一些。&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;br/&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;下载地址： &lt;span style="TEXT-DECORATION: underline"&gt;&lt;span style="TEXT-DECORATION: underline"&gt;&lt;span style="TEXT-DECORATION: underline"&gt;&lt;span style="TEXT-DECORATION: underline"&gt;Zoundry&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115917764679929473?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115917764679929473/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115917764679929473' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115917764679929473'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115917764679929473'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/blogzoundry.html' title='推荐使用本地Blog编辑器：Zoundry'/><author><name>Brady</name><uri>http://www.blogger.com/profile/15629869212744470227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115917583616286229</id><published>2006-09-25T17:14:00.000+08:00</published><updated>2006-09-25T22:37:57.123+08:00</updated><title type='text'>(Note)A Memory-efficient Huffman Decoding Algorithm</title><content type='html'>&lt;em&gt;Pi-Chung Wang, Yuan-Rung Yang, Chun-Liang Lee and Hung-Yi chang&lt;/em&gt;&lt;br /&gt;IEEE Proc. AINA’05&lt;br /&gt;&lt;br /&gt;这是一篇针对如何降低Huffman树内存成本及提高解码速度的文章，很兴奋，因为关于Huffman的文章基本都是上世纪50年代到90年代的，终于看到一篇2005年的文章，所以在这里跟大家分享一下。&lt;br /&gt;&lt;br /&gt;在作者提出文中的算法之前，已有一些前辈针对优化Huffman树内存成本及解码速度提出了一些算法，起初是由Hashemian在1995年提出了一种算法：首先将Huffman树变换为Single-side growing Huffman树，这样就可以利用Single-side growing Huffman树的特性减少存储信息量。为了减少sparse引起的内存浪费，将Huffman树截为深度比较小的几棵子树，然后分别存储Huffman子树，需要的额外信息就是指出如何将这些Huffman子树拼接起来。97年，99年分别有两篇文章针对Hashemian的方法进行了改进，但改进很有限。直至2005年，Pi-Chung Wang从另一种思维入手，使得针对优化Huffman树内存成本及解码速度有了很大改进。核心思想是每个码字对应于多个内存地址，只存储码字与内存首地址即可，将内存占用降低到了nd位,其中n表示码字个数，d表示Huffman树的深度；在解码时，这样的数据结构可以采用二分搜索，从而搜索复杂度为O(logn)。&lt;br /&gt;&lt;br /&gt;这些想法真神奇，不知怎么想出来的。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115917583616286229?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115917583616286229/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115917583616286229' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115917583616286229'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115917583616286229'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/notea-memory-efficient-huffman.html' title='(Note)A Memory-efficient Huffman Decoding Algorithm'/><author><name>Vivian.Niu</name><uri>http://www.blogger.com/profile/04158699116531537222</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115910898314539120</id><published>2006-09-24T22:43:00.000+08:00</published><updated>2006-09-24T22:43:03.146+08:00</updated><title type='text'>(HotOS'03 Note)Why cant I Find My File?</title><content type='html'>&lt;strong&gt;Why can’t I Find My Files? New methods for automating attribute assignment&lt;/strong&gt;&lt;br/&gt;&lt;em&gt;Craig A.N. Soules&lt;/em&gt;&lt;br/&gt;HotOS 2003&lt;br/&gt;&lt;br/&gt;&lt;span style="font-family:宋体;"&gt;本文讨论基于属性的文件管理检索系统中的属性赋值问题。对于&lt;/span&gt;Attribute-based naming&lt;span style="font-family:宋体;"&gt;系统，&lt;/span&gt;the key challenge is assigning useful, meaningful attributes to files.&lt;span style="font-family:宋体;"&gt;通常的有用户输入和内容分析两种方法。用户输入很麻烦，而内容分析太复杂，还有专有文件格式、数据类型问题。作者在文章讨论了&lt;/span&gt;context analysis&lt;span style="font-family:宋体;"&gt;方法。具体包括：&lt;/span&gt;access-based context analysis&lt;span style="font-family:宋体;"&gt;和&lt;/span&gt;inter-file context analysis&lt;span style="font-family:宋体;"&gt;。作者借鉴了&lt;/span&gt;Web&lt;span style="font-family:宋体;"&gt;搜索引擎的思路：&lt;/span&gt;Web search engines, however, have found greater success obtaining attributes by combining content analysis with context analysis.&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;Access-based context analysis&lt;/strong&gt;&lt;br/&gt;a) Application assistance&lt;span style="font-family:宋体;"&gt;，如邮件的标题对附件的说明&lt;/span&gt;&lt;br/&gt;b) Existing user input&lt;span style="font-family:宋体;"&gt;，如文件路径对文件内容的说明&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;Inter-file context analysis&lt;/strong&gt;&lt;br/&gt;a) User access pattern&lt;span style="font-family:宋体;"&gt;，如用户连续打开的文件往往相关&lt;/span&gt;&lt;br/&gt;b) Inter-file content analysis&lt;span style="font-family:宋体;"&gt;，如类似有些文件利用&lt;/span&gt;hash&lt;span style="font-family:宋体;"&gt;函数去除块的重复存储，可以对文件内容进行分析。（还记得&lt;/span&gt;compare-by-hash&lt;span style="font-family:宋体;"&gt;吗？）这对于文件的多个版本很有作用。&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;PS&lt;span style="font-family:宋体;"&gt;：读的时候反而是对&lt;/span&gt;Google&lt;span style="font-family:宋体;"&gt;的搜索技术更感兴趣一些，感觉自己在向铁杆&lt;/span&gt;GFans&lt;span style="font-family:宋体;"&gt;前进，呵呵&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115910898314539120?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115910898314539120/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115910898314539120' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115910898314539120'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115910898314539120'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/hotos03-notewhy-cant-i-find-my-file.html' title='(HotOS&apos;03 Note)Why cant I Find My File?'/><author><name>Andy Yang</name><uri>http://www.blogger.com/profile/12163890391675011860</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115910604967778808</id><published>2006-09-24T21:48:00.000+08:00</published><updated>2006-09-24T21:54:09.693+08:00</updated><title type='text'>谁能告诉我x86emu的主页在哪里？</title><content type='html'>想去了解一下x86emu项目，搜索了一下，竟然没有搜到项目主页，也许是太老了吧。&lt;br /&gt;搜出来的主要都是IDA-x86emu（IDA的x86emu插件）和X中的x86emu（用于支持第二块显卡的初始化等）。&lt;br /&gt;&lt;br /&gt;XFree86中为了支持显卡ROM中提供的代码（显卡BIOS等）采用了x86emu项目，这个在FreeVGA那篇文章也提到了。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115910604967778808?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115910604967778808/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115910604967778808' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115910604967778808'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115910604967778808'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/x86emu.html' title='谁能告诉我x86emu的主页在哪里？'/><author><name>Andy Yang</name><uri>http://www.blogger.com/profile/12163890391675011860</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115910783351016385</id><published>2006-09-24T21:03:00.000+08:00</published><updated>2006-09-24T22:23:53.520+08:00</updated><title type='text'>关于二进制翻译（Binary Translation）</title><content type='html'>目前比较活跃的有：&lt;br /&gt;&lt;br /&gt;&lt;a href="http://research.sun.com/walkabout/"&gt;Walkabout&lt;/a&gt;&lt;br /&gt;前身是UQBT，开始时静态的二进制翻译架构，后来演化成动态的。现在有Sun维护，改名为Walkabout。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.research.ibm.com/daisy/"&gt;DAISY: Dynamically Architected Instruction Set from Yorktown&lt;/a&gt;&lt;br /&gt;开源项目，目前由IBM维护。&lt;br /&gt;&lt;br /&gt;下面这几个网页对Binary Translation有一个较为详细的介绍：&lt;a href="https://secure.wikimedia.org/wikipedia/en/wiki/Binary_translation"&gt;https://secure.wikimedia.org/wikipedia/en/wiki/Binary_translation&lt;/a&gt;&lt;br /&gt;&lt;a href="http://personals.ac.upc.edu/vmoya/translation.html"&gt;http://personals.ac.upc.edu/vmoya/translation.html&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.ifi.unizh.ch/richter/people/pilz/oct/index.html"&gt;http://www.ifi.unizh.ch/richter/people/pilz/oct/index.html&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115910783351016385?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115910783351016385/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115910783351016385' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115910783351016385'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115910783351016385'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/binary-translation.html' title='关于二进制翻译（Binary Translation）'/><author><name>Brady</name><uri>http://www.blogger.com/profile/15629869212744470227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115909090746896759</id><published>2006-09-24T17:41:00.000+08:00</published><updated>2006-09-24T17:41:47.473+08:00</updated><title type='text'>(HotOS'03 Note)Cosy: Develop in User-Land, Run in Kernel-Mode</title><content type='html'>&lt;strong&gt;Cosy: Develop in User-Land, Run in Kernel-Mode&lt;/strong&gt;&lt;br/&gt;&lt;em&gt;Amit Purohit et al.&lt;/em&gt;&lt;br/&gt;HotOS 2003&lt;br/&gt;&lt;br/&gt;&lt;span style="font-family:宋体;"&gt;这篇文章的动机就不用说了，还是&lt;/span&gt;kernel crossing&lt;span style="font-family:宋体;"&gt;问题。只不过更加激进一些，将&lt;/span&gt;system call&lt;span style="font-family:宋体;"&gt;和相关代码一起打包，送到内核态下去了。&lt;/span&gt;Cosy exploits zero-copy techniques and code aggregation to achieve better performance without reducing the security.&lt;span style="font-family:宋体;"&gt;注意&lt;/span&gt;code aggregation&lt;span style="font-family:宋体;"&gt;，我觉得这是和&lt;/span&gt;multi-call&lt;span style="font-family:宋体;"&gt;等方法的差别，是其特点。&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;&lt;span style="font-family:宋体;"&gt;内核做了一些扩展，包括&lt;/span&gt;cosy_init, cosy_run, cosy_uninit&lt;span style="font-family:宋体;"&gt;。&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:宋体;"&gt;编译器做了一些扩展，&lt;/span&gt;Cosy-GCC&lt;span style="font-family:宋体;"&gt;，支持各种控制结构。&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:宋体;"&gt;做了一个库，&lt;/span&gt;Cosy-Lib&lt;span style="font-family:宋体;"&gt;，&lt;/span&gt;buffer management&lt;span style="font-family:宋体;"&gt;是一个重要问题。&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;&lt;span style="font-family:宋体;"&gt;安全方面，主要通过内核抢占防止死循环，用&lt;/span&gt;x86 segmentation&lt;span style="font-family:宋体;"&gt;来进行内存保护。&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;&lt;span style="font-family:宋体;"&gt;一个例子。原始代码：&lt;/span&gt;&lt;br/&gt;-----------------------------------------------------------&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;cosy_init();&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;COSY_START();&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;ifd = open(ifile, O_RDONLY);&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;ofd = open(ofile, O_WRONLY);&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;do {&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;rlen = read(ifd, buf, 4096);&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;wlen = write(ofd, buf, rlen);&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;} while (wlen == 4096);&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;COSY_END();&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;cosy_unit();&lt;/span&gt;&lt;br/&gt;-----------------------------------------------------------&lt;br/&gt;&lt;span style="font-family:宋体;"&gt;经过编译，变成：&lt;/span&gt;&lt;br/&gt;-----------------------------------------------------------&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;cosy_init();&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;cosy_start();&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;cosy_open(&amp;ifd, ifile, O_RDONLY);&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;cosy_open(&amp;ofd, ofile, O_WRONLY);&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;cosy_do();&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;cosy_read(&amp;rlen, ifd, buf, 4096);&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;cosy_write(&amp;wlen, ofd, buf, 4096);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;/*&lt;/span&gt;&lt;span style="font-family:宋体;"&gt;文中是这样，我认为应该是&lt;/span&gt;&lt;span style="font-family:Courier New;"&gt;rlen*/&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;cosy_while(wlen, “==”, 4096);&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;cosy_run();&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;cosy_uninit();&lt;/span&gt;&lt;br/&gt;&lt;span style="font-family:Courier New;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115909090746896759?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115909090746896759/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115909090746896759' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115909090746896759'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115909090746896759'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/hotos03-notecosy-develop-in-user-land.html' title='(HotOS&apos;03 Note)Cosy: Develop in User-Land, Run in Kernel-Mode'/><author><name>Andy Yang</name><uri>http://www.blogger.com/profile/12163890391675011860</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115908695307836161</id><published>2006-09-24T16:35:00.000+08:00</published><updated>2006-09-24T16:35:53.083+08:00</updated><title type='text'>(HotOS'03 Note)An Analysis of Compare-by-hash</title><content type='html'>&lt;strong&gt;An Analysis of Compare-by-hash&lt;/strong&gt;&lt;br/&gt;&lt;em&gt;Val Henson&lt;/em&gt;&lt;br/&gt;HotOS 2003&lt;br/&gt;&lt;br/&gt;&lt;span style="font-family:宋体;"&gt;作者就研究中越来越广泛的使用&lt;/span&gt;hash&lt;span style="font-family:宋体;"&gt;函数作为快速比较方法的倾向进行了分析。很多的研究工作，都使用&lt;/span&gt;SHA-1&lt;span style="font-family:宋体;"&gt;等&lt;/span&gt;Hash&lt;span style="font-family:宋体;"&gt;函数作为比较的唯一标准，例如一些网络文件系统的块&lt;/span&gt;cache&lt;span style="font-family:宋体;"&gt;命中算法。有人认为密码学&lt;/span&gt;hash&lt;span style="font-family:宋体;"&gt;函数的冲突概率要比硬件出错的概率还要低，所以支持直接使用&lt;/span&gt;hash&lt;span style="font-family:宋体;"&gt;函数作为比较标准，而不再对&lt;/span&gt;hash&lt;span style="font-family:宋体;"&gt;冲突进行检查。&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;&lt;span style="font-family:宋体;"&gt;作者对这种将密码学&lt;/span&gt;hash&lt;span style="font-family:宋体;"&gt;函数应用推广到通用应用倾向提出了质疑，认为&lt;/span&gt;compare-by-hash&lt;span style="font-family:宋体;"&gt;方法有以下一些问题需要认真分析。&lt;/span&gt;&lt;br/&gt;1&lt;span style="font-family:宋体;"&gt;．输入的随机性。实际使用&lt;/span&gt;compare-by-hash&lt;span style="font-family:宋体;"&gt;的应用的输入并不像期望的那样真正具有随即性。&lt;/span&gt;&lt;br/&gt;2&lt;span style="font-family:宋体;"&gt;．密码学&lt;/span&gt;hash&lt;span style="font-family:宋体;"&gt;函数有一些特点：&lt;/span&gt;short-lived&lt;span style="font-family:宋体;"&gt;（一般只有有限的时间窗口）；&lt;/span&gt;Obsolescence can occur overnight&lt;span style="font-family:宋体;"&gt;（一旦攻破，立即过时）；&lt;/span&gt;Obsolescence is inevitable&lt;span style="font-family:宋体;"&gt;；&lt;/span&gt;Upgrade strategy required&lt;span style="font-family:宋体;"&gt;。而通用的软件可能会使用&lt;/span&gt;10&lt;span style="font-family:宋体;"&gt;年以上的时间。&lt;/span&gt;&lt;br/&gt;3&lt;span style="font-family:宋体;"&gt;．&lt;/span&gt;Hash&lt;span style="font-family:宋体;"&gt;冲突可能导致&lt;/span&gt;silent&lt;span style="font-family:宋体;"&gt;，&lt;/span&gt;deterministic&lt;span style="font-family:宋体;"&gt;， &lt;/span&gt;hard-to-fix errors&lt;span style="font-family:宋体;"&gt;。这种错误可能是相当危险的。&lt;/span&gt;&lt;br/&gt;4&lt;span style="font-family:宋体;"&gt;．&lt;/span&gt;Comparing probabilities&lt;span style="font-family:宋体;"&gt;。可以构造出一些例子证明会改变&lt;/span&gt;hash&lt;span style="font-family:宋体;"&gt;函数本身的冲突概率。&lt;/span&gt;&lt;br/&gt;5&lt;span style="font-family:宋体;"&gt;．&lt;/span&gt;Software and reliability&lt;span style="font-family:宋体;"&gt;。作者认为软件不应对硬件错误概率听之任之，而应该增加软件手段去改进。所以，&lt;/span&gt;hash&lt;span style="font-family:宋体;"&gt;冲突概率低于硬件错误概率的论据是站不住脚的。&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;&lt;span style="font-family:宋体;"&gt;作者也提出其它可选的方案，总结其特点就是&lt;/span&gt;keep some state&lt;span style="font-family:宋体;"&gt;。另外，结合具体应用的特点进行评估也很重要。作者反对的是不加区分的使用&lt;/span&gt;compare-by-hash&lt;span style="font-family:宋体;"&gt;，实际上&lt;/span&gt;hash&lt;span style="font-family:宋体;"&gt;方法确实有很多好处，有巨大的吸引力。&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;&lt;span style="font-family:宋体;"&gt;作者文中提到&lt;/span&gt;fingerprints&lt;span style="font-family:宋体;"&gt;（指纹）方法作为一种替代方法，让我想起了&lt;/span&gt;B. O. Christiansen&lt;span style="font-family:宋体;"&gt;的博士论文&lt;/span&gt;Data Compression for Thin Client Computing&lt;span style="font-family:宋体;"&gt;中&lt;/span&gt;Fast block motion detection&lt;span style="font-family:宋体;"&gt;的核心思想之一就是利用图像元素的“指纹”（特征）。&lt;/span&gt;&lt;br/&gt;&lt;br/&gt;&lt;span style="font-family:宋体;"&gt;关于&lt;/span&gt;Compare-by-hash&lt;span style="font-family:宋体;"&gt;，对于&lt;/span&gt;thin client&lt;span style="font-family:宋体;"&gt;研究中也许有一些启发……&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115908695307836161?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115908695307836161/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115908695307836161' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115908695307836161'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115908695307836161'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/hotos03-notean-analysis-of-compare-by.html' title='(HotOS&apos;03 Note)An Analysis of Compare-by-hash'/><author><name>Andy Yang</name><uri>http://www.blogger.com/profile/12163890391675011860</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115908252437505094</id><published>2006-09-24T14:51:00.000+08:00</published><updated>2006-10-10T12:32:19.520+08:00</updated><title type='text'>(OSDI'04 Note)Enhancing Server Availability and Security Through Failure-Oblivious Computing</title><content type='html'>&lt;br /&gt;&lt;p&gt;&lt;em&gt;Martin Rinard et al&lt;/em&gt;&lt;br/&gt;&lt;br/&gt;这篇文章提出了一个很有意思的想法：&lt;br/&gt;如果一个函数发生了非法内存访问，那么一般情况下会有两种结果：1、抛出一个Exception，如果程序没有接到，或者压根就没法接（比如C），那么退出。2、非法操作成功，继续执行下去，整个程序处于不稳定状态。&lt;br/&gt;&lt;br/&gt;那么能否有第三种方法：忽略它。更详细一点，就是说没有Exception，也不会有什么操作，简单的进行函数返回，只不过返回一个杜撰出来的值，这个值可能是错的，也可能没有意义，不过总比让整个程序崩溃了要好一些，而且很可能逻辑中对函数的返回值会做检查，从而能将预料外的非法变成预料中的非法。对于某些程序来说，这样做是可以接受的。这，就是作者所谓的Failure-Oblivious Computing。&lt;br/&gt;&lt;br/&gt;本文主要是对内存访问的错误操作提出了方案，改写了一个编译器，在一些地方插入了内存访问的检查指令，如果不合法，则返回一个杜撰值。&lt;br/&gt;&lt;br/&gt;对于具体的实现细节，并没有看的很细，觉得有这样一个想法就已经很不容易了（或者很容易？）。同样是为了提高服务的Availability，有人想出了Isolation（虚拟机）：死了不要影响别人；有人想出了Fail-Stop：要死赶快死；有人想出了Oblivious的方法：好死不如赖活。呵呵，真的很好玩。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115908252437505094?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115908252437505094/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115908252437505094' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115908252437505094'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115908252437505094'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/osdi04-noteenhancing-server.html' title='(OSDI&apos;04 Note)Enhancing Server Availability and Security Through Failure-Oblivious Computing'/><author><name>Brady</name><uri>http://www.blogger.com/profile/15629869212744470227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115906960870498661</id><published>2006-09-24T11:16:00.000+08:00</published><updated>2006-09-24T15:24:21.480+08:00</updated><title type='text'>(OSDI'04 Note)CP-Miner: A Tool for Finding Copy-paste and Related Bugs in Operating System Code</title><content type='html'>&lt;em&gt;Zhenmin Li et al&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;本文核心内容：使用数据挖掘技术来分析大型程序中可能存在的因为Copy-Paste产生的Bug。&lt;br /&gt;&lt;br /&gt;Copy-Paster可能引起很多Bug，往往是因为没有修改Paste过去的代码中应该修改的地方。对这个问题，目前有一定的研究，但是存在几个问题：&lt;br /&gt;1、分析的效率：对于大型程序，如Linux、数据库等，分析速度非常慢。&lt;br /&gt;2、分析的智能性：目前的一些分析工具，只做到检验出哪里存在Copy-Paste的代码，而无法判断是否存在bug，需要人工分析。&lt;br /&gt;&lt;br /&gt;本文为这两个问题作出了贡献：&lt;br /&gt;1、使用数据挖掘技术，使得效率大大增加&lt;br /&gt;2、使用了一定的算法，自动监测可能存在Bug的Pattern&lt;br /&gt;另外，还有一点：&lt;br /&gt;3、统计功能：分析出哪些模块使用Copy-Paste方法较多等等统计信息&lt;br /&gt;&lt;br /&gt;实现的技术难点有两点：&lt;br /&gt;1、如何判断代码属于Copy-Paste&lt;br /&gt;2、如何判断Bug&lt;br /&gt;&lt;br /&gt;对于第一点，目前大致有三种方法：&lt;br /&gt;1) string-based: divided into strings (typically lines)&lt;br /&gt;2) parse-tree-based: pattern matching on parse-tree and sub-tree&lt;br /&gt;3) token-based: duplicate token sequences are identified&lt;br /&gt;本文采用第三种方法，认为这是最精确的。&lt;br /&gt;&lt;br /&gt;对于第二点，文章的思路比较简单：&lt;br /&gt;对于两段被认为是Copy-Paste的代码中，分别找到不同的token的个数，然后看个数是否匹配。一般来说，如果第一段中token1出现了4次，而第二段中token2出现了3次，token1出现了1次，那么很有可能第二段中那个token1应该改成token2。&lt;br /&gt;当然，也不能这么绝对，作者还有一个很简单的算法，即测量修改的和没有修改的比率，如上面的例子中就是0.25。然后对这个比率采用一个阀值，低于一定的阀值，就很有可能是Bug。&lt;br /&gt;&lt;br /&gt;个人感觉：&lt;br /&gt;这篇论文的思路很清晰，一个限制条件——针对大规模程序，一个创新点——自动分析Bug。呵呵，这也许是比较典型的论文吧。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115906960870498661?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115906960870498661/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115906960870498661' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115906960870498661'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115906960870498661'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/osdi04-notecp-miner-tool-for-finding.html' title='(OSDI&apos;04 Note)CP-Miner: A Tool for Finding Copy-paste and Related Bugs in Operating System Code'/><author><name>Brady</name><uri>http://www.blogger.com/profile/15629869212744470227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115900331609124255</id><published>2006-09-23T17:19:00.000+08:00</published><updated>2006-09-23T17:21:56.090+08:00</updated><title type='text'>修改了模版，可以展开评论了</title><content type='html'>和blog模版战斗了半个多小时，终于可以让评论直接显示出来了！&lt;br /&gt;&lt;br /&gt;blogger的一个缺点就是图形化的定制比较差，需要自己去改HTML代码。真不知道那些非专业人士怎么办？&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115900331609124255?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115900331609124255/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115900331609124255' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115900331609124255'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115900331609124255'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/blog-post_23.html' title='修改了模版，可以展开评论了'/><author><name>Andy Yang</name><uri>http://www.blogger.com/profile/12163890391675011860</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115894965631708359</id><published>2006-09-23T01:28:00.000+08:00</published><updated>2006-09-23T02:30:51.276+08:00</updated><title type='text'>（简介）PCI Extension ROM</title><content type='html'>&lt;em&gt;PCI Spec 2.2&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;很多PCI设备都带有自己的ROM（比如网卡，显卡），里面存放着设备的特有初始化代码（代码类型有可执行的和解释型的，俗称BIOS），并且这个ROM是和主芯片分离的。&lt;br /&gt;&lt;br /&gt;当系统BIOS做POST时，会检测各个PCI设备的头部结构中的Extension ROM BAR寄存器，如果实现了这个寄存器（bit0为1）就表示该设备包含Extension ROM，需要做设备特有的初始化。通过往这个寄存器写全1的数，然后再读出来得到一个mask，此mask表示需要为ROM提供多大的映射内存地址空间。&lt;br /&gt;&lt;br /&gt;Extension ROM存放的是多个image，每个image的功能一般是一样的，但是它们的内容格式确是不同的，多个image是为了要支持不同的体系结构，各个image由image头部中的vendorID和deviceID识别。每个image的头2个字节固定为0xAA55，用于定位ROM的位置。&lt;br /&gt;&lt;br /&gt;ROM内容的格式主要有：PC/AT, Open Firmware Spec, HP Spec。当前比较常用的是PC/AT。&lt;br /&gt;对于PC/AT格式，第2个字节表示image有多少个512字节是有用的初始化代码（即需要搬运到RAM的代码大小），第3，4个字节是一个指向INIT entry的偏移指针，程序最后通过这个指针跳到ROM的初始化代码处去执行。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115894965631708359?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115894965631708359/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115894965631708359' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115894965631708359'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115894965631708359'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/pci-extension-rom.html' title='（简介）PCI Extension ROM'/><author><name>water</name><uri>http://www.blogger.com/profile/08057932794676650883</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115893814061351465</id><published>2006-09-22T23:09:00.000+08:00</published><updated>2006-09-22T23:30:44.640+08:00</updated><title type='text'>（简介）基于上下文的连续色调图像的无损压缩</title><content type='html'>图像无损压缩是指可以完整地重建图像。连续色调的图像其近邻象素趋于和当前象素相等或相近，为了充分利用这一特性，目前比较流行的图像无损压缩算法大都为基于上下文的算法，这类算法通常分为两步：建模和编码。&lt;br /&gt;1. 建模：扫描象素并建立概率模型。基于上下文的方法通常并不直接编码象素，而是使用预测器，对预测误差进行编码。关于概率模型，有一个基本公认的事实，认为预测误差可以用Two-sided Geometric 分布很好地建模，当然，也有一些认为概率模型更应该符合laplace分布或介于正态分布和Two-sided Geometric 分布的分布。&lt;br /&gt;2. 编码：以概率模型为基础使用接近熵的方式编码。关于编码方式，各种方法大都是以Golomb编码为基础，按照各自的概率模型加以改进。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115893814061351465?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115893814061351465/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115893814061351465' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115893814061351465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115893814061351465'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/blog-post_115893814061351465.html' title='（简介）基于上下文的连续色调图像的无损压缩'/><author><name>Vivian.Niu</name><uri>http://www.blogger.com/profile/04158699116531537222</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115893654866300953</id><published>2006-09-22T22:37:00.000+08:00</published><updated>2006-09-22T23:31:46.670+08:00</updated><title type='text'>(SOSP'03 Note)Performance Debugging for Distributed Systems of Black Boxes</title><content type='html'>&lt;em&gt;Marcos K. Aguilera, HP labs&lt;/em&gt;&lt;br /&gt;&lt;br /&gt;作者针对大型分布式系统难以定位性能瓶颈的问题，在很难拿到所有组件的源代码，且对整个系统有良好控制能力的专家很少的情况下，提出了一种适用于message-based系统的黑盒方法，由以下三步组成：&lt;br /&gt;1. 使用网络sniffer工具trace系统中互相通信的各节点的message，并记录每个节点处理message的delay;&lt;br /&gt;2. 对trace数据分析统计，得到doniment casual paths;&lt;br /&gt;3. 将结果以图像化的方式显示出来。&lt;br /&gt;&lt;br /&gt;PS: 开篇选择这篇是想看看对调试rdesktop是不是能有点帮助，以为是在讨论如何调试不开源的软件，不过后来发现对performace debugging产生误解了，转为开始想，那会不会对rdesktop的性能评测多点启发呢？看完全篇，终于彻底相信这篇论文解决的问题的大环境是distributed systems，且更倾向于分布在多节点上协同工作的系统，对rdesktop这样的简单环境貌似无用武之地。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115893654866300953?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115893654866300953/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115893654866300953' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115893654866300953'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115893654866300953'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/sosp03-noteperformance-debugging-for.html' title='(SOSP&apos;03 Note)Performance Debugging for Distributed Systems of Black Boxes'/><author><name>Vivian.Niu</name><uri>http://www.blogger.com/profile/04158699116531537222</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115892799661869745</id><published>2006-09-22T20:13:00.000+08:00</published><updated>2006-09-22T20:30:05.393+08:00</updated><title type='text'>下午参加YOCSEF报告会——无线传感网络</title><content type='html'>今天下午，Andy、Brady、Vivian去北航参加了YOCSEF的报告会，主题是：无线传感网络（Wireless Sensor Network）&lt;br /&gt;&lt;br /&gt;经过一周的版本整合，UZ-2.0封版了，定格与build-37。之后Andy、Brady、Vivian火速前往北航参加YOCSEF的报告会。其间接到版本相关电话若干:-)&lt;br /&gt;&lt;br /&gt;报告的主题是Wireless Sensor Network （WSN），应当算是pervasive computing的一部分吧。此次会议的执行主席之一史元春教授（清华大学计算机系）是中国计算机学会（CCF）普适计算专业委员会的主任。&lt;br /&gt;&lt;br /&gt;第一个报告，计算所的崔莉博士介绍了她们在WSN方面的几个应用项目的情况。其中一个项目是故宫的书画展示监测系统，很有意思。&lt;br /&gt;&lt;br /&gt;第二个报告，北邮的周正教授介绍了超宽带（UWB）无线通信技术的一些进展，包括对WSN的支持。比较偏重通信方面。介绍一些相关标准进展情况，如IEEE 802.15 WPAN（无线个域网）相关标准等。&lt;br /&gt;&lt;br /&gt;第三个报告，清华的任丰原博士介绍了WSN研究的一些历史、现状和展望，分析了WSN研究的主要问题、思路。更侧重网络方面，提到了TinyOS的左右、发展等。&lt;br /&gt;&lt;br /&gt;回来的路上大家讨论很热烈，总体感觉收获很多，特此记录&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115892799661869745?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115892799661869745/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115892799661869745' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115892799661869745'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115892799661869745'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/yocsef.html' title='下午参加YOCSEF报告会——无线传感网络'/><author><name>Andy Yang</name><uri>http://www.blogger.com/profile/12163890391675011860</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115892715957442564</id><published>2006-09-22T20:09:00.000+08:00</published><updated>2006-09-22T20:12:39.583+08:00</updated><title type='text'>访问量超过100！</title><content type='html'>现在是2006年9月22日晚上20:00，“十年”开张的第9天。&lt;br /&gt;访问量达到了100！&lt;br /&gt;庆祝一下！！&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115892715957442564?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115892715957442564/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115892715957442564' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115892715957442564'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115892715957442564'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/100.html' title='访问量超过100！'/><author><name>Andy Yang</name><uri>http://www.blogger.com/profile/12163890391675011860</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115889261092665743</id><published>2006-09-22T10:09:00.000+08:00</published><updated>2006-09-22T10:36:50.936+08:00</updated><title type='text'>第三次学术沙龙</title><content type='html'>昨天晚上第三次学术沙龙在Plato顺利举行，Andy、Brady、Vivian、Water参加。&lt;br /&gt;&lt;br /&gt;Water介绍了LOBOS的论文。大家讨论了其基本思想，但是对于其研究动机还是不太清楚。Water还会在去了解一下。BTW，Water已经把笔记贴上来了，很神速:P&lt;br /&gt;另外，大家还就上次讨论的VGA BIOS问题聊了一下。Water发了Paul提供的binary translation资料，大家有不少收获。继续跟进吧……&lt;br /&gt;&lt;br /&gt;Vivian介绍了最近看的Huffman编码的一些文章，除了Andy其他人都比较晕。很正常，对没有关注的领域直接进入深层内容难度还是很大的。但总结一下，几个基本方向还是应该了解一下。一个是Huffman编码的内存使用优化问题，一个是Huffman编码改进问题（更接近于熵），一个是decoding的效率改进问题，一个是错误传播/隔离问题。&lt;br /&gt;&lt;br /&gt;Brady介绍了GFS和MapReduce两篇Google人的文中，后者是OSDI 2004上的。两个研究对于问题的定义、约束很好，对于明确的应用环境（Google），受限的目标（海量数据等），提出有效的方法。这是一种很务实，很好的研究思路。建议大家都读一下啊。BTW，看了之后会对Google加深感情的。&lt;br /&gt;&lt;br /&gt;最后大家讨论了沙龙活动的一些组织形式问题。&lt;br /&gt;决定加强在“十年”blog上整理阅读笔记的力度，将不在沙龙上具体介绍论文，改为先发帖，在blog上讨论有问题，有感觉，再在沙龙中聊。同时增加封闭实践活动。&lt;br /&gt;决定开始分头系统阅读OS方向论文，每人每次选定一年的论文集，通读Abstract，选读部分感兴趣的文章，Andy的经验是不超过1/3，阅读后写笔记贴上来。&lt;br /&gt;&lt;br /&gt;目前安排：&lt;br /&gt;Andy -- HotOS 2003&lt;br /&gt;Brady -- OSDI 2004&lt;br /&gt;Vivian -- SOSP 2003&lt;br /&gt;Water -- HotOS 2005&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115889261092665743?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115889261092665743/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115889261092665743' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115889261092665743'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115889261092665743'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/blog-post_22.html' title='第三次学术沙龙'/><author><name>Andy Yang</name><uri>http://www.blogger.com/profile/12163890391675011860</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115888796454393874</id><published>2006-09-22T08:46:00.000+08:00</published><updated>2006-09-22T09:56:01.930+08:00</updated><title type='text'>(Note)Multimedia Over IP for Thin Clients: Building a Collaborative Resource-Sharing Prototype</title><content type='html'>&lt;em&gt;Janet Chen&lt;/em&gt;&lt;br /&gt;阅读内容：全文（4页） 阅读时间：50分钟&lt;br /&gt;&lt;br /&gt;作者介绍了一种在瘦客户端模式下进行视频会议的模型，并着重就音频问题提出了解决方案。&lt;br /&gt;论文基于H323标准*的ITU-I建议来实现。&lt;br /&gt;&lt;br /&gt;We can attain a balanced architecture that supports both centralized management application softwares and distributed multimedia processing for I/O device.&lt;br /&gt;&lt;br /&gt;作者提出了在这个过程中遇到的三个问题：&lt;br /&gt;IP address conflict issue&lt;br /&gt;Application transparent adaptive issue&lt;br /&gt;Device capability issue&lt;br /&gt;&lt;br /&gt;具体实现是在Windows的RDP基础上做的，add multimedia streaming handling protocol coexist with RDP。作者实现了两种Agent：在Client端，实现了Service Agent，用来采集音频，并传送给Server；在Server端，实现了Control Agent，用来接受传过来的音频数据（这种想法与我们的想法很接近）。&lt;br /&gt;&lt;br /&gt;* H323:&lt;span style="font-family:Verdana;"&gt;Packet-based multimedia communications systems&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115888796454393874?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115888796454393874/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115888796454393874' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115888796454393874'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115888796454393874'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/notemultimedia-over-ip-for-thin.html' title='(Note)Multimedia Over IP for Thin Clients: Building a Collaborative Resource-Sharing Prototype'/><author><name>Brady</name><uri>http://www.blogger.com/profile/15629869212744470227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115885745663256646</id><published>2006-09-22T00:26:00.000+08:00</published><updated>2006-09-23T21:02:13.556+08:00</updated><title type='text'>(Note)LOBOS:(Linux OS Boots OS) Booting a kernel in 32-bit mode</title><content type='html'>作者：&lt;em&gt;Ron Minnich, Advanced Computing Lab, Los Alamos National Labs, New Mexico&lt;br /&gt;&lt;/em&gt;出处：Proceedings of the 4th Annual Linux Showcase &amp;amp; Conference, Atlanta, 2000(USENIX Association)&lt;br /&gt;&lt;br /&gt;解决问题：&lt;br /&gt;在cluster的环境中，更换单个节点的系统环境（包括OS和根文件系统）传统的方式是通过对单个节点的更新，这样当节点很多时非常费时费力。本文提出一种新的方法，使得可以通过网络更新各个节点的系统环境。&lt;br /&gt;&lt;br /&gt;核心思想：&lt;br /&gt;通过在Linux内核中增加一个系统调用，，使其能直接在运行于32位模式下的内核中启动另一个新的内核，并且不通过传统的BIOS。这样，Linux 内核就可以直接作为一个网络启动程序，而不需BIOS的参与。并且，lobos调用可以指定一个新的内核和根文件系统来运行。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115885745663256646?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115885745663256646/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115885745663256646' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115885745663256646'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115885745663256646'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/noteloboslinux-os-boots-os-booting.html' title='(Note)LOBOS:(Linux OS Boots OS) Booting a kernel in 32-bit mode'/><author><name>water</name><uri>http://www.blogger.com/profile/08057932794676650883</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115882975007526162</id><published>2006-09-21T17:09:00.000+08:00</published><updated>2006-09-21T17:09:10.250+08:00</updated><title type='text'>Andy's Literature Summary转到Google Spreadsheet上啦！</title><content type='html'>&lt;div&gt;今天我把自己整理的文献资料的总体情况表转移到Google Spreadsheet上啦，这样大家就都可以看啦。&lt;/div&gt; &lt;div&gt;在blog的sidebar上有一个链接，欢迎大家来捧场！&lt;/div&gt; &lt;div&gt;&amp;nbsp;&lt;/div&gt; &lt;div&gt;多谢了先！&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115882975007526162?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115882975007526162/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115882975007526162' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115882975007526162'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115882975007526162'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/andys-literature-summarygoogle.html' title='Andy&apos;s Literature Summary转到Google Spreadsheet上啦！'/><author><name>Andy Yang</name><uri>http://www.blogger.com/profile/12163890391675011860</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115880794979235424</id><published>2006-09-21T11:05:00.000+08:00</published><updated>2006-09-22T10:44:00.546+08:00</updated><title type='text'>(HotOS'03 Note)Cassyopia: Compiler Assisted System Optimization</title><content type='html'>&lt;strong&gt;Cassyopia: Compiler Assisted System Optimization&lt;/strong&gt;&lt;br /&gt;&lt;em&gt;Mohan Rajagopalan et al.&lt;/em&gt;&lt;br /&gt;HotOS 2003&lt;br /&gt;&lt;br /&gt;Focus on applying optimization techniques across address spaces on the same or different machines.&lt;span style="font-family:宋体;"&gt;跨保护边界的调用开销是非常大的，将过程内优化、过程间优化、全局优化等方面的技术应用在跨地址空间方面。文章中主要讨论的是对于系统调用方面的优化，也提到了远程过程调用的优化问题，不过没有展开。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:宋体;"&gt;主要采用&lt;/span&gt;profiling-based optimization&lt;span style="font-family:宋体;"&gt;，针对&lt;/span&gt;crossing&lt;span style="font-family:宋体;"&gt;次数和&lt;/span&gt;cost&lt;span style="font-family:宋体;"&gt;两个方面进行优化。对&lt;/span&gt;crossing&lt;span style="font-family:宋体;"&gt;次数采用&lt;/span&gt;system call clustering&lt;span style="font-family:宋体;"&gt;技术，包括&lt;/span&gt;mutil-call&lt;span style="font-family:宋体;"&gt;、&lt;/span&gt;loop multi-call&lt;span style="font-family:宋体;"&gt;等。至于&lt;/span&gt;crossing cost&lt;span style="font-family:宋体;"&gt;方面，似乎没有多说。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;System call clustering&lt;span style="font-family:宋体;"&gt;：通过&lt;/span&gt;profiling&lt;span style="font-family:宋体;"&gt;，建立&lt;/span&gt;system call graph&lt;span style="font-family:宋体;"&gt;，类似基本块图，但粒度更大一些。然后采用循环展开、调动等优化方法，把不相关的&lt;/span&gt;system call&lt;span style="font-family:宋体;"&gt;组合成&lt;/span&gt;multi-call&lt;span style="font-family:宋体;"&gt;或者&lt;/span&gt;loop multi-call&lt;span style="font-family:宋体;"&gt;，减少上下文切换次数。注意，这里错误处理可能会成为一个问题。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:宋体;"&gt;另外也提到了内核中执行应用程序代码的问题，&lt;/span&gt;replace general purpose code in the kernel bye compiler-generated case-specific code in user-space.&lt;span style="font-family:宋体;"&gt;解释了一些别人的工作，认为文中&lt;/span&gt;profiling&lt;span style="font-family:宋体;"&gt;可以为这些工作提供进一步支持。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:宋体;"&gt;文章中牵涉一些编译优化技术，发现自己了解的太少，以前了解的也忘差不多了。真后悔刚上研一时没有在编译组认真学！！！&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:宋体;"&gt;另外，文中提到使用&lt;/span&gt;multi-call&lt;span style="font-family:宋体;"&gt;可以使&lt;/span&gt;mpeg_play&lt;span style="font-family:宋体;"&gt;性能&lt;/span&gt;(frame rate)&lt;span style="font-family:宋体;"&gt;提高&lt;/span&gt;25%&lt;span style="font-family:宋体;"&gt;，很震撼。要研究一下，怎么有这么多呢？&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115880794979235424?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115880794979235424/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115880794979235424' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115880794979235424'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115880794979235424'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/hotos03-notecassyopia-compiler.html' title='(HotOS&apos;03 Note)Cassyopia: Compiler Assisted System Optimization'/><author><name>Andy Yang</name><uri>http://www.blogger.com/profile/12163890391675011860</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115880494821529128</id><published>2006-09-21T10:15:00.000+08:00</published><updated>2006-09-22T10:44:18.823+08:00</updated><title type='text'>(HotOS'03 Note)Using Performance Reflection in Systems Software</title><content type='html'>&lt;strong&gt;Using Performance Reflection in Systems Software&lt;/strong&gt;&lt;br /&gt;&lt;em&gt;Robert Fowler et al.&lt;/em&gt;&lt;br /&gt;HotOS 2003&lt;br /&gt;&lt;br /&gt;Alan Cox&lt;span style="font-family:宋体;"&gt;是第二作者哦。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:宋体;"&gt;这篇文章关注基于现代处理器中广泛支持的性能计数器为&lt;/span&gt;OS&lt;span style="font-family:宋体;"&gt;及应用提供性能数据。开发称为&lt;/span&gt;kernel performance reflection&lt;span style="font-family:宋体;"&gt;的工具。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:宋体;"&gt;作者提出从&lt;/span&gt;overhead&lt;span style="font-family:宋体;"&gt;和&lt;/span&gt;productivity&lt;span style="font-family:宋体;"&gt;两个角度进行度量，&lt;/span&gt;TLB miss&lt;span style="font-family:宋体;"&gt;、&lt;/span&gt;data cache miss&lt;span style="font-family:宋体;"&gt;等属于&lt;/span&gt;overhead&lt;span style="font-family:宋体;"&gt;，而指令数、浮点操作数、数据传输量等则属于&lt;/span&gt;productivity&lt;span style="font-family:宋体;"&gt;。作者将&lt;/span&gt;overhead&lt;span style="font-family:宋体;"&gt;和&lt;/span&gt;productivity&lt;span style="font-family:宋体;"&gt;之间的关系作为系统健康状况的一个重要指标。例如：如果&lt;/span&gt;productivity&lt;span style="font-family:宋体;"&gt;指标增长，&lt;/span&gt;overhead&lt;span style="font-family:宋体;"&gt;也增长，应当属于正常情况，具体来说，数据传输量增长，&lt;/span&gt;TLB miss&lt;span style="font-family:宋体;"&gt;增长就是正常情况；但是，&lt;/span&gt;productivity&lt;span style="font-family:宋体;"&gt;下降，&lt;/span&gt;overhead&lt;span style="font-family:宋体;"&gt;增长，则说明什么地方出了问题。这种思路很不错，可以从多种多样的指标和应用环境中建立简单的模型。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:宋体;"&gt;作者举了一个内核应用的例子、一个应用程序应用的例子。对于使用性能数据进行自动行为调整，本文没有具体讨论，只是点了一些相关的研究。&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115880494821529128?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115880494821529128/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115880494821529128' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115880494821529128'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115880494821529128'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/hotos03-noteusing-performance.html' title='(HotOS&apos;03 Note)Using Performance Reflection in Systems Software'/><author><name>Andy Yang</name><uri>http://www.blogger.com/profile/12163890391675011860</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115876170985978420</id><published>2006-09-20T21:49:00.000+08:00</published><updated>2006-09-22T10:44:40.240+08:00</updated><title type='text'>(Note)Transporting Real-Time Video over the Internet: Challenges and Approaches</title><content type='html'>&lt;span style="font-family:arial;"&gt;&lt;em&gt;Dapeng Wu et al&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;来自Proceedings of IEEE的一篇Invited Paper。&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;主要问题非常清晰：在Internet上实时传输视频数据，最大的需求在于三点：bandwidth、delay、loss，而这三个需求（QoS）并不是现有的协议所能提供的。&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;对于视频数据传输来说，有两大类的异构（heterogeneity）：Network 和 Receiver。针对这两种异构，目前有两种思路：Network centric 和 End system based。前者以网络参数为核心关注对象，后者在不依赖任何QoS的情况下，最大化视频质量。&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;显然，后者的意义更为重大。基于后者，作者提出了一种构架：&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;strong&gt;congestion control&lt;/strong&gt;: prevent package loss&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;rate control (&lt;em&gt;for transport&lt;/em&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;rate-adaptive encoding (&lt;em&gt;for compression&lt;/em&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;rate-shaping (&lt;em&gt;for both&lt;/em&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;strong&gt;error control&lt;/strong&gt;: max quality under package loss&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;forword error correction (FEC): Add redunt info to reconstruct when loss package.&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;* channel coding&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;* source coding based&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;* joint source/channel coding&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;retransmission: Translate again&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;error resilience: Consider the semantic meaning of the compression layer&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;error concealment: A post-processing technique used by the decoder&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115876170985978420?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115876170985978420/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115876170985978420' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115876170985978420'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115876170985978420'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/notetransporting-real-time-video-over.html' title='(Note)Transporting Real-Time Video over the Internet: Challenges and Approaches'/><author><name>Brady</name><uri>http://www.blogger.com/profile/15629869212744470227</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115875552752400977</id><published>2006-09-20T20:32:00.000+08:00</published><updated>2006-09-20T20:34:48.440+08:00</updated><title type='text'>关于iSCSI</title><content type='html'>&lt;p class="mobile-post"&gt;iSCSI风头很劲，似乎已经成为网络存储的一个趋势。另一方面，它和以前我调研的Network-attached peripheral (NAP)又有联系。&lt;/p&gt;&lt;p class="mobile-post"&gt;下面这段来自&lt;a href="http://www.znet.com.cn"&gt;www.znet.com.cn&lt;/a&gt;上一篇文章《iSCSI初级读本》，可以给出一个总体的印象。&lt;br /&gt;有些人认为iSCSI 是光纤这样的专用的存储局域网(SAN)和网络附加存储(NAS)的混合产物。这种看法可能是因为iSCSI 利用以太网作为传输介质。也就是说，一端是NAS，一端是SAN，iSCSI 更接近SAN。但是NAS设备在文件层工作，也就是说工作时整个文件在设备间传输，而iSCSI 是在区块层工作，非常象一块本地连接的硬盘。这也就意味着在某些NAS不适用的数据库应用或者Exchange环境下，iSCSI可以发挥作用。（尽管Exchange可以使用NAS文件级设备，区块级存储机制无疑更为适用）。把服务器和iSCSI阵列连接以后，存储就好象一块本地硬盘，从而可以提供无缝存储。&lt;/p&gt;&lt;p class="mobile-post"&gt;还有一个项目，叫Linux-iSCSI Project，也值得关注。主页：&lt;a href="http://linux-iscsi.sourceforge.net/"&gt;http://linux-iscsi.sourceforge.net/&lt;/a&gt;&lt;br /&gt;需要2.4.20以上的kernel。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115875552752400977?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115875552752400977/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115875552752400977' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115875552752400977'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115875552752400977'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/iscsi.html' title='关于iSCSI'/><author><name>Andy Yang</name><uri>http://www.blogger.com/profile/12163890391675011860</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115867401053212702</id><published>2006-09-19T21:42:00.000+08:00</published><updated>2006-09-20T14:08:14.420+08:00</updated><title type='text'>三大开源视频播放器比较(2)</title><content type='html'>关于模块性，做一个简单的比较。&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Mplayer：&lt;/strong&gt;&lt;br /&gt;比较差，编出来是一个比较大的可执行文件。而且，其可配置性比较差，config阶段虽然有很多参数，但有些东东还是很难裁减掉。&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;xine：&lt;/strong&gt;&lt;br /&gt;xine是一个共享库，初步编了一下感觉模块划分比较清楚，不同模块有不同的so。在X86下默认编译，主要模块大小如下。&lt;br /&gt;libxine.so 380K&lt;br /&gt;xineplug-ao-out-oss.so 22K -- OSS audio&lt;br /&gt;xineplug-vo-out-fb.so 70K -- Framebuffer video&lt;br /&gt;xineplug-decode-ff.so 2300K -- ffmepg decoder ??&lt;br /&gt;xineplug-decode-mpeg2.so 132K -- mpeg2 decoder ??&lt;br /&gt;xineplug-dmx-mpeg.so 19K -- demuxer&lt;br /&gt;xineplug-inp-file.so 20K -- file input&lt;br /&gt;xineplug-inp-net.so 19K -- network input&lt;br /&gt;xineplug-inp-rtsp.so 22K -- RTSP input&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115867401053212702?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115867401053212702/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115867401053212702' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115867401053212702'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115867401053212702'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/2.html' title='三大开源视频播放器比较(2)'/><author><name>Andy Yang</name><uri>http://www.blogger.com/profile/12163890391675011860</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115867320634289409</id><published>2006-09-19T21:39:00.000+08:00</published><updated>2006-09-19T21:40:06.830+08:00</updated><title type='text'>(HotOS'03 Note)Magpie: online modeling and performance-aware systems</title><content type='html'>&lt;strong&gt;Magpie: online modeling and performance-aware systems&lt;br /&gt;&lt;/strong&gt;&lt;em&gt;Paul Barham et al.&lt;/em&gt;&lt;br /&gt;HotOS 2003&lt;br /&gt;&lt;br /&gt;本文讨论了Magpie的设计思路，主要解决分布式系统的性能分析问题。其主要特点就是综合运用各种已有的插入式性能记录方法，形成一个Black-box instrumentation系统。已有很多面向不同侧面的log或性能分析系统，包括对系统调用、网络踪迹、IIS服务、HLL VM等进行分析。Magpie的特点在于将这些技术记录的数据综合起来，在全系统的层面上给出分布式应用的运行踪迹，并建立统计模型，从而可以分析出异常的情况，为性能调试提供线索。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115867320634289409?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115867320634289409/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115867320634289409' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115867320634289409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115867320634289409'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/hotos03-notemagpie-online-modeling-and.html' title='(HotOS&apos;03 Note)Magpie: online modeling and performance-aware systems'/><author><name>Andy Yang</name><uri>http://www.blogger.com/profile/12163890391675011860</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115859688506914893</id><published>2006-09-19T00:22:00.000+08:00</published><updated>2006-09-19T00:28:13.036+08:00</updated><title type='text'>老革命遇到老问题——FC2和Windows XP双启动问题</title><content type='html'>晚上心不在焉地在家里PC上装了一个Fedora Core 2，发现竟然启动不了Windows了，真是老革命遇到“新问题”。仔细一想，发现原来在lab也遇到过，应该有解决的。&lt;br /&gt;&lt;br /&gt;于是开始google。搜了一下“FC2和Windows XP双系统”，果然有这个问题：Windows启动不了，出现以下信息停止：&lt;br /&gt;rootnoverify (hda0, 0)&lt;br /&gt;chainloader +1&lt;br /&gt;&lt;br /&gt;到此一切顺利。接下来就发现全是一些不着调的解决方案，重新装Windows啦，修复分区表什么的，再就是求助的。真让人对国内技术论坛失望，至少是搜索引擎搜出来的结果……&lt;br /&gt;&lt;br /&gt;再用英文搜，搜FC2 Windows boot problem，很快就有了结果。这个问题却是是FC2的BUG，但Red Hat给出了修复办法，也很简单，使用如下命令即可。&lt;br /&gt;     &lt;strong&gt;sfdisk -d /dev/hda  sfdisk --no-reread -H255 /dev/hda&lt;/strong&gt;&lt;br /&gt;关于具体含义，参看：&lt;br /&gt;&lt;a href="http://www.redhat.com/archives/fedora-devel-list/2004-May/msg00908.html"&gt;http://www.redhat.com/archives/fedora-devel-list/2004-May/msg00908.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;赶快记在这里，别又到处找，谁让我有刻好的FC2光盘呢，嗨~~~~~~&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115859688506914893?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115859688506914893/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115859688506914893' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115859688506914893'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115859688506914893'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/fc2windows-xp.html' title='老革命遇到老问题——FC2和Windows XP双启动问题'/><author><name>Andy Yang</name><uri>http://www.blogger.com/profile/12163890391675011860</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115846758646059612</id><published>2006-09-17T12:33:00.000+08:00</published><updated>2006-09-19T21:54:36.483+08:00</updated><title type='text'>三大开源视频播放器比较(1)</title><content type='html'>Google&lt;span style="font-family:宋体;"&gt;了一下，主要的&lt;/span&gt;opensource&lt;span style="font-family:宋体;"&gt;的视频播放器有不少，比较强大的有&lt;/span&gt;Mplayer&lt;span style="font-family:宋体;"&gt;、&lt;/span&gt;Xine&lt;span style="font-family:宋体;"&gt;、&lt;/span&gt;VideoLAN&lt;span style="font-family:宋体;"&gt;等。其它的就不如它们全面了，比如：&lt;/span&gt;Ogle&lt;span style="font-family:宋体;"&gt;主要支持&lt;/span&gt;DVD&lt;span style="font-family:宋体;"&gt;，包括导航什么的；&lt;/span&gt;mpegTV&lt;span style="font-family:宋体;"&gt;不完全&lt;/span&gt;open&lt;span style="font-family:宋体;"&gt;；……&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:宋体;"&gt;这里先把三大&lt;/span&gt;player&lt;span style="font-family:宋体;"&gt;简单总结一下，主要面向针对移植和开发的问题。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Mplayer&lt;span style="font-family:宋体;"&gt;：&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-family:宋体;"&gt;版本：&lt;/span&gt;1.0pre8 (2006.6.11)&lt;br /&gt;.bz2&lt;span style="font-family:宋体;"&gt;包大小：&lt;/span&gt;7.9MB&lt;br /&gt;&lt;span style="font-family:宋体;"&gt;主页：&lt;/span&gt;&lt;a href="http://www.mplayerhq.hu/"&gt;http://www.mplayerhq.hu/&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:宋体;"&gt;代码风格：比较差，代码很挤，还有些数千行的函数:-(&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:宋体;"&gt;其它说明：移植和使用了一段时间后，说实话比较失望。音视频同步方面比较弱，我们花了不少时间进行调试。当然&lt;/span&gt;mplayer&lt;span style="font-family:宋体;"&gt;对各种格式的支持还是很赞的。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Xine&lt;span style="font-family:宋体;"&gt;：&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-family:宋体;"&gt;版本：&lt;/span&gt;1.1.2 (2006.7.11)&lt;br /&gt;.bz2&lt;span style="font-family:宋体;"&gt;包大小：&lt;/span&gt;6.5MB&lt;br /&gt;&lt;span style="font-family:宋体;"&gt;主页：&lt;/span&gt;&lt;a href="http://xinehq.de"&gt;http://xinehq.de&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:宋体;"&gt;代码风格：不错&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:宋体;"&gt;其它说明：支持很多前端界面项目，甚至有专为&lt;/span&gt;Set-Top Box&lt;span style="font-family:宋体;"&gt;设计的（&lt;/span&gt;oxine &lt;span style="font-family:宋体;"&gt;），赞！新的&lt;/span&gt;Fedora Core&lt;span style="font-family:宋体;"&gt;里带的应该就是它，好像是&lt;/span&gt;totem&lt;span style="font-family:宋体;"&gt;吧。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;VideoLAN&lt;span style="font-family:宋体;"&gt;：&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;&lt;span style="font-family:宋体;"&gt;版本：&lt;/span&gt;0.8.5 (2006.5.6)&lt;br /&gt;.bz2&lt;span style="font-family:宋体;"&gt;包大小：&lt;/span&gt;8.3MB&lt;br /&gt;&lt;span style="font-family:宋体;"&gt;主页：&lt;/span&gt;&lt;a href="http://www.videolan.org/"&gt;http://www.videolan.org/&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:宋体;"&gt;代码风格：不错&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:宋体;"&gt;其它说明：对&lt;/span&gt;Windows&lt;span style="font-family:宋体;"&gt;支持较好，&lt;/span&gt;Stream server&lt;span style="font-family:宋体;"&gt;的功能很赞！&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115846758646059612?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115846758646059612/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115846758646059612' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115846758646059612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115846758646059612'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/1.html' title='三大开源视频播放器比较(1)'/><author><name>Andy Yang</name><uri>http://www.blogger.com/profile/12163890391675011860</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115846351741266835</id><published>2006-09-17T11:20:00.000+08:00</published><updated>2006-09-17T11:25:17.566+08:00</updated><title type='text'>Opensource Flash Player?</title><content type='html'>关有opensource的Flash支持，这个网站不错：&lt;a href="http://osflash.org/"&gt;http://osflash.org/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;我浏览了一下，感觉比较成熟的还是gnash，主页是&lt;a href="http://www.gnu.org/software/gnash/"&gt;http://www.gnu.org/software/gnash/&lt;/a&gt;。&lt;br /&gt;它可以支持很多SWF 7的特性。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115846351741266835?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115846351741266835/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115846351741266835' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115846351741266835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115846351741266835'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/opensource-flash-player.html' title='Opensource Flash Player?'/><author><name>Andy Yang</name><uri>http://www.blogger.com/profile/12163890391675011860</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115846120330479142</id><published>2006-09-17T10:40:00.000+08:00</published><updated>2006-09-17T10:46:43.400+08:00</updated><title type='text'>几个opensource项目的近况</title><content type='html'>我关注的几个opensource项目近期的一些情况。&lt;br /&gt;&lt;ul&gt;&lt;li&gt;rdesktop：刚刚发布1.5.0版本，加入了Session Directory支持，初步支持Vista RC1了。&lt;/li&gt;&lt;li&gt;openoffice：2006年1月发布了2.0.1中文版本。&lt;/li&gt;&lt;li&gt;dillo：项目过完了6岁生日，2006年5月发布了0.8.6版本。&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115846120330479142?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115846120330479142/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115846120330479142' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115846120330479142'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115846120330479142'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/opensource.html' title='几个opensource项目的近况'/><author><name>Andy Yang</name><uri>http://www.blogger.com/profile/12163890391675011860</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115846034455034569</id><published>2006-09-17T10:30:00.000+08:00</published><updated>2006-09-17T10:34:58.656+08:00</updated><title type='text'>Windows软件的Linux类似/替换/相近品</title><content type='html'>一个很不错的Windows软件替代品列表：&lt;br /&gt;&lt;a href="http://www.linuxrsp.ru/win-lin-soft/table-chn.html"&gt;http://www.linuxrsp.ru/win-lin-soft/table-chn.html&lt;/a&gt;&lt;a href="http://www.linuxrsp.ru/win-lin-soft/table-chn.html"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115846034455034569?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.linuxrsp.ru/win-lin-soft/table-chn.html' title='Windows软件的Linux类似/替换/相近品'/><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115846034455034569/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115846034455034569' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115846034455034569'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115846034455034569'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/windowslinux.html' title='Windows软件的Linux类似/替换/相近品'/><author><name>Andy Yang</name><uri>http://www.blogger.com/profile/12163890391675011860</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115842121662211179</id><published>2006-09-16T23:40:00.000+08:00</published><updated>2006-09-22T10:46:05.280+08:00</updated><title type='text'>(HotOS'03 Note)Crash-Only Software</title><content type='html'>&lt;strong&gt;Crash-Only Software&lt;/strong&gt;&lt;br /&gt;&lt;em&gt;George Candea et al.&lt;/em&gt;&lt;br /&gt;HotOS 2003&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:宋体;"&gt;作者认为所有软件都会&lt;/span&gt;crash&lt;span style="font-family:宋体;"&gt;，不能避免&lt;/span&gt;crash&lt;span style="font-family:宋体;"&gt;，就&lt;/span&gt;crash-only&lt;span style="font-family:宋体;"&gt;。这样，软件要么成功，要么&lt;/span&gt;crash&lt;span style="font-family:宋体;"&gt;，不会存在“带病运行”等中间情况，从而可以简单的使用重新启动的方法来进行错误恢复。&lt;/span&gt;Candea&lt;span style="font-family:宋体;"&gt;等在&lt;/span&gt;OSDI 2004&lt;span style="font-family:宋体;"&gt;中有一篇关于&lt;/span&gt;Microreboot&lt;span style="font-family:宋体;"&gt;的文章，就是在此基础上深入的。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Crash-only systems are built from crash-only components, and the use of transparent component-level retries hides intra-system component crashes from end-users.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:宋体;"&gt;文中介绍了实现&lt;/span&gt;crash-only&lt;span style="font-family:宋体;"&gt;的一些准则：&lt;/span&gt;&lt;br /&gt;&lt;strong&gt;Intra-component:&lt;/strong&gt;&lt;br /&gt;1. All important non-volatile state is managed bye dedicated state stores.&lt;br /&gt;&lt;strong&gt;Inter-component:&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Components have externally enforced boundaries;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;All interactions between components have a timeout;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;All resources are leased;&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Requests are entirely self-describing.&lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115842121662211179?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115842121662211179/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115842121662211179' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115842121662211179'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115842121662211179'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/hotos03-notecrash-only-software.html' title='(HotOS&apos;03 Note)Crash-Only Software'/><author><name>Andy Yang</name><uri>http://www.blogger.com/profile/12163890391675011860</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115842024225928806</id><published>2006-09-16T23:24:00.000+08:00</published><updated>2006-09-16T23:39:43.633+08:00</updated><title type='text'>(HotOS'03 Note)Virtual Appliance in the Collective: A Road to Hassle-Free Computing</title><content type='html'>&lt;strong&gt;Virtual Appliance in the Collective: A Road to Hassle-Free Computing&lt;/strong&gt;&lt;br /&gt;&lt;em&gt;Constantine Sapuntzakis and Monica S. Lam&lt;/em&gt;&lt;br /&gt;HotOS 2003&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:宋体;"&gt;本文介绍了&lt;/span&gt;Monica&lt;span style="font-family:宋体;"&gt;阿姨小组研究的&lt;/span&gt;Collective&lt;span style="font-family:宋体;"&gt;项目的核心思想&lt;/span&gt;Virtual Appliance&lt;span style="font-family:宋体;"&gt;。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Virtual Appliance&lt;span style="font-family:宋体;"&gt;基于&lt;/span&gt;VMM&lt;span style="font-family:宋体;"&gt;，将用户需要的功能封装成一个个独立的&lt;/span&gt;VM&lt;span style="font-family:宋体;"&gt;，成为&lt;/span&gt;Virtual Appliance&lt;span style="font-family:宋体;"&gt;。就好像&lt;/span&gt;PS2&lt;span style="font-family:宋体;"&gt;只用来打游戏一样。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:宋体;"&gt;这样做的动机主要是降低计算机的使用维护压力，方便用户使用等。我认为和&lt;/span&gt;Thin-client&lt;span style="font-family:宋体;"&gt;的思想相似，不过由于在服务器端使用了&lt;/span&gt;VMM&lt;span style="font-family:宋体;"&gt;，可以进行更好的隔离和&lt;/span&gt;QoS&lt;span style="font-family:宋体;"&gt;保证。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:宋体;"&gt;当然，&lt;/span&gt;Monica&lt;span style="font-family:宋体;"&gt;阿姨做这些东东也不奇怪，她是&lt;/span&gt;Brian K. Schmidt&lt;span style="font-family:宋体;"&gt;的导师，而后者的博士论文&lt;/span&gt;Support Ubiquitous Computing With Stateless Consoles and Computation Caches&lt;span style="font-family:宋体;"&gt;总结了&lt;/span&gt;SunRay&lt;span style="font-family:宋体;"&gt;的工作，是&lt;/span&gt;Thin-client&lt;span style="font-family:宋体;"&gt;方向的重量级论文。还有，现在带领哥伦比亚大学&lt;/span&gt;NCL(Network Computing Lab)&lt;span style="font-family:宋体;"&gt;专门研究&lt;/span&gt;Thin-client&lt;span style="font-family:宋体;"&gt;的&lt;/span&gt;Jason Nieh&lt;span style="font-family:宋体;"&gt;，“聂哥”，也是&lt;/span&gt;Monica&lt;span style="font-family:宋体;"&gt;的学生。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:宋体;"&gt;这篇论文主要还是介绍&lt;/span&gt;Collective&lt;span style="font-family:宋体;"&gt;的目标、出发点和基本思想。要进一步了解还是要看相关论文。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:宋体;"&gt;另外，前两天看&lt;/span&gt;Monica&lt;span style="font-family:宋体;"&gt;的主页，发现她们在&lt;/span&gt;Collective&lt;span style="font-family:宋体;"&gt;的研究基础上创立了一个公司，&lt;/span&gt;Moka5&lt;span style="font-family:宋体;"&gt;，产品叫&lt;/span&gt;livePC&lt;span style="font-family:宋体;"&gt;，试用版本还没有出来……&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115842024225928806?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115842024225928806/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115842024225928806' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115842024225928806'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115842024225928806'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/hotos03-notevirtual-appliance-in.html' title='(HotOS&apos;03 Note)Virtual Appliance in the Collective: A Road to Hassle-Free Computing'/><author><name>Andy Yang</name><uri>http://www.blogger.com/profile/12163890391675011860</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115832318833351975</id><published>2006-09-15T20:26:00.000+08:00</published><updated>2006-09-15T20:30:53.536+08:00</updated><title type='text'>(HotOS'03 Note)Development Tools for Distributed Applications</title><content type='html'>&lt;strong&gt;Development Tools for Distributed Applications&lt;/strong&gt;&lt;br /&gt;&lt;em&gt;Mukesh Agrawal and Srinivasan Seshan&lt;/em&gt;&lt;br /&gt;HotOS 2003&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:宋体;"&gt;考虑支持分布式应用开发的整个生命周期的开发工具，包括&lt;/span&gt;the design stage, the implementation stage, the testing stage, the deployment and operation stage, and the maintenance and evolution stage.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:宋体;"&gt;具体讨论&lt;/span&gt;maintenance and evolution&lt;span style="font-family:宋体;"&gt;阶段和&lt;/span&gt;testing&lt;span style="font-family:宋体;"&gt;阶段的工具。&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:宋体;"&gt;总结了支持升级&lt;/span&gt;/&lt;span style="font-family:宋体;"&gt;回滚的困难及目前的解决方案。作者使用了&lt;/span&gt;VMM&lt;span style="font-family:宋体;"&gt;方法，用&lt;/span&gt;UML&lt;span style="font-family:宋体;"&gt;（&lt;/span&gt;User Mode Linux&lt;span style="font-family:宋体;"&gt;）来解决升级问题。&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:宋体;"&gt;对于&lt;/span&gt;testing&lt;span style="font-family:宋体;"&gt;，作者分析了调试支持工具。提到：&lt;/span&gt;Single-stepping is inherently an inappropriate debugging primitive for distributed applications.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:宋体;"&gt;本文对于领域内困难和已有方案的总结很清晰，尤其是对于&lt;/span&gt;Upgrade / Rollback&lt;span style="font-family:宋体;"&gt;问题。如果想有一个总体的了解，可以读一读相关部分。&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115832318833351975?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115832318833351975/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115832318833351975' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115832318833351975'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115832318833351975'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/hotos03-notedevelopment-tools-for.html' title='(HotOS&apos;03 Note)Development Tools for Distributed Applications'/><author><name>Andy Yang</name><uri>http://www.blogger.com/profile/12163890391675011860</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115832210897645075</id><published>2006-09-15T20:08:00.000+08:00</published><updated>2006-09-15T20:15:14.986+08:00</updated><title type='text'>(HotOS'03 Note)Scheduling and Simulation: How to Upgrade Distributed Systems</title><content type='html'>&lt;strong&gt;Scheduling and Simulation: How to Upgrade Distributed Systems&lt;/strong&gt;&lt;br /&gt;&lt;em&gt;Sameer Ajmani, Barbara Liskov and Liuba Shrira&lt;/em&gt;&lt;br /&gt;HotOS 2003&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:宋体;"&gt;讨论分布式系统的升级问题。对于该问题的主要困难有较好的总结描述。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:宋体;"&gt;建立了&lt;/span&gt;upgrade infrastructure&lt;span style="font-family:宋体;"&gt;，主要有&lt;/span&gt;Schedule functions (SFs)&lt;span style="font-family:宋体;"&gt;、&lt;/span&gt;Simulation objects (SOs)&lt;span style="font-family:宋体;"&gt;、&lt;/span&gt;Transform functions (TFs)&lt;span style="font-family:宋体;"&gt;等核心概念。&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115832210897645075?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115832210897645075/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115832210897645075' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115832210897645075'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115832210897645075'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/hotos03-notescheduling-and-simulation.html' title='(HotOS&apos;03 Note)Scheduling and Simulation: How to Upgrade Distributed Systems'/><author><name>Andy Yang</name><uri>http://www.blogger.com/profile/12163890391675011860</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115832103478709659</id><published>2006-09-15T19:50:00.000+08:00</published><updated>2006-09-15T20:28:09.286+08:00</updated><title type='text'>(HotOS'03 Note)TCP Meets Mobile Code</title><content type='html'>&lt;strong&gt;TCP Meets Mobile Code&lt;/strong&gt;&lt;br /&gt;&lt;em&gt;Parveen Patel, David Wetherall, Jay Lepreau and Andrew Whitaker&lt;/em&gt;&lt;br /&gt;HotOS 2003&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:宋体;"&gt;使用&lt;/span&gt;Mobile Code&lt;span style="font-family:宋体;"&gt;对&lt;/span&gt;TCP&lt;span style="font-family:宋体;"&gt;协议栈进行更新。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:宋体;"&gt;设计开发了&lt;/span&gt;XTCP&lt;span style="font-family:宋体;"&gt;，参看&lt;/span&gt;Patel (2003), Upgrading Transport Protocols using Untrusted Mobile Code, SOSP 2003.&lt;br /&gt;&lt;span style="font-family:宋体;"&gt;采用了类型安全的&lt;/span&gt;C&lt;span style="font-family:宋体;"&gt;语言扩展&lt;/span&gt;Cyclone&lt;span style="font-family:宋体;"&gt;。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:宋体;"&gt;关注：&lt;/span&gt;&lt;br /&gt;TCP rate equation [33]: J. Padhye et al. (1998), Modeling TCP Throughput: A Simple Model and its Empirical Validation, SIGCOMM 1998.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115832103478709659?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115832103478709659/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115832103478709659' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115832103478709659'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115832103478709659'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/hotos03-notetcp-meets-mobile-code.html' title='(HotOS&apos;03 Note)TCP Meets Mobile Code'/><author><name>Andy Yang</name><uri>http://www.blogger.com/profile/12163890391675011860</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115825255461514892</id><published>2006-09-15T00:40:00.000+08:00</published><updated>2006-09-15T00:49:15.020+08:00</updated><title type='text'>认识Monica S. Lam</title><content type='html'>&lt;span style="font-size:130%;"&gt;&lt;strong&gt;Monica S. Lam  林倩玲&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;Professor&lt;br /&gt;&lt;a href="http://www-cs.stanford.edu/"&gt;Computer Science Department&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.stanford.edu/"&gt;Stanford University&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Homepage: &lt;a href="http://suif.stanford.edu/~lam/"&gt;http://suif.stanford.edu/~lam/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color:#ff6600;"&gt;Prof. Lam是SUIF项目的leader，是Brian Schmidt(SunRay协议SLIM的开发者）和Jason Nieh（Thin-client大牛）的导师。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;span style="font-size:130%;"&gt;Biography (From her homepage)&lt;/span&gt;&lt;/strong&gt;&lt;br /&gt;Monica Lam received a B.Sc. from University of British Columbia in 1980 and a Ph.D. in Computer Science from Carnegie Mellon University in 1987. She joined the faculty of Computer Science at Stanford in 1988, where she is now a Professor. She has contributed to the research of a wide range of computer systems topics including compilers, program analysis, operating systems, security, computer architecture, and high-performance computing. Her recent research focus is to make computing and programming easier.&lt;br /&gt;In the &lt;span style="color:#000000;"&gt;Collective project&lt;/span&gt;, she and her research group developed the concept of a &lt;a href="http://www.moka5.com/"&gt;livePC&lt;/a&gt;: subscribers of the livePC will automatically run the latest of the published PC virtual images with each reboot. This approach allows computers to be managed scalably and securely. In 2005, the group started a company called &lt;a href="http://www.moka5.com/"&gt;moka5&lt;/a&gt; to transfer the technology to industry.&lt;br /&gt;In another research project, her program analysis group has developed a collection of tools for improving software security and reliability. They developed the first scalable context-sensitive inclusion-based pointer analysis and a freely available tool called BDDBDDB, that allows programmers to express context-sensitive analyses simply by writing Datalog queries. Other tools developed include Griffin, static and dynamic analysis for finding security vulnerabilities in Web applications such as SQL injection, a static and dynamic program query language called PQL, a static memory leak detector called Clouseau, a dynamic buffer overrun detector called CRED, and a dynamic error diagnosis tool called DIDUCE.&lt;br /&gt;Prof. Lam is working with Al Aho, Jeff Ullman, and Ravi Sethi on revising the Dragon book. The &lt;a href="http://wps.aw.com/aw_aho_compilers_2"&gt;new revision&lt;/a&gt; will be available September 2006.&lt;br /&gt;Previously, Prof. Lam led the SUIF (Stanford University Intermediate Format) Compiler project, which produced a widely used compiler infrastructure known for its locality optimizations and interprocedural parallelization. Many of the compiler techniques she developed have been adopted by the industry. Her other research projects included the architecture and compiler for the CMU Warp machine, a systolic array of VLIW processors, and the Stanford DASH distributed shared memory machine. In 1998, she took a sabbatical leave from Stanford to help start Tensilica Inc., a company that specializes in configurable processor cores.&lt;br /&gt;Prof. Lam is one of the top 50 most cited computer scientists in the world. She received the ACM Programming Language Design and Implementation Best Paper Award in 2004, an ACM SIGSOFT Distinguished Paper Award in 2002, the ACM Most Influential Programming Language Design and Implementation Paper Award in 2001, and an NSF Young Investigator award in 1992. She was the author of two of the papers in "20 Years of PLDI--a Selection (1979-1999)", and one paper in the "25 Years of the International Symposia on Computer Architecture", 1988.&lt;br /&gt;She chaired the ACM SIGPLAN Programming Languages Design and Implementation Conference in 2000, served on the Editorial Board of ACM Transactions on Computer Systems and numerous program committees for conferences on languages and compilers (PLDI, POPL), operating systems (SOSP), and computer architecture (ASPLOS, ISCA).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115825255461514892?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115825255461514892/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115825255461514892' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115825255461514892'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115825255461514892'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/monica-s-lam.html' title='认识Monica S. Lam'/><author><name>Andy Yang</name><uri>http://www.blogger.com/profile/12163890391675011860</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115824998770763338</id><published>2006-09-15T00:06:00.000+08:00</published><updated>2006-09-15T00:31:32.676+08:00</updated><title type='text'>第二次学术沙龙</title><content type='html'>&lt;span style="font-family:宋体;"&gt;今天晚上的第二次学术沙龙在&lt;/span&gt;BFT&lt;span style="font-family:宋体;"&gt;顺利举行，&lt;/span&gt;Andy&lt;span style="font-family:宋体;"&gt;、&lt;/span&gt;Brady&lt;span style="font-family:宋体;"&gt;、&lt;/span&gt;Vivian&lt;span style="font-family:宋体;"&gt;、&lt;/span&gt;Water&lt;span style="font-family:宋体;"&gt;参加。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Vivian&lt;span style="font-family:宋体;"&gt;报告了连续图像无损压缩领域的一些基本情况，做了一下科普。（其间被&lt;/span&gt;Andy&lt;span style="font-family:宋体;"&gt;打断若干次，很不好意思&lt;/span&gt;^_^&lt;span style="font-family:宋体;"&gt;）对于&lt;/span&gt;JPEG-LS&lt;span style="font-family:宋体;"&gt;等无损压缩算法的基本模式“建模－编码”进行了介绍，顺便普及了下熵、变换等概念。&lt;/span&gt;Vivian&lt;span style="font-family:宋体;"&gt;还简单介绍了&lt;/span&gt;Shannon&lt;span style="font-family:宋体;"&gt;编码、&lt;/span&gt;Huffman&lt;span style="font-family:宋体;"&gt;编码、&lt;/span&gt;Glomb&lt;span style="font-family:宋体;"&gt;编码等编码方案。&lt;/span&gt;Vivian&lt;span style="font-family:宋体;"&gt;后续会贴些文章列表上来。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Water&lt;span style="font-family:宋体;"&gt;介绍了一篇关于&lt;/span&gt;VGA BIOS&lt;span style="font-family:宋体;"&gt;方面的论文。大家对于&lt;/span&gt;VGA BIOS&lt;span style="font-family:宋体;"&gt;的基本情况有了初步了解。该论文基于&lt;/span&gt;x86emu&lt;span style="font-family:宋体;"&gt;项目，对&lt;/span&gt;VGA BIOS&lt;span style="font-family:宋体;"&gt;中使用&lt;/span&gt;legacy&lt;span style="font-family:宋体;"&gt;代码（&lt;/span&gt;INT&lt;span style="font-family:宋体;"&gt;调用）进行了支持，对大家很有启发。最为激动人心的是，&lt;/span&gt;Andy&lt;span style="font-family:宋体;"&gt;提出了在此基础上的一个新&lt;/span&gt;idea&lt;span style="font-family:宋体;"&gt;，大家都充满憧憬&lt;/span&gt;( Water&lt;span style="font-family:宋体;"&gt;后续会进行做一些调研工作，下次沙龙要进行报告。至于新&lt;/span&gt;idea&lt;span style="font-family:宋体;"&gt;，暂时保密，呵呵～～～&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Brady&lt;span style="font-family:宋体;"&gt;介绍了一篇名为&lt;/span&gt;Automatic Worm Fingerprinting&lt;span style="font-family:宋体;"&gt;的文章。普及了一下关于网络蠕虫的基本知识，介绍了作者的研究动机等。&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Andy&lt;span style="font-family:宋体;"&gt;就&lt;/span&gt;HotOS’03&lt;span style="font-family:宋体;"&gt;中&lt;/span&gt;Distributed System&lt;span style="font-family:宋体;"&gt;主题中的三篇文章进行了介绍。两篇都和系统升级有关，一篇是&lt;/span&gt;Monica Lam&lt;span style="font-family:宋体;"&gt;小组的工作&lt;/span&gt;Collective&lt;span style="font-family:宋体;"&gt;。&lt;/span&gt;Collective&lt;span style="font-family:宋体;"&gt;和目前&lt;/span&gt;Thin-client&lt;span style="font-family:宋体;"&gt;的研究动机有类似之处，后续我们会继续关注。&lt;/span&gt;Andy&lt;span style="font-family:宋体;"&gt;后续会把相关笔记贴上来。&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115824998770763338?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115824998770763338/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115824998770763338' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115824998770763338'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115824998770763338'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/blog-post_15.html' title='第二次学术沙龙'/><author><name>Andy Yang</name><uri>http://www.blogger.com/profile/12163890391675011860</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115821270318960114</id><published>2006-09-14T13:45:00.000+08:00</published><updated>2006-09-14T23:41:52.150+08:00</updated><title type='text'>(HotOS'03 Note)TCP Offload is a Dumb Idea Whose Time Has Come</title><content type='html'>&lt;strong&gt;TCP Offload is a Dumb Idea Whose Time Has Come&lt;/strong&gt;&lt;br /&gt;&lt;em&gt;Jeffrey C. Mogul&lt;/em&gt;&lt;br /&gt;HotOS 2003&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:宋体;"&gt;关于在&lt;/span&gt;NIC&lt;span style="font-family:宋体;"&gt;上实现&lt;/span&gt;TCP&lt;span style="font-family:宋体;"&gt;或者其它传输层协议的分析，即&lt;/span&gt;TOE&lt;span style="font-family:宋体;"&gt;（&lt;/span&gt;TCP Offload Engine&lt;span style="font-family:宋体;"&gt;）问题。&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:宋体;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:宋体;"&gt;作者分析了&lt;/span&gt;TOE&lt;span style="font-family:宋体;"&gt;在实践中不成功的原因。认为，对于&lt;/span&gt;HTTP&lt;span style="font-family:宋体;"&gt;这样常见的应用，存在大量短时间的链接，从&lt;/span&gt;TOE&lt;span style="font-family:宋体;"&gt;中获得的收益有限，尤其是在当前通用&lt;/span&gt;CPU&lt;span style="font-family:宋体;"&gt;速度快速提高的情形之下。&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:宋体;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:宋体;"&gt;作者认为对于网络存储等数据吞吐量特别大的应用，&lt;/span&gt;TOE&lt;span style="font-family:宋体;"&gt;还是有用武之地的。作者提出针对&lt;/span&gt;RDMA&lt;span style="font-family:宋体;"&gt;（&lt;/span&gt;Remote Direct Memory Access&lt;span style="font-family:宋体;"&gt;）应用&lt;/span&gt;TOE&lt;span style="font-family:宋体;"&gt;。&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:宋体;"&gt;&lt;/span&gt;&lt;br /&gt;RDMA&lt;span style="font-family:宋体;"&gt;是一个引起我关注的点，似乎和设备&lt;/span&gt;/&lt;span style="font-family:宋体;"&gt;总线映射问题相关。其中有一段话如下。&lt;/span&gt;Although much of the network on RDMA has focused on storage systems, high-bandwidth graphics applications (e.g. streaming HDTV videos) have similar characteristic. A video-on-demand connection might use RDMA both at the server (for access to the stored video) and at the client (for rendering the video).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:宋体;"&gt;另外，文章中对于协议栈中&lt;/span&gt;single-copy technique&lt;span style="font-family:宋体;"&gt;也进行了总结，有兴趣可以作为一个起点进行检索。例如：&lt;/span&gt;Dalton et al. (1995):　NIC Supporting a Single-copy Host OS Implementation of TCP&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115821270318960114?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115821270318960114/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115821270318960114' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115821270318960114'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115821270318960114'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/hotos03-notetcp-offload-is-dumb-idea.html' title='(HotOS&apos;03 Note)TCP Offload is a Dumb Idea Whose Time Has Come'/><author><name>Andy Yang</name><uri>http://www.blogger.com/profile/12163890391675011860</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115816755552318519</id><published>2006-09-14T01:12:00.001+08:00</published><updated>2006-09-14T13:02:20.900+08:00</updated><title type='text'>(HotOS'03 Note) Why Events are a Bad Idea</title><content type='html'>&lt;strong&gt;Why Events are a Bad Idea (for High-concurrency Servers)&lt;br /&gt;&lt;/strong&gt;&lt;em&gt;Rob von Behren et al.&lt;/em&gt;&lt;br /&gt;HotOS 2003&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:宋体;"&gt;作者认为对于高度并发的服务器应用，设计良好的线程模型要优于事件模型。其一个基本出发点是&lt;/span&gt;Lauer&lt;span style="font-family:宋体;"&gt;和&lt;/span&gt;Needham 1978&lt;span style="font-family:宋体;"&gt;年提出的&lt;/span&gt;essage-passing systems and process-based systems are duals.&lt;br /&gt;&lt;span style="font-family:宋体;"&gt;作者提出的对现有线程库的改进，主要是对合作式调度的有效支持，可以提高线程库在此应用中效率。（线程切换开销主要来源于：&lt;/span&gt;a. &lt;span style="font-family:宋体;"&gt;为抢占调度保存&lt;/span&gt;context&lt;span style="font-family:宋体;"&gt;；&lt;/span&gt;b. kernel crossing&lt;span style="font-family:宋体;"&gt;。这两点在合作式调度中都可以大大降低。）&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:宋体;"&gt;作者还强调了编译器和运行时环境结合的作用。通过编译器的全局分析等手段，可以对调度点、栈尺寸等提供优化。&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:宋体;"&gt;另外，高并发环境下栈分配的问题可能制约&lt;/span&gt;scalability&lt;span style="font-family:宋体;"&gt;，作者提出了动态栈分配、优化跨调度的栈尺寸等解决方法。这让我想起了&lt;/span&gt;Art of Computer Programming&lt;span style="font-family:宋体;"&gt;第一卷中&lt;/span&gt;Knuth&lt;span style="font-family:宋体;"&gt;对多个栈共享空间的分析。当时觉得只有&lt;/span&gt;MIX&lt;span style="font-family:宋体;"&gt;计算机会关注这个问题，现在看来当时的想法太幼稚了。&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115816755552318519?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115816755552318519/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115816755552318519' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115816755552318519'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115816755552318519'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/hotos03-note-why-events-are-bad-idea.html' title='(HotOS&apos;03 Note) Why Events are a Bad Idea'/><author><name>Andy Yang</name><uri>http://www.blogger.com/profile/12163890391675011860</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115816196632502644</id><published>2006-09-13T23:39:00.000+08:00</published><updated>2006-09-14T00:00:06.733+08:00</updated><title type='text'>系统阅读论文集，读什么？</title><content type='html'>最近花了不少时间系统地阅读SOSP、OSDI、HotOS等论文集，也引得Brady等人“蠢蠢欲动”，但是他们提出一个问题，读什么？和自己做的工作没有太大关系，还要读吗？我也再反思这个问题，花这么多时间是否值得？&lt;br /&gt;&lt;br /&gt;我觉得系统的阅读，不能仅仅抱着找和自己相关的方向和工作的目的，否则收获有限，还不如按照关键字检索，再参考reference按图索骥。&lt;br /&gt;&lt;br /&gt;这一段时间以来，系统阅读论文集我有几个收获。&lt;br /&gt;其一，走马观花地看看abstract，可以大约了解一下国际上大家都在忙活什么，即便仅仅整理一下index，也可以和大牛的名字混个面熟。例如，Alan Cox都听说过，但他的研究工作是什么，就是我在整理index时了解的。&lt;br /&gt;其二，大多数论文都有很好的introduction，可以帮助我们迅速的了解该领域的关键问题是什么，基本现状是什么，等等。而且，读得多了，很可能就传成了一条线，即便自己目前不做那个方向，了解一下也是非常必要得。例如，关于TCP改进的问题，有协议改进、协议栈升级、移动代码、内核扩展的安全性等等多个研究角度，对这些有一个基本的概念，非常有助于建立完整的、立体的研究视野。&lt;br /&gt;其三，很多论文的选题、研究方法等很好，对自己的研究方法能有所启发。例如，Google的关于GFS和MapReduce等文章，给我留下了很深刻的印象。&lt;br /&gt;其四，随着自己研究工作的深入，一些论文的观点和视角可以提供很好的思路，虽然别人的方向和角度不同，但能够给自己很多启发。例如，有一篇关于文件系统中cache策略的文章就给我了一些启发，他山之石，可以攻玉。其实很多研究工作就是在于“嫁接”不同领域、方向的方法、思想。&lt;br /&gt;&lt;br /&gt;当然，多读论文了解各个方向，对于选定研究方向是大有裨益的，建议师弟师妹们不要过早选定一个方向就钻进去，先多了解是非常必要的。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115816196632502644?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115816196632502644/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115816196632502644' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115816196632502644'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115816196632502644'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/blog-post.html' title='系统阅读论文集，读什么？'/><author><name>Andy Yang</name><uri>http://www.blogger.com/profile/12163890391675011860</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115806332640167839</id><published>2006-09-12T20:14:00.000+08:00</published><updated>2006-09-13T23:27:23.986+08:00</updated><title type='text'>HotOS 2003 -- Index</title><content type='html'>&lt;h3&gt;Workshop on Hot Topics in Operating Systems&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;HotOS 2003&lt;br /&gt;&lt;br /&gt;2003.5&lt;/b&gt;&lt;/p&gt;NOTE: This list contains links to articles that may be covered by copyright. Those articles are NOT provided here and you will got a "404 - Page not found" error if you click the links.&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;h3&gt;The Emperor's Clothes&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="01-blake.pdf"&gt;High Availability, Scalable Storage, Dynamic Peer Networks: Pick Two&lt;/a&gt;&lt;br /&gt;(&lt;a href="01-blake_talk.pdf"&gt;talk&lt;/a&gt;)&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;Charles Blake and Rodrigo Rodrigues, MIT Laboratory for Computer Science&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="02-gupta.pdf"&gt;One Hop Lookups for Peer-to-Peer Overlays&lt;/a&gt; (&lt;a href="02-gupta_talk.pdf"&gt;talk&lt;/a&gt;)&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Anjali Gupta, Barbara Liskov, and Rodrigo Rodrigues, MIT Laboratory for&lt;br /&gt;Computer Science&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="03-henson.pdf"&gt;An Analysis of Compare-by-hash&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Val Henson, Sun Microsystems&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="04-vonbehren.pdf"&gt;Why Events Are a Bad Idea (for High-Concurrency&lt;br /&gt;Servers)&lt;/a&gt; (&lt;a href="04-vonbehren_talk.pdf"&gt;talk&lt;/a&gt;)&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Rob von Behren, Jeremy Condit, and Eric Brewer, University of California at&lt;br /&gt;Berkeley&lt;/p&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;h3&gt;Popping &amp; Pushing the Stack&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="05-mogul.pdf"&gt;TCP Offload Is a Dumb Idea Whose Time Has Come&lt;/a&gt; (&lt;a href="05-mogul_talk.pdf"&gt;talk&lt;/a&gt;)&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Jeffrey C. Mogul, Hewlett Packard Laboratories&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="06-patel.pdf"&gt;TCP Meets Mobile Code&lt;/a&gt; (&lt;a href="06-patel_talk.pdf"&gt;talk&lt;/a&gt;)&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Parveen Patel, University of Utah; David Wetherall, University of Washington;&lt;br /&gt;Jay Lepreau, University of Utah; Andrew Whitaker, University of Washington&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="07-hu.pdf"&gt;Exploiting the Synergy between Peer-to-Peer and Mobile Ad&lt;br /&gt;Hoc Networks&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Y. Charlie Hu, Saumitra M. Das, and Himabindu Pucha, Purdue University&lt;/p&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;h3&gt;Distributed Systems&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="08-ajmani.pdf"&gt;Scheduling and Simulation: How to Upgrade Distributed&lt;br /&gt;Systems&lt;/a&gt; (&lt;a href="08-ajmani_talk.pdf"&gt;talk&lt;/a&gt;)&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Sameer Ajmani and Barbara Liskov, MIT Laboratory for Computer Science; Liuba&lt;br /&gt;Shrira, Brandeis University&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="09-agrawal.pdf"&gt;Development Tools for Distributed Applications&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Mukesh Agrawal and Srinivasan Seshan, Carnegie Mellon University&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="10-sapuntzakis.pdf"&gt;Virtual Appliances in the Collective: A Road to&lt;br /&gt;Hassle-Free Computing&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Constantine Sapuntzakis and Monica S. Lam, Stanford University&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="11-mislove.pdf"&gt;POST: A Secure, Resilient, Cooperative Messaging&lt;br /&gt;System&lt;/a&gt; (&lt;a href="11-mislove_talk.pdf"&gt;talk&lt;/a&gt;)&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Alan Mislove, Ansley Post, Charles Reis, Paul Willmann, Peter Druschel, and&lt;br /&gt;Dan S. Wallach, Rice University; Xavier Bonnaire, Pierre Sens, Jean-Michel Busca,&lt;br /&gt;and Luciana Arantes-Bezerra, Université Paris VI&lt;/p&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;h3&gt;When Things Go Wrong&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="12-candea.pdf"&gt;Crash-Only Software&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;George Candea and Armando Fox, Stanford University&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="13-junqueira.pdf"&gt;The Phoenix Recovery System: Rebuilding from the&lt;br /&gt;Ashes of an Internet Catastrophe&lt;/a&gt; (&lt;a href="13-junqueira_talk.pdf"&gt;talk&lt;/a&gt;)&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Flavio Junqueira, Ranjita Bhagwan, Keith Marzullo, Stefan Savage, and&lt;br /&gt;Geoffrey M. Voelker, University of California, San Diego&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="14-chenm.pdf"&gt;Using Runtime Paths for Macroanalysis&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Mike Chen, University of California, Berkeley; Emre Kiciman, Stanford&lt;br /&gt;University; Anthony Accardi, Tellme Networks; Armando Fox, Stanford University;&lt;br /&gt;Eric Brewer, University of California, Berkeley&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="15-barham.pdf"&gt;Magpie: Online Modelling and Performance-aware&lt;br /&gt;Systems&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Paul Barham, Rebecca Isaacs, Richard Mortier, and Dushyanth Narayanan,&lt;br /&gt;Microsoft Research Ltd, Cambridge, UK&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="16-redstone.pdf"&gt;Using Computers to Diagnose Computer Problems&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Joshua A. Redstone, Michael M. Swift, and Brian N. Bershad, University of&lt;br /&gt;Washington&lt;/p&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;h3&gt;Performance Optimization&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="17-fowler.pdf"&gt;Using Performance Reflection in Systems Software&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Robert Fowler and Alan Cox, Rice University; Sameh Elnikety and Willy&lt;br /&gt;Zwaenepoel, EPFL&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="18-rajagopalan.pdf"&gt;Cassyopia: Compiler Assisted System Optimization&lt;/a&gt;&lt;br /&gt;(&lt;a href="18-rajaopalan_talk.pdf"&gt;talk&lt;/a&gt;)&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Mohan Rajagopalan and Saumya K. Debray, University of Arizona; Matti A.&lt;br /&gt;Hiltunen and Richard D. Schlichting, AT&amp;T Labs—Research&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="19-purohit.pdf"&gt;Cosy: Develop in User-Land, Run in Kernel-Mode&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Amit Purohit, Charles P. Wright, Joseph Spadavecchia, and Erez Zadok, Stony&lt;br /&gt;Brook University&lt;/p&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;h3&gt;Storage 1&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="20-soules.pdf"&gt;Why Can't I Find My Files? New Methods for Automating&lt;br /&gt;Attribute Assignment&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Craig A. N. Soules and Gregory R. Ganger, Carnegie Mellon University&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="21-popescu.pdf"&gt;Secure Data Replication over Untrusted Hosts&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Bogdan C. Popescu, Bruno Crispo, and Andrew S. Tanenbaum, Vrije Universiteit&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="22-roscoe.pdf"&gt;Palimpsest: Soft-Capacity Storage for Planetary-Scale&lt;br /&gt;Services&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Timothy Roscoe, Intel Research at Berkeley; Steven Hand, University of&lt;br /&gt;Cambridge Computer Laboratory&lt;/p&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;h3&gt;Trusting Hardware&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="23-chenb.pdf"&gt;Certifying Program Execution with Secure Processors&lt;/a&gt;&lt;br /&gt;(&lt;a href="23-chenb_talk.pdf"&gt;talk&lt;/a&gt;)&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Benjie Chen and Robert Morris, MIT Laboratory for Computer Science&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="24-witchel.pdf"&gt;Hardware Works, Software Doesn't: Enforcing&lt;br /&gt;Modularity with Mondriaan Memory Protection&lt;/a&gt; (&lt;a href="24-witchel_talk.pdf"&gt;talk&lt;/a&gt;)&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Emmett Witchel and Krste Asanovic, MIT Laboratory for Computer Science&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="25-garfinkel.pdf"&gt;Flexible OS Support and Applications for Trusted&lt;br /&gt;Computing&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Tal Garfinkel, Mendel Rosenblum, and Dan Boneh, Stanford University&lt;/p&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;h3&gt;Pervasive Computing&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="26-dalton.pdf"&gt;Sensing User Intention and Context for Energy&lt;br /&gt;Management&lt;/a&gt; (&lt;a href="26-dalton_talk.pdf"&gt;talk&lt;/a&gt;)&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Angela B. Dalton and Carla S. Ellis, Duke University&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="27-hengartner.pdf"&gt;Access Control to Information in Pervasive&lt;br /&gt;Computing Environments&lt;/a&gt; (&lt;a href="27-hengartner_talk.pdf"&gt;talk&lt;/a&gt;)&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Urs Hengartner and Peter Steenkiste, Carnegie Mellon University&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="28-gruteser.pdf"&gt;Privacy-Aware Location Sensor Networks&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Marco Gruteser, Graham Schelle, Ashish Jain, Rick Han, and Dirk Grunwald,&lt;br /&gt;University of Colorado at Boulder&lt;/p&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;h3&gt;Storage 2&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="29-frolund.pdf"&gt;FAB: Enterprise Storage Systems on a Shoestring&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Svend Frølund, Arif Merchant, Yasushi Saito, Susan Spence, and Alistair&lt;br /&gt;Veitch, Hewlett-Packard Laboratories&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="30-ling.pdf"&gt;The Case for a Session State Storage Layer&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Benjamin C. Ling and Armando Fox, Stanford University&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="31-xu.pdf"&gt;Towards a Semantic-Aware File Store&lt;/a&gt; (&lt;a href="31-xu_talk.pdf"&gt;talk&lt;/a&gt;)&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Zhichen Xu and Magnus Karlsson, HP Laboratories; Chunqiang Tang, University&lt;br /&gt;of Rochester; Christos Karamanolis, HP Laboratories&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115806332640167839?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115806332640167839/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115806332640167839' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115806332640167839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115806332640167839'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/hotos-2003-index.html' title='HotOS 2003 -- Index'/><author><name>Andy Yang</name><uri>http://www.blogger.com/profile/12163890391675011860</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115806274623075683</id><published>2006-09-12T20:05:00.000+08:00</published><updated>2006-09-13T23:25:14.273+08:00</updated><title type='text'>HotOS 2005 -- Index</title><content type='html'>&lt;h3&gt;Workshop on Hot Topics in Operating Systems&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;b&gt;HotOS 2005&lt;br /&gt;&lt;br /&gt;2005.6&lt;/b&gt;&lt;/p&gt;NOTE: This list contains links to articles that may be covered by copyright. Those articles are NOT provided here and you will got a "404 - Page not found" error if you click the links. &lt;hr /&gt;&lt;br /&gt;&lt;h3&gt;Religious Wars&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="01-hand.pdf"&gt;Are Virtual Machine Monitors Microkernels Done Right?&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Steven Hand, Andrew Warfield, Keir Fraser, and Evangelos Kotsovinos,&lt;br /&gt;University of Cambridge Computer Laboratory; Dan Magenheimer, HP Labs&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="02-tuch.pdf"&gt;OS Verification—Now!&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Harvey Tuch, Gerwin Klein, and Gernot Heiser, National ICT Australia&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="03-cunningham.pdf"&gt;Making Events Less Slippery with eel&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Ryan Cunningham and Eddie Kohler, University of California, Los Angeles&lt;/p&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;h3&gt;Storage&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="04-warfield.pdf"&gt;Parallax: Managing Storage for a Million Machines&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Andrew Warfield, Russ Ross, Keir Fraser, Christian Limpach, and Steven Hand,&lt;br /&gt;University of Cambridge Computer Laboratory&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="05-stein.pdf"&gt;Stupid File Systems Are Better&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Lex Stein, Harvard University&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="06-papathanasiou.pdf"&gt;Aggressive Prefetching: An Idea Whose Time Has&lt;br /&gt;Come&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Athanasios E. Papathanasiou and Michael L. Scott, University of Rochester&lt;/p&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;h3&gt;Outside the Comfort Zone&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="07-shneidman.pdf"&gt;Why Markets Could (But Don't Currently) Solve&lt;br /&gt;Resource Allocation Problems in Systems&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Jeffrey Shneidman, Chaki Ng, and David C. Parkes, Harvard University; Alvin&lt;br /&gt;AuYoung, Alex C. Snoeren, and Amin Vahdat, University of California, San Diego;&lt;br /&gt;Brent Chun, Intel Research, Berkeley&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="08-mogul.pdf"&gt;Operating Systems Should Support Business Change&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Jeffrey C. Mogul, HP Labs&lt;/p&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;h3&gt;It's Not AI, It's Systems&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="09-karamanolis.pdf"&gt;Designing Controllable Computer Systems&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Christos Karamanolis, Magnus Karlsson, and Xiaoyun Zhu, Hewlett-Packard Labs&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="10-goldszmidt.pdf"&gt;Three Research Challenges at the Intersection of&lt;br /&gt;Machine Learning, Statistical Induction, and Systems&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Moises Goldszmidt and Ira Cohen, Hewlett-Packard Labs; Armando Fox and Steve&lt;br /&gt;Zhang, Stanford University&lt;/p&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;h3&gt;Cleaning Up the Mess We've Made&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="11-detreville.pdf"&gt;Making System Configuration More Declarative&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;John DeTreville, Microsoft Research&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="12-brown.pdf"&gt;Reducing the Cost of IT Operations—Is Automation&lt;br /&gt;Always the Answer?&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Aaron B. Brown and Joseph L. Hellerstein, IBM Thomas J. Watson Research&lt;br /&gt;Center&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="13-bianchini.pdf"&gt;Human-Aware Computer System Design&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Ricardo Bianchini, Richard P. Martin, Kiran Nagaraja, Thu D. Nguyen, and&lt;br /&gt;Fábio Oliveira, Rutgers University&lt;/p&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;h3&gt;Approaches to OS Research&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="14-brewer.pdf"&gt;Thirty Years Is Long Enough: Getting Beyond C&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Eric Brewer, Jeremy Condit, Bill McCloskey, and Feng Zhou, University of&lt;br /&gt;California, Berkeley&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="15-hunt.pdf"&gt;Broad New OS Research: Challenges and Opportunities&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Galen C. Hunt, James R. Larus, David Tarditi, and Ted Wobber, Microsoft&lt;br /&gt;Research&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="16-fiuczynski.pdf"&gt;patch (1) Considered Harmful&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Marc E. Fiuczynski, Princeton University; Robert Grimm, New York University;&lt;br /&gt;Yvonne Coady, University of Victoria; David Walker, Princeton University&lt;/p&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;h3&gt;Distribution&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="17-lin.pdf"&gt;WiDS: An Integrated Toolkit for Distributed System&lt;br /&gt;Development&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Shiding Lin, Aimin Pan, and Zheng Zhang, Microsoft Research Asia; Rui Guo,&lt;br /&gt;Beijing University of Aeronautics and Astronautics; Zhenyu Guo, Tsinghua&lt;br /&gt;University&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="18-chanda.pdf"&gt;Causeway: Operating System Support for Controlling&lt;br /&gt;and Analyzing the Execution of Distributed Programs&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Anupam Chanda, Khaled Elmeleegy, and Alan L. Cox, Rice University; Willy&lt;br /&gt;Zwaenepoel, EPFL, Lausanne&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="19-qin.pdf"&gt;Treating Bugs as Allergies: A Safe Method for Surviving&lt;br /&gt;Software Failures&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Feng Qin, Joseph Tucek, and Yuanyuan Zhou, University of Illinois,&lt;br /&gt;Urbana-Champaign&lt;/p&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;h3&gt;Security&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="20-garfinkel.pdf"&gt;When Virtual Is Harder than Real: Security&lt;br /&gt;Challenges in Virtual Machine Based Computing Environments&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Tal Garfinkel and Mendel Rosenblum, Stanford University&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="21-krohn.pdf"&gt;Make Least Privilege a Right (Not a Privilege) &lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Maxwell Krohn, Massachusetts Institute of Technology; Petros Efstathopoulos,&lt;br /&gt;University of California, Los Angeles; Cliff Frey and Frans Kaashoek,&lt;br /&gt;Massachusetts Institute of Technology; Eddie Kohler, University of California,&lt;br /&gt;Los Angeles; David Mazières, New York University; Robert Morris, Massachusetts&lt;br /&gt;Institute of Technology; Michelle Osborne, New York University; Steve&lt;br /&gt;VanDeBogart, University of California, Los Angeles; David Ziegler, Massachusetts&lt;br /&gt;Institute of Technology&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="22-abadi.pdf"&gt;Access Control in a World of Software Diversity&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Martin Abadi, University of California, Santa Cruz; Andrew Birrell and Ted&lt;br /&gt;Wobber, Microsoft Research&lt;/p&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;h3&gt;Sensor Nets&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="23-desnoyers.pdf"&gt;PRESTO: A Predictive Storage Architecture for&lt;br /&gt;Sensor Networks&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Peter Desnoyers, Deepak Ganesan, Huan Li, Ming Li, and Prashant Shenoy,&lt;br /&gt;University of Massachusetts, Amherst&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="24-culler.pdf"&gt;Towards a Sensor Network Architecture: Lowering the&lt;br /&gt;Waistline&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;David Culler, Prabal Dutta, Cheng Tien Ee, Rodrigo Fonseca, Jonathan Hui,&lt;br /&gt;Philip Levis, and Joseph Polastre, University of California, Berkeley; Scott&lt;br /&gt;Shenker, University of California, Berkeley, and ICSI; Ion Stoica and Gilman&lt;br /&gt;Tolle, University of California, Berkeley; Jerry Zhao, ICSI&lt;/p&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;&lt;h3&gt;Breakout Session&lt;/h3&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="25-green.pdf"&gt;Falling Off the Cliff: When Systems Go Nonlinear&lt;/a&gt; (&lt;i&gt;Green&lt;br /&gt;Team Paper&lt;/i&gt;)&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Yvonne Coady, Russ Cox, John DeTreville, Peter Druschel, Joseph Hellerstein,&lt;br /&gt;Andrew Hume, Kimberly Keeton, Thu Nguyen, Christopher Small, Lex Stein, and&lt;br /&gt;Andrew Warfield&lt;/p&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="26-red.pdf"&gt;The Many Faces of Systems Research—and How to Evaluate&lt;br /&gt;Them&lt;/a&gt; (&lt;i&gt;Red Team Paper&lt;/i&gt;)&lt;/p&gt;&lt;br /&gt;&lt;p&gt;Aaron B. Brown, Anupam Chanda, Rik Farrow, Alexandra Fedorova, Petros&lt;br /&gt;Maniatis, and Michael L. Scott&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115806274623075683?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115806274623075683/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115806274623075683' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115806274623075683'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115806274623075683'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/hotos-2005-index.html' title='HotOS 2005 -- Index'/><author><name>Andy Yang</name><uri>http://www.blogger.com/profile/12163890391675011860</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-34256609.post-115804661525035167</id><published>2006-09-12T15:32:00.000+08:00</published><updated>2006-09-12T15:36:55.256+08:00</updated><title type='text'>Open the door!</title><content type='html'>Open the door, and invite my good friends to here. (Not "open windows" :P)&lt;br /&gt;I wanna be an anti-tradition IT man, may be more conservative in another sense.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/34256609-115804661525035167?l=10nian.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://10nian.blogspot.com/feeds/115804661525035167/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=34256609&amp;postID=115804661525035167' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115804661525035167'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/34256609/posts/default/115804661525035167'/><link rel='alternate' type='text/html' href='http://10nian.blogspot.com/2006/09/open-door.html' title='Open the door!'/><author><name>Andy Yang</name><uri>http://www.blogger.com/profile/12163890391675011860</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry></feed>
