Linux基础 | 青训营笔记

47 阅读3分钟

Linux基础

什么是Linux

  • Linux是一种开源的类Unix操作系统
  • 支持多用户、多任务、支持多线程和多CPU

操作系统

操作系统是作为计算机用户和计算机硬件之间的媒介的软件

操作系统的目标

  • 执行用户程序
  • 使解决用户问题更简单
  • 使计算机容易操作
  • 提高计算机硬件的使用效率

Linux的引导方式

  • 传统模式:基于BIOS的启动流程
    通电 ——> BOSI ——> BOSI自检 ——> Bootloader ——> 操作系统
  • 主流模式:基于UEFI的启动流程
    通电 ——> UEFI ——> Bootloader ——> 操作系统

进程

  • 进程的概念是执行程序
  • 程序本身不是进程,程序是被动的实体,而进程是活动的实体

进程状态

进程在执行时会改变状态,进程状态部分取决于进程的当前活动

  • 新的(new):进程正在创建
  • 运行(running):指令正在执行
  • 等待(waiting):进程等待某个事件的发生,如I/O完成或收到信号
  • 就绪(ready):进程等待分配处理器
  • 终止(terminated):进程已经完成执行

进程调度

随着多道程序的出现,无论何时都有进程运行,从而最大化CPU的利用率

  • 作业队列:包括系统内的所有进程
  • 就绪队列:保存驻留在内存中的、就绪的、等待运行的进程
  • 设备队列:等待特定的I/O设备的进程列表,每个设备都有自己的设备队列

调度程序

  1. 进程在整个生命周期中,会在各种调度队列之间迁移
  2. 操作系统为了调度必定按一定的方式从这些队列中选择进程
  3. 进程选择通过适当的调度器调度程序来执行
  • 长期调度程序/作业调度程序:从大容量存储设备的缓冲池中选择进程,加到内存以便执行
  • 短期调度程序/CPU调度程序:从准备执行的进程中选择进程,并分配CPU

操作系统的保护

保护作为一种机制,用于控制程序、进程或用户访问计算机系统定义的资源

  • 访问矩阵:通用保护模型抽象成的矩阵,访问矩阵的行表示域,列表示对象
  • 访问控制:权限可以分配给进程或角色,用户可以分配角色或根据角色密码来获取角色

个人思考与总结

Q:为什么会出现二级引导程序
A:如果直接引导操作系统,对于操作系统本身的大小会有限制,而且难以更改。如果采用二级引导程序,则操作系统大小不受约束,并且方便更新和修改。

Q:多道程序运行有什么缺点
A:对处理器要求高,要有保存进程现场和返回程序断点的能力。进行中断和调度对于操作系统资源有占用,造成不必要的开销。需要大量的存储内存来完成这项工作。