首页 . 理学 . 计算机科学技术 . 计算机软件 . 系统软件 . 操作系统

Linux操作系统

/Linux operating system/
条目作者谢旻

谢旻

最后更新 2022-01-20
浏览 772
最后更新 2022-01-20
浏览 772
0 意见反馈 条目引用

一个类UNIX操作系统,但Linux并不是UNIX,同其他UNIX操作系统不同,Linux并不是从UNIX源代码修改而来的。

英文名称
Linux operating system
提出者
L.B.托瓦兹(Linus Benedict Torvalds)
创建时间
1991
所属学科
计算机科学技术

Linux最早是由芬兰籍程序员L.B.托瓦兹(Linus Benedict Torvalds)于1991年在Intel 80386处理器电脑上开发的一个操作系统内核,最初的目标是实现一个替代Minix操作系统的新操作系统内核,以便能够自由分发和修改操作系统内核代码。由于采用开放源码的自由软件模式,Linux得到了快速发展,各种新的功能模块被不断加入和完善,现在已经成为了全功能的操作系统,支持多种处理器结构,能够部署在从可穿戴和嵌入式计算设备,到数据中心和超级计算机平台的广泛应用系统中,已成为当今最流行的操作系统之一。

Linux吸取了UNIX操作系统的基本设计原则,并且遵循UNIX系统的公共API标准,包括POSIX和Single UNIX Specification等,是标准支持最为完善的操作系统,因此具有非常好的应用可移植性。但Linux系统的实现则非常灵活,不会受到现有UNIX实现思路的限制,会尽可能采用最为高效的技术途径,并且Linux也放弃了一些被认为是使用价值较低的UNIX内核特性,例如STREAMS等。

目前,Linux是一个基于Internet开发的协作软件项目的代表,虽然Linus是Linux内核的创建者和内核源码的维护者,但是Linux内核的开发是由一组通过网络松散协作的开发人员进行的,主要的内核开发技术讨论都是在Linux内核邮件列表中进行,Linus后来还开发了Git源码版本管理系统,现在Linux内核源码也是使用Git进行版本维护和管理。Linux内核源码一直是开源和免费使用,使用GPL版权,任何人都有可能为Linux内核源码作贡献,可以自由下载,修改和发行内核代码,因此Linux内核源码得到了广泛的使用和快速的发展,几乎所有的处理器结构上都有对应的Linux移植实现,绝大多数设备也有对应的Linux内核驱动程序,并且大多提供了源代码可被研究和修改。各种版本的官方Linux内核源码都可以在http://www.kernel.org网站上下载。

在总体设计上,Linux同其他传统的单一映像的非微核UNIX实现是类似的。Linux是一个多用户、多任务的操作系统内核,并且兼容UNIX的各种工具。Linux的内核功能模块包括进程管理、内存管理、文件系统、设备管理和网络系统等。Linux的文件系统遵循传统的UNIX语义和原则,标准的UNIX网络模型和协议也被Linux所支持,Linux的内核功能则通过POSIX兼容的系统调用接口为用户层提供服务。总体来说,Linux内核的各种实现细节深受UNIX的设计原则和发展历史所影响。

Linux内核的发展虽然不会忽视UNIX的兼容性,但Linux的开放发展模式带来了很大的实现自由度。为了尽可能提高系统的适用范围和运行效率,Linux的内核实现尽可能针对每个具体问题选择采用最佳和可靠的解决方案,不会受到传统UNIX设计和代码的制约。例如,Linux内核仍然采用单一映像操作系统内核方式,所有的内核代码运行在同一内核地址空间中,各个模块之间可以通过函数调用的方式相互联系和协作,相对于微内核操作系统通过消息传递方式在各个功能服务器之间实现通信,Linux的实现方式更为高效。但为了更好的扩展内核功能,应对不同的体系结构环境的变化和配置,Linux内核支持动态加载内核模块,可以在运行时按需动态加载和卸载内核代码,从而带来最大可能的灵活性。Linux的文件系统实现也是如此,在保持接口语义不变的前提下,不断演化和改进文件系统的实现技术,从而带来了性能和文件数据安全性的显著提升。

面向不同的用户,Linux有不同的含义,狭义上说,Linux本身指的是操作系统内核,但用户通常接触的是Linux操作系统。在Linux操作系统中,除了Linux内核外,还集成了系统引导程序、C库、工具链、基本的系统管理和使用工具等,有些Linux操作系统还包含窗口图形系统及桌面环境,这些运行在Linux内核以上的软件系统很多来自自由软件基金会GNU项目,所以有些Linux操作系统也会加入GNU/Linux的名称。

在理论上,任何人都可以通过从网络上下载Linux内核以及其他所需要的系统组成软件,来构造一个可用的Linux操作系统,但更多的用户还是使用Linux发行版本。Linux发行版本是由商业机构、社区志愿组织或个人发布的操作系统版本,里面集成了预编译的Linux内核、GNU软件包、非GNU软件包,以及软件包管理系统等。各种Linux发行版有时还区分桌面系统或服务器系统版本,以便集成不同的软件系统,满足个人或公司用户的不同需求。许多Linux发行版本通常还提供网络可以访问的系统和应用软件仓库,以便用户可以通过远程安装方式,定制和升级安装好的Linux操作系统。现在有数百种Linux发行版本,其中比较流行的Linux发行版本,包括RedHat、SUSE、Ubuntu、Debian和Fedora等。

Linux最初只是在业余爱好者和教育机构中流行,但从20世纪90年代中期开始,随着Linux被一些研究机构在集群计算系统中应用,以及Linux发行版本的完善,Linux越来越多地出现在生产型系统以及个人用户桌面环境中。至今在几乎所有的计算平台上都能看到Linux的使用。

在移动计算领域,基于Linux实现的Android操作系统已在智能手机和智能机顶盒中得到了广泛适用,占据了市场的主要份额。在可穿戴设备领域,也有基于Linux的实现系统,例如一些智能手表中采用的Android Wear系统。很多嵌入式设备,也使用了Linux的定制版本,例如在一些桌面无线路由设备中广泛使用的OpenWrt系统。

在传统的个人电脑领域,除了一些厂商开始提供只安装Linux发行版本的个人电脑外,一些面向特定领域需求的个人电脑设备,例如网络笔记本等,也是安装了基于Linux的Chrome OS等操作系统。一些流行的个人电脑游戏,也开始提供运行于Linux的版本,一些面向游戏分发服务的平台,也是运行于Linux系统之上。

而在服务器和高端计算市场,Linux操作系统则有着更为长期的使用历史。当前绝大多数的互连网络公司和云计算平台,都是在服务端平台上运行Linux操作系统,在互连网络服务开发领域流行的LAMP架构,就是以Linux作为基础操作系统平台。而在高性能计算领域,Linux操作系统更是居于主导地位,在2017年的TOP 500世界超级计算机500强的排名中,所有的超级计算机已全部使用Linux操作系统。

另外,由于Linux采用开放源码的开发模式,任何人和组织都可以审查代码,来确保代码中没有被嵌入隐藏后门等安全漏洞,这提供了更高的自主可控安全能力,所以已经有很多国家的政府部门,开始逐步使用Linux操作系统来代替原有的操作系统环境。

作为一个网络协同开发的自由软件系统,Linux操作系统的应用开发环境非常完善,基本上所有的开发语言版本都有面向Linux的实现,其中有很多也是基于社区开发的免费开源高级语言编译和运行时系统,Linux内核本身就是使用GNU编译器系统GCC开发的。而作为类UNIX的操作系统,Linux也支持很多传统的UNIX脚本编程语言。作为互联网服务平台的主要操作系统,很多重要的网络服务系统和框架,都是基于Linux操作系统开发的。

Linux遵循UNIX的机制与策略相分离的思想,在桌面环境上也提供了很多种选择,例如GNOME、KDE和Xfce等,这些桌面环境也提供了应用开发框架,可以开发跨平台可移植的桌面应用。在Linux操作系统中可以使用很多种集成开发环境,很多是免费开源的,有些还是可以跨多种操作系统平台使用的,而著名的编辑器程序项目例如vim,Emacs等,也被很多人作为主要的程序开发工具。

由于各种Linux发行版本都提供了网络软件仓库服务,因此各种应用开发语言和工具都可以通过软件包管理系统下载、安装、配置和使用,很多应用开发人员都开始把Linux作为主要的软件开发平台。

相关条目

阅读历史

    意见反馈

    提 交

    感谢您的反馈

    我们会尽快处理您的反馈!
    您可以进入个人中心的反馈栏目查看反馈详情。
    谢谢!