[ Linux基础 | 青训营笔记]

84 阅读4分钟

这是我参与笔记创作活动的第3天

今天的视频课[Linux基础]是讲解Linux系统的一门课。Linux 作为开源的系统,目前正在各个领域发光发热。不管是前端还是服务端,日常开发都免不了跟 linux 打交道,而这门课程整体介绍了 linux 的基础知识点及部分内核结构,旨在帮助大家能够了解及加深对 linux 的认知,方便日常工作的开展。
我把视频中讲解的知识进行了整理和概括,老师分为了几个部分来讲解,具体内容如下:

1.计算机硬件

计算机由五大基本单元组成:控制器,运算器,存储单元,输入单元,输出单元。

在一个完整的冯诺依曼计算体系当中,计算机主要由五大基本单元组成,分别是控制器、运算器、存储器、以及输入输出两个单元。

控制器,顾名思义,他的作用就是协调和指挥计算机中各个部件进行按需作业。运算器主要作用就是算术与逻组运算的处理。存储器主要分为内存跟外存,磁盘光驱等都是届于外存输入设备比如鼠标、键盘,输出设备比如显示器、音响等。

下图简单的描述了基本单元的原型流程,从输入设备输入指令,经过控制器、运算器、存储器之间的处理,最终输出结果到输出设备展示给用户。 QQ截图20230415094450.png

2. 计算机操作系统

操作系统是(Operating System, OS),管理和控制计算机系统中的硬件和软件资源,用于在用户与系统硬件之间传递信息。

操作系统主要提供了两个方面的能力,一个是管理计算机资源,包括处理器管理、存储管理,设备管理,文件管理等,另外一个能加是提供各种的用户接口,包括命令接口、图形用户接口,程序调用接口,实现外部程序与操作系统内核的交互。

目前主流的计算机操作系统包括mac系统、linux系统,windows、手机端安卓系统以及目前比较火的华为鸿蒙系统。

3. Linux系统概述

1.Linux系统的发展历史:

  • 1969年,Unix诞生于贝尔实验室
  • 1984年,贝尔实验室将Unix商业化
  • 1984年,Tanenbaum开发Minix操作系统用于教学并开放源码
  • 1984年,Richard M. Stallman 发起自由软件(FSF)与GNU项目,起草GPL(通用公共许可)协议
  • 1991年,Linus Torvalds 受Minix影响实现初版的Linux内核
  • 1992年,Linux内核以GPL协议发行V1.0

2.Linux发行版本

Linux内核 + 常用软件 = Linux发行版本

下图是一些Linux的相关版本: QQ截图20230415095802.png

4. Linux系统结构

1.Linux系统一般有4个主要部分:内核,shell,文件系统,应用程序。如下图所示: QQ截图20230415100040.png

2.进程管理

进程是正在执行的一个程序或命令,进程有自己的地址空间,占用一定的系统资源,一个CPU核同一时间只能运行一个进程,进程由它的进程ID(PID)和它父进程的进程ID(PPID)唯一识别。

由于系统中运行的程序远远大于CPU的核数,Linux系统使用进程调度实现同时运行这么多的程序。进程调度是指操作系统按某种策略或规则选择进程占用CPU进行运行的过程。

3.文件系统

文件系统负责管理持久化数据的子系统,负责把用户的文件存到磁盘硬件中。Linux文件系统是采用树状的目录结构,最上层是/(根)目录。如下图: QQ截图20230415100528.png

Linux有这么多不同的文件系统,如何实现对用户提供统─调用接口的?对于这个问题,Linux提出了虚拟文件系统。它的主要组成如下: QQ截图20230415100729.png

4.用户权限

主要可以根据两种方式分类权限:

(1)用户账户:

  • 普通用户账户:在系统中进行普通作业
  • 超级用户账户:在系统中对普通用户和整个系统进行管理

(2)用户组

  • 标准组:可以容纳多个用户
  • 私有组:只有用户自己

5. Linux软件包管理

软件包:通常指的是一个应用程序,它可以是一个GUI应用程序、命令行工具或(其他软件程序需要的)软件库。

软件包管理:

  • 底层工具:主要用来处理安装和删除软件包文件等任务,DPKG,RPM

  • 上层工具:主要用于数据的搜索任务和依赖解析任务,APT, YUM,DNF

这节课主要介绍了 linux 的基础知识点及部分内核结构,希望大家能够了解及加深对 linux 的认知。好了今天的分享到此结束,我们明天见,希望大家指出不足之处以待改正~~