Linux简介
- 🌿Linux发展史
- 🌿Linux版本
- 🌿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版本
🍃红帽系列
- RHEL(收费版本),比较稳定,可以做中大型服务器。
- CentOS(免费版本),相对稳定,可以做小型服务器使用。
- Fedora Core(免费版本),相对不太稳定,适合桌面使用。
🍃Debain系列
- Debain:最遵守GNU计划的版本,是所有社区类linux系统的一个典范,拥有软件
包管理(APT/JPKG)
2.ubuntu:它是在debain的基础上增强而来的,增加了鼠标拖拽,tab补齐等功
能,也继承了debain的软件包管理。
🌿Linux系统组件
🍃内核
概念:内核就是一个操作系统最核心的组件,决定着操作系统的性能内核对性能的影响体现:
- 内存:内核对每个程序分配的0-4G虚拟内存
- 进程:内核管理者进程的先后执行顺序
- 网络:只要需要联网的,都需要内核去分配网络资源
- 驱动:计算机中每一个硬件都有自己专属的一套驱动程序
🍃shell
什么是shell?
shell是一个命令行解释器,是内核的外壳保护,是用户与内核之间交互的桥梁
- shell中文直译是“贝壳”。是保护内在的东西
- Linux中的Shell就是Linux内核的一个外层保护工具,同时负责完成用户与内核之间的交流
- 用户在命令行提示符下键入命令文本,开始与shell进行交互
- shell将用户的命令转换为内核能理解的指令
- 控制操作系统做出相应,直接控制相关的硬件设备
- shell将输出的结果通过shell提交给用户
两个概念:
- shell命令: 终端上输入的一系列字符串
- shell:用来解释shell命令的解释器
shell解释器的版本:
- sh
- csh
- ksh
- bash
bash就是对sh的增强版,也是我们ubuntu当前使用的shell版本
🍃文件系统
概念:文件存在的物理空间
意义:为了解决不同文件系统之间的数据交互问题
解决办法:通过虚拟文件系统(VFS)来实现
具体做法:将不同的文件系统挂载在同一个虚拟文件系统下,使用同一组接口完成数据的交互。
文件系统的分类:
- 磁盘文件系统:通过磁盘文件系统管理不同类型的文件
- 网络文件系统:通过网络访问一些文件夹,将这些文件夹作为自己的根文件系统过去使用
- 虚拟文件系统:操作不同的设备文件调用同一组统一的接口
🛑总结
该文章总结了Linux的发展史,Linux操作系统的特点、不同版本(如红帽和Debian系列)、核心组件(包括内核、Shell和文件系统),以及它们在计算机系统中的功能和作用。