Linux基础
什么是Linux
- Linux是一种开源的类Unix操作系统
- 支持多用户、多任务、支持多线程和多CPU
操作系统
操作系统是作为计算机用户和计算机硬件之间的媒介的软件
操作系统的目标
- 执行用户程序
- 使解决用户问题更简单
- 使计算机容易操作
- 提高计算机硬件的使用效率
Linux的引导方式
- 传统模式:基于BIOS的启动流程
通电 ——> BOSI ——> BOSI自检 ——> Bootloader ——> 操作系统 - 主流模式:基于UEFI的启动流程
通电 ——> UEFI ——> Bootloader ——> 操作系统
进程
- 进程的概念是执行程序
- 程序本身不是进程,程序是被动的实体,而进程是活动的实体
进程状态
进程在执行时会改变状态,进程状态部分取决于进程的当前活动
- 新的(new):进程正在创建
- 运行(running):指令正在执行
- 等待(waiting):进程等待某个事件的发生,如I/O完成或收到信号
- 就绪(ready):进程等待分配处理器
- 终止(terminated):进程已经完成执行
进程调度
随着多道程序的出现,无论何时都有进程运行,从而最大化CPU的利用率
- 作业队列:包括系统内的所有进程
- 就绪队列:保存驻留在内存中的、就绪的、等待运行的进程
- 设备队列:等待特定的I/O设备的进程列表,每个设备都有自己的设备队列
调度程序
- 进程在整个生命周期中,会在各种调度队列之间迁移
- 操作系统为了调度必定按一定的方式从这些队列中选择进程
- 进程选择通过适当的调度器或调度程序来执行
- 长期调度程序/作业调度程序:从大容量存储设备的缓冲池中选择进程,加到内存以便执行
- 短期调度程序/CPU调度程序:从准备执行的进程中选择进程,并分配CPU
操作系统的保护
保护作为一种机制,用于控制程序、进程或用户访问计算机系统定义的资源
- 访问矩阵:通用保护模型抽象成的矩阵,访问矩阵的行表示域,列表示对象
- 访问控制:权限可以分配给进程或角色,用户可以分配角色或根据角色密码来获取角色
个人思考与总结
Q:为什么会出现二级引导程序?
A:如果直接引导操作系统,对于操作系统本身的大小会有限制,而且难以更改。如果采用二级引导程序,则操作系统大小不受约束,并且方便更新和修改。
Q:多道程序运行有什么缺点?
A:对处理器要求高,要有保存进程现场和返回程序断点的能力。进行中断和调度对于操作系统资源有占用,造成不必要的开销。需要大量的存储内存来完成这项工作。