Linux学习高手写给初学者的经验谈

2008-04-01 15:02

现在好多的人开始接触电脑的时候,见到的应该是Windows98说实话,98 已经是一个很人性化,封装的很好的一个系统了一个对电脑一窍不通的人都能很快的使用它。这样很多人对 "电脑"的印象和那些和我一样一开始接触的是DOS人是绝然不同的。在DOS时代,如果你对电脑的基础知识不懂的话是玩不动它的,不像现在好多人CPU是什么都不知道,却能够是Flash 高手,倾倒MM无数。如果你是这样的人,你要学Linux,你有一段回头路要走,为什么,看下去。 我们先看看MS操作系统的发展,他有两套内核MSDOS--->DOS+Win3.2-->Win9X /   --->WinXP WindowsNT3.1---NT4.0-->Win2000 /    他的发展是从DOS这个纯字符界面的系统发展到一个由字符界面的内核加上一个图像界面的应用程序(Win3.2)再到结合把两个合为一体的Win95,到现在再并上一开始就是图形界面的NT成为   WindowsXP,他未来的野心就是并上internet成为 .net现在我们来看LinuxLinux只是个内核!这点很重要,你必须理解这一点。    只有一个内核是不能构成一个操作系统的。现在的linux操作系统如redhat,蓝点,红旗等,都是用这么一个内核,加上其它的用程序(包括X)构成的。任何一个叫做操作系统的东西都是这样子构成的:内核+用户界面+一般应用程序。   现在我就拿MS的系统和linux的系统的互相对应来让大家更多的认识Linux如果你装过DOS,那你一定知道安装完成之后整个硬盘是这样根目录下有io.sys msdos.sys command.com config.sys autoexec.bat5个文件,以及C:/dos这个目录,很简单。其中io.sysmsdos.sys就是系统的内核,command.com是用户界面(shell)config.sysautoexec.bat是配置文件,C:/DOS目录下面的是一般应用程序系统启动时首先装入io.sys,再根据配置文件的设置装入msdos.syscommand.com,然后就出现提示符,现在你就能输入命令了。如copy c:/aaa.txt d:/aaa.txt 来拷贝文件。也你能够使用C:/dos目录下的一些应用程序来完成工作,如用edit编辑文件,用Qbasicbasic程序。   接下去你安装了一个叫做Foxpro2.6的程序,这个程序可以让你做一些数据库方面的工作,然后你在安装了一个叫做windows3.2中文版的程序,这个程序可厉害了,你现在不用在命令行下打命令了,可以用鼠标来操作了,打开文件管理器,打开C 再打开另一个窗口D,用鼠标一拉就能完成copy c:/aaa.txt d:/aaa.txt这个命令,你只是动了几次食指和现在在windows98下没么两样。    OKgoto linux安装好linux之后根目录下有bootbinsbinetcusr/bin,等几个目录    boot下有vmlinuz这个文件,这个就是内核,就是目前世界上最厉害的黑客linus带头写的那个东东。    bin下有sh,这个就是shell==command.com,用户界面)因为UNIX系统是没有内部命令这个说法的,准确地说/bin+/sbin == Command.com/etc == config.sys + msdos.sys剩下/usr/bin == c:/dos   当然。因为LinuxDos庞大得多,所以,reahat和红旗或者有不同的安排方法,各种目录下的东西并不规则。linux的启动同样是装载vmlinuxz,然后装载sh(或者其他的shell,如bash),出来提示符。现在你同样能输入命令了。如cp /aaa.txt /tmp/aaa.txt。同样可以用vi编辑文件,用gcc编译程序   接下去你安装了一个叫做MySQL的程序,这个程序可以让你做一些数据库方面的工作,然后你再安装了一个叫做kde4.0的程序,这个程序可厉害了,你现在不用在命令行下打命令了,可以用鼠标来操作了,打开文件管理器,打开/ 再打开另一个窗口/tmp,用鼠标一拉就能完成cp /aaa.txt /tmp/aaa.txt这个命令,你只是动了几次食指和现在在windows98下没什么两样   看到这里希望你明白我为什么说你在走回头路,因为目前的Linux操作系统==MSWin3.2MS系统已经走过了9X,现在是XP了,整整落后了两代。当然,这是从用户界面上来说的,但也恰恰是很多人装个Linux之后就是在Xkde上搞东搞西,而其它的什么都搞不起来,为什么搞不起来因为你没搞过DOS,你根本就不知道系统还可以有这样的搞法。你一开始接触的就是98,电脑给你的感觉就是用鼠标来操作的东西,你认为同样是操作系统,Linux也应该是这样的东西。你根本就没有想过你一直以为你在玩的是Linux,但实际上你玩的只不过是一个运行在Linux系统上的程序而已。因此很多人装完搞了几天说,靠,Linux不过如此。这话可以说对也可以说不对Linux嘛,你都还没见到是什么样子,你有什么资格说它怎样呢?但kde嘛,就真的确实不过如此,你用过98吧,现在你去用用3.2看看,你有什么感觉?从稳定性来说,我不拿98比了,拿95,如果同样的工作,95一天崩溃1次的话,那X会崩溃10次,如果是2000的话,2000一天崩溃1次,X会崩溃100次。和3.2是差不多的。但为什么还是会听说比如某些好莱坞的电影特技是在Linux上完成的呢?为了出席一次重要宴会,你可以去买一套名牌西装,也可以去订做一套,订做的当然更加合身更加好看,但价格也更贵,工作量也更大名牌西装==Windows系统定做西装==Linux系统+修改系统内核+修改X代码+修改kde代码+专门写的特技软件你现在装的那套西装是街边货,也就是reahat服装厂为了适应全世界所有人的身材批量生产的东东。 明白了吧?如果你明白,那你也就明白了LinuxWindow好的一个方面了,我也就不用废话,那么为什么Linux往往会和黑客撤上关系呢?记得我看过一本书这么写,"Linux是由一个叫linus的黑客及互联网上很多的黑客共同编写而成"。所以,一个由黑客写成的系统怎么会和黑客没有关系呢?当然这个黑客的定义和现在很多中国人心中的"黑客"的定义是绝然不同的前者是几乎从未入侵过其他系统,而后者是入侵过就是了。   如果你是一个美术工作者,你也是几乎除了睡觉就在用电脑,你时时都开着photoShop在那里搞啊搞,在美术这个行业,你也算得上是这个行业里的高手了。但你根本就不关心你所做的,电脑里面到底是怎么帮你完成的。电脑不过是你创作的一个工具。就像音乐是很多人喜欢听的,但你根本不关心你所听到的音乐,她从原来歌星嘴里发出来到被你来欣赏,她到底是怎么个回事。但对一HIFI发烧友而言,她关心的就只是这些。现在回到我刚刚说到了copy命令,对于一个黑客而言,她根本不关心aaa.txt这个文件里面的内容,她关心的是从C:/aaa.txtd:/aaa.txt这个过程中,电脑它到底干了什么?现在我问一下正在看这个帖子的人:把一个文件从一个地方拷贝到另一个地方这个事情你肯定是做过的对吧?但当你这样做的时候,你是否有想过电脑内部它是怎样来完成你的这个操作的呢?如果你的回答是:哎呀,我倒真的从未想过耶~~那么,你根本没有黑客的天分,你还是到轻松一刻混比较有前途。   寻根问底是黑客的天性,在这点上,Linux可以满足,但windows不能,你在dos上按下copy C:/aaa.txt d:/aaa.txt。复制的任务是完成了,但电脑作了什么你知道么?你只能根据你的经验的积累,大概的判断系统怎么完成,在你没看过copy的源代码之前你根本没法确定你的判断是否正确的。但UNIXcp的源代码基本上是随手就能拿到。   TCP/ip方面,linxu可以让你一杆子捅到内核中去,但windows你只能捅到winsockapache和系统的具体交流你可以一清二楚,但IIS和系统的交流你却不可能知道Linux和黑客的关系是在这里,和入侵是一点关系都没有的。很多远程漏洞的攻击程序是要在unix系统上编译的这没错,但是那些程序本来的意义就是举个例子让你看好过说,你看得懂的话,改一改在Win上同样可以编译。   UNIXWindows相比有太多的优点,也有太多值得你去弄的地方,只是我说不出来就像你深爱一个人的时候,你根本没法说出你爱他什么,她有什么地方值得你去爱但,Windows不是垃圾,绝对不是,作为一个工具来使用,她比UNIX好上几百倍似乎你现在都该明白为何很多远程漏洞的攻击程序是以unix的习惯写的,因为能够发现这个漏洞,说明他对系统相当的熟悉,而且是UNIX让他对系统相当的熟悉,他不自觉地就是用了UNIX的那一套,不过,它的这些代码却很大的可能是用UltraEditwindows系统下敲的。   好像跑题了,我说要给想学Linux(UNIX)的朋友的一点建议,但却说了这样的话,   但我觉得没有跑题,我希望你看到这里已经能够知道我要给你的建议是什么了。  1.根据你目前的水平,确定Linux对你的意义有多大。   2.确定你玩的是Linux而不是X  3.X系统卸了,剩下的空间装上源代码4.不要用rpm -i的方式安装程序,用自己编译的方法    5.找个合用的telnet软件,我推荐SecureCRT.   6.如果你只有一台电脑,安装Vmware.用这个方式来接触UNIX  
7.
再看一下帖子,自己再一次体会我帖子中暗藏的建议   8.在学习Linux的过程中的,把被linux玩的经验记下来   9.在玩linux的过程中,把linux怎么被你玩的趣事记下来

嵌入式Linux开发简介

2008-04-03 18:26

嵌入式系统是以应用为中心,以计算机技术为基础、软硬件均可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。其发展已有二十多年的历史,国际上也出现了一些著名的嵌入式操作系统,如VxWorksPalm OSWindows CE等等,但这些操作系统均属于商品化产品,价格昂贵且由于源代码不公开导致了诸如对设备的支持 ,应用软件的移植等一系列的问题。而Linux作为一种优秀的Free OS,近几年在嵌入式领域异军突起,成为了最有潜力的嵌入式操作系统。   嵌入式Linux融合了嵌入式和Linux的特点,其开发与一般的应用程序开发相比有着自己的特点,下面简要的介绍一下嵌入式Linux开发的一般过程。   了解硬件是首要的一步,这是嵌入式开发的特点决定的。了解硬件指的是了解整个硬件,判断硬件对于当前的应用来说是否合适。嵌入式系统中需要使用到CPU和各种外围设备,由此需要收集相关硬件的资料,包括CPU,芯片手册和各种外围设备的手册以及相关的各种电路图等,并对整体系统有较深入的了解。   了解硬件后,下一步就该准备需要使用的Linux工具以及其他工具,这些工具包括:针对所用CPU的编译器/汇编器/连接器,相应的库工具,目标文件分析/管理工具,符号查看器等等。幸运的是,由于Linux的开放性,针对不同目标平台的Linux工具都可在网上免费得到,绝大部分的这些工具都由GNU提供。所需要的其他工具还包括硬件厂商提供给公司的工具,如编程器,下载工具和查错器等等。所有这些工具对以后的开发、调试等都可说是必不可少的。   做好以上的准备工作后,就要进入实质性的工作阶段了。首先需要安排内存地址,如SDRAM的内存地址,Flash的内存地址等,这需要与实际应用和硬件状况相结合来考虑,要根据硬件的限制以及实际应用的需要对内存地址进行合理的安排,同时要注意内存地址的安排要具有一定的伸缩性,以便于将来需要改动时所做的变动达到最小。一般来说,嵌入式Linux的内存地址安排体现在连接脚本当中。   接着就该进入编写启动代码和机器相关代码阶段了。各种不同目标系统,甚至相同目标系统的启动代码和机器相关代码也是不相同的。启动代码一般需要完成硬件初始化,装载内核及安装根文件系统以及开始内核执行的工作,不同目标平台的启动代码一般可通过参考Linux下已有的启动代码和相关CPU的手册进行编写。   启动代码和机器相关代码编程完成并可以启动系统后,下一步就可以开始驱动程序的编写了。Linux编写驱动程序与一般情况下编写驱动程序并没有太大的区别,都需要对相关的硬件作出了解,同时需要遵循Linux编写驱动程序的一些规则进行,编写完一个驱动程序后,一般就写一个相应的测试程序已便随时进行测试。Linux下各种不同类型的设备都有相当多的驱动程序源码可以参考,因此实际编写时更多的时间是花在对特定硬件特性的熟悉上。   除了以上提到的这些步骤外,进行实际开发时,很多时候还要进行库(这里所提到的库均指C库),GUI和系统程序的移植。这是因为嵌入式Linux中所用的库一般不能直接使用标准库,而需要进行精简,虽然已有些精简的C库如uClibc等可供使用,但还是需要经常对其进行修改。嵌入式Linux常用的GUIMicrowindows,MiniGUIQT/Embedded,TinyX等等,各自均有其使用的场合,所针对的目标平台和应用层次也不一样,必须根据实际需要进行选择。系统程序如mount,ls等等有些是应用时所必须的,有些则是进行调试时所需要的,初始时则需要一些通用的系统程序即可。

嵌入式系统开发,为什么选择Linux

2008-04-03 18:35

在过去的十年中,嵌入式系统的开发发生了很大的变化。以前嵌入式设备往往是一个孤立的、资源有限的系统,它们追求的是在有限的价格上满足一定的功能性要求。通常它们采用那些功能并不强大的CPU,这也是开发者不得不尽可能地压缩嵌入式系统性能的原因。而今天人们对嵌入式设备在智能化和互连性上提出了要求,这使得嵌入式设备不再是孤立的,他们要通过互联网、无线或是其他的方式实现相互连接,同时它们也是软件生态系统(software ecosystem)的一部分。最初的嵌入式设备是单一用途的,它们拥有各自独特的显示方式和用户界面;而今天它们变成了我称之为等同PC”的系统。它们必须运行很多相同的应用程序,它们需要采用相同的方式实现互连或是在某些情况下增强互连性。因此你可以看到在传统的实时操作系统(RTOS)之上建立应用程序的必要性。作为内部开发(in-house developed)操作系统的替代方式,RTOS的出现使得建立嵌入式应用变得更加容易。

2000年以前,大多数的嵌入式系统仍然建立在内部开发的操作系统(OS)基础之上,但在此之后,WindRiver和其他的商业化RTOS产品逐渐赢得了越来越大的市场份额。

如果开发者试图通过内部开发建立某些嵌入式系统,就不得不建立从固件到应用程序的完整的软件栈(software stack)。垂直集成在给开发者带来很大的控制能力的同时,也需要其在开发和维护上进行大量的投入。在过去的五年中,在经历了全球性的经济危机之后,面市时间(time-to-market)意味着一切,追求附加值成为电子业重要的追求。因此,如果你是一个工程经理,考虑到你手中的资源,你是宁愿投资去创建一个自主产权的操作系统软件平台,还是去开发那些可以给你的应用带来差异化的技术呢?我相信你会选择后者,因为开发者通常希望使他们的应用变得与众不同。这就使得内部开发操作系统整合自主产权内核的方法逐渐被淘汰。

如果你使用VxWorks或者是pSOS,仍然免不了要在建立应用软件和中间件上进行大量投入。这是因为围绕在这些操作系统周边的生态资源十分有限。例如对于VxWorks,只有一种Webserver可供使用,而如果采用Linux,会有八九种Webserver供你选择;VxWorks只提供了一种网页浏览器,而Linux16种不同的网页浏览器支持。通常情况下对于某种实时系统你只能选择一种文件系统——通常情况下为与windows兼容而选用FAT文件系统;而Linux包含八九种本地文件系统,它们可以与十多种外部文件系统兼容。

传统的RTOSLinux相比还有一个很大的不同——传统的RTOS是一系列服务的集合(libraries of services),开发者需要一个功能就加入一个功能,如果开发者不需要就将它们去掉。但这就意味着建立在一个RTOS上的系统的每一个执行程序都是不同的,因为开发者只是与那些需要的服务相联系,你建立的是一组非常独特的服务集合。这并不象是一个操作系统。而象Linux这样的操作系统提供了一个统一的平台,这使得那些智能设备不但可以获得更好的互连性,增强它们彼此之间的差异性,同时也使它们获得了不同的生命周期。

以手机的开发为例,一部智能手机在离开工厂时,它具有一系列确定的功能。但是在销售渠道中,人们往往希望对它原有的功能进行修改,或是加入其他的功能。运营商希望在他们销售的手机中体现出更多的差异化,他们希望加入诸如游戏等更多的服务。而最终用户也许还希望能够从第三方购买到更丰富的游戏(和其他服务)。如果开发者的手机是一个单一用途的设备,它只能提供有限的服务,那么在它基础上建立服务和其他增值功能将是非常困难的。但如果开发者面对的是一部采用嵌入式Linux的手机,并了解API和相关的标准,他们就可以十分迅速地建立起丰富的软件生态系统并迅速占领市场。产品长期的差异化与互连性息息相关,这包括它的网络互连性、与中间件的互连性,以及与外围生态环境的互连性。Linux作为一个在互联网上成长起来的动物,无论从哪方面讲都应该算是互连性最好的操作系统。

有人会将Linux与微软的Windows相比较,确实Windows具有很好的互连性,且具有非常全面的软件栈。但一旦开发者用Windows建立了产品,他也就丧失了实现差异化的机会。仅仅将Windows OS加到你的产品中并实现商用是十分迅速的。所以如果你想获得面市时间上的优势,Windows会给你带来很多功能性上的优势。但是你获得功能性的同时,也就失去了差异化的机会。

当然,Windows还有其他一些技术上的问题,这主要体现在可靠性和软件规模方面。Windows体积十分庞大。人们都在说Linux很大,确实与传统RTOS70~80k的代码规模相比,Linux的大小通常在几兆字节,而最小的Windows CE的代码规模也有27MBBIPLIP标注:应该是2~3MB)。出于政治和法律上的考虑,微软是不能将Windows进行拆分的。

同时,Windows和其它RTOS还将遇到来自用户不断增加的使用成本(runtime costs)方面的挑战,因为他们收取高额的版税。嵌入式Windows的版权费大约为每拷贝12~15美元。对于那些大批量的产品,其每件产品上可承受的分摊成本十分有限,如果要向Windows支付这样的版税,很可能会造成亏本。其它商业化的RTOS采用的也是这样一种收取版税的商业模式。而Linux,其突出的一个优点就是免版税的。

Linux还具有很好的可靠性。传统的RTOS通常不具备强大的内存保护功能,这使应用程序很容易被破坏。

另一个影响嵌入式系统对操作系统选择的是商业因素。在这方面传统RTOS供应商和微软的境遇是相同的。传统RTOS供应商和微软都会在不与客户协商的情况下终止某一产品的供应,他们的商业决策是从他们公司自身的利益出发的,而不是站在客户的角度考虑。Linux则能给予使用者更多的选择。

如果采用一个开放源码的操作系统,开发者能够主宰他们自己的命运,他们不必被一个供应商的决策牵着鼻子走,他们总是有很多选择。即使他们选择了MontaVista这样商业化的Linux供应商,他们依然能够保有对开放资源进行客户化和利用的选择性,他们可以选择继续和MontaVista合作或是走开。

我们还注意到,现实中,与MontaVista所提供的商业化版本的Linux形成竞争的除了Windows和其它RTOS,还有由用户自主开发(roll-your-own)的Linux。但是建立和维护一个基于Linux的平台是很艰巨的工作,而对于用户来说,这是一种无法创造附加值的工作。我们日常管理着MontaVistaLinux环境中超过4200万行的代码。嵌入式应用程序平均的代码长度最多是50万行,很多组织是没有能力去管理4200万行代码的。

如果你着眼于源代码的开发,即使是针对单一目的的应用,其源代码的规模也将以千万行计。为了完成内核的维护工作,你需要每年投入10个工程师的力量;同时你还要花费35~40人年去建立整个嵌入式Linux操作系统。很多公司试图用两个工程师去维护一个自主研发的Linux项目,这样开发者很快就会发现他们已经陷入困境。

自主开发Linux过程中会遭遇到的另一个问题是,你是在一个开放资源基础上开始工作的,同时你需要投入大量的时间和精力在基础性资源的周围建立一个平台。但是Linux是开放源码的,其发展速度十分迅速。因此大多数自主开发的项目实际上是我们称之为某一时间点(point-in-time的版本,因为开发者只是选取了某一时段的源代码并基于它进行开发,而并不想继续投资以保持与Linux同步的发展。而象MontaVista这样的供应商会保持大量基础性的投入跟踪Linux的最新版本,并将其加入到产品中来。

有人会说,也许是因为开发者的规模太小而没有充足的预算去自主开发Linux,那么让我们来看看那些大的嵌入式开发者的选择又是如何的。规模较大系统OEM,他们拥有数以千计的开发工程师,这些大公司也许应该有工程资源在内部开发一个Linux平台。但同样,他们的预算也十分有限,他们也面临着增加附加值的挑战,他们在Linux之外还有很多其他的问题需要解决。他们面临着不同的项目,而每个项目建立在不同的微处理器的基础上,同时还需要不同的中间件和应用软件栈与之相配。因此很难说他们是否能够在统一公司内部不同的Linux版本方面花力气。

MontaVista建立了一个统一的基础资源,可以为那些大OEM建立一个我们称之为策略平台的统一的Linux平台。因此我们可以在相同的源代码上建立针对MIPSARMPowerPCSH等不同处理器架构的Linux。要想建立这样的Linux系统需要大量的基础性投入,而大多数嵌入式系统公司是不会在他们的产品之外投入一分钱的。

因此如果他们试图使用自主开发的Linux时,他们将面临很大的风险,因为他们自主开发的Linux的品质将受制于他们能够投入的资源的多少,即使是一个大公司也不会象MontaVista这样投入这么多。我们整个的业务都集中在这方面。

如果你使用一个有知识产权约束而非开放源码的操作系统,比如Nucleus,你是不能将其在你的组织内部广泛推行的。而如果你使用自主开发的Linux,你仍然将不得不对付那些针对不同应用的变种Linux,这仍然会耗费大量的工程资源。但如果你与一个象MontaVista这样的供应商合作,你会得到一个单一的策略平台。这就是要选择一个商业化的Linux供应商的重要原因。

(本文根据EDN CHINAMontaVista公司战略市场总监Bill Weinberg采访整理而成)

Linux学习高手写给初学者的经验谈相关推荐

  1. 一个LINUX高手写给初学者的话(转)

    现在好多的人开始接触电脑的时候,见到的应该是Windows98  说实话,98 已经是一个很人性化,封装的很好的一个系统了  一个对电脑一窍不通的人都能很快的使用它.这样很多人对  "电脑& ...

  2. 一个LINUX高手写给初学者的话

    现在好多的人开始接触电脑的时候,见到的应该是Windows98   说实话,98 已经是一个很人性化,封装的很好的一个系统了   一个对电脑一窍不通的人都能很快的使用它.这样很多人对   " ...

  3. I.MX6ULL ARM Linux学习笔记

    I.MX6ULL ARM Linux学习笔记 写在前面 S1:U-Boot S2:正点原子U-Boot编译 S3:U-Boot基本命令第1讲:help.bdinfo和环境变量命令 S4:U-Boot基 ...

  4. 最热网友收藏:写得蛮好的linux学习笔记(2007年第10周)

    2007年第10周最热网友收藏 上班人员必读:"五险一金"详解!(130),共376人收藏,liukang520236首先收藏 写得蛮好的linux学习笔记-(96),共159人收 ...

  5. 嵌入式Linux学习经典书籍-学完你就是高手

    很多刚入门的朋友一直都有人问我要学习资料,嵌入式实在太杂,网上很多人写的太不负责了,本书单综合了本人以及一些朋友多年的经验整理而成. 本人见识和阅读量有限,本书单可能有不对的地方,欢迎朋友指正,交流你 ...

  6. (零)我为什么要写Linux学习笔记?

    我对Linux有强烈的好奇心,兴趣:写学习笔记会让我有成就感:我记忆力实在不好.好吧,其实真正原因是:如果我能把自己学到的知识简明扼要的讲出来,写出来,那便证明我真的学懂了我想学的知识.没时间怎么办? ...

  7. Linux内核延迟写机制学习

    Linux内核延迟写机制 Linux内核延迟写的特点,是指在Linux通过write的场景下写入数据之后,会将数据直接标记为dirty,然后通过延迟读写的方式最后将数据回写到磁盘上.在本文的Linux ...

  8. 通过linux课程我学到了什么作文,linux学习心得怎么写

    Linux是一套免费使用和自由传播的类Unix操作系统,用过的人觉得好用吗?使用它的人有什么心得?下面是小编为大家提供的心得,仅供参考: 之前一直以为Linux和Windows差不多,但是学习了Lin ...

  9. Linux学习体会。

    Linux内核学习: 就我学习的体会来说,按下面方式学习Linux内核会比较有趣/轻松: 1 读一下<自己动手写操作系统>,它实现了一个非常简单的操作系统,系统启动/多任务/多个终端的支持 ...

最新文章

  1. java求s a aa aaa_Java求s=a+aa+aaa+aaaa+aa...a的值
  2. ShuffleNet论文阅读笔记
  3. matlab频响优化,MATLAB中关于频响图函数最优化的程序问题
  4. 深入react技术栈(12):组件内通信
  5. 简单的计算机英语文章,简单的英语小短文欣赏
  6. 使用Swagger,ApiExplorer和NSwag掌握ASP.NET Core和ABP中的外部Web API
  7. windows 安装mysql的时候最后执行一直停留在Write configuration file
  8. Linux常见问题三则:Executable Path Is Not Absolute
  9. SQL常见的一些面试题
  10. Spring JdbcTemplate 与 事务管理
  11. 【JVM · 调优】监控及诊断工具
  12. Programer or Coder?
  13. Carry On My Wayward Son -- Kansas
  14. Java 添加Word文本框
  15. c#仿qq好友列表控件
  16. 【知识】SpringBoot项目结构目录
  17. [一起看海吧]2021.5.1秦皇岛北戴河之旅游记
  18. 机器学习1-线性模型及多分类
  19. CAN总线整车电子电气架构设计培训
  20. OS X系列文章 AirPlay+Apple TV影音方案研究[转]

热门文章

  1. 使用OpenCV调整图像大小
  2. Android模拟电话,虚拟电话来电模拟
  3. Cannot assign requested address错误解决
  4. navicat的使用以及学生信息表的操作
  5. 烤仔看世界 | Zuckerverse:Facebook帝国的“元”设想
  6. idea怎么打开war包并运行
  7. 中国矿业大学教务系统服务器,中国矿业大学教务系统入口:http://jwb.cumt.edu.cn/...
  8. 电脑每次启动都硬盘自检
  9. java-net-php-python-jspm零担快跑物流管理系统计算机毕业设计程序
  10. 营收大增成Q2财报关键词,飞轮效应成达达集团业绩增长驱动力