linux前世今生(二)

标签(空格分隔): linux


linux是什么

我们带着几个问题来学习linux?首先linux是操作系统还是软件?linux来自哪里?linux为啥不用钱?

linux是操作系统吗

答案是的。还记得一里面我们讲的操作系统的概念吗。内核:驱动所有硬件资源,统一硬件资源分配,提供计算机运行支持功能,系统调用:提供给软件工程师开发软件调用。那么linux其实就是操作系统啦。
linux来自哪里,早起的linux就是针对386开发的,intel命名规则问题所以一般intel的cpu是x86系列。
微软的powerpc 的cpu和linux的x86硬件的支持函数不同。同一套操作系统是无法在不同的硬件上都运行的。要想让一套操作系统在a上可运行,然后再b上也能运行,如果硬件不同就需要在操作系统上做兼容这样才能在两种机器上运行,这也称为软件移植。
这里我们要说下linux系统,正常而言操作系统肯定不能再不同的两种硬件上运行,但是linux是open source的所以linux可被修改在各种不同的机器上运行,linux具有“可移植性”。

linux前生今世

linux早期的老大是unix系统。
而电脑的unix系统发展历程也是很长的。
早期的计算机一般个人是用不起的,主要是用于军事,商业,学术前瞻研究。而且早期的输入输出很坑爹,输出是打印机,输入是读卡制,后来发展输出输入都有了进展但是资源利用太低,而且像使用也太费劲,有人提出相容分时系统 就是一台主机有多个分端机器,这个也是cpu分片机制的初始来源。但是当时终端机最多只有30台。而后来学术界合作想要开发一个Multic就是想让分端机可拓展到300多台,这个计划失败了,但是就是这个计划的执行让Thompson用组合语言耗时4星期开发了一个建议文件系统最初的unix,这个系统太好用了所以在贝尔实验室内部流传很广,之后因为组合语言与硬件的耦合性太强,Ritchie与Thompson合作用c语言写了一个unix,这个C高级语言横空出世,而且unix变的移植性更高点。但是的AT&T公司没有对这个unix太重视,所以unix这段时间广为流传,其中最主要的有个分支BSD也是sun公司的创始人写的。到后面很多的商业厂商都在各自的机器装上了unix,由于当时的硬件没有一个统一,而unix这段时间也是处于开放的姿态,所以各个厂商都自己通过改源码然后安装操作系统。之后AT&T收回版权。这就把教unix系统的教授给难住了,于是谭宁邦教授直接开干,直接研发了一套minix系统,用于教学。再之后史托曼一个伟大的设想提出,GNU计划 创建一个自由开放的unix系统,初期直接在unix动刀太难而且涉及版权问题,所以先从开发一些unix软件开始,慢慢推广,之后有了Emacs软件编辑器可提示错误语法错误,和gcc c语言编译软件,后来成立了FSF基金,这个计划对现今的自由软件和开源软件的影响是巨大的。(GNU 的GPL协议,所有的基于该协议开发的软件,再之后开发都需要开源,可贩卖但是只能卖服务,软件本身是免费的)
linux的发展,是从linus torvalds提出的第一个linux内核开始的。
还有由于追求速度:当时由于使用的是分端机torvalds想用下都难,他想自己拥有一个属于自己的unix操作系统,但是谈何容易,幸好知道了谭宁邦开发的minix系统让他学习了系统的核心程序设计。
386:由于个人计算机的性能没法满足托瓦斯的要求,随之而来的是386的出世,这对于个人计算机多任务运行的性能提升了挺多,所以托瓦斯购买并进行测试 这个硬件是满足cpu多任务运行功能的。提一句 在计算机中多任务需要硬件和操作系统的双支持才能执行。否则执行不了。

当时个人电脑386的cpu,是托马斯使用的,安装了minix系统,但是呢minix系统是用于教育的,所以在系统功能木有增强,这就让很多工程师很头疼,托马斯也是,于是萌生了改写一个自己的操作系统,就这样基于Minix开发的第一个内核就有了,后来还挂到了网上,声明这是一个个人兴趣所致,不会说想发展成与GNU那样的专业组织。而且让别人可以提取想改进的点,他不敢保证能完成。就这样Linux内核从许多方面开始改进。而个人的能力是有限的,所以后来许多骇客就加入进来包括一些托马斯本身接触不到的硬件接口,别人写了他以先可运行再改进的观念不断融合进来,不断壮大了Linux,虽然没有明确的团队,但网上的虚拟团队不断贡献各个模块使得Linux的发展非常迅速。而GNU本身的观念Linux的开源 GNU一直缺少一个操作系统,这就让两者走到了一起。史托曼称Linux为GNU/Linux。
linux其实就是操作系统最底层的核心及其提供的核心工具,由于linux是参照posix规范开发,所以相容unix,也称为unix like的一种。
Linux+Tool+软件 =一个完整的操作系统我们称为Linux Distribution 。Linux的Distribution社区有挺多的,包括Red Hat centos ubuntu debian等等。而通过uname -a 我们就可以看到linux的版本啦。Linux Distribution根据安装套件形式不同主要分为两类,一类是RPM安装一类是Dpkg安装。

linux要怎么学

首先如果是个人桌面办公使用可以使用window os或者用x window,但是如果你作为一个工程师的角度,那么通常服务器是在机房的,你不可能有机会接触到图形界面,而且图像界面吃内存cpu,降低服务器性能,所以命令行是你学习linux,并且可较为深入了解linux的不二之选。

linux基础学习部分

1.计算机硬件及基本概念的理解,这个我们在上一节和这一节的前半部分学习就可以了,有个了解就成。
2.安装指令
3.权限,程序定义的学习
4.程序的管理 就是程序的安装学习
5.shell shell script
6.网络的学习
7.基础的学习,只有基础会了其他的通过 google就能出来了,如果基础都不会你google的关键词都不知道。
8.实战,人脑对不用的东西就会忘记,所以实战经常实战和重复学习才能学会一个东西,前者是遇到问题,解决问题加深知识理解,后者是人的天性。

遇到问题的解决方案

1.google您的问题,或者到相关faq的网站去提问
2.本身linux的报错信息和日志就可以比较明显的告诉你问题了。
3.文件归档,问题记录及解决方案记录。

学习了文章之后相信您对刚开始的问题已经心中有了答案。

你可能感兴趣的:(linux,计算机底层)