01 计算机硬件
计算机由五大基本单元组成:控制器、运算器、存储器、以及输入输出两个单元。
控制器的作用是:协调和指挥计算机各个部件进行按需作业。
运算器:算术与逻辑运算的处理。
存储器:内存跟外存。
磁盘光驱:外存。
02 计算机操作系统
操作系统启动流程分为传统模式,基于bios的启动流程,另一种是当前的主流模式,基于UEFI的启动流程。都是一段固化在主板上的程序,计算机启动时会默认运行这段程序,然后通过这段程序去运行主板引导项。
03 Linux系统概览
Linux系统一般有4个主要部分:
内核:硬件与软件之间的中间层、是一个资源管理程序、提供一组面向系统的命令
shell
文件系统
应用程序
进程管理
进程是正在执行的一个程序或命令
进程是有自己的地址空间,占用一定的系统资源
一个CPU核同一时间只能运行一个进程
进程由它的进程PID和它父进程PPID唯一标识
进程调度
指的是操作系统按某种策略或规则选择进程占用CPU进行运行的过程。
对于进程调度不能保证一个程序是连续完成的,由于CPU调度和进程切换,上下文也会出现切换情况。
进度的系统调用
内核空间:系统内核运行的空间
用户空间:应用程序运行的空间
04 Linux系统结构
文件系统负责管理持久化数据的子系统,负责把用户的文件存到磁盘硬件中。
进程管理
进程是正在执行的一个程序或命令
进程是有自己的地址空间,占用一定的系统资源
一个CPU核同一时间只能运行一个进程
进程由它的进程PID和它父进程PPID唯一标识
进程调度
指的是操作系统按某种策略或规则选择进程占用CPU进行运行的过程。
对于进程调度不能保证一个程序是连续完成的,由于CPU调度和进程切换,上下文也会出现切换情况。
进度的系统调用
内核空间:系统内核运行的空间
用户空间:应用程序运行的空间
这样做最明显的好处是开发者仅需要使用一套 API 和开发工具即可调取 Linux 系统中绝大部分的资源。
举个简单的例子,Linux 中几乎所有读(读文件,读系统状态,读 soket,读PIPE) 的操作都可以用read 函教来进行:几乎所有更改(更改文件,更改系统参数,写 socket,写 PIPE)的操作都可以用write函数来 进行.使用任何硬件设备都必须与根目录下某一目录执行挂载操作
文件系统
Linux文件系统是采用树状的目录结构,最上层是/根目录
1、/bin: bin 是 Binaries (二进制文件) 的缩写,这个目录存放着最经常使用的命令
2、/boot: 这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件
3、/dev : dev 是 Device(设备)的缩写,该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式 和访问文件的方式是相同的。
4、/etc: etc 是 Etcetera(等等)的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录
5、/home: 用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
6、/lib : ib 是 Library库的缩写这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。
虚拟文件系统(VFS)
对应用层提供一个标准的文件操作接口
对文件系统提供一个标准的文件接入接口
05 Linux系统软件包管理器
软件包
通常指的是一个应用程序,它可以是一个 GUI 应用程序、命令行工具或(其他软件程序需要的) 软件库
软件包管理
底层工具: 主要用来处理安装和删除软件包文件等任务,DPKG,RPIM上层工具: 主要用于数据的搜索任务和依赖解析任务,APT,YUM,DNF