软考笔记——第二章--操作系统

第二章 操作系统

进程管理:进程的状态、前趋图、PV操作、进程调度、死锁、线程

存储管理:分区存储(没考过)页式存储、段式存储、段页式存储

文件管理:索引文件、树形目录、空闲存储管理

设备管理:I/O软件、输入输出技术、SPOOLING技术

进程管理

1.操作系统概述

  • 操作系统的作用:通过资源管理提高计算机系统的效率;改善人机界面向用户提供友好的工作环境。
  • 特征:并发性、共享性、虚拟性、不确定性。
  • 功能:进程管理、存储管理、文件管理、设备管理
  • 分类:批处理操作系统、分时操作系统、实时操作系统、网络操作系统、分布式操作系统、微机操作系统、嵌入式操作系统。
  • 计算机启动的基本流程:BIOS–>主引导记录–>操作系统

2.进程的组成和状态

  • 进程的组成:进程控制块PCB(唯一标志)、程序(描述进程要做什么)、数据(存放进程执行时所需数据)。
  • 进程基础的状态是下左图中的三态图,这是系统自动控制时只有三种状态,而下右图中的五态,是多了两种状态:静止就绪和静止阻塞,需要人为的操作才会进入对应状态,活跃就绪即就绪,活跃阻塞即等待。软考05

3.前趋图

任务间的并行、任务间的先后顺序。

4.进程资源图

  • 用来表示进程和资源之间的分配和请求关系,如下图所示:

软考06

P代表进程,R代表资源,R方框中有几个圆球就表示有几个资源,在图中,R1指向P1,表示R1有一个资源已经分配给了P1,P3同理;P1指向R2,表示P1还需要请求F2的一个资源才能运行。

  • 阻塞节点:某进程所请求的资源已经全部分配完毕,无法获取所需资源,该进程被阻塞了无法继续。如P2。
  • 非阻塞节点:某进程所请求的资源还有剩余,可以分配给该进程继续运行。如P1、P3。
  • 当一个进程资源图中所有进程都是阻塞节点时,即陷入死锁状态。

5.同步与互斥

  • 互斥:某资源(即临界资源)在同一时间内只能由一个任务单独使用,使用时需要加锁,使用完后解锁才能被其他任务使用;如打印机。

  • 同步:多个任务可以并发执行,只不过有速度上的差异,在一定情况下停下等待,不存在资源是否单独或共享的问题;如自行车和汽车。

  • 临界资源:各进程间需要以及互斥方式对其进行访问的资源。

  • 临界区:指进程中对临界资源实施操作的那段程序。本质是一段程序代码

  • 互斥信号量:对临界资源采用互斥访问,使用互斥信号量后其他进程无法访问,初值为1。

  • 同步信号量:对共享资源的访问控制,初值一般是 共享资源的数量。

6.信号量操作(PV操作)

  • P操作:申请资源,S=S-1,若S > = >= >=0,则执行P操作的进程继续执行;若S>= < < <0,则置该进程为阻塞状态(因为无可用资源),并将其插入阻塞队列。

  • V操作:释放资源,S=S+1,若S > > >0,则执行V操作的进程继续执行;若S < = <= <=0,则从阻塞状态唤醒一个进程,并将其插入就绪队列(此时因为缺少资源被P操作阻塞的进程可以继续执行),然后执行V操作的进程继续。

  • 经典问题:生产者和消费者的问题软考07

  • 例题(必考):软考08

7.死锁

  • 当一个进程在等待永远不可能发生的事件时,就会产生死锁,若系统中有多个进程处于死锁状态,就会造成系统死锁。

  • 死锁产生的四个必要条件

    • 资源互斥
    • 每个进程占有资源并等待其他资源
    • 系统不能剥夺进程资源
    • 进程资源图是一个环路
  • 死锁产生后,解决措施是打破四大条件,有下列方法:

    • 死锁预防:采用某种策略限制并发过程对于资源的请求,破坏死锁产生的四个条件之一,使系统任何时刻都不满足死锁的条件。
    • 死锁避免:一般采用银行家算法来避免,银行家算法,就是提前计算出一条不会死锁的资源分配方法,才分配资源,否则不分配资源,相当于借贷,考虑对方还得起才借钱,提前考虑好以后,就会避免死锁。
    • 死锁检测:允许死锁产生,当系统定时运行一个检测死锁的程序,若检测到系统中发生死锁,则设法加以解除。
    • 死锁解除:即死锁发生后的解除方法,如强制剥夺资源,撤销进程等。
  • 死锁计算问题:系统内有n个进程,每个进程都需要R个资源,那么其发生死锁的最大资源数为n ∗ * (R-1)。其不发生死锁的最小资源数为n ∗ * (R-1)+1

8.线程

  • 传统的进程有两个属性:可拥有资源的独立单位;可独立调度和分配的基本单位。
  • 引入线程后,线程是独立调度的最小单位,进程是拥有资源的最小单位。线程可以共享进程的公共数据、全局变量、代码、文件等资源,但不能共享线程独有的资源,如线程的栈指针等标识数据。

存储管理

1.页式存储管理

  • 将进程空间分为一个个页,同样的将系统的物理空间也分为一个个大小的物理块(页帧号)。(按固定大小分)
  • 优点:利用率高、碎片小(只有最后一个页中有)、分配及管理简单。
  • 缺点:增加了系统开销,可能产生抖动现象。

2.页面置换算法

​ 有时候,进程空间分为100个页面,而系统内存只有10个物理块,无法全部满足分配,就需要将马上要执行的页面先分配进去,而后根据算法进行淘汰,使100个页面能够执行顺序调入物理块中执行完。

  • 最优算法:OPT,理论上的算法,无法实现,是在进程执行完后进行的最佳效率计算,用来让其他算法比较差距。原理是选择未来最长时间内不被访问的页面置换,这样可以保证未来执行的都是马上要访问的
  • 先进先出算法:FIFO,先调入内存的页先被置换淘汰,会产生抖动现象,即分配的页数越多,缺页率可能越多(即效率越低)。
  • 最近最少使用:LRU,在最近的过去,进程执行过程中,过去最少使用的页面被置换淘汰,根据局部性原理,这样方式效率高,且不会产生抖动现象。

3.快表

  • 是一块小容量的相联存储器,由快速存储器组成,按内容访问,速度快,并且可以从硬件上保证内容并行查找,一般用来存放当前访问最频繁的少数活动页面的页号。
  • 快表是将页表存于Cache中,慢表是将页表存于内存上。
  • 因此慢表需要访问两次内存才能取出页,而快表是访问一次Cache和一次内存,因此更快。

4.段式存储管理

  • 将进程空间分为一个个段,每段也有段号和段内地址,与页式存储不同的是,每段物理大小不同,分段是根据逻辑整体分段的

  • 地址表示:(段号,段内偏移):其中段内偏移不能超过该段号对应的段长,否则越界错误,而此地址对应的真正内存地址应该是:段号对应的基地址+段内偏移。

  • 优点:程序逻辑完整,修改互不影响。

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

5.段页式存储管理(了解)

  • 对进程空间先分段,后分页,具体原理图和优缺点如下:
    • 优点:空间浪费小、存储共享容易、能动态连接。
    • 缺点:由于管理软件的增加,复杂性和开销也增加,执行速度下降

文件管理

1.文件结构

  • 计算机系统中采用的索引文件结构如图所示
  • 系统中有13个索引节点,0-9为直接索引,即每个索引节点存放的是内容,假设每个物理盘大小为4KB,共可存4KB*10=10KB数据;
  • 10号索引节点为一级间接索引节点,大小为4KB,存放的并非直接数据,而是链接到直接物理盘块的地址,假设每个地址占4KB,则共有1024个地址,对应1024个物理盘,可存1024*4KB=4096KB数据。
  • 二级索引节点类似,直接盘存放一级地址,一级地址再存放物理盘块地址,而后链接又存放数据的物理盘块,容量又扩大了一个数量级,为102410244KB数据。

2.树形目录结构

软考09

3.空闲存储空间管理

了解即可:

  • 空闲区表法:将所有空闲空间整合成一张表,即空闲文件目录。
  • 空闲链表法:将所有空闲空间链接成一个链表,根据需要分配。
  • 成组链接法:即分组,每组内又链接成链表,是上述两种方法的综合。

重点:

  • 位示图法:对每个物理空间用一位标识,为1则使用,为0则空闲,形成一张位示图。

例题:在这里插入图片描述

答:这道例题,首先物理块是从0开始编号的,系统中字长为32位(相当于一个字中包含了32个物理块),那么对于4195号物理块,实际上是第4196个物理块,那么,每个字的长度均为32位,所以4196/32=131.125,表示的是超过第131个字了,要将前131个字都填满,而当前物理块是在第132个字中描述,第一空选D。

​ 第二空问系统应该怎么样?既然要将物理块分配给某文件,必须取值为1(1表示占用),所以排除A和C;我们再来看,前131个字所表示的物理块范围是0131×31:04191,所以第132个字中,第0位置表示4192,第1位置表示4193,第2位置表示4194,第3位置表示4195,所以在第132个字的第3位置对应上了4195号物理块。所以第二空选B。

设备管理

  • 设备分类方式
    • 按数据组织分类:块设备、字符设备。
    • 资源分配角度分类:独占设备、共享设备和虚拟设备。
    • 数据传输速率分类:低速设备、中速设备、高速设备。
  • I/O软件层次结构
  • 在这里插入图片描述

1.输入输出技术

  • 程序控制(查询)方式:CPU主动查询外设是否完成数据传输,效率极低。
  • 程序中断方式:外设完成数据传输后,向CPU发送中断,等待CPU处理数据,效率相对较高。适用于键盘等实时性较高的场景。
    • 中断响应时间指的是从发出中断请求到开始进入中断处理程序;中断处理时间指的是从中断处理开始到中断处理结束。中断向量提供中断服务程序的入口地址。
  • DMA方式(直接主存存取):CPU只需完成必要的初始化等操作,数据传输的整个过程都由DMA控制器来完成,在主存和外设之间建立直接的数据通路,效率很高。适用于硬盘等高速设备。
  • 在一个总线周期结束后,CPU会响应DMA请求开始读取数据;CPU响应程序中断方式请求是在一条指令执行结束时;区分指令执行结束和总线周期结束。(了解)

2.虚设备和SPOOLING技术

  • 一台实际的物理设备,例如打印机,在同一时间只能由一个进程使用,其他进程只能等待,且不知道什么时候打印机空闲,此时,极大地浪费了外设的工作效率。
  • 引用SPOOLING技术,就是在外设上建立两个数据缓冲区,分贝称为输入井和输出井,这样,无论多少进程,都可以共用这一台打印机,只需要将打印命令发出,数据就会排队存储在缓冲区中,打印机会自动按顺序打印,实现了物理外设的共享,使得每个进程都感觉在使用一个打印机,这就是物理设备的虚拟化,如图所示:

软考12

3.磁盘结构

  • 磁盘有正反两个盘面,每个盘面有多个同心圆,每个同心圆是一个磁道,每个同心圆又被划分为多个扇区,数据就被存放在一个个扇区中。
  • 读取数据时,磁头首先要寻找到对应的磁道,然后等待磁盘进行周期旋转,旋转到指定的扇区,才能读取到对应的数据,因此,会产生寻道时间等待时间,就是磁头移动到磁道所需的时间和等待读写的扇区转到磁头的下方所用的时间。其中寻道时间耗时最长,寻道时间的调度算法如下:
    • 先来先服务FCFS:根据进程请求访问磁盘的先后顺序进行调度。
    • 最短寻道时间优先SSTF:请求访问的磁道与当前磁道最近的进程优先调度,使得每次的寻道时间最短。会产生“饥饿”现象,即远处进程可能永远无法访问。
    • 扫描算法SCAN:又称“电梯算法”,磁头在磁道上双向移动,其会选择离磁头当前所在磁道最近的请求访问的磁道,并且与磁头移动方向一致,磁头永远都是从里向外或者从外向里一直移动完才掉头,与电梯类似。
    • 单向扫描调度算法CSCAN:与SCAN不同的是,其只做单向移动,即只能从里向外或者从外向里。

4.微内核操作系统

  • (了解)就是尽可能地将内核做的很小,只将最为核心必要的东西放入内核中,其他能独立的东西都放入用户进程中,这样,系统就被分为了用户态和内核态,如图所示:在这里插入图片描述

5.嵌入式操作系统

  • 嵌入式操作系统特点:微型化、代码质量高、专业化、实时性强、可裁剪可配置。
  • 实时嵌入式操作系统的内核服务:异常和中断、计时器、I/O管理。
  • 常见的嵌入式RTOS(实时操作系统):VxWorks、RT-Linux、QNX、pSOS。
  • 嵌入式系统初始化过程按照自底向上、从硬件到软件的次序依次为:
    • 片级初始化–>板级初始化–>系统初始化。
    • 芯片级是微处理器的初始化,板卡级是其他硬件设备初始化,系统级初始化就是软件及操作系统初始化。
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值