当前位置: 首页 > news >正文

走进Linux的历史发展史

目录

前言

Linux的发展史

UNIX发展的历史

Linux发展历史

开源

企业应用现状

Linux在服务器领域的发展

桌面领域

移动嵌入式领域

云计算/大数据领域

发行版

​编辑

Linux环境搭建方式


前言

本节博客内容较水,主要介绍Linux的发展历史和其相关的学习内容,以后小编也将不定期的更新Linux的学习内容,欢迎大家学习交流!!!

Linux的发展史

简要介绍Linux的发展史。要说Linux,还得从UNIX说起。

UNIX发展的历史

1968 年,一些来自通用电器公司、贝尔实验室和麻省理工学院的研究人员开发了一个名叫 Multics 的特殊操作系统。Multics 在多任务文件管理和用户连接中综合了许多新概念。
1969 1970 年, AT&T 的贝尔实验室研究人员 Ken Tompson Dennis Ritchie ,在采用很多 Multics 特点的基础上开发了UINX 系统。它运行在小型机上,满足了系统对科研环境的要求。从产生开始, UNIX 就是一个有价值的、高效的、多用户和多任务的操作系统。
UNIX 从满足个人的设计需求开始,逐步成长为由许多不同开发商所支持的标准软件产品。
第一个 UNIX 版本是免费给许多知名大学的计算机系使用的。
1972 年,贝尔实验室开始发放商业版本,并且给不同的用户授权使用这个系统,使用者之一是加州大学伯克莱分校的计算机系。伯克莱给系统增加了许多新的特点,后来成为了标准。
1975 年伯克莱由下属部门 BSD 发行了自己的 UNIX 版本。 UNIX BSD 版本成为 AT&T 贝尔实验室版本的主要竞争者,而其它的独立开发出的UNIX 版本也开始萌生。
1980 年微软公司开发了叫做 Xenix UNIX PC 版本。 AT&T 发行了第一个商业版本。名叫 System Ⅲ,后来被成为 对商用软件产品良好支持的System Ⅴ所替代。
同时 UNIX BSD 版本不断发展,在 70 年代末期, BSD UNIX 成为了国防部的高科技研究机构科研项目的基础。其结果,伯克莱发行了一个叫做BSD Release 4.2的有效版本。
它包括了高级的文件管理器和基于 TCP/IP 网络协议的网络特点。现在 TCP/IP Internet 所使用。 BSD Release 4.2被许多厂商所采用,例如 SUN Microsystem
UNIX 不同版本的出现导致了 UNIX 标准的需要,软件开发商不知道他们的程序运行在哪些版本上比较合适。 到80 年代中期,两个竞争的标准出现了,一个是基于 AT&T UNIX 版本,另一个是 BSD 版本。在今天的书店里你能发现分别适用于这两个版本的不同的UNIX 的书,一些是 System V ,另一些集中在 BSD UNIX
AT&T 建立了一个叫 UNIX 系统实验室的新组织,它的作用就是综合 UNIX 的不同版本,集中开发一个标准系统。
1991 年, UNIX 综合实验室综合了 System V Release3 SUN OS Xenix 的所有特点,发行了 System V Release 4。为了与 System V Release 4 竞争,一些其它公司,如 IBM 和惠普 Open Software Foundation OSF )去产生自己的UNIX 标准版本,继而出现了两个标准商业版本 OSF 版本和 System Release 4
1993 年, AT&T 把它的 UNIX 转卖给 Novell 公司。 UNIX 系统实验室成为了 Novell UNIX 系统小组的一部分。
Novell 发行了基于 System V Release 4 的自己的 UNIX 版本 UNIXWare ,它可以和 Novell 公司的 Netware 系统相
联。 SUN 公司已经把 System V Release 4 融进了它的 SUN OS ,发行了 Solaris 。两个相互竞争的 UNIX 使用的图形用户界面(一个叫Motif ,另一个叫 Openlook ),已经合并为一个新的工作平台标准,叫做通用平台环境(CDE )。

Linux发展历史

1991 10 5 日,赫尔辛基大学的一名研究生 Linus Benedict Torvalds 在一个 Usenet 新闻组
comp.os.minix )中宣布他编制出了一种类似 UNIX 的小操作系统,叫 Linux 。新的操作系统是受到另一 个UNIX 的小操作系统 ——Minix 的启发,该系统是由一名叫 Andrew S Tanenbaum 的教师开发的。
读者也许猜想所发布的这个系统应该是Linux 0.01 版本,实际上不是这样。真正的 Linux 0.01 版本并没有被发 布,原因是0.01 版本不实用。 Linus 仅仅在第一个 Linux FTP 站点( ftp://nic.funet.fi )上提供过这个版本的源代码。
Torvalds 10 5 日发布的这个 Linux 版本被称为 0.02 版,它能够运行 GNU Bourne Again Shell(bash) GNU 的 C编译程序( gcc )以及为数不多的其它语言。 Torvalds 绝对没有想到他设想的一种能够针对高级业余爱好者和 黑客们的操作系统已经产生,这就是人们所称的Linux 。;
Linux 发布时的版本是 0.02 ,后来又有 0.03 版,然后又跳到 0.10 版。因为世界各地越来越多的程序员都开始开发Linux,它已经达到 0.95 版。
这就意味着正是公布 1.0 版本的时间已经为期不远了。正式的 1.0 版本是在 1994 年公布的。

开源

Linux是一种自由和开放源代码的类UNIX操作系统,该操作系统的内核由林纳斯托瓦兹在1991年首次发布,之后,在加上用户空间的应用程序之后,就成为了Linux操作系统。
严格来讲,Linux只是操作系统内核本身,但通常采用“Linux内核”来表达该意思。而Linux则常用来指基于Linux内核的完整操作系统,它包括GUI组件和许多其他实用工具。
GNU 通用公共许可协议( GNU General Public License ,简称 GNU GPL GPL ),是一个广泛被使用的自由软件许可协议条款,最初由理查德斯托曼为GNU 计划而撰写, GPL 给予了计算机程序自由软件的定义, 任何基于 GPL软件开发衍生的产品在发布时必须采用 GPL 许可证方式,且必须公开源代码,
Linux 是自由软件和开放源代码软件发展中最著名的例子。只要遵循 GNU 通用公共许可证,任何个人和机构都可以自由地使用Linux 的所有底层源代码,也可以自由地修改和再发布。随着 Linux 操作系统飞速发展,各种集成 在Linux 上的开源软件和实用工具也得到了应用和普及,因此, Linux 也成为了开源软件的代名词。

 

企业应用现状

Linux在服务器领域的发展

随着开源软件在世界范围内影响力日益增强, Linux 服务器操作系统在整个服务器操作系统市场格局中占据了越来越多的市场份额,已经形成了大规模市场应用的局面。并且保持着快速的增长率。尤其在政府、 金融、农业、交通、电信等国家关键领域。此外,考虑到Linux 的快速成长性以及国家相关政策的扶持力度,Linux 服务器产品一定能够冲击更大的服务器市场。
据权威部门统计,目前 Linux 在服务器领域已经占据 75% 的市场份额,同时, Linux 在服务器市场的迅速崛起,已经引起全球IT 产业的高度关注,并以强劲的势头成为服务器操作系统领域中的中坚力量。

桌面领域

近年来,特别在国内市场, Linux 桌面操作系统的发展趋势非常迅猛。国内如中标麒麟 Linux 、红旗
Linux 、深度 Linux 等系统软件厂商都推出的 Linux 桌面操作系统,目前已经在政府、企业、 OEM 等领域得到了广泛应用。另外SUSE Ubuntu 也相继推出了基于 Linux 的桌面系统,特别是 Ubuntu Linux ,已经积累了大量社区用户。但是,从系统的整体功能、性能来看,Linux 桌面系统与 Windows 系列相比还有一定的差距,主要表现在系统易用性、系统管理、软硬件兼容性、软件的丰富程度等方面。

移动嵌入式领域

Linux 的低成本、强大的定制功能以及良好的移植性能,使得 Linux 在嵌入式系统方面也得到广泛应用,目前Linux 以广泛应用于手机、平板电脑、路由器、电视和电子游戏机等领域。在移动设备上广泛使用的Android操作系统就是创建在 Linux 内核之上的。目前, Android 已经成为全球最流行的智能手机操作系统,据2015 年权威部门最新统计, Android 操作系统的全球市场份额已达 84.6%
此外,思科在网络防火墙和路由器也使用了定制的 Linux ,阿里云也开发了一套基于 Linux 的操作系
“YunOS” ,可用于智能手机、平板电脑和网络电视;常见的数字视频录像机、舞台灯光控制系统等都在逐渐采用定制版本的Linux 来实现,而这一切均归功与 Linux 与开源的力量。

云计算/大数据领域

互联网产业的迅猛发展,促使云计算、大数据产业的形成并快速发展,云计算、大数据作为一个基于开源软件的平台,Linux 占据了核心优势;据 Linux 基金会的研究, 86% 的企业已经使用 Linux 操作系统进行云计算、大数据平台的构建,目前,Linux 已开始取代 Unix 成为最受青睐的云计算、大数据平台操作系统。

发行版

由于Linux内核本身并不包含用户界面或应用程序,所以它通常与GNU工具、库和其他软件一起打包成Linux发行版。一些流行的Linux发行版包括:

  • Ubuntu: 以用户友好和易于使用著称。
  • Fedora: 由Red Hat赞助,注重自由和开源软件。
  • Debian: 由社区驱动,以其稳定性和安全性著称。
  • CentOS: 基于Red Hat Enterprise Linux构建,适合企业环境。

Linux环境搭建方式

1. 安装Linux操作系统
硬件要求
CPU:大多数现代处理器都支持Linux。
内存:至少需要512MB,但推荐使用2GB或更多。
硬盘空间:至少需要5GB,但推荐使用更大的空间。
显卡:大多数现代显卡都支持Linux。
2. 虚拟机安装
如果想在已有的操作系统上尝试Linux,可以使用虚拟机软件。
虚拟机软件
VirtualBox
VMware Workstation
Hyper-V(Windows)
安装步骤
安装虚拟机软件:从官方网站下载并安装虚拟机软件。
创建虚拟机:
在虚拟机软件中创建新的虚拟机。
分配内存和CPU资源。
添加虚拟硬盘。
加载下载的Linux ISO文件作为启动介质。
启动虚拟机并按照物理安装的步骤进行安装。
3. 双系统安装
在已有的操作系统(如Windows)上安装Linux,使电脑在启动时可以选择启动Windows或Linux。
安装步骤
分出一个或多个分区:在Windows中,使用磁盘管理工具为Linux预留空间。
创建启动介质:如前所述。
启动电脑并安装Linux,在安装过程中选择与Windows共存。
4. 在云服务器上搭建Linux环境
可以使用AWS、Azure、Google Cloud等云服务提供商来创建Linux虚拟机。
安装步骤
注册云服务账户。
创建虚拟机实例,选择Linux操作系统。
配置实例:分配资源、设置网络和安全组。
连接到实例:使用SSH客户端连接到云服务器上的Linux实例。
以上是Linux环境搭建的几种常见方式,具体步骤可能会根据不同的Linux发行版和硬件环境有所不同。

 

相关文章:

走进Linux的历史发展史

目录 前言 Linux的发展史 UNIX发展的历史 Linux发展历史 开源 企业应用现状 Linux在服务器领域的发展 桌面领域 移动嵌入式领域 云计算/大数据领域 发行版 ​编辑 Linux环境搭建方式 前言 本节博客内容较水,主要介绍Linux的发展历史和其相关的学习内容&a…...

学习yum工具,进行安装软件

目录 1.Linux 软件包管理器 yum 什么是软件包 2.Linux下安装软件的方案 3.Linux软件生态 Linux下载软件的过程(Ubuntu、Centos、other) 操作系统的好坏评估--- ⽣态问题 为什么会有⼈免费特定社区提供软件,还发布?还提供云服…...

union介绍及使用

union格式 在C中,union是一种特殊的数据类型,它允许在相同的内存位置存储不同的数据类型,但在任意时刻只能使用一个成员。以下是union类型的基本格式说明: union UnionName {memberType1 memberName1;memberType2 memberName2;m…...

安全,服务器证书和SSL连接

业务报错&#xff1a; javax.net.ssl.SSLPeerUnverifiedException: Certificate for <10.5.20.137> doesn’t match any of the subject alternative names: [*.dt.zte.com.cn] at org.apache.http.conn.ssl.SSLConnectionSocketFactory.verifyHostname(SSLConnectionSoc…...

Java结合ElasticSearch根据查询关键字,高亮显示全文数据。

由于es高亮显示机制的问题。当全文内容过多&#xff0c;且搜索中标又少时&#xff0c;就会出现高亮结果无法覆盖全文。因此需要根据需求手动替换。 1.根据es的ik分词器获取搜索词的分词结果。 es部分&#xff1a; //中文分词解析 post /_analyze {"analyzer":"…...

Design Compiler:Topographical Workshop Lab2

相关阅读 Design Compilerhttps://blog.csdn.net/weixin_45791458/category_12738116.html?spm1001.2014.3001.5482 本文是对Synopsys Design Compiler Topographical/Graphical Workshop Lab Guide中Lab2的翻译&#xff0c;Lab文件可以从以下链接获取。 Synopsys Design Co…...

【C语言】连接陷阱探秘(1):声明与定义

目录 一、声明与定义的混淆 1.1. 声明(Declaration) 1.2. 定义(Definition) 1.3. 避免混淆的方法 1.4. 示例 二、声明与定义不匹配 2.1. 常见的不匹配情况 2.2. 解决方法 三、外部变量与静态变量的命名冲突 3.1. 外部变量命名冲突 3.2. 静态变量命名冲突 四、缺…...

ChatGPT学术专用版,一键润色纠错+中英互译+批量翻译PDF

ChatGPT academic项目是由中科院团队基于ChatGPT专属定制。论文润色、语法检查、中英互译、代码解释等可一键搞定&#xff0c;堪称科研神器。 功能介绍 我们以3.5版本为例&#xff0c;ChatGPT学术版总共分为五个区域&#xff1a;输入控制区、输出对话区、基础功能区、函数插件…...

python isinstance(True, int)

今天的bug 是布尔类型给的。 >>> a True >>> isinstance(a, int) True>>> a True >>> isinstance(a, bool) True‌Python中的布尔类型&#xff08;bool&#xff09;实际上是整数类型&#xff08;int&#xff09;的一个子类&#xff0c;…...

1.5寸**进口 128128带灰阶oled屏 spi串口 老王电子diy 设备 OLED 2024/11/15 arduino

名:1.5寸**进口 128128带灰阶oled屏 协:spi串口 铺:老王电子diy 设备: OLED 时间:2024/11/15 IDE: arduino 兜兜转转还是打通了,他的接口 用的i2c 标志 夭寿咯 MOSI&#xff08;Master Out Slave In&#xff09;&#xff1a;主机输出&#xff0c;从机输入。MISO&#xff…...

【EasyExcel】复杂导出操作-自定义颜色样式等(版本3.1.x)

文章目录 前言一、自定义拦截器二、自定义操作1.自定义颜色2.合并单元格 三、复杂操作示例1.实体(使用了注解式样式)&#xff1a;2.自定义拦截器3.代码4.最终效果 前言 本文简单介绍阿里的EasyExcel的复杂导出操作&#xff0c;包括自定义样式&#xff0c;根据数据合并单元格等。…...

机器学习 ---线性回归

目录 摘要&#xff1a; 一、简单线性回归与多元线性回归 1、简单线性回归 2、多元线性回归 3、残差 二、线性回归的正规方程解 1、线性回归训练流程 2、线性回归的正规方程解 &#xff08;1&#xff09;适用场景 &#xff08;2&#xff09;正规方程解的公式 三、衡量…...

深度学习每周学习总结J5(DenseNet-121 +SE 算法实战与解析 - 猴痘识别)

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 | 接辅导、项目定制 0. 总结 数据导入及处理部分&#xff1a;本次数据导入没有使用torchvision自带的数据集&#xff0c;需要将原始数据进行处理包括数据导入…...

VBA学习笔记:点击单元格显示指定的列

应用场景&#xff1a; 表格中列数较多&#xff0c;特定条件下隐藏一些无关的列&#xff0c;只保留相关的列&#xff0c;使表格更加清晰。 示例&#xff1a;原表格如下 点击一年级&#xff0c;只显示一年级相关的科目&#xff1a; 点击二年级&#xff0c;只显示二年级相关的科…...

windows C#-LINQ概述

语言集成查询 (LINQ) 是一系列直接将查询功能集成到 C# 语言的技术统称。 数据查询历来都表示为简单的字符串&#xff0c;没有编译时类型检查或 IntelliSense 支持。 此外&#xff0c;需要针对每种类型的数据源了解不同的查询语言&#xff1a;SQL 数据库、XML 文档、各种 Web 服…...

vue项目npm run serve出现【- Network: unavailable】(从排查到放弃)

1. 问题现象 环境&#xff1a; 系统&#xff1a;win11node&#xff1a;v16.20.2“vue”: “2.6.10” 执行npm run serve启动vue项目&#xff0c;期望&#xff1a; App running at:- Local: http://localhost:9528/ - Network: http://x.x.x.x:9528/实际&#xff1a; App runn…...

R语言贝叶斯分析:INLA 、MCMC混合模型、生存分析肿瘤临床试验、间歇泉喷发时间数据应用|附数据代码...

全文链接&#xff1a;https://tecdat.cn/?p38273 多模态数据在统计学中并不罕见&#xff0c;常出现在观测数据来自两个或多个潜在群体或总体的情况。混合模型常用于分析这类数据&#xff0c;它利用不同的组件来对数据中的不同群体或总体进行建模。本质上&#xff0c;混合模型是…...

C++ 关于类与对象(中篇)一篇详解!(运算符重载)

赋值运算符重载 运算符重载 C 为了 增强代码的可读性 引入了运算符重载 &#xff0c; 运算符重载是具有特殊函数名的函数 &#xff0c;也具有其返回值类型&#xff0c;函数名字以及参数列表&#xff0c;其返回值类型与参数列表与普通的函数类似。 函数名字为&#xff1a;关键…...

Scala的set

//Set的特点&#xff1a;唯一&#xff08;元素不相同&#xff09;&#xff1b;无序 case class Book(var bookName:String,var author:String,var price:Double){} object test27 {def main(args: Array[String]): Unit {//定义一个可变setval set1 scala.collection.mutable…...

Linux---常用shell脚本

目录 一.网络服务 开启network服务 网口IP配置 聚合口配置 前言 秋招拿到了科大讯飞的offer&#xff0c;可是由于某些原因无法完成三方签署&#xff0c;心情还是比较失落的&#xff0c;或许写一篇技术博客&#xff0c;活跃一下大脑思维也是一种不错的放松方式。 一.网络服务 …...

windows二进制安全零基础(二)

文章目录 栈&#xff08;The Stack&#xff09;调用约定&#xff08;Calling Conventions&#xff09;函数返回机制 在x86架构中&#xff0c;栈&#xff08;Stack&#xff09;是一个非常重要的内存区域&#xff0c;它用于支持线程的短期数据需求&#xff0c;如函数调用、局部变…...

git常用命令+搭vscode使用

1.克隆远程代码 git clone http:xxx git clone ssh:xxx clone的url 中 https和 ssh是有区别的: git中SSH和HTTP连接有什么区别-CSDN博客 当然https拉下来的代码每次pull /push都需要验证一次自己的账户和密码,可以config进行配置不用每次手敲: 解决VScode中每次git pu…...

如何在C#中处理必盈接口返回的股票数据?

在必盈接口返回股票数据后&#xff0c;在 C# 中可通过以下步骤进行处理&#xff1a; 数据获取 使用 HttpWebRequest 或 HttpClient 类向必盈接口发送请求以获取数据。以 HttpWebRequest 为例&#xff0c;构建请求并发送&#xff0c;获取响应流后读取为字符串形式的 JSON 数据。…...

01 最舒适的python开发环境

0 前言 我自己经过尝试&#xff0c;总结出python3开发环境的最舒适方式。 python3安装创建虚拟环境 venvjupyter notebook 笔记本安装vscode插件(Python, Pylance, Jupyter) 1 python3安装 ubuntu系统下安装最新版本的python3 sudo apt update sudo apt install python32 …...

【PyTorch】libtorch_cpu.so: undefined symbol: iJIT_NotifyEvent

【PyTorch】libtorch_cpu.so: undefined symbol: iJIT_NotifyEvent 1 报错信息2 原因3 解决方法 1 报错信息 conda install pytorch1.13.1 torchaudio0.13.1 torchvision0.14.1 cudatoolkit11.7 -c pytorch在 conda 环境中安装 torch 后测试&#xff0c;得到下面的错误&#x…...

快速利用c语言实现线性表(lineList)

线性表是数据结构中最基本和简单的一个&#xff0c;它是n的相同类型数据的有序序列&#xff0c;我们也可以用c语言中的数组来理解线性表。 一、线性表声明 我们定义一个线性表的结构体&#xff0c;内部有三个元素&#xff1a;其中elem是一个指针&#xff0c;指向线性表的头&am…...

量子计算与人工智能的交汇:科技未来的新引擎

引言 在当今飞速发展的科技世界&#xff0c;人工智能&#xff08;AI&#xff09;和量子计算无疑是最受瞩目的两大前沿领域。人工智能凭借其在数据处理、模式识别以及自动化决策中的强大能力&#xff0c;已经成为推动各行业数字化转型的重要力量。而量子计算则通过颠覆传统计算机…...

51单片机使用NRF24L01进行2.4G无线通信

本文并不打算详细介绍NRF24L01的各个功能寄存器及指令的详细用法&#xff0c;因为网上都可以搜到很多非常详细的教程文档&#xff0c;这里只是介绍一些基本概念、用法以及代码的解释&#xff0c;旨在帮助新手能够快速上手调通快速使用。 基础概念 该模块使用的是SPI协议&…...

HelloMeme 上手即用教程

HelloMeme是一个集成空间编织注意力的扩散模型&#xff0c;用于生成高保真图像和视频。它提供了一个代码库&#xff0c;包含实验代码和预训练模型&#xff0c;支持PyTorch和FFmpeg。用户可以通过简单的命令行操作来生成图像和视频。 本文将详细介绍&#xff0c;如何在GPU算力租…...

自定义call方法和apply方法

自定义call方法 //Fn:要执行的函数&#xff0c;obj&#xff1a;函数中this的指向&#xff0c;args:剩余参数function call(Fn, obj, ...args) {//判断if (obj undefined || obj null) {obj globalThis; //全局对象 globalThis&#xff1a;es11新增的特性&#xff0c;用来指向…...