linux产生和发展的五大因素是什么

发布时间 - 2023-04-20 00:00:00    点击率:
linux产生和发展的五大因素:1、UNIX操作系统,是在DEC PDP-7小型计算机上开发的一个分时操作系统;2、MINIX操作系统,是一种基于微内核架构的类UNIX计算机操作系统;3、GNU计划,是由理查德·斯托曼在1983年9月27日公开发起的自由软件集体协作计划,它的目标是创建一套完全自由的操作系统GNU;4、POSIX标准;5、Internet网络。

本教程操作环境:linux7.3系统、Dell G3电脑。

linux产生和发展的五大因素是什么

Linux 操作系统的诞生、发展和成长过程依赖于以下五个重要支柱: 

  • UNIX 操作系统

  • MINIX操作系统

  • GNU 计划

  • POSIX 标准

  • Internet 网络

UNIX操作系统

Linux 操作系统是UNIX 操作系统的一个克隆版本。UNIX 操作系统是美国贝尔实验室的Ken.Thompson和Dennis Ritchie 于1969 年夏在DEC PDP-7 小型计算机上开发的一个分时操作系统。Ken Thompson 为了能在闲置不用的PDP-7 计算机上运行他非常喜欢的星际旅行(Space travel)游戏,于是在1969 年夏天乘他夫人回家乡加利福尼亚渡假期间,在一个月内开发出了UNIX 操作系统的原型。当时使用的是BCPL 语言(基本组合编程语言),后经Dennis Ritchie 于1972 年用移植性很强的C语言进行了改写,使得UNIX 系统在大专院校得到了推广。

MINIX操作系统

Minix是一种基于微内核架构的类UNIX计算机操作系统,于1987年由Andrew S. Tanenbaum教授发布,它启发了Linux。

AST 是在荷兰Amsterdam 的Vrije 大学数学与计算机科学系统工作,是ACM 和IEEE 的资深会员(全世界也只有很少人是两会的资深会员)。MINIX 是他1987 年编制的,主要用于学生学习操作系统原理。到1991 年时版本是1.5。目前主要有两个版本在使用:1.5 版和2.0 版。当然目前MINIX 系统已经是免费的,可以从许多FTP 上下载。

对于Linux 系统,他后来曾表示对其开发者Linus的称赞。但他认为Linux的发展很大原因是由于他为了保持MINIX 的小型化,能让学生在一个学期内就能学完,因而没有接纳全世界许多人对MINIX的扩展要求。因此在这样的前提下激发了Linus 编写Linux 系统。当然Linus 也正好抓住了这个好时机。

作为一个操作系统,MINIX 并不是优秀者,但它同时提供了用C 语言和汇编语言编写的系统源代码。这是第一次使得有抱负的程序员或hacker 能够阅读操作系统的源代码。在当时,这种源代码是软件商们一直小心守护着的秘密。

GNU计划

GNU计划,有译为“革奴计划”,是由理查德·斯托曼在1983年9月27日公开发起的自由软件集体协作计划。它的目标是创建一套完全自由的操作系统GNU。

软件产业在70年代成就了两位针锋相对的领袖人物,来自哈佛大学的比尔·盖茨和Richard M.Stallman。前者宣布了Copyright(版权)时代的到来,并构建了微软帝国的辉煌;后者于1984年创立自由软件体系GNU,拟定普遍公用版权协议(GeneralPublicLicense,简称GPL),今天Linux的成功就得益于GPL协议。

所有GPL协议下的自由软件都遵循着Richard M. Stallman的"Copyleft"(非版权)原则:即自由软件允许用户自由拷贝、修改和销售,但是对其源代码的任何修改都必须向所有用户公开。

GNU 计划和自由软件基金会FSF(the Free Software Foundation)是由Richard M. Stallman 于1984 年一手创办的。旨在开发一个类似UNIX 并且是自由软件的完整操作系统:GNU 系统(GNU 是"GNU's Not Unix"的递归缩写,它的发音为"guh-NEW")。

各种使用Linux 作为核心的GNU 操作系统正在被广泛的使用。虽然这些系统通常被称作"Linux",但是Stallman 认为,严格地说,它们应该被称为GNU/Linux系统。

到上世纪90 年代初,GNU 项目已经开发出许多高质量的免费软件,其中包括有名的emacs 编辑系统、bash shell 程序、gcc 系列编译程序、gdb 调试程序等等。这些软件为Linux 操作系统的开发创造了一个合适的环境。这是Linux 能够诞生的基础之一,以至于目前许多人都将Linux 操作系统称为“GNU/Linux”操作系统。

POSIX标准

POSIX(Portable Operating System Interface for Computing Systems)是由IEEE 和ISO/IEC 开发的一簇标准。该标准是基于现有的UNIX 实践和经验,描述了操作系统的调用服务接口。用于保证编制的应用程序可以在源代码一级上在多种操作系统上移植和运行。它是在1980 年早期一个UNIX 用户组(usr/group)的早期工作基础上取得的。该UNIX 用户组原来试图将AT&T 的System V 操作系统和BerkeleyCSRG 的BSD 操作系统的调用接口之间的区别重新调和集成。并于1984 年定制出了/usr/group 标准。

关于POSIX标准的制定过程:略。

在90 年代初,POSIX 标准的制定正处在最后投票敲定的时候,那是1991-1993 年间。此时正是Linux刚刚起步的时候,这个UNIX 标准为Linux 提供了极为重要的信息,使得Linux 能够在标准的指导下进行开发,并能够与绝大多数UNIX 操作系统兼容。在最初的Linux 内核源代码中(0.01 版、0.11 版)就已经为Linux 系统与POSIX 标准的兼容做好了准备工作。在Linux 0.01 版内核的/include/unistd.h 文件中就已经定义了几个有关POSXI 标准要求的符号常数,而且Linus 在注释中已写道:“OK,这也许是个玩笑,但我正在着手研究它呢”。

Internet 网络

Internet是linux开发、交流、发展的信息和资源的交流平台。

扩展知识:Linux和Unix的对比

我们所讨论的差异只从硬件支持,版权和价格这些来讨论他们之间的区别,UNIX是一个功能强大、性能全面的多用户、多任务操作系统,可以应用从巨型计算机到普通PC机等多种不同的平台上,是应用面最广、影响力最大的操作系统。

Linux是一种外观和性能与UNIX相同或更好的操作系统,但Linux不源于任何版本的UNIX的源代码,并不是UNIX,而是一个类似于UNIX的产品。

Linux是开发源代码的自由软件,UNIX是对源代码实行知识产权保护的传统商业软件。

UNIX系统大多是与硬件配套的,而Linux则可运行在多种硬件平台上。

UNIX是商业软件,需要收费;而Linux是自由软件、免费、公开源代码的

在对硬件的要求上,linux比unix要低,没有unix那么苛刻。在安装上linux比unix容易掌握。

相关推荐:《Linux视频教程》


# linux  # 操作系统  # 源代码  # 自由软件  # 是在  # 是由  # 是一种  # 斯托  # 理查德  # 这是  # 机上 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 免费制作统计图的网站有哪些,如何看待现如今年轻人买房难的情况?  制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?  宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法  怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?  Laravel怎么生成URL_Laravel路由命名与URL生成函数详解  如何确认建站备案号应放置的具体位置?  如何正确选择百度移动适配建站域名?  网站广告牌制作方法,街上的广告牌,横幅,用PS还是其他软件做的?  Laravel怎么自定义错误页面_Laravel修改404和500页面模板  Laravel如何实现API资源集合?(Resource Collection教程)  Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录  Laravel怎么做缓存_Laravel Cache系统提升应用速度的策略与技巧  Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  Laravel怎么实现搜索功能_Laravel使用Eloquent实现模糊查询与多条件搜索【实例】  Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法  Laravel如何实现邮件验证激活账户_Laravel内置MustVerifyEmail接口配置【步骤】  Laravel怎么集成Log日志记录_Laravel单文件与每日日志配置及自定义通道【详解】  焦点电影公司作品,电影焦点结局是什么?  如何在云主机上快速搭建网站?  宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法  简历没回改:利用AI润色让你的文字更专业  Laravel如何清理系统缓存命令_Laravel清除路由配置及视图缓存的方法【总结】  如何构建满足综合性能需求的优质建站方案?  Laravel路由Route怎么设置_Laravel基础路由定义与参数传递规则【详解】  Laravel Pest测试框架怎么用_从PHPUnit转向Pest的Laravel测试教程  无锡营销型网站制作公司,无锡网选车牌流程?  消息称 OpenAI 正研发的神秘硬件设备或为智能笔,富士康代工  HTML5建模怎么导出为FBX格式_FBX格式兼容性及导出步骤【指南】  如何快速查询网址的建站时间与历史轨迹?  如何自定义safari浏览器工具栏?个性化设置safari浏览器界面教程【技巧】  android nfc常用标签读取总结  iOS正则表达式验证手机号、邮箱、身份证号等  Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)  Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程  如何彻底删除建站之星生成的Banner?  Laravel如何保护应用免受CSRF攻击?(原理和示例)  canvas 画布在主流浏览器中的尺寸限制详细介绍  再谈Python中的字符串与字符编码(推荐)  如何在阿里云购买域名并搭建网站?  微博html5版本怎么弄发语音微博_语音录制入口及时长限制操作【教程】  深圳网站制作培训,深圳哪些招聘网站比较好?  Windows10电脑怎么查看硬盘通电时间_Win10使用工具检测磁盘健康  使用spring连接及操作mongodb3.0实例  家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?  英语简历制作免费网站推荐,如何将简历翻译成英文?  laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法  js代码实现下拉菜单【推荐】  如何在景安云服务器上绑定域名并配置虚拟主机?  网站优化排名时,需要考虑哪些问题呢?