Linux概述

Linux概述

1、操作系统

​ 定义:操作系统(Operating System,简称OS)是管理计算机硬件与软件资源的计算机程序

​ 作用:是把计算机系统中对硬件设备的操作封装起来,供应用软件调用,也是提供一个让用户与系统交互的操作界面。

在这里插入图片描述

​ 在我们的常见的操作系统中有

PC端的

​ 1、Windows

在这里插入图片描述

​ 2、MacOS

在这里插入图片描述

​ 3、Linux

在这里插入图片描述

移动端OS

​ 1、安卓与苹果

在这里插入图片描述

2、操作系统的发展史

Unix

​ 1965年之前的时候,电脑并不像现在一样普遍,它可不是一般人能碰的起的,除非是军事或者学院的研究机构,而且当时大型主机至多能提供30台终端(30个键盘、显示器),连接一台电脑

在这里插入图片描述

​ 为了解决数量不够用的问题

​ 1965年左后由贝尔实验室、麻省理工学院 以及 通用电气共同发起了Multics项目,想让大型主机支持300台终端

​ 1969年前后这个项目进度缓慢,资金短缺,贝尔实验室退出了研究

​ 1969年从这个项目中退出的Ken Thompson当时在实验室无聊时,为了让一台空闲的电脑上能够运行“星际旅行”游行,在8月份左右趁着其妻子探亲的时间,用了1个月的时间 编写出了 Unix操作系统的原型

​ 1970年,美国贝尔实验室的 Ken Thompson,以 BCPL语言 为基础,设计出很简单且很接近硬件的 B语言(取BCPL的首字母),并且他用B语言写了第一个UNIX操作系统。

​ 因为B语言的跨平台性较差,为了能够在其他的电脑上也能够运行这个非常棒的Unix操作系统,Dennis Ritchie和Ken Thompson 从B语言的基础上准备研究一个更好的语言

​ 肯·汤普逊(左)和丹尼斯·里奇(右)

在这里插入图片描述

​ 1972年,美国贝尔实验室的 Dennis Ritchie在B语言的基础上最终设计出了一种新的语言,他取了BCPL的第二个字母作为这种语言的名字,这就是C语言

​ 1973年初,C语言的主体完成。Thompson和Ritchie迫不及待地开始用它完全重写了现在大名鼎鼎的Unix操作系统

​ 早期的Unix系统都是针对专门的硬件系统开发的,不同厂商都是为自己的服务器开发专门的Unix操作系统。

Minix

​ 因为AT&T(通用电气)的政策改变,在Version 7 Unix推出之后,发布新的使用条款,将UNIX源代码私有化,在大学中不再能使用UNIX源代码。Andrew S. Tanenbaum(塔能鲍姆)教授为了能在课堂上教授学生操作系统运作的实务细节,决定在不使用任何AT&T的源代码前提下,自行开发与UNIX兼容的操作系统,以避免版权上的争议。他以小型UNIX(mini-UNIX)之意,将它称为MINIX。

Linux

​ 因为Minix只是教学使用,因此功能并不强,因此Torvalds利用GNU的bash当做开发环境,gcc当做编译工具,编写了Linux内核-v0.02,但是一开始Linux并不能兼容Unix,即Unix上跑的应用程序不能在Linux上跑,即应用程序与内核之间的接口不一致,因为Unix是遵循POSIX规范的,因此Torvalds修改了Linux,并遵循POSIX(Portable Operating System Interface,他规范了应用程序与内核的接口规范); 一开始Linux只适用于386,后来经过全世界的网友的帮助,最终能够兼容多种硬件;

在这里插入图片描述

​ Minix最有名的学生用户是Linus Torvalds,他在芬兰的赫尔辛基大学用Minix操作平台建立了一个新的操作系统的内核,他把它叫做Linux。

​ Linux内核最初只是由*****芬兰**********人林纳斯·托瓦兹(Linus Torvalds)*****在赫尔辛基大学上学时出于个人爱好而编写的。

​ Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统

​ Linux能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

​ 目前市面上较知名的发行版有:Ubuntu、RedHat、CentOS、Debain、Fedora、SuSE、OpenSUSE。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

​ Unix与Linux区别

​ Linux和UNIX的最大的区别是,前者是开放源代码的自由软件,而后者是对源代码实行知识产权保护的传统商业软件
​ 这应该是他们最大的不同,这种不同体现在用户对前者有很高的自主权,而对后者却只能去被动的适应;这种不同还
​ 表现在前者的开发是处在一个完全开放的环境之中,而后者的开发完全是处在一个黑箱之中,只有相关的开发人员才能 够接触的产品的原型
​ 具体区别如下:

UNIX系统大多是与硬件配套的,而Linux则可运行在多种硬件平台上.
UNIX是商业软件,收费,而Linux是自由软件,免费、公开源代码的.
Linux商业化的有RedHat Linux 、SuSe Linux、slakeware Linux、国内的红旗等,还有Turbo Linux.
Unix主要有Sun 的Solaris、IBM的AIX, HP的HP-UX,以及x86平台的的SCO Unix/Unixware.
3、Linux发行版本

​ 内核(kernel)是系统的心脏,是运行程序和管理像磁盘和打印机等硬件设备的核心程序,它提供了一个在裸设备与应用程序间的抽象层。

​ Linux内核版本又分为稳定版和开发版,两种版本是相互关联,相互循环:

- 稳定版:具有工业级强度,可以广泛地应用和部署。新的稳定版相对于较旧的只是修正一些bug或加入一些新的驱动程序。
- 开发版:由于要试验各种解决方案,所以变化很快。

​ 内核源码网址:http://www.kernel.org 所有来自全世界的对Linux源码的修改最终都会汇总到这个网站,由Linus领导的开源社区对其进行甄别和修改最终决定是否进入到Linux主线内核源码中。

​ Linux发行版 (也被叫做 GNU/Linux 发行版) 通常包含了包括桌面环境、办公套件、媒体播放器、数据库等应用软件。

排行版本描述
1MX Linux基于Debian和antiX
2Linux Mint基于Ubuntu和Debian
3Ubuntu顶级Linux发行版之一
4Elementary OS基于Debian
5Manjaro Linux基于Arch Linux
6Zorin OS基于Debian
7Fedora软件技术方面处于领先地位
8Debian设计得非常稳定
9CentOS基于Fedora和Red Hat的企业最佳Linux
10Kali Linux基于Debian
        Linux能做什么?Linux可作为企业级服务器,或嵌入式开发平台也包含个人桌面系统。包含虚拟化、数据库服务器、Web服务器、开发平台等等
        哪些人要学习Linux?Linux管理员,oracle管理员,网络工程师,程序开发者等等。Linux系统涉及方面非常广泛,生态也越来越强大,非常适合大家学习

个人桌面领域的应用

​ 此领域是传统linux应用最薄弱的环节,传统linux由于界面简单、操作复杂、应用软件少的缺点,一直被windows所压制,但近些年来随着ubuntu、fedora等优秀桌面环境的兴起,同时各大硬件厂商对其支持的加大,linux在个人桌面领域的占有率在逐渐的提高

典型代表:ubuntu、fedora、suse linux

服务器领域

​ linux在服务器领域的应用是其重要分支

​ linux免费、稳定、高效等特点在这里得到了很好的体现,但早期因为维护、运行等原因同样受到了很大的限制,但近些年来linux服务器市场得到了飞速的提升,尤其在一些高端领域尤为广泛

典型代表: Red Hat公司的AS系列完全开源的debian系列suse EnterPrise 11系列等

嵌入式领域

​ 近些年来linux在嵌入式领域的应用得到了飞速的提高

​ linux运行稳定、对网络的良好支持性、低成本,且可以根据需要进行软件裁剪,内核最小可以达到几百KB等特点,使其近些年来在嵌入式领域的应用得到非常大的提高

小贴士:Minix没有火起来的原因Andrew Tanenbaum教授在发布Minix3时,接受采访时他透露MINIX3将移植到ARM架构。他说,MINIX3没有统治世界是源于他在1992年犯下的一个错误,当时他认为BSD必然会一统天下,因为它是一个更稳定和更成熟的系统,其它操作系统难以与之竞争。因此他的MINIX的重心集中在教育上。四名BSD开发者已经成立了一家公司销售BSD系统,他们甚至还有一个有趣的电话号码1-800-ITS-UNIX。然而他们正因为这个电话号码而惹火上身。美国电话电报公司因电话号码而提起诉讼。官司打了三年才解决。在此期间,BSD陷于停滞,而Linux则借此一飞冲天。他的错误在于没有意识官司竟然持续了如此长的时间,以及BSD会因此受到削弱。如果美国电话电报公司没有起诉,Linux永远不会流行起来,BSD将统治世界。

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

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

相关文章

C++基础 -10- 类的构造函数

类的构造函数类型一 使用this指针给类内参数赋值 class rlxy {public:int a;rlxy(int a, int b, int c){this->aa;this->bb;this->cc;cout << "rlxy" << endl;}protected:int b;private:int c; };int main() {rlxy ss(10, 20, 30); }类的构造…

winform 程序多语言

新建一个winform程序添加资源文件 在多语言的资源文件中设置key以及value设置button根据环境选择语言文件 namespace WindowsFormsMulLang {public partial class Form1 : Form{public Form1(){InitializeComponent();}public static ResourceManager rm new ResourceManager(…

PHP+vue+elementui高校学生社团信息管理系统o7q4a

社团是由高校用户依据兴趣爱好自愿组成&#xff0c;按照章程自主开展活动的用户组织。高校社团是实施素质教育的重要途径和有效方式&#xff0c;在加强校园文化建设、提高用户综合素质、引导用户适应社会、促进用户交流等方面发挥着重要作用&#xff0c;是新形势下有效凝聚用户…

位运算算法【1】

文章目录 &#x1f34a;面试题 01.01. 判定字符是否唯一&#x1f96d;题目&#x1f351;算法原理&#x1f95d;解法一&#xff1a;哈希表&#x1f95d;解法二&#xff1a;位图 &#x1f951;代码实现 &#x1f33d;268. 丢失的数字&#x1f96c;题目&#x1f344;算法原理&…

Leetcode—2336.无限集中的最小数字【中等】

2023每日刷题&#xff08;四十四&#xff09; Leetcode—2336.无限集中的最小数字 实现代码 class SmallestInfiniteSet {set<int> s; public:SmallestInfiniteSet() {for(int i 1; i < 1000; i) {s.insert(i);}}int popSmallest() {int res *s.begin();s.erase(s…

webpack如何处理css

一、准备工作 新建目录 添加样式 .word {color: red; } index.js添加dom元素&#xff0c;添加一个css word import ./css/index.css;const div document.createElement("div"); div.innerText "hello word!!!"; div.className "word"; do…

Unity安装

DAY1 下载Unity 打开Unity3D官网&#xff0c;下载Unity Hub&#xff0c;管理Unity的软件。链接https://unity.cn/releases (可能需要注册账号&#xff0c;就正常注册登录即可) 如果是新版的hub&#xff0c;可能长下面这个样子&#xff0c;还是英文的&#xff0c;点击圆圈的设…

基于振弦式轴力计和采集仪的安全监测解决方案

基于振弦式轴力计和采集仪的安全监测解决方案 振弦式轴力计是一种测量结构物轴向力的设备&#xff0c;通过测量结构物上的振弦振幅变化&#xff0c;可以确定结构物轴向力的大小。采集仪是一种用于采集和存储传感器数据的设备&#xff0c;通常与振弦式轴力计一起使用&#xff0c…

41.0/查询/sql注入安全问题以及解决方式。

41.1. 回顾 1. jdbc&#xff1a;[java database connection] java连接数据库 2. 完成了增删改操作。 [1]加载驱动。Class.forName("com.mysql.cj.jdbc.Driver"); [2]获取连接对象: Connection connDriverManager.getConnection(url,user,pass); url: jdb…

利用sql语句来统计用户登录数据的实践

目录 1 基本数据情况2 统计每个用户每个月登录次数3 将日期按月显示在列上4 总结 1 基本数据情况 当需要对用户登录情况进行统计时&#xff0c;SQL是一个非常强大的工具。通过SQL&#xff0c;可以轻松地从数据库中提取和汇总数据&#xff0c;并以适合分析和报告的方式进行呈现…

构建强大的接口自动化测试框架:Pytest实践指南!

一. 背景 Pytest目前已经成为Python系自动化测试必学必备的一个框架&#xff0c;网上也有很多的文章讲述相关的知识。最近自己也抽时间梳理了一份pytest接口自动化测试框架&#xff0c;因此准备写文章记录一下&#xff0c;做到尽量简单通俗易懂&#xff0c;当然前提是基本的py…

技巧-PyCharm中Debug和Run对训练的影响和实验测试

简介 在训练深度学习模型时&#xff0c;使用PyCharm的Debug模式和Run模式对训练模型的耗时会有一些区别。 Debug模式&#xff1a;Debug模式在训练模型时&#xff0c;会对每一行代码进行监视&#xff0c;这使得CPU的利用率相对较高。由于需要逐步执行、断点调试、查看变量值等操…

[C++][原创]VSCode C++怎么让运行的时候弹出cmd窗口,而不是在VSCode调试输出

VSCode C怎么让运行的时候弹出cmd窗口&#xff0c;而不是在VSCode控制台调试输出&#xff1f;其实在VSCode控制台调试输出是非常不错的&#xff0c;我很喜欢&#xff0c;但是偏偏有小白就喜欢每次运行弹个cmd窗口&#xff0c;这样的人也是少见。没办法&#xff0c;为了满足这样…

二分查找算法详解

&#x1f680; 作者主页&#xff1a; 有来技术 &#x1f525; 开源项目&#xff1a; youlai-mall &#x1f343; vue3-element-admin &#x1f343; youlai-boot &#x1f33a; 仓库主页&#xff1a; Gitee &#x1f4ab; Github &#x1f4ab; GitCode &#x1f496; 欢迎点赞…

华为ospf和isis双点双向路由重分布的次优路径和环路终极解决方案

r5上直接导入直连路由 r3和r2进行双点双向路由重分布 查看R3去往R5产生了次优路径&#xff1a; 因为是R2先互相引入的isis和ospf&#xff0c;所以R3会产生次优路径&#xff0c;如果是R3先相互引入ospf和isis&#xff0c;那就是R2去R5会产生次优路径&#xff0c;而R3本身不会。…

基于若依的ruoyi-nbcio流程管理系统增加流程节点配置(三)

更多ruoyi-nbcio功能请看演示系统 gitee源代码地址 前后端代码&#xff1a; https://gitee.com/nbacheng/ruoyi-nbcio 演示地址&#xff1a;RuoYi-Nbcio后台管理系统 这一节主要是对每个流程节点的字段规则设置与操作规则设置&#xff0c;目前也是只针对自定义业务表单。 1、…

元素在盒模型居中的情况

在CSS中&#xff0c;有多种方法可以使元素在盒模型中居中。下面列举了一些常见的情况和相应的解决方案&#xff1a; 水平居中&#xff1a;文本 text-align: center; 适用于&#xff1a;行内元素和文本。 水平居中&#xff1a;块级元素 margin-left: auto; margin-right: auto…

Day35| Leetcode 860. 柠檬水找零 Leetcode 406. 根据身高重建队列 Leetcode 452. 用最少数量的箭引爆气球

Leetcode 860. 柠檬水找零 题目链接 860 柠檬水找零 本题目比较简单&#xff0c;我一开始并没有看出有需要贪心的地方&#xff0c;看了一下解析&#xff1a; 局部最优&#xff1a;遇到账单20&#xff0c;优先消耗美元10&#xff0c;完成本次找零。全局最优&#xff1a;完成…

c语言编程题经典100例——(36~40例)

1&#xff0c;实现快速排序算法。 下面是用C语言实现快速排序算法的示例代码&#xff1a; #include <stdio.h> void swap(int* a, int* b) { int t *a; *a *b; *b t; } int partition(int arr[], int low, int high) { int pivot arr[high]; int i (low …

如何设置带有密码的excel只读模式?

Excel只读模式大家都不陌生&#xff0c;那大家知道带有密码的只读模式吗&#xff1f;今天给大家分享如何设置带有密码的只读模式。 打开excel文件&#xff0c;将文件进行【另存为】设置&#xff0c;然后停留在保存路径的界面中&#xff0c;我们点击下面的工具 – 常规选项 在常…