Linux的简要历史

介绍

在流行的用法中,“ Linux”通常是指在Linux内核之上构建的一组分布式操作系统。 但是,从最严格的意义上讲,Linux仅指拥有内核本身。 为了安装完整的操作系统,发行版通常包括来自GNU Project和其他来源的一组工具和库。 最近,其他开发人员正在使用Linux来构建和运行移动应用程序。 它还在开发经济实惠的设备(例如运行核心操作系统的Chromebook)方面发挥了关键作用。 通常,在云计算和服务器环境中,出于以下几个实际原因,Linux是流行的选择:

  • 它的发行版保持最新,并得到其他开发者社区的支持。
  • 它可以在各种硬件上运行,并与现有系统一起安装(本地开发条件的有用功能)。
  • 它支持从现有存储库集中安装软件。
  • 它的资源需求低。
  • 当开发人员构建生态系统应用程序和服务器硬件时,这通常是最重要的事情,从而实现高度的兼容性。
  • 它支持操作系统行为的必要更改。

Linux也起源于开放源代码和自由软件运动,因此,一些开发人员选择Linux是出于其道德和实践考虑的结合:

  • 对于某些开发人员,使用Linux表示对可访问性和表达自由的承诺。
  • Linux社区还吸引了一些开发人员:当他们有疑问时,他们可以参考该社区收到的资源或直接去找许多活跃的维护者之一。

为了了解Linux在开发人员社区(及以后)中的作用,本文将简要介绍Linux通过Unix的历史,并讨论一些流行的Linux发行版。

Unix的根源

Linux起源于Unix和Multics,这两个项目具有创建可靠的多用户操作系统的相同目标。

Unix的开始

Unix是由贝尔实验室计算机科学研究中心的Multics项目开发的。 在贝尔实验室和其他地方从事Multics工作的开发人员对构建具有存储同级动态链接的多用户操作系统感兴趣(在该操作系统中,运行中的进程可以请求向地址空间添加另一个段,从而使其能够执行该段的代码)和分层文件系统…

贝尔实验室(Bell Labs)在1969年结束了对Multics项目的资助,但是包括Ken Thompson和Dennis Ritchie在内的一组研究人员继续致力于该项目的核心原则。 在1972-3年,他们决定用C重写系统,这使Unix具有独特的可移植性:与其他现代操作系统不同,它可以同时移动并耗尽其硬件。

贝尔系统实验室(后来为AT&T)的研究和开发是Unix系统实验室的后续行动,它正在与Sun Microsystems合作开发Unix版本,该版本将被商业Unix供应商广泛采用。 同时,学术界的研究仍在继续,最著名的是加州大学伯克利分校的计算机系统研究小组。 该小组制作了Berkeley软件发行版(BSD),该软件启发了许多操作系统,其中许多至今仍在使用。 可以作为历史参考的两个BSD发行版是NeXTStep,它是从NeXT开始的操作系统,它是MacOS的基础;在其他产品中,MINIX是教育性的操作系统,它是Linus Torvalds的基础,并以此为基础开发了Linux。 ..

Unix基本功能

Unix围绕清晰,可移植性和并发性原则。

  • 清晰度:Unix的模块化设计允许函数以有限和特定的方式运行。 它的文件系统是统一的和分层的,从而简化了数据处理。 与它的某些前辈不同,Unix实现了数百个(而不是数千个)系统调用,每个系统调用都是为了简单明了的目的。
  • 可移植性:通过用C语言编写Unix,贝尔实验室的一个小组将Unix定位为广泛使用和接受。 C被设计为具有低级内存访问,最小的运行时延迟以及语言和机器指令之间的有效通信。 C框架使Unix更灵活,更易于在各种硬件上运行。
  • 并发性:Unix内核是为此目的而量身定制的(与Multics项目一起使用),以支持多个用户和工作流程。 内核空间仍然不同于Unix用户空间,从而允许多个应用程序同时运行。

Linux的演变

Unix给开发人员提出了重要的问题,但在早期迭代中它仍然是专有的。 在他的故事的下一章中,开发人员将如何与他合作并与他抗衡,以创建免费和开源的替代方案。

开源实验

理查德·斯托曼(Richard Stallman)是受启发创建Unix非专有替代品的开发人员中的中心人物。 在麻省理工学院的人工智能实验室工作期间,他开始从事GNU项目(“ GNU不是Unix!”的递归工作),最终于1984年离开实验室,以便他可以将GNU组件作为自由软件进行分发。 GNU内核(称为GNU Hurd)已成为自由软件基金会(FSF)的重点,该基金会成立于1985年,现在由Stallman领导。

同时,另一位开发人员开发了另一种免费的Unix替代方案:芬兰学生Linus Torvalds。 在对MINIX的许可证感到沮丧之后,Torvalds在1991年8月25日向MINIX用户组宣布,他开始开发自己的操作系统,该操作系统类似于MINIX。 尽管Linux内核最初是使用GNU C编译器在MINIX中开发的,但Linux内核很快成为内核开发人员的独特项目,并于1994年与Torvalds一起发布了内核的1.0版。

Torvalds是包括其内核在内的GNU代码(包括GNU C编译器)的执行者,许多Linux发行版都依赖GNU组件仍然是事实。 Stallman游说将“ Linux”一词扩展为“ GNU / Linux”,他声称这将抓住GNU项目在Linux系统开发中的作用以及GNU项目和Linux内核所树立的基本理想。 今天,“ Linux”通常用于指代Linux内核和GNU元素的存在。 同时,许多便携式设备和智能手机上的嵌入式系统通常使用带有少量GNU组件的Linux内核。

Linux的主要功能

尽管Linux内核从Unix继承了许多目标和属性,但它在以下方面与以前的系统有所不同:

  • 它的主要组件是内核,它是独立于操作系统的其他组件而开发的。 这意味着Linux从各种来源(例如GNU)借用了元素,从而统一了整个操作系统。
  • 它是免费和开源的。 开发人员社区的支持,根据GNU通用公共许可证(GNU项目的FSF工作的分支)授权的内核,可以下载和修改。 GPL规定,衍生作品必须支持原始软件的许可条款。
  • 它具有类似于Unix的单片内核,但是可以根据需要动态加载和卸载内核代码。
  • 与传统的Unix实现不同,它具有对称多处理(SMP)支持。 这意味着单个操作系统可以访问共享主内存的多个处理器,并可以访问所有I / O设备。
  • 内核是抢占式的,与Unix的另一个不同。 这意味着调度程序可以在运行时强制切换到驱动程序或内核的其他部分。
  • 内核不区分线程和正常进程。
  • 包括命令行界面(CLI),也可能包括图形用户界面(GUI)。

今天,开发人员支持许多流行的Linux发行版。 其中最古老的是Debian,它是免费和开源的,具有50,000个软件包。 Debian启发了另一种受欢迎的发行版,由Canonical Ltd.资助的Ubuntu。 Ubuntu使用deb软件包格式和Debian软件包管理工具。

Red Hat,Fedora和CentOS之间也存在类似的依赖关系。 红帽于1993年创建了发行​​版,十年后将其工作分为红帽企业Linux和Fedora,这是一个基于社区的操作系统,使用Linux内核和GNU Project中的元素。 红帽还隶属于CentOS项目,CentOS项目是另一个流行的Web服务器Linux发行版。 但是,该比率不包括可支付的维护费用。 Debian,CentOS由开发人员社区维护。

结论

在本文中,我们研究了Linux在Unix中的根源及其一些特征。 所有评论都可以留在评论下方。

Sidebar