这是我参与笔记创作活动的第3天
今天的视频课[Linux基础]是讲解Linux系统的一门课。Linux 作为开源的系统,目前正在各个领域发光发热。不管是前端还是服务端,日常开发都免不了跟 linux 打交道,而这门课程整体介绍了 linux 的基础知识点及部分内核结构,旨在帮助大家能够了解及加深对 linux 的认知,方便日常工作的开展。
我把视频中讲解的知识进行了整理和概括,老师分为了几个部分来讲解,具体内容如下:
1.计算机硬件
计算机由五大基本单元组成:控制器,运算器,存储单元,输入单元,输出单元。
在一个完整的冯诺依曼计算体系当中,计算机主要由五大基本单元组成,分别是控制器、运算器、存储器、以及输入输出两个单元。
控制器,顾名思义,他的作用就是协调和指挥计算机中各个部件进行按需作业。运算器主要作用就是算术与逻组运算的处理。存储器主要分为内存跟外存,磁盘光驱等都是届于外存输入设备比如鼠标、键盘,输出设备比如显示器、音响等。
下图简单的描述了基本单元的原型流程,从输入设备输入指令,经过控制器、运算器、存储器之间的处理,最终输出结果到输出设备展示给用户。
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的相关版本:
4. Linux系统结构
1.Linux系统一般有4个主要部分:内核,shell,文件系统,应用程序。如下图所示:
2.进程管理
进程是正在执行的一个程序或命令,进程有自己的地址空间,占用一定的系统资源,一个CPU核同一时间只能运行一个进程,进程由它的进程ID(PID)和它父进程的进程ID(PPID)唯一识别。
由于系统中运行的程序远远大于CPU的核数,Linux系统使用进程调度实现同时运行这么多的程序。进程调度是指操作系统按某种策略或规则选择进程占用CPU进行运行的过程。
3.文件系统
文件系统负责管理持久化数据的子系统,负责把用户的文件存到磁盘硬件中。Linux文件系统是采用树状的目录结构,最上层是/(根)目录。如下图:
Linux有这么多不同的文件系统,如何实现对用户提供统─调用接口的?对于这个问题,Linux提出了虚拟文件系统。它的主要组成如下:
4.用户权限
主要可以根据两种方式分类权限:
(1)用户账户:
- 普通用户账户:在系统中进行普通作业
- 超级用户账户:在系统中对普通用户和整个系统进行管理
(2)用户组
- 标准组:可以容纳多个用户
- 私有组:只有用户自己
5. Linux软件包管理
软件包:通常指的是一个应用程序,它可以是一个GUI应用程序、命令行工具或(其他软件程序需要的)软件库。
软件包管理:
-
底层工具:主要用来处理安装和删除软件包文件等任务,DPKG,RPM
-
上层工具:主要用于数据的搜索任务和依赖解析任务,APT, YUM,DNF