(转)Windows系统、Linux系统 和 Mac OS操作系统 历史由来 与 区别?

目录

1 UNIX 由来

2 Linux 由来

3 Windows与Linux的主要区别

4 关于Linux的一些疑惑

参考资料


目前常见的三大操作系统:Windows系统、Linux系统 和 Mac OS操作系统

首先,不管是Windows操作系统、Linux系统还是苹果的Mac OS操作系统,甚至包括操作系统的鼻祖UNIX操作系统,最早都是用C语言编写的。

UNIX 诞生于 20 世纪 60 年代末,Windows 诞生于 20 世纪 80 年代中期,Linux 诞生于 20 世纪 90 年代初,Mac OS诞生的时间和Linux时间差不多。可以说 UNIX 是操作系统中的"老大哥",后来的 Windows , Linux 和Mac OS都参考了 UNIX。

 

1 UNIX 由来

实际上UNIX操作系统和C语言都是由贝尔实验室的汤普森(Ken Thompson)和丹尼斯·里奇(Dennis M. Ritchie)于1971年先后改造发明的,如果说真正的操作系统,世界上只有一个,那就是UNIX操作系统。

下图是肯•汤普森 与 丹尼斯•里奇的合影,膜拜一下。(这么多胡子,天才都是不修边幅的,大神就是这么随意)

UNIX的部分技术来源可追溯到从 1965 年开始的 Multics 工程计划,该计划由贝尔实验室、美国麻省理工学院和通用电气公司联合发起,目标是开发一种交互式的、具有多道程序处理能力的分时操作系统,以取代当时广泛使用的批处理操作系统。

可惜,由于 Multics 工程计划所追求的目标太庞大、太复杂,以至于它的开发人员都不知道要做成什么样子,最终以失败收场。

以肯•汤普森为首的贝尔实验室研究人员吸取了 Multics 工程计划失败的经验教训,于 1969 年实现了一种分时操作系统的雏形,1970 年该系统正式取名为 UNIX。

想一下英文中的前缀 Multi 和 Uni,就明白了 UNIX 的隐意。Multi 是大的意思,大而且繁;而 Uni 是小的意思,小而且巧。这是 UNIX 开发者的设计初衷,这个理念一直影响至今。

有意思的是,肯•汤普森当年开发 UNIX 的初衷是运行他编写的一款计算机游戏 Space Travel,这款游戏模拟太阳系天体运动,由玩家驾驶飞船,观赏景色并尝试在各种行星和月亮上登陆。他先后在多个系统上试验,但运行效果不甚理想,于是决定自己开发操作系统,就这样,UNIX 诞生了。自 1970 年后,UNIX 系统在贝尔实验室内部的程序员之间逐渐流行起来。1971-1972 年,肯•汤普森的同事丹尼斯•里奇发明了传说中的C语言,这是一种适合编写系统软件的高级语言,它的诞生是 UNIX 系统发展过程中的一个重要里程碑,它宣告了在操作系统的开发中,汇编语言不再是主宰。到了 1973 年,UNIX 系统的绝大部分源代码都用C语言进行了重写,这为提高 UNIX 系统的可移植性打下了基础(之前操作系统多采用汇编语言,对硬件依赖性强),也为提高系统软件的开发效率创造了条件。可以说,UNIX 系统与C语言是一对孪生兄弟,具有密不可分的关系。

20 世纪 70 年代初,计算机界还有一项伟大的发明——TCP/IP 协议,这是当年美国国防部接手 ARPAnet 后所开发的网络协议。美国国防部把 TCP/IP 协议与 UNIX 系统、C语言捆绑在一起,由 AT&T 发行给美国各个大学非商业的许可证,这为 UNIX 系统、C语言、TCP/IP 协议的发展拉开了序幕,它们分别在操作系统、编程语言、网络协议这三个领域影响至今。肯•汤普森和丹尼斯•里奇因在计算机领域做出的杰出贡献,于 1983 年获得了计算机科学的最高奖——图灵奖 (实至名归)。

 

下图是从UNIX衍生出来,目前常见的三大操作系统:Windows系统、Linux系统和Mac OS操作系统

 

首先这三个系统设计上有本质的区别。最大的区别在于Windows是一个成熟的商业操作系统,拿过来就能用,而Linux不同,它是指一个内核,苹果操作系统是UNIX的一个衍生品。

    操作系统      形态                                                   说明
  Windows   商业产品                微软公司1983年开始推出的一套商业操作系统。
     Linux   一个内核   芬兰的李纳斯·托沃兹( Linus Torvalds) 1991 年上大学时发布的, 他对当时流行的教学系统Minix (Unix的一个版本)的很多特点很不满意, 于是决定自己写一个合乎自己要求的操作系统, 并把这个内核放到了Internet 上, 供大家修改。后来经过众多世界顶尖的软件工程师的不断修改和完善。
  Mac OS    专属系统                          苹果公司基于FreeBSD操作系统的改造。

通过上表可以看出,其实Windows和Linux在哲学设计上是有本质区别的。Windows操作系统倾向于将更多的功能集成到操作系统内部,并将程序与内核相结合;而Linux不同于Windows,它的内核空间与用户空间有明显的界限。根据设计架构的不同,两者都可以使操作系统更加安全。而苹果操作系统只不过是UNIX的一个细小分支而已。

Linux 只是指操作系统的核心, 并没有各种应用程序, 如网络工具、多媒体软件等。因此现在市场上有很多种Linux Kernel 为核心再集成搭配各式各样的系统程序或应用工具程序组成的一套完整的操作系统。

Linux是可以任意包装自由配置的东西。任何一个人,一家公司 都可以按照自己的想法,比如加一点功能,加中文支持,作一个Linux出来。这些 Linux虽然核心部分都一样,但是他们所带的各种软件,缺省的配置都不一样。

 

Linux 分为 内核版本发行版本

Linux 内核版本就是Linux的核心版本 由官网 www.kernel.org 发布,如下图所示:

 

Linux 发行版本就是各个公司的在Linux核心版本上就行包装,添加想要的内容,这就衍生出非常多的发行版本,如下图所示。譬如的redhat, CentOS, 红旗、Ubuntu等,这些都是的Linux衍生操作系统。

话说回来关于个人办公要使用什么操作系统、个人做图要用什么样的操作系统、建设网站的服务器要用什么系统,其实在行业中都有大体的规则。譬如个人PC娱乐还是Windows系统比较合适、专业做图像让是MAC系统了,建设网站大家服务器建议你还是Linux了!下面简单介绍Linux 由来,毕竟是开源的。

 

2 Linux 由来

Linux 内核最初是由 李纳斯•托瓦兹 (Linus Torvalds) 在赫尔辛基大学读书时出于个人爱好而编写的,当时他觉得教学用的迷你版 UNIX 操作系统 Minix 太难用了,于是决定自己开发一个操作系统。第 1 版本于 1991 年 9 月发布,当时仅有 10 000 行代码。下图是李纳斯•托瓦兹(Linus Torvalds)图片,膜拜一下大神。

李纳斯•托瓦兹 (Linus Torvalds) 没有保留 Linux 源代码的版权,公开了代码,并邀请他人一起完善 Linux。与 Windows 及其他有专利权的操作系统不同,Linux 开放源代码,任何人都可以免费使用它。

据估计,现在只有 2% 的 Linux 核心代码是由李纳斯•托瓦兹自己编写的,虽然他仍然拥有 Linux 内核(操作系统的核心部分),并且保留了选择新代码和需要合并的新方法的最终裁定权。现在大家所使用的 Linux,我更倾向于说是由李纳斯•托瓦兹 (Linus Torvalds)和后来陆续加入的众多 Linux 好者共同开发完成的。

李纳斯•托瓦兹 (Linus Torvalds)无疑是这个世界上最伟大的程序员之一,何况,他还搞出了全世界最大的程序员交友社区 GitHub (开源代码库及版本控制系统)。

关于 Linux Logo 的由来是一个很有意思的话题,它是一只企鹅,如下图所示,为什么选择企鹅,而不是选择狮子、老虎或者小白兔? 当然有很多种说法,其中有一种说法:企鹅是南极洲的标志性动物,根据国际公约,南极洲为全人类共同所有,不属于世界上的任何国家,可国家都无权将南极洲纳入其版图。Linux 选择企鹅图案作为 Logo,其含义是:开放源代码的 Linux 为全人类共同所有,可公司无权将其私有。当然我比较信服这个说法,有种造福人类的使命感。

 

3 Windows与Linux的主要区别

1、免费与收费

Linux都是免费的,Windows是付费的,只有购买Windows系统的电脑,就已经向微软付费了。

 

2、软件与支持

Windows下可以运行绝大部分软件、玩99.999%的游戏、硬件厂商近乎100%的支持。Linux下可直接运行的软件数量和Win下比起来就是1和99的区别,而且目前选择Linux的人基本不会考虑玩游戏(虽然有能在Linux下运行的游戏,但实在太少。),同时Linux正期待更多硬件厂商的支持。

 

3、安全性

很多人说Linux安全性高,仁者见仁智者见智了。其实我觉得这个根本没必要讨论,当Linux普及程度达到现在Windows的程度,那么Linux的漏洞、病毒、木马、后门什么的绝对会如雨后春笋般纷纷冒出,虽不敢说比Windows严重,但绝对不会比win少,说白了就是因为现在Linux的用户量太少,受关注也太少,做病毒者当然希望自己的作品流传越广越好(现在的病毒更倾向于获取非法利益,比如账号密码什么的),所以,病毒目前不会考虑少数派的Linuxer。

世上没有攻不破的系统、没有穿不透的防火墙,一件事你做不到,只能说明你水平不够,这里适用一句话:道高一尺,魔高一丈。 但就目前来说,如果你对Windows下层出不穷的病毒、木马、垃圾感到极度厌恶,那的确可以尝试一下Linux。

 

4、开源

开源就是指对外部开放软件源代码。

如果一个小程序员写了个软件,里面有他独创的新技术,他想靠这个赚钱,甚至还为此申请了专利,这时某些团体以安全为由,要求他公开源代码(这样就可以仿制了嘛。),并且最好免费给大家使用,身边一群眼红程序员赚钱的人也在跟着起哄。一个独立商业团体的合法知识产权、资产权益遭受政治强权的公开侵占、迫害,这就是微软在欧洲所面临的开源问题(至于微软是否是奸商,这是另一码事,并不能成为打砸抢、吃大户的理由)

开源与否,软件厂商有选择的权力;是否购买使用这个产品,这才是用户的权利。 其实想深一点,如果Linux不开源,它还能有现在这个市场吗?因为很多人就是冲着开源才使用Linux的。

 

5、使用习惯

一样的地方:桌面、图标、鼠标点击,有区别吗?不一样的是,Windows放弃了dos的字符模式,主攻图形界面,让桌面系统更易用。Linux字符模式运行的更好,图形界面还只是附带品,可有可无。根据他们的上市时间来看,只能说Linux把Windows扔掉的东西又捡回来并且发扬光大。

 

6、技术支持

如果你不熟悉或从来没接触过电脑: 学Windows --那身边随便一个上过网的人都可以指点你两下。学Linux--难,需要买书或上网查阅资料。

如果你熟悉电脑和上网,那Windows和Linux其实没什么区别,网上都有海量的资料给你查。但是找修Windows电脑的人远比找一个修Linux电脑的人容易得多.

Windows平台:数量和质量的优势,不过大部分为收费软件;由微软官方提供重要支持和服务

Linux平台:大都为开源自由软件,用户可以修改定制和再发布,由于基本免费没有资金支持,部分软件质量和体验欠缺;有全球所有的Linux开发者和自由软件社区提供支持

 

4 关于Linux的一些疑惑

作为初学者,就是很难理解Linux有什么好,上手比较难,需要慢慢适应,下面就是之前看到的一些疑惑,记录一下。

1 Windows有完善的图形界面,而Linux为什么要学命令行。

首先,命令行绝对要比图形界面先进的多。命令行是程序员的第一界面,而图形界面是普通用户的第一界面。也许很多人会有不同意见,其实我们再向前想一步,就很清楚了。

命令行的下一步演化是什么? 很简单就是语音控制,就是把人类自然语言转化为命令

图形界面的下一步演化是什么? 是姿势控制。从目前的Windows系统来说一共只有3种姿势, 单击,双击,拖放。而更先进的IPad有拨动,画圈等。

姿势控制很简单,便于用户上手,语音控制很复杂,但是控制精度很高。作为程序员我们要求电脑完成的工作要比普通用户复杂的多,所以使用命令行会非常高效。退一步讲,图形界面本质也是命令行,只不过将姿势翻译成命令执行而已。程序员编程的代码也都是“命令行”,一条一条的指令而已。

总之,只要能打破对Linux命令行的恐惧感,接下来的事就会非常容易了。这个命令行绝对不是你简单想像中的命令行,它是非常智能化的。

 

2 Linux有那么多目录,那么多命令,怎么记得住呢?

首先,Linux目录是Linux系统最灵魂的东西,所有的硬件都可以被抽象为文件,从而实现网络化。(Internet只不过是Unix/Linux的进一步的演化而已)。所以只要掌握了Linux目录的规律,在理解的基础上记忆就可以容易的多。另外Linux的命令行有智能化功能,可以让你少打95%以上的字符来完成命令。

绝非你所想象的傻乎乎的敲一大堆命令,那些用Linux大牛都是绝顶聪明的人,怎么可能让自己辛苦呢?

 

3 Windows有注册表,为什么Linux没有注册表?

注册表是Windows核心组件,对整个系统进行配置。Linux是以整个文件系统作为"注册表“,Windows注册表的树形结构,可以粗略的对应Linux文件系统的树形结构。

Linux的配置文件就相当于注册表的键,或者说Linux采用是的分布式的注册表。

那么Linux为什么要这样设计呢?因为Linux是所谓的网络操作系统,所以单台电脑不是Linux的界限,如果是多台电脑组成的系统,那么分布式的管理就有着巨大的优势。例如:一个包含配置文件的磁盘的损害不会让整个系统瘫痪,而可能只是让部分功能失效。

 

 

关于 Linux初学资料,可下载: 鸟哥的Linux私房菜 和  Unix-Linux编程实践教程 pdf文件(带书签)。

 

 

参考资料

[1] https://www.gonet.com.cn/index.php?webduirshow-166

[2] https://www.Linuxprobe.com/Windows-Linux-distinction.html

[3] https://www.cnblogs.com/supermeimei/p/5133610.html

[4] http://cn.linux.vbird.org/linux_basic/0110whatislinux.php

[5] http://c.biancheng.net/view/707.html

 

    本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/484100.shtml

    如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

    相关文章

    国务院公布《关键信息基础设施安全保护条例》

    来源:中国政府网编辑:蒲蒲据中国政府网8月17日消息,《关键信息基础设施安全保护条例》已经2021年4月27日国务院第133次常务会议通过,现予公布,自2021年9月1日起施行。条例指出,国家对关键信息基础设施实行重…

    文章推荐 | 城市规划中城市信息学的研究进展

    来源:北京城市实验室BCL随着计算机技术的飞速发展,城市信息学作为城市规划领域的一门新兴学科,逐渐引起学术界的关注。城市信息学的兴起给城市规划带来了新的压力,但它也提供了新的城市分析视角。在此背景下,专家小组概…

    Matlab基础

    一.入门基础 1.基本知识 1.1 输入命令 以分号结尾不会打印变量的值 x 1 y x;1.2 变量命名规则:以字母开头,并且仅包含字母、数字和下划线。 1.3 使用save命令将工作区中的变量保存到MAT文件的MATLAB特定格式文件中,文件名为datafile.mat。可以指定保…

    3年规模翻7倍统治 5G、IoT时代,化合物半导体材料深度报告

    来源 华西证券编辑:智东西内参作者:吴吉森 等随着 5G、IoT 物联网时代的来临,以砷化镓(GaAs)、氮化镓(GaN)、碳化硅(SiC)为代表的化合物半导体市场有望快速崛起。其中&am…

    SpringBoot笔记整理(二)

    SpringBoot笔记整理(一) SpringBoot笔记整理(二) SpringBoot笔记整理(三) SpringBoot笔记整理(四) Spring Boot与日志(日志框架、日志配置) 1、市面上的日志…

    MATLAB图像处理基础

    1.导入数据 1.1 使用readtable("")导入数据,并存储在表格中,使用axis equal可以校正坐标轴纵横比。 letter readtable("M.txt"); plot(letter.X,letter.Y) axis equal1.2 range(x)函数返回x的值的范围,即max(x) - min(…

    BBWebImage 设计思路

    BBWebImage 设计思路 BBWebImage 是高性能 Swift 图片组件,用于图片下载、缓存、编解码、编辑与展示。 GitHub 地址: https://github.com/Silence-GitHub/BBWebImage 效果图 下载、展示并缓存原图 下载、渐进式解码、编辑图片,缓存编辑后的图…

    清华本科、港科大准博士被指论文抄袭,网友:这是有技巧的“洗稿”

    来源:整理自新智元、Reddit、知乎等不是吧?清华自动化本科,香港科技大学硕士生发表的顶会论文竟然是抄的?而且抄袭对象还是另一篇顶会论文?近日,眼尖的网友发现两篇分别发表在 ICML 2021 和 ICCV 2021 两大…

    MATLAB深度学习入门

    1. 加载图像 1.1 使用imread函数加载图像,可以加载GIF、JPEG、PNG等大多数标准文件格式图像。 Import an image img imread("file.jpg")1.2 采用**imshow()**来显示图像。 imshow(img)1.3 采用alexnet函数可以创建预定义的深度网络AlexNet的副本。 de…

    SpringBoot笔记整理(三)

    SpringBoot笔记整理(一) SpringBoot笔记整理(二) SpringBoot笔记整理(三) SpringBoot笔记整理(四) Web开发 1、使用SpringBoot: 1)创建SpringBoot应用&…

    图神经网络,如何变深?

    来源:智源社区版式制作:Camel撰文:侯振宇编辑:贾 伟现实世界中很多很多任务可以描述为图(Graph)问题,比如社交网络,蛋白质结构,交通路网数据,图是一个很值得研究的领域。近年来&am…

    机器学习分类与性能度量

    机器学习分类与性能度量 数据集:训练集(Training Set)、验证集(Validation Set)和测试集(Test Set) 1、 当模型无需人为设定超参数,所用参数都通过学习得到,则不需要验证集。验证集适合多个不同超参数训练多个模型,通过验证集,…

    中国人民大学孟小峰教授:“科学数据智能——人工智能在科学发现中的机遇与挑战”...

    来源:国家自然科学基金委员会微信公号 孟小峰 博士,中国人民大学教授,博士生导师,CCF会士。主要研究方向为数据库理论与系统、大数据管理系统、大数据隐私保护、大数据融合与智能、大数据实时分析、社会计算等。摘 要随着全球各科…

    Java 面向对象语言基础

    面向过程 就是分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。 面向对象 是把构成问题事务分解成各个对象,建立对象的目的不是为了完成一个步骤,而是为了描叙某个事物在整个解…

    全球首例!这台机器人发明了两项新技术,已获专利授权!

    文章来源:EETOP几天前前人工智能系统专利申请权有最新发展。南非率先成为第一个授予人工智能专利权的国家,承认人工智能机器人DABUS为「发明者」,6日澳大利亚联邦法院也做出裁决:发明者可以是非人类。 这算是有历史里程碑意义的判…

    成员变量、局部变量、实例变量、静态变量、类变量、常量

    成员变量: 直接在类中声明的变量叫成员变量(又称全局变量) ▲ 初始化: 如果未对成员变量设置初始值,则系统会根据成员变量的类型自动分配初始值:int分配初始值0、boolean分配初始值false,而自定义类型则分配初始值null…

    行业洞见 | 一文了解自动驾驶汽车

    文章来源:ancholabs.medium.com文字翻译: 新能源情报局封面配图:原作者驾驶是人类日常从事的活动中最困难的之一。遵循交通规则,通过眼神与其他司机沟通交流、对天气状况做出反应是成为优秀司机的先决条件。在自动驾驶汽车中&…

    MATLAB高光谱图像处理基础

    介绍高光谱图像的基本知识,便通过MATLAB对高光谱图像进行基本的处理。 文章目录前言一、高光谱图像二、MATLAB高光谱图像处理1.加载.MAT文件数据2.图像的显示3.图像维度变换总结前言 高光谱图像是一个立方体结构,维度为M x N x B,M为水平方向…

    中国千亿科技巨头,成功收购英国最大芯片制造商!

    来源:世界先进制造技术论坛内容来源:每日经济新闻综合自每经App、界面新闻、财联社等本期编辑:小艾 在全球缺芯的背景下,8月15日,国产芯片巨头闻泰科技(600745.SH)披露,旗下全资子公…

    MATLAB图自编码器

    通过MATLAB来实现图自编码器,用于高光谱图像特征的提取。 文章目录前言一、MATLAB相关知识二、编写算法1.图自编码器搭建2.可视化相关参数总结前言 算法输入数据: 图节点属性矩阵;邻接矩阵;概率p; W为自编码器的隐藏…