操作系统

导航

一、操作系统的作用

作用:通过资源管理(软硬件资源管理),提高计算机系统的效率改善人机界面,向用户提供友好的工作环境

二、进程管理

概念

进程是程序在一个数据集合上运行的过程,它是系统进行资源分配和调度的一个独立单位。它由程序块、进程控制块(PCB)和数据块三部分组成。

进程与程序的区别

  • 进程是程序的一次执行过程,没有程序就没有进程
  • 程序是完成某个特定功能的一系列程序语句的集合,只要不被破坏,它就永远存在
  • 程序是一个静态的概念,而进程是一个动态的概念,它由创建而产生,完成任务后因撤销而消亡;进程是系统进行资源分配和调度的独立单位,而程序不是

进程管理-进程状态:三态模型

  1. 运行态 占有处理器正在运行
  2. 就绪态 指具备运行条件,等待系统分配处理器以便运行
  3. 等待态 又称为阻塞态或睡眠态,指不具文备运行条件,正在等待某个事件的完成

状态转换

  1. 运行态--等待态 等待使用资源,如等待外设传输,等待人工干预
  2. 等待态--就绪态 资源得到满足,如外设传输结束;人工干预完成
  3. 运行态--就绪态 运行时间片到,出现有更高优先权进程
  4. 就绪态--运行态 CPU空闲时选择一个就绪进程

进程管理-进程状态:五态模型

  1. 挂起 将进程调出内存,保存到外存队列中,并释放资源
  2. 激活 恢复挂起进程,重新调入内存。
    • 目的 释放进程占用的资源以缓解资派不足
    • 原因 终端用户的请求,父进程的请OS的需要(如负荷调节、对换等)

进程管理-前趋图

image-20240426163909552

完成A、B、C事件后才能做D事件

进程管理-进程的同步与互斥

互斥:间接制约

同步:直接制约

进程管理-PV操作

  • 临界资源:诸进程间需要互斥方式对其进行共享的资源,如打印机、磁带机等
  • 临界区:每个进程中访问临界资源的那段代码称为临界区
  • 信号量:是一种特殊的变量

P操作:申请资源-->S=S-1-->若S<0,则阻塞与S对应的进程队列;若\(S\geq0\)则为False

V操作:释放资源-->S=S+1-->若\(S\leq0\),则唤醒与S对应的进程队列;若S>0则为False

PV与前趋图结合:不要在意S或者V是几,你分的清什么时候用P和V就够了,(发货员/生产者)一开始肯定从V(唤醒开始),到下一个进程前P(阻塞),以此往复。(若是顾客那么则从阻塞开始)

进程管理-死锁

概念:进程管理是操作系统的核心,但如果设计不当,就会出现死锁的问题。如果一个进程在等待一个不可能发生的事,则进程就死锁了。而如果一个或多个进程产生死锁,就会造成系统死锁。

假设有n个进程,每个进程需要w个资源,则最少需要\(m\geq n*(w-1)+1\)个资源不会发生死锁

死锁解决:死锁的预防->打破四大条件(互斥/保持和等待/不剥夺/环路等待)

死锁的避免:有序资源分配法/银行家算法

银行家算法:分配资源的原则

  • 当一个进程对资源的最大需求量不超过系统中的资源数时可以接纳该进程。
  • 进程可以分期请求资源,但请求的总数不能超过最大需求量。
  • 当系统现有的资源不能满足进程尚需资源数时,对进程的请求可以推迟分配,但总能使进程在有限的时间里得到资源。

三、存储管理

分区存储

分区方法 单一连续分配 固定分区分配 可变分区分配
分区类型 静态分配法 静态分配法 动态分配法
特点 不分区,所有用户空间给某个进程或作业 分成大小不等的区域,区域分完后固定不变 分成大小不等的区域,根据用户要求动态分配

页式存储

优点:利用率高,碎片小,分配及管理简单

缺点:增加了系统开销;可能产生抖动现象

计算某个十进制物理地址方式:

  • 逻辑地址/页面大小=页号(取整,知道页号就知道对应的物理块号)
  • 物理块号*页面大小+逻辑地址%页面大小=十进制物理地址

段式存储

优点:多道程序共享内存,各段程序修改互不影响

缺点:内存利用率低,内存碎片浪费大

段页式储存

优点:空间浪费小、存储共享容易、存储保护容易、能动态连接
缺点:由于管理软件的增加,复杂性和开销也随之增加,需要的硬件以及占用的内容也有所增加,使得执行速度大大下降

虚拟储存

有请求分页系统、请求分段系统、请求段页式系统

页面置换算法

  1. 最佳置换算法
  2. 先进先出置换算法
  3. 最近最少未使用置换算法
  4. 最近未用置换算法

最少页面代价选择最少被访问的的

四、磁盘管理

磁盘结构及调度算法

需要访问的磁道:89,183,37,122,14,124,65,67

当前磁头所在磁道:(53)

  1. 先来先服务(FCFS)::按左到右顺序来
  2. 最短寻道时间优先(SSTF):与53相减绝对值最小的
  3. 扫描算法(SCAN):先往上扫描(53->65->……->183),再往下扫描(->37->14)
  4. 循环扫描(CSCAN)算法:先往上扫描(53->65->……->183),,再从底下扫描(->14->37)

非格式化容量

  • 容量=面数X(磁道数/面)x内圆周长x最大位密度

格式化容量

  • 容量=面数X(磁道数/面)x(扇区数/道)x(字节数/扇区)

读取磁盘数据的时间应包括以下三个部分:

  1. 找磁道的时间
  2. 找块(扇区)的时间,即旋转延迟时间
  3. 传输时间

五、文件管理

文件组织结构

逻辑结构

  • 流式文件
  • 记录式文件

物理结构

  • 顺序结构

  • 链接结构(非连续,需知道链头)

  • 索引结构

树形目录结构

相对路径:相对于某个结点的路径

绝对路径:从根开始的路径

文件管理-空闲储存空间的管理

位示图法题型:

  • 物理块编号从0开始?那就需要+1
  • 除以字长后,若有小数则+1,如:8193/16=512.***则取513

六、设备管理

虚设备与SPOOLING技术

放到输出井进行排队