快吧电脑游戏运行库怎么安装安装不了

该楼层疑似违规已被系统折叠 

这個问题大家有出现过吗百度找了很多方法还是没解决...


你对这个回答的评价是

下载百喥知道APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案

8年经验者写C++(C++学习必看)8年经验鍺写C++(C++学习必看)8年经验者写C++(C++学习必看)8年经验者写C++(C++学习必看)

  本书从只有二十行的引导扇区代码出发一步一步地向读者呈现┅个操作系统框架的完成过程。书中不仅关注代码本身同时关注完成这些代码的思路和过程。本书不同于其他的理论型书籍而是提供給读者一个动手实践的路线图。读者可以根据路线图逐步完成各部分的功能从而避免了一开始就面对整个操作系统数万行代码时的迷茫囷挫败感。书中讲解了大量在开发操作系统中需注意的细节问题这些细节不仅能使读者更深刻地认识操作系统的核心原理,而且使整个開发过程少走弯路本书分上下两篇,共11章其中每一章都以前一章的工作成果为基础,实现一项新的功能而在章的内部,一项大的功能被分解成许多小的步骤通过完成每个小的步骤,读者可以不断获得阶段性的成果从而让整个开发过程变得轻松并且有趣。   本书適合各类程序员、程序开发爱好者阅读也可作为高等院校操作系统课程的实践参考书。 序   做真正 Hacker的乐趣──自己动手去实践   2004年峩听编辑说有个年轻人写了本《自己动手写操作系统》第一反应是不可能,恐怕是翻译稿写这种书籍是要考作者硬功夫的,不但需要罙入掌握操作系统的原理还需要实际动手写出原型。   历史上的 Linux就是这么产生的Linus Torvalds当时是一名赫尔辛基大学计算机科学系的二年级学苼,经常要用自己的电脑去访问大学主机上的新闻组和邮件为了方便读写和下载文件,他自己编写了磁盘驱动程序和文件系统这成为叻 Linux第一个内核的雏形。   我想中国有能力写出内核原型的程序员应该也有但把这个题目写成一本书,感觉上不会有人愿意做这件事情作者要花很多时间,加上主题比较硬销售量不会太高,经济上回报有限   但拿来文稿一看,整个编辑部大为惊艳内容文笔俱佳,而且绝对原创马上决定在《程序员》连载。2005年博文视点出版的第一版也广受好评   不过有很多读者还是质疑:现在软件编程主要領域是框架和应用,还需要了解操作系统底层吗   经过四年的磨练成长,于渊又拿出第二版的书稿《Orange'S:一个操作系统的实现》这本書是属于真正 Hacker的。我虽然已经有多年不写代码了但看这本书的时候,让我又重新感受到做程序员的乐趣:用代码建设属于自己的系统讓电脑听从自己的指令,对系统的每个部分都了如指掌   黑客(hacker)实际是褒义词,维基百科的解释是喜欢用智力通过创造性方法来挑戰脑力极限的人特别是他们所感兴趣的领域,例如软件编程或电气工程个人电脑、软件和互联网等划时代的产品都是黑客创造出来的,如苹果的 Apple电脑、微软的 Basic解释器、互联网的 Mosaic浏览器   回答前面读者的质疑,学软件编程并不需要看这本书想成为优秀程序员和黑客嘚朋友,我强烈建议你花时间来阅读这本书并亲自动手实践。正如于渊在本书结尾中所说“我们写自己的操作系统是出于一种好奇或鍺说一种求知欲。我希望这样不停地‘过把瘾’能让这种好奇不停地延续”   好奇心是动力的源泉,追究问题的本质是优秀黑客的必備素质只有充分掌握了系统原理,才能在技术上游刃有余才能有真正的创新和发展。中国需要更多真正的黑客也希望更多的程序员能享受属于黑客的创造乐趣。   蒋涛   2009年 4月 作者自序   本书是《自己动手写操作系统》的第二版通过一个具体的实例向读者呈现┅个操作系统雏形的实现过程。有关操作系统的书籍资料可以找到很多但是关注如何帮助读者实现一个试验性操作系统的书籍却不多见,本书便是从一个简单的引导扇区开始讲述一个操作系统成长的故事,以作读者参考之用   本书面向实践,通过具体实例教读者开發自己的操作系统书中的步骤遵循由小到大、由浅入深的顺序,跟随这些步骤读者可以由一个最简单的引导扇区开始,逐渐完善代码扩充功能,最后形成一个小的操作系统   本书不仅介绍操作系统的各要素,同时涉及开发操作系统需要的各个方面比如如何建立開发环境、如何调试以及如何在虚拟机中运行等。书中的实例操作系统采用IA32作为默认平台所以保护模式也作为必备知识储备收入书中,洏这是传统的操作系统实践书籍经常忽略的总之,只要是开发自己的操作系统中需要的知识书中都尽量涉及,以便于读者参考   眾所周知,一个成型的操作系统往往非常复杂如果考虑到操作系统作为软硬件桥梁的特殊地位,那么它可能看上去比一般的软件系统更難理解因为其核心部分往往包含许多直接针对CPU、内存和 I/O端口的操作,它们夹杂在一片代码汪洋之中显得更加晦涩。   我们有许多源玳码公开的操作系统可供随时下载和阅读,看上去好像让实现一个供自己把玩的微型操作系统变得容易很多但事实往往不尽人意,因為这些代码动辄上万甚至几十几百万行而且细节之间经常互相关联,要理解它们着实不易我们有许多容易得到的操作系统教程,但读來好像总觉得跟我们有隔膜不亲近。造成这些的根本原因在于学习者一开始就面对一个完整的操作系统,或者面对前辈们积累了几十姩的一系列理论成果而无论作者多么擅长写作,读者多么聪明或者代码多么优秀,要一个初学者理清其中的头绪都将是非常困难的   我并非在此危言耸听,因为这曾经是我的亲身体会当然,如果只是为了考试几本操作系统理论书籍就足够了,你不需要对细节那麼清楚但如果是出于兴趣呢?如果你是想编写自己的操作系统呢你会发现理论书籍好像一下子变得无用武之地,你会发现任何一个细節上的理解错误都可能导致自己辛辛苦苦编写的代码运行异常甚至崩溃   我经历过这一切!我曾经翻遍了一本《操作系统:设计与实現》,也没有找到实现一个操作系统应该从何处着手并不是这些书不好,也不是前人的代码不优秀而是作为一无所知的初学者,我们所不了解的不仅是高居庙堂的理论知识还有让我们举步维艰的实践细节。   可能在这些教科书作者的眼里操作的细节不属于课程的┅部分,或者这些细节看上去太容易根本不值一提,甚至作者认为这些属于所谓“经验”的一部分约定俗成是由读者本人去摸索的。泹是实际情况往往是这些书中忽略掉的内容恰恰占去了一个初学者大部分的时间,甚至影响了学习的热情   我至今仍记得当我开始編写自己的操作系统时所遭受的挫败感,那是一种不知道如何着手的无助的感觉还好我坚持了下来,克服了各种困难并完成了自己的操作系统雏形。   进而我想到一定不只是我一个人对编写自己的操作系统怀有兴趣,也一定不只是我一个人在实践时遇到困难或许峩应该把自己的经历写下来,从而可以帮助跟我相似的后来者就这样,我编写了本书的第一版也就是《自己动手写操作系统》。我相信如果你也对神奇的计算机世界充满好奇,并且希望通过自己编写操作系统的方式来了解背后发生的故事那么你一定可以在这本书中嘚到一些帮助。而假如你真的因为我的书而重新燃起实践的热情从而开始一段操作系统旅程,我将会感到非常高兴   不过我得坦白,在写作《自己动手写操作系统》的时候我并不敢期待它能引起多少反响,一方面因为操作系统并不是时尚的话题另一方面我也是走茬学习的路上,或许只是比读者早走了一小步而已然而出乎我的意料,它面世后重印多次甚至一度登上销量排行榜的榜首,这让我觉嘚它的确有一定的参考价值我要借此机会感谢所有支持我的读者。   在我写作《自己动手写操作系统》的时候并没有想过今天会有┅个第二版。原因在于我希望这本书是用来填补空白的,而不是重复去做别人已经做得很好的事情所谓填补空白,具体说就是让像我┅样的操作系统爱好者在读完本书之后能够有信心去读其他比较流行的开源的操作系统代码,有能力从零开始自己动手写操作系统而這个任务第一版已经完成了。   那么为什么我又写作了第二版呢原因有几个方面。第一虽然第一版未曾涉及的进程间通信、文件系統等内容在许多书中都有讲解,但阅读的时候还是感觉有语焉不详的通病作者本人可能很清楚原委,但写得太简略以至于读者看来未必清晰。第二我自己想把这个圈画圆。第一版的书虽然完成了它的使命但毕竟到书的结尾,读者看到的不是一个真正的操作系统它沒有文件系统,没有内存管理什么也干不了。在第二版中你将会看到,你已经可以通过交叉编译的方式为我们的实验性 OS编写应用程序叻也就是说,它已经具备操作系统的基本功能虽然仍然极其简陋,但第一个圈毕竟是已经圆起来了。第三实践类的操作系统书籍還是太少了,以至于你要想看看别人是怎么做的除了读以《操作系统:设计与实现》为代表的极少数书籍之外,就是一头扎进源代码中而结果有时相当令人气馁。我自己也气馁过所以我在第二版中,仍然试图把话说细一点把自己的经验拿出来分享。而且我选择我能想到的最精简的设计以便让读者不至于陷入太多细节而无法看到全貌。我想这是本书可能具有的价值所在──简化的易懂的设计还有盡量详细的文字。   在这一版中内容被划分成上下两篇。上篇基本上是第一版的修订只是做了一个调整,那便是在兼顾 Windows和Linux两方面用戶的基础上默认在Linux下建立开发环境来编写我们的操作系统。至于这样做的原因在本书第 2章有比较详细的说明。当然开发环境毕竟是苐二位的,书中讲述的内容以及涉及的代码跟第一版都是一致的本书的下篇全部都是新鲜内容,主要是增加了进程间通信、文件系统和內存管理跟第一版的做法相同,下篇仍然不仅关注结果更加致力于将形成一个结果的过程呈现出来。与此同时由于本书旨在分享和引路,所以尽可能地简化了设计以便将最重要的部分凸显出来。读者将看到一个操作系统的文件系统和内存管理可以简陋到什么程度。简陋不是缺点对于我们初学者而言,正是需要从简陋入手换言之,如果你已经对实现一个操作系统有了一定的经验那么这本书可能不适合你。这本书适合从来没有编写过操作系统的初学者   本书的排版是我用L ATEX自己完成的。在排版中我花了一些工夫因为我希望讀者购买的首先是一本易于阅读且赏心悦目的书,其次才是编写操作系统的方法另外,书中列出的代码均由我自己编写的程序自动嵌入L ATEX源文件从而严格保证书和光盘的一致性,读者可以根据文件名和行号方便地找到光盘中   代码的准确位置   此外,在第二版中还囿一些小的变化首先是操作系统的名字改变了,原因在于虽然我们的试验性   OS从前辈们那里借鉴了很多东西但其各个部分的设计(仳如文件系统和内存管理)往往有其独特之处,所以我将原先的 Tinix(本意为 TryMinix)改成了新名字Orange ’S(这个名字来自于我的妻子 ,)以表示它们的鈈同。另外书中的代码风格,有些地方也做了调整   我想,虽然第二版有着这样那样的变化但有一点没有变,那就是本书试图将峩在编写自己操作系统的过程中的经验尽可能地告诉读者同时尽可能将我当初的思路和编码过程呈现出来。很可能读者比我更聪明有哽好的解决问题的方法,但无论如何我认为我自己的经验可以为读者所借鉴。如果真是如   此我将会非常欣慰。   在第二版的编寫过程中我同样要感谢许多人。感谢我的父母和爷爷对我的爱并希望爷爷不要为我担心,写书是件辛苦的事但同时也使我收获良多。爸爸在第二版的最后阶段帮我订正文字这本书里有你的功劳。我要感谢博文视点的各位朋友感谢郭老师的理解和支持,感谢李玲的辛勤工作感谢江立和李冰,你们的高效让我非常钦佩我还要感谢孟岩老师,你给我的鼓励我一直记在心里我要感谢我的挚友郭洪桥,不仅仅因为你在技术上给我的帮助更加因为你在精神上给我的支持。感谢我的同事和朋友张会昌你在技术上的广度和深度总令我钦佩。另外在第一版中帮助我的人,我要再次谢谢你们因为没有第一版,也就没有第二版   在所有人中我最应该感谢和最想感谢的,是我的妻子黄丹红感谢你给我的所有建议,还有你帮我画的图尤其是,当这本书在我预想的时间内没有完成的时候当我遇到困难遲迟不能解决的时候,你总在一旁给我鼓励在你那里,我从来都能感觉到一种温暖我深知,如果没有你的支持我无法坚持下来将书寫完。谢谢你这本书同样属于你。   跟第一版相比这本书涉及的内容触及操作系统设计的更多方面,而由于笔者的水平实在有限難免有纰漏甚至错误。如果读者有任何的问题、意见或建议请登录) 所在的主机上,所架设 Web Server不是 Apache也不是 ISP,它的客户数量自然不在话下夶家可以想想它的首页每天会有多少人去存取阿!一旦,它的首页挂了那个损失可能可以媲美台湾停电时,晶圆厂的损失由此可见 AOL Server 有哆麽稳定了!想知道 AOL Server 可以承受多大的负载而不致crash吗?根据AOL自身的经验这个答案是 28,000 hits/sec 是的!!每秒二万八千个hits! AOL Server由来 其实AOL Server 原先并非由 AOL 所发展。所以他开始时也不是叫 AOL Server。大约在 1994 年时在美国加州的圣芭芭拉市,两位 Unix 的高手Jim Davidson 及 Doug McKee, 设计了一个 Web 出版系统其中一部分是一个所见即所得的网页编辑程序,叫做 NaviPress而他们所成立的 NaviSoft 公司,希望更进一步的提供整个站点的管理功能而不单单仅是网页的撰写。他们希望让制莋好的网页可以很方便的就放到站点上面所以他们就发展了自己的Web Server,名称就是 Navi Server这是一个非常成功的产品,还赢得当时许多著名杂?的獎项 後来,NaviSoft被AOL 给买了下来这个Navi Server 自然就成了 AOL 的产品之一,然後就更名为 AOL 本身的架构上特别有针对一些传统Web Server会遇到的问题经过修改。 一般网页可以分为两类静态网页与动态网页。所谓的静态网页就是一般以档案方式存在的网页,当 client 端要求的是一个静态网页时,Server 仅需將该网页传回给 client 即可动态网页则是需要 Server 进行一些特殊的动作,可能是去执行一个执行档或是直接去存取数据库,也可能是启动 Server 内建的機制来完成 client 的需求早期最常见的技术就是 CGI,SSI後来就演变成为 Server Scripting,如内嵌的 Perl modulePHP,Microsoft 的 ASP 等而且,越来越多的应用都需要让 Server 能以动态方式存取數据库的内容来产生网页 早期的 CGI 方式产生的动态网页,有个为人诟病的地方就是每个 CGI 程序都是独立的process ,所以一旦 client 的 hit 数量变多process 的建立與删除就会变得十分频繁。这对操作系统来说可不是件好事。甚至可说是对操作系统稳定性的严苛测试(笔者确实遇过有公司直接问哪個操作系统与Web Server 的搭配可以同时承受最多数目的 CGI request) 所以,我们可以想见问题就是在於大量动态页面的 request 对 Server所造成的影响特别是每个动态页媔又有各自存取数据库的动作。不幸的是这正是绝大多数商业站点的要作的事情。AOL Server 在这一方面的设计主要是它有自己内建的 Script language 。并且提供 pool 的方式与数据库进行连结 内建 Script language 的好处在於不需要启动额外的 process 来执行程序,直接启动内建的 Script Interpreter 就可以进行动态网页的产生这对於系统的穩定还有网页产生的效能上有非常大的帮助。 pool 的优点与内建 script language 其实有异曲同工之妙因为建立 database connection 也是操作系统的一大负担。甚至比建立 process 的负担還要来的大而传统的方式则是每个 CGI程序内部都需要独立的 database connection 来进行数据库存取。pool 的功能就是将需要进行的 database 存取工作通通收集在一起然後透过之前已经建立好固定数目的 database connection 来进行存取。所以无论程序或是request 的数目有多少database connection 的数量永远都不会改变,也不需要一再重复开启与关闭的動作这对於服务器或是 database language 不是别人,正是鼎鼎大名的 Tcl一方面是因为 Tcl 也是 Open source 的,另一方面是因为 Tcl 极为容易嵌入在别的软件内特别是它的直譯器效能很好,而且内建的 I/O 机制效能奇高所以被当初的 NaviSoft 相中,将其加入至Navi Server 中而成为预设的 Script Language。这对於像我这些 Tcl/Tk 的爱好者而言AOL Server 可以说是峩们的天堂阿!因为,连 AOL Server 的 config 档也是使用 Tcl 语言所以对於一个 Tcl 的爱好者而言,要学会 AOL Server 根本就不必费什麽功夫 AOL Server 也不仅将 Tcl 嵌入而已,他还做了┅些补强特别是 AOL Server 提供了一种特殊的网页格式,称为 AOLserver Dynamic Pages (ADPs)原则上,ADPs 与 PHP 及 ASP 的格式十分相似差别就在於 ADPs 使用的 Tcl 语法。他们使用的标签符号也都昰〈% ... %〉 是不是很类似呢? 数据库的支援 AOL Server 本身有特别支援一些数据库所以这些数据库搭配上 AOL Server 将会有很好的表现。这些数据库分别是 Interbase MySQL Oracle Postgres SOLID 幾个主要 Unix 上可见的数据库AOL Server 都已经有涵盖到。而且AOL Server 本身也提供对於数据库的标准界面,有兴趣的个人或是厂商可以自行开发可供 AOL Server 使用的數据库驱动程序所以在数据库的扩充性上,AOL Server 表现的无懈可击 结语 AOL Server 对於想要拥有超高稳定度,高效能高扩充性 Web Server 的人而言,是一个非常具有吸引力的软件如果你又是 Tcl 的爱用者,那你更没有理由不用它来架设你自己的站点了对於企业的 MIS 而言,AOL Server 值得好好的 survey 一番他既然能滿足美国第一大 ISP 的需求,我想没有什麽公司的站点是它处理不了的了!

我要回帖

更多关于 电脑游戏运行库怎么安装 的文章

 

随机推荐