进程的几种状态

就绪: 当进程已分配到除CPU以外的所有必要的资源,只要获得处理机便可立即执行,这时的进程状态称为就绪状态。

执行: 当进程已获得处理机,其程序正在处理机上执行,此时的进程状态称为执行状态。

阻塞: 正在执行的进程,由于等待某个事件发生而无法执行时,便放弃处理机而处于阻塞状态。引起进程阻塞的事件可有多种,例如,等待I/O完成、申请缓冲区不能满足、等待信件(信号)等。

https://upload-images.jianshu.io/upload_images/1485056-efde09b1217348ee.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/852/format/webp

https://upload-images.jianshu.io/upload_images/1485056-999cd919ddf7beac.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/927/format/webp

调度算法

  • 时间片轮转

      1. 可抢占式,时间片内进程未运行完,就剥夺处理机使用权
      2. 优点: 公平,响应快,适用于分时操作系统
      3. 时间片太大或者太小会有什么影响
  • 优先级调度

      1. 优先级调度,选择优先级高的调度
      2. 分为抢占式和非抢占式2种
    • 队列:
    • 静态优先级和动态优先级: 动态的话会动态调整,静态的优先级不会发生变化
  • 高响应比优先:

    • 公式: $响应比=响应时间/要求服务时间=(等待时间+ 要求服务时间)/要求服务时间$
  • 多级反馈队列

    • 综合 时间片和 优先级调度算法

    • 抢占式算法:

    • 设置多个级别队列,优先时间从高到第,时间片从小到大

      • 优先级越高,速度越快,时间片分配的越小

页面置换算法

  1. 最佳置换算法 OPT(optimal)

    1. 淘汰那些永久不使用的页面【我怎么知道哪些不再使用了呢? 没法实现】
  2. 猜测那些 页面以后不再使用,淘汰那些猜测的:

    1. FIFO , 先进先出,最先用的,我认为 后面不再用了,就丢掉

    2. LRU, 最近最久没用使用的,我认为不再使用,就淘汰 【性能好,开销大】

      1. 用过的页面,我就调整到队列头部
      2. 最近没用过的,从队列尾部删除
    3. clock NRU 时钟置换算法

      1. 放入循环队列
      2. 循环扫描
        1. 学习视频
    4. LFU ,最近最少使用,基于访问次数来判断,淘汰访问次数最小的

内存管理

分页

https://static.sitestack.cn/projects/linux-0.12/docs/%25E7%25AC%25AC13%25E7%25AB%25A0-%25E5%2586%2585%25E5%25AD%2598%25E7%25AE%25A1%25E7%2590%2586/image/1528942394529.png

分段 分页原理

段页式存储管理:

  1. 分段管理: 方便逻辑模块的共享保护

    1. 段太长分配很大的连续空间不方便
    
  2. 不方便逻辑模块实现的共享和保护

  3. 地址公式:

    1. 分段系统公式: $address = (段号,段内地址)$
      	2. 段页式管理公式: $address = (段号,页号,页内偏移量)$
    
  4. 段表和页表:

    1. 一个进程对应一个段表
      	2. 一个段表 对应多个 页表
      	3. 如果访问页表地址不合理的话,就会出现越界中断
              	1. 使用段页式 会访问3次
               	1. 第一次访问段表
               	2. 第二次访问页表
               	3. 第3次访问数据
    

image-20210910130227060

文件

  1. 文件的逻辑结构

    1. 顺序文件

      1. 链式存储
      2. 顺序存储,可以进行随机访问 参考
    2. 索引文件

    3. 顺序索引文件

文件的存储方式

  1. 连续分配,支持下标随机访问【类似数组】

  2. 链接分配【类比链表】,不需要连续的空间,不容易产生文件碎片

    1. 显式链接
    2. 隐式链接

软硬链接原理

image-20210909133842511

在内存管理中:

1. 进程的逻辑地址空间被分为 一个个的$页面$
2. 文件的逻辑地址空间被分为一个个的文件块, 逻辑地址表示为 ($逻辑块号,块内地址$) 形式

设备分配的安全性

  1. spooling 技术
  2. 分配设备的算法

IO设备

image-20210910131118922