Linux简介

avatar
作者
猴君
阅读量:0

Linux简介

🌿Linux发展史

🍃为什么要学习发展史

1.有些面试中会遇到
2.了解为什么嵌入式要使用Linux
3.知道Linux的特点

🍃发展史

在这里插入图片描述
介绍Linux还要从Unix开始说起

  • 1969年:AT&T公司发贝尔实验室与MIT(麻省理工学院)合作开发了Unix,旨在创建一个多用户、大型、并行操作系统,并从学校走入企业。但是Unix是用汇编语言编写的,不能做移植
  • 1973年:C语言问世,立刻使用C语言对Unix系统进行了重写,解决了不能移植的问题,并免费开源,引进很多专业人士参与代码优化,修改。
  • 1979年:AT&T将原本开源的Unix操作系统选择闭源,而且对一些Unix相关变种进行了声明版权
  • 1983年:马修斯拖曼提出“自由软件运动”。旨在创造出一套完全兼容Unix的类Unix操作系统,为该计划起了最终的新系统名称:GNU/Hurd(OS)Hurd是内核。GNU是该系统的外围组件。
  • 1984年:成立自由软件基金会协助该计划实施。
  • 1989年:外围组件已经基本完善(例如:gcc,make),但是Hurd一直没有实现。这一年GNU计划律师起草了一个协议:GPL(通用公共许可证书)
  • 1991年:Linux之父Linus Torvals(林纳斯托瓦兹)为了在家里的PC机上也可以使用上和学校一样的操作系统,就自己编写了一个类Unix系统,将学校使用的Minix操作系统在家里进行磁盘驱动程序和文件系统重写,并且取名Linux在GPL计划发布,然后这个形式内核雏形最终将Hurd的位置替换形成GNU/Linux。但是最初Linus编写的程序只适用于Intel386处理器,且不能移植。由于人们的鼓励,继续编写可移植的Linux系统
  • 1996年:随着越来越多的计算机爱好者、程序员通过网络(通过社区、邮件列表、论坛、WIKI等)参与到Linux系统的不断完善之中。最终在这一年发布了linux2.0版本。

毕竟GNU计划没有限制商业行为,因此很多公司都在争先恐后的推出自己特色的系统(在保证Linux内核不变,更改外设),但是其实大家都是换汤不换药,因此大家统一都叫Linux的某个发行版本。

🍃Linux特点

1.开源:开放源代码
2.免费:不要钱
3.自由:可以随意更改源代码
这也是为什么嵌入式要使用Linux的理由

🌿Linux版本

🍃红帽系列

  1. RHEL(收费版本),比较稳定,可以做中大型服务器。
  2. CentOS(免费版本),相对稳定,可以做小型服务器使用。
  3. Fedora Core(免费版本),相对不太稳定,适合桌面使用。

🍃Debain系列

  1. Debain:最遵守GNU计划的版本,是所有社区类linux系统的一个典范,拥有软件
    包管理(APT/JPKG)
    2.ubuntu:它是在debain的基础上增强而来的,增加了鼠标拖拽,tab补齐等功
    能,也继承了debain的软件包管理。

🌿Linux系统组件

在这里插入图片描述

🍃内核

在这里插入图片描述
概念:内核就是一个操作系统最核心的组件,决定着操作系统的性能内核对性能的影响体现:

  1. 内存:内核对每个程序分配的0-4G虚拟内存
  2. 进程:内核管理者进程的先后执行顺序
  3. 网络:只要需要联网的,都需要内核去分配网络资源
  4. 驱动:计算机中每一个硬件都有自己专属的一套驱动程序

🍃shell

什么是shell?
shell是一个命令行解释器,是内核的外壳保护,是用户与内核之间交互的桥梁

  • shell中文直译是“贝壳”。是保护内在的东西
  • Linux中的Shell就是Linux内核的一个外层保护工具,同时负责完成用户与内核之间的交流
    在这里插入图片描述
  • 用户在命令行提示符下键入命令文本,开始与shell进行交互
  • shell将用户的命令转换为内核能理解的指令
  • 控制操作系统做出相应,直接控制相关的硬件设备
  • shell将输出的结果通过shell提交给用户
    在这里插入图片描述
    两个概念:
  1. shell命令: 终端上输入的一系列字符串
  2. shell:用来解释shell命令的解释器

shell解释器的版本:

  1. sh
  2. csh
  3. ksh
  4. bash
    bash就是对sh的增强版,也是我们ubuntu当前使用的shell版本

🍃文件系统

概念:文件存在的物理空间
意义:为了解决不同文件系统之间的数据交互问题
解决办法:通过虚拟文件系统(VFS)来实现
具体做法:将不同的文件系统挂载在同一个虚拟文件系统下,使用同一组接口完成数据的交互。

文件系统的分类:

  1. 磁盘文件系统:通过磁盘文件系统管理不同类型的文件
  2. 网络文件系统:通过网络访问一些文件夹,将这些文件夹作为自己的根文件系统过去使用
  3. 虚拟文件系统:操作不同的设备文件调用同一组统一的接口

🛑总结

该文章总结了Linux的发展史,Linux操作系统的特点、不同版本(如红帽和Debian系列)、核心组件(包括内核、Shell和文件系统),以及它们在计算机系统中的功能和作用。

    广告一刻

    为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!