Linux系统学习优缺点
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系统学习优缺点的更多相关文章
- Linux系统学习笔记:文件I/O
Linux支持C语言中的标准I/O函数,同时它还提供了一套SUS标准的I/O库函数.和标准I/O不同,UNIX的I/O函数是不带缓冲的,即每个读写都调用内核中的一个系统调用.本篇总结UNIX的I/O并 ...
- 1.7 Linux系统的优缺点
本节,我们介绍一下 Linux 系统的优缺点.Linux 不可比拟的优势如下. 1) 大量的可用软件及免费软件 Linux 系统上有着大量的可用软件,且绝大多数是免费的,比如声名赫赫的 Apache. ...
- windows系统以及linux系统的优缺点以及区别
一.Linux以及Windows系统的优缺点对比 Windows Linux 优点 Windows Server系统相对于其他服务器系统而言,极其易用,极大降低使用者的学习成本. Linux系统是 ...
- 谈谈我对Linux系统学习的历程回顾
众所周知,Windows 和Linux 是目前最流行的2个操作系统.Windows系统适合普通用户,它的优势是图形化界面,简单易用,使用起来门槛很低,很容易上手,所以,windows占有了大多数普 ...
- 网工的Linux系统学习历程
偶遇篇作为一名通过思科CCNP认证的网络工程师,专注于网络技术.但在日常的工作中,难免不接触到服务器,对于大多数服务器来说,鉴于稳定性等因素的考虑,基本使用的都是Linux系统,包括RHEL.Cent ...
- 老司机浅谈linux系统学习技巧
Linux起源于20世纪70年代,是一种优秀的操作系统系统.初次接触到linux这个系统是在大学期间,这样才发现除了windows外的另外一个有趣系统.开始抱着好奇的心态去了解,随着深入学习,笔者被它 ...
- 说一说本人对linux系统学习的方法和经验
摘要: 相信大伙都听说过linux系统,然而对于这个系统,总使让新手感觉茫然,诺达的系统.下面是一段百度中的介绍: 相信大伙都听说过linux系统,然而对于这个系统,总使让新手感觉茫然,诺达的系统.下 ...
- Linux 系统学习梳理_【All】
第一部分---基础学习 00.Linux操作系统各版本ISO镜像下载 00.Linux系统下安装Vmware(虚拟机) 00.Linux 系统安装[Redhat] 00.Linux 系统安装[Cent ...
- Linux系统学习笔记(1)
学习地址:http://www.runoob.com/linux/linux-tutorial.html 1.学习Windows和Linux哪个比较难? 前期是Windows容易学习,后期是Linux ...
随机推荐
- 深度学习笔记——PCA原理与数学推倒详解
PCA目的:这里举个例子,如果假设我有m个点,{x(1),...,x(m)},那么我要将它们存在我的内存中,或者要对着m个点进行一次机器学习,但是这m个点的维度太大了,如果要进行机器学习的话参数太多, ...
- 完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法
完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法 HTML5的语义化标签以及属性,可以让开发者非常方便地实现清晰的web页面布局,加上CSS3的效果渲染,快速建立丰富灵活的web页 ...
- Tomcat使用详解
Tomcat简介 官网:http://tomcat.apache.org/ Tomcat GitHub 地址:https://github.com/apache/tomcat Tomcat是Apach ...
- C# webBrowser控件禁用alert,confirm之类的弹窗解决方案
同样的代码,我尝试了很多次都没有成功.最后终于成功了,是因为我没有在正确的事件里面调用这段代码. private void InjectAlertBlocker() { HtmlElement hea ...
- php链接数据库 批量删除 和 注册审核
理解 : hiden value session name="a[]" 1. form 表单上传的 value=" "值 ...
- "传成老树白茶"献礼母亲节 邀市民品茗感受茶文化
5月8日下午,传成老树白茶巡回中国公益品鉴会第七十站,走进福州马尾区东方名城传成老树白茶文化馆. 本次品鉴会活动以“感恩母亲节”为主题,以马尾船政文化为背景,邀福州市民一起品鉴白茶,感受中国茶文化. ...
- MVC Code First 自动生成数据库时生成的表名会多了一个s
如图:我的类文件都是不带s的
- MFC 滑动条的重绘
MFC自带的滑动条的样子是这样的. 比较难看,所以需要重绘下,重绘后的样子是这样的. 代码如下: CustomSliderCtr.h #pragma once // CCustomSliderCtr ...
- c++中4个与类型转换相关的关键字分析
static_cast reinterpret_cast dynamic_cast const_cast 1.**static_cast------运算符完成相关类型之间的转换** 使用场景:如在同一 ...
- iOS设计 - 一款APP从设计稿到切图过程概述
这篇文章站在GUI设计师的角度概述了APP从项目启动到切片输出的过程,相当于工作流程的介绍.这里写的不是一种规范,只是一种工作方法,加上技术的更新是非常快的,大家在具体工作中,一定要灵活运用. 这里我 ...