Linux基础
计算机硬件
计算机五大单元
控制器、运算器、存储单元、输入单元、输出单元
计算机操作系统os
os的作用:
管理计算机系统硬件软件资源,用于用户与系统硬件之间传递信息
提供各种用户接口
操作系统启动流程
BIOS->BIOS自检->Bootloader->os
UEFI->Bootloader->os
Linux简介
Linux版本
内核版本、发行版本(内核+常用软件=发行版本)
如何查看Linux内核版本
方法1 uname-a
方法2 cat/proc/version
Linux系统结构
Linux基本组成
四个主要部分: 内核、shell、文件系统、应用程序
内核是硬件与软件之间的中间层,是一个资源管理程序,提供一组面向系统的指令
Linux体系结构
用户空间:系统用户运行的空间
内核空间:系统内核运行的空间
【用户态】用户程序发起系统调用->【内核态】执行系统调用-> 回到【用户态】返回系统调用
内核空间结构:
上层--GTY 接口、输入
中间层--进程管理(进程间允许通信)
底层--对文件系统操作
进程管理
进程(正在进行的程序或命令):有自己的地址空间、占用一定资源、进程由它的进程ID(PID)和它的父进程ID(PPID)唯一识别
进程调度
定义:进程调度指os按某种策略选择占用CPU
原则:
1.一个CPU核同一时间只能运行一个进程
2.每个进程有近乎相等的执行时间
3.对逻辑CPU而言,进行进程调度采用轮询方式(保证了即使是优先级别低的进程也能执行,否则优先级别低的进程一直不能执行)
4.消耗时间和进程量成正比
文件系统
文件系统负责管理持久化数据的子系统,负责吧用户文件存到硬盘中。
【明显好处是开发者仅需使用一套API和开发工具即可调取Linux系统中绝大部分资源】
Linux文件系统是采用树状目录结构,最上层是根目录
【如何对用户提供统一调用接口】
虚拟文件系统VFS:对应用层提供标准文件操作接口、对文件系统提供标准文件接入接口
用户控制VFS,VFS再去控制个文件系统
文件系统基本操作
文件读取进程
磁盘->内核缓冲区->用户缓冲区->Socket缓冲区->网卡
用户权限
用户账户:普通用户、超级用户root
组账户:标准组、私有组
文件权限
所有者、所在组、其他人
每个用户权限不同:读R、写W、执行X
软件包
软件包指一个应用程序(GUI应用程序,命令行工具)
软件包管理:
底层工具(安装和删除软件包):DPKG(Debian),RPM(Red hat)
上层工具(数据搜索任务和依赖解析任务):APT,YUM,DNF
//理解为RPM必须手动安装,YUM可自动下载安装