Linux是一套操作系统,按照鸟哥的说法Linux提供了一个完整的操作系统当中最底层的硬件控制与资源管理的完整架构,这个架构是沿袭Unix良好的传统而来的,功能强大而且稳定性卓越。其实Torvalds先生当初在编写Linux时,其内核仅仅就只能达到“驱动386所有硬件”而已,也就是让386计算机能够接受用户输入的指令并完成相应的操作。

  Unix相比于Linux,他的年龄大约比Linux大上20岁,可以算作Linux的老大哥,那么提及Linux的历史就不可能少了Unix的身影。在1969年以前,计算机还是稀缺资源,大多分布在大型公司、实验室、军方机构或是高等院校中,而且性能羸弱,采用终端/服务器的形式为用户提供服务,而且当时一台比较先进的主机也仅能提供约30台左右的终端而已。所以当时的贝尔实验室、麻省理工学院以及通用电气公司共同发起了Multics的项目,致力于开发负载终端在300台以上的大型主机,但这个项目由于进度以及资金问题导致贝尔实验室提前退出了这个项目。Ken Thompson作为贝尔实验室参与Multics项目的工程师心怀自己的想法,在项目实战中积累的经验让他萌生了自己完成操作系统内核程序的编写,并在4个月的时间内以汇编语言完成了他的构想,这个系统就是Unix的原型。由于Thompson开发的这款操作系统太过好用,所以在贝尔实验室中广为流传,后来经过Thompson以及Ritchie的合作,以C语言重新改写了Unix的内核,发出了Unix的正式版本。由于版权原因,导致了Unix不可向学生提供源码,而受此影响最大的莫过于学校里学生和教授了,没有Unix的内核源码就不能完成课程教学,这对当时的谭邦宁教授产生了极大的困惑。之后谭邦宁教授自己动手写了一个名为Minix的系统,他对这个系统的要求是不能看Unix的内核源码但又必须能够兼容Unix,历时两年的时间,他终于将其实现,但因为Minix主要只用于教育领域,而且谭邦宁教授的时间有限,所以这个系统尽管十分好用,收到众多好评,但也没有进行更高层次的发展。

  以上都是Linux开发前的故事,Linux的开发者Torvalds是一名赫尔辛基大学的计算机科学系学生,因为学业与个人的兴趣,他接触了Unix系统,而当时的赫尔辛基大学仅一台能够同时提供16终端的主机,漫长的等待与性能的羸弱让托瓦兹希望自己能搞一部Unix,但要写一个内核程序谈何容易(Unix版权规定不允许对学生开放源码)。在一阵时间的学习后,他找到了一个类似Unix的系统,那就是谭邦宁教授为了教育使用专门编写的Minix系统,所以托瓦兹钻研了Minix的源码后学习到了很多内核程序设计的设计理念,这为Linux的开发奠定了基础。在贷款购买了386电脑后安装了Minix系统,由于该系统的功能有限,虽然好用却无法满足他自己的需求,所以他开始了内核程序的编写。Linux的开发不仅仅离不开托瓦兹个人的努力,还有这一个隐形的庞大团队的支持,因为托瓦兹希望他所开发的这个操作系统能够得到众多计算机爱好者的反馈,所以将其置于FTP上供大家下载,因为这个理念的支持,Linux的发展堪称迅速。这便是Linux开发的整个流程以及它与Unix系统的渊源。

  Linux的一个天生的优点在于其开放性,根据Linux的开发历史便可知,其开发者托瓦兹希望能够得到更多人的建议来开发这个操作系统,所以众多的志愿者为Linux提供代码支持,这使得Linux系统的漏洞缺陷能够很快的被发现并提供相应的解决措施,相比于封闭的Windows系统而言,这是一个极大的差异。而且Linux是基于Unix概念开发出来的操作系统,继承了Unix稳定高效的优良传统,所以Linux经常被作为服务器系统使用。Linux与Windows在授权费用上也有着极大的差距,Windows作为微软的商业发行版本,其在Windows10以前的系统均收取极高的授权使用费用,对于Windows10宣称的“免费”而言,其实也不见得免费。而Linux是基于GPL授权的产物,所以任何人都可以自由的获取Linux。与Windows系统不同,Linux主机可以同时允许多人上线工作,相比于Windows的单人多任务系统要稳定许多。

  当然Linux的缺点也显而易见,Linux系统的游戏支持匮乏,很少有游戏开发商愿意为Linux平台开发大型游戏,这对家用级计算机而言,是Linux不能普及的一个极大的原因。另外对于专业技能人员而言,Linux同时也缺乏对专业软件的支持。总之就是陷入一个不良的循环,Linux因为其普及有限,大多数的公司处于商业考虑难以为其开发专业和游戏软件,而Linux则因为这些软件的缺乏导致普及受到阻碍。

  以上知识是在学习了《鸟哥的Linux私房菜》所得出的总结。

Linux系统学习优缺点的更多相关文章

  1. Linux系统学习笔记:文件I/O

    Linux支持C语言中的标准I/O函数,同时它还提供了一套SUS标准的I/O库函数.和标准I/O不同,UNIX的I/O函数是不带缓冲的,即每个读写都调用内核中的一个系统调用.本篇总结UNIX的I/O并 ...

  2. 1.7 Linux系统的优缺点

    本节,我们介绍一下 Linux 系统的优缺点.Linux 不可比拟的优势如下. 1) 大量的可用软件及免费软件 Linux 系统上有着大量的可用软件,且绝大多数是免费的,比如声名赫赫的 Apache. ...

  3. windows系统以及linux系统的优缺点以及区别

    一.Linux以及Windows系统的优缺点对比   Windows Linux 优点 Windows Server系统相对于其他服务器系统而言,极其易用,极大降低使用者的学习成本. Linux系统是 ...

  4. 谈谈我对Linux系统学习的历程回顾

    ​​众所周知,Windows 和Linux 是目前最流行的2个操作系统.Windows系统适合普通用户,它的优势是图形化界面,简单易用,使用起来门槛很低,很容易上手,所以,windows占有了大多数普 ...

  5. 网工的Linux系统学习历程

    偶遇篇作为一名通过思科CCNP认证的网络工程师,专注于网络技术.但在日常的工作中,难免不接触到服务器,对于大多数服务器来说,鉴于稳定性等因素的考虑,基本使用的都是Linux系统,包括RHEL.Cent ...

  6. 老司机浅谈linux系统学习技巧

    Linux起源于20世纪70年代,是一种优秀的操作系统系统.初次接触到linux这个系统是在大学期间,这样才发现除了windows外的另外一个有趣系统.开始抱着好奇的心态去了解,随着深入学习,笔者被它 ...

  7. 说一说本人对linux系统学习的方法和经验

    摘要: 相信大伙都听说过linux系统,然而对于这个系统,总使让新手感觉茫然,诺达的系统.下面是一段百度中的介绍: 相信大伙都听说过linux系统,然而对于这个系统,总使让新手感觉茫然,诺达的系统.下 ...

  8. Linux 系统学习梳理_【All】

    第一部分---基础学习 00.Linux操作系统各版本ISO镜像下载 00.Linux系统下安装Vmware(虚拟机) 00.Linux 系统安装[Redhat] 00.Linux 系统安装[Cent ...

  9. Linux系统学习笔记(1)

    学习地址:http://www.runoob.com/linux/linux-tutorial.html 1.学习Windows和Linux哪个比较难? 前期是Windows容易学习,后期是Linux ...

随机推荐

  1. 转VS2010解决方案转换到VS2008

      原文链接地址:http://www.codeproject.com/Tips/80953/Converting-VS2010-Solution-to-VS2008 如果你使用VS2010的任何版本 ...

  2. Android压缩图片到100K以下并保持不失真的高效方法

    前言:目前一般手机的相机都能达到800万像素,像我的Galaxy Nexus才500万像素,拍摄的照片也有1.5M左右.这么大的照片上传到服务器,不仅浪费流量,同时还浪费时间. 在开发Android企 ...

  3. http://www.sqlservercentral.com/articles/Failover+Clustered+Instance+(FCI)/92196/

    http://www.sqlservercentral.com/articles/Failover+Clustered+Instance+(FCI)/92196/ http://blogs.msdn. ...

  4. 【Android自学日记】【转】Android Fragment 真正的完全解析(下)

    上篇博客中已经介绍了Fragment产生原因,以及一些基本的用法和各种API,如果你还不了解,请看:Android Fragment 真正的完全解析(上). 本篇将介绍上篇博客提到的:如何管理Frag ...

  5. 我的LaTeX中文文档模板

    中文LaTeX处理模板 环境MiTex内核 编辑环境WinEdit 源码如下: \documentclass[a4paper,12pt]{article} \usepackage{CJK} %设定字号 ...

  6. centos 6.7 搭建tornado + nginx + supervisor的方法(已经实践)

    首先,本来不想写这篇博客了,但是我测试了很多网上的例子包括简书的,全不行,我总结原因是自己太笨,搞了俩个晚上,后来决定,自己还是写一篇记录下来,保证自己以后使用 环境: centos6.7 64 py ...

  7. $compile

    <html ng-app="compile"> <head> <script src="http://apps.bdimg.com/libs ...

  8. javascript的一些知识

    一.Js的this,{},[] this是Javascript语言的一个关键字,随着函数使用场合的不同,this的值会发生变化.但是有一个总的原则,那就是this指的是调用的函数自己. { } 大括号 ...

  9. web项目中各种路径的获取

    以工程名为/DemoWeb为例: 访问的jsp为:http://localhost:8080/DemoWeb/test/index.jsp 1 JSP中获得当前应用的相对路径和绝对路径 (1)得到工程 ...

  10. 将input file的选择的文件清空的两种解决方案

    <input type="file" id="fileupload" name="file" /> 上传文件时,选择了文件后想清 ...