同学们当读到这个小节,相信您已经基本熟悉了刘遄老师的写作特点(但不是讲课特点)—— 能用一句话讲清的事情,我绝不会造出一段话。 这样的好处非常明显,首先是文章不再冗长,并配上了大量图片看起来非常的有乐趣,其次是能够让您一眼就找到最重要的知识和干货,所以接下来我将会用一段话总结出系统的来历和发展历程,请留心每个时间点即可。
早在世纪年代,系统是开源而且免费的。但是在年时,公司宣布了对系统的商业化计划,随之开源软件业转变成了版权式软件产业,源代码被当作商业机密,成为专利产品,人们再也不能自由地享受科技成果。
于是在年,
Richard Stallman
面对于如此封闭的软件创作环境,发起了源代码开放计划并制定了著名的许可协议。年时,计划获得了一项重大突破—编译器发布,这使得程序员可以基于该编译器编写出属于自己的开源软件。随之,在年月,芬兰赫尔辛基大学的在校生
Linus Torvalds
编写了一款名为的操作系统。该系统因其较高的代码质量且基于许可协议的开放源代码特性,迅速得到了计划和一大批黑客程序员的支持。随后系统便进入了如火如荼的发展阶段。
年月,在系统内核的基础之上,集成了众多的源代码和程序软件,发布了红帽系统并开始出售技术服务,这进一步推动了系统的普及。年以后,随着源代码开放计划和系统的继续火热,以和为首的多家企业巨头开始大力推动开放源代码软件的发展。到了年年底,内核已经发展到了版本,并且系统版本也有数百个之多,但它们依然都使用
Linus Torvalds
开发、维护的系统内核。公司也成为了开源行业及系统的带头公司。
在讲课时,我经常会问同学们一个问题:“为什么学习系统?”很多学生为了让我高兴,直接就说“因为系统是开源的,所以要去学习”。其实这个想法是完全错误的!开源的操作系统少说有个,开源的软件至少也有十万个,为什么不去逐个学习?所以上面谈到的开源特性只是一部分优势,并不足以成为您付出精力去努力学习的理由。
对于用户来讲,开源精神仅具备锦上添花的效果,因此正确的学习动力应该源自于:系统是一款优秀的软件产品,具有类似的程序界面,而且继承了的稳定性,能够较好地满足工作需求。
大多数读者应该都是从微软的系统开始了解计算机和网络的,因此肯定会有这样的想法“系统很好用啊,而且也可足以满足日常工作需求呀”。客观来讲,系统确实很优秀,但是在安全性、高可用性与高性能方面却难以让人满意。您应该见过下面这张图片。
想必读者现在已经能猜到,为什么要在需要长期稳定运行的网站 服务器 上、在处理大数据的集群系统中以及需要协同工作的环境中采用系统了。通过下图也可以看出系统相较于系统的具体优势。
的优势读者可先作了解暂不需深究,学习中再慢慢感受。
如何开始学习Linux内核
在学习内核过程中最容易犯的错误,也是非常难掌握的其实是站在一个什么样的高度上去学习。 站什么样的高度去学习也与自身的能力相关,所以这个问题其实更多是在新开始学习的学习者感到非常痛苦的一件事。 一方面又希望自己能学懂,但是又不知道如何开始入手。 列举几个常见的例子:(1) 一开始就看源码,内核有什么都不知道,结果就想着啃0.11的内核,结果很显然,2天立马放弃,完全看不懂。 (2) 翻开书从第一页开始往下啃,如果这本书比较薄还好,如果比较厚,比如《深入Linux内核架构》,那看2天也得放弃。 (3) 不喜欢看目录,不喜欢快速浏览,就想着一个一个字眼的往下抠。 如果本身有一定基础,看的时候还不会觉得腻,但是很快就发现,看了半天,什么都没有记住。 还有很多类似的问题,这些都是平时学习的时候特别容易出现的一些误区。 这些其实都是没有正确审视自己的能力,胡乱挑选高度导致。
为什么在Linux环境下编程就这么重要
因为采纳Linux系统的硬件系统很多,比如手机系统、网络路由器、网站,甚至PC机、pad等,应用多了,其重要性就体现出来了,原因是需求大了,需要的专门知识、专门人才、开发者、维护者、设计维护升级服务...这些需求就要求有人来不断学习,不断更新系统和应用,让Linux运用得更好更完善,在市场上的需求就会提供工作岗位和赚钱机会,学校和培训机构就会顺应这个需求来培养这方面的人才,提供这方面的学习环境和教材,而且这是一个不断更新和提高的螺旋上升式的过程。
LINUX下与Windows下C++开发有什么不同
两个平台用的编译器不一样在windows下大多做的是可视的程序在linux下大多做的是后台类的程序,没有ui界面的不管哪个平台,对于C++的基础还是相通的对于平台你不要考虑什么优缺点,只存在合适不合适。 编程在于用合适的方法做合适的事。 你如果做软件开发,想做在windows平台下,那你可以不学linux,但是如果你学了linux,当然知识不怕多。 具体说linux下比windows好,在windows下vc编译器对标准c++支持了不是很好,而linux的编译器支持了比较好。 不管你将来想做linux还是windows,基础很重要,当你熟练到一定程度,平台已经不是障碍,一段时间就可以适应过来,坚持好好学吧,会有收获的。 晕,添加一下说明变到最下面来了-----请原三楼(回答者: 古英图巴鲁)注意我说的“在linux下大多做的是后台类的程序,没有ui界面的 ”,我是说大多数情况下在linux平台是不做ui的,不代表就是说Linux下没有ui呀,况且Linux下也有ui方面的库的。 因为企业级应用对于UNIX/Linux大多是做后台程序的,故一般不需要ui界面的。
发表评论