01操作系统启动流程
Power Up->BIOS->BIOS自检->BootLoader->OS
Power Up->UEFI->BootLoader->OS
BIOS相对UEFI较慢,因为需要BIOS自检,而UEFI不需要自检,速度更快
02Linux版本
Linux系统主要可以分为内核版本和发行版本,而Linux内核 + 常用软件 = Linux发行版本
04Linux基本组成
Linux结构
Linux系统一般分为四个部分
- 内核
- shell
- 文件系统
- 应用程序
- 内核是硬件和软件之间的中间层
- 内核是一个资源管理程序
- 内核提供了面向系统的命令
Linux进程管理
简介
- 进程是正在执行的程序或者命令,可以看作是运行的代码
- 进程有自己的地址空间,占有一定的系统资源
- 一个CPU核同一时间只能运行一个进程(Intel的超线程技术?)
- 进程由它的进程id(PID)和它的父进程id(PPID)唯一识别
可以结合计算机系统中的进程管理章节学习
进程状态
- R(TaskRunning)——执行状态
- S(TASK_INTERRUPTIBLE)——可中断睡眠
- D(TASK——UNINTERRUPTIBLE)——不可中断睡眠
- T——暂停或者跟踪状态
- Z(ZOMBIE)——退出状态,进程成为僵尸进程
- X(EXIT)——退出状态,进程即将被销毁
进程调度
进程调度原则参考计算机系统中的进程调度策略,比如时间片,优先级队列等
进程调用
分为内核空间(Kernel):系统内核的空间,用户空间(User):应用程序的空间,用户态通过中断进入内核态后执行系统调用
文件系统
在Linux中一切皆是文件,目录-设备-套接字等都是文件,Linux的文件系统采用的是树状的目录结构
虚拟文件系统
- 对应用层提供一个标准的文件操作接口
- 对文件系统提供一个标准的文件接入接口
文件读取流程
Linux中文件的读取需要经过缓冲区,缓冲区的作用是当复制的大小达到缓冲区的大小后再中断,避免反复的中断影响性能
权限管理
用户账号
- 用户账号 分为普通用户:在系统中进行普通操作,超级用户(root):在系统中对普通用户和整个系统进行管理
- 用户组 标准组:可以容纳多个用户,私有组:仅有用户自己
文件权限
所有者:文件的所有者
所在组:文件的所有者所在的组
其他人:除了文件的所有者以及所在组以外的其他用户
每个用户对文件有不同的权限,包括读,写,执行等
软件包管理
软件包通常是一个应用程序,可以是一个GUI程序,也可以是命令行或者是其他软件需要的软件库
软件包管理工具分为底层工具和上层工具,底层工具用来处理安装和删除包任务,例如DPKG、RP,而上层工具主要用于数据的搜索任务和依赖解析任务,例如APT,YUN,DNF等