软考操作系统 --(操作系统地位,进程管理,前趋图,程序并发执行的特征,进程的状态及其状态间的切换,同步,互斥,存储管理,缓冲区,磁盘调度算法,旋转调度算法,文件目录,位示图)


一、操作系统地位

在这里插入图片描述
从图中可见,操作系统是裸机上的第一层软件,是对硬件系统功能的首次扩充。它在计算机系统中占据重要而特殊的地位,所有其他软件,如编辑程序、汇编程序、编译程序、数据库管理系统等系统软件,以及大量的应用软件都是建立在操作系统基础上的,并得到它的支持和取得它的服务。从用户角度看,当计算机配置了操作系统后,用户不再直接使用计算机系统硬件,而是利用操作系统所提供的命令和服务去操纵计算机,操作系统已成为现代计算机系统中必不可少的最重要的系统软件,因此把操作系统看作是用户与计算机之间的接口。

二、进程管理

2.1 程序与进程

程序顺序执行时的主要特征包括顺序性、封闭性和可再现性

2.2 前趋图

在这里插入图片描述

2.3 程序并发执行的特征

(1)失去了程序的封闭性。
(2)程序和机器的执行程序的活动不再一一对应。
(3)并发程序间的相互制约性。
在这里插入图片描述

2.4 进程的状态及其状态间的切换

  1. 三态模型
    在多道程序系统中,进程在处理器上交替运行,状态也不断地发生变化,因此进程一般有3 种基本状态:运行、就绪和阻塞。图4-3显示了进程基本状态及其转换,也称三态模型。
    (1)运行。当一个进程在处理机上运行时,则称该进程处于运行状态。显然,对于单处理机系统,处于运行状态的进程只有一个。
    (2)就绪。一个进程获得了除处理机外的一切所需资源,一旦得到处理机即可运行,则称此进程处于就绪状态。
    (3)阻塞。阻塞也称等待或睡眠状态,一个进程正在等待某一事件发生(例如请求 IO等待 O 完成等)而暂时停止运行,这时即使把处理机分配给进程也无法运行,故称该进程处于阻塞状态。
    在这里插入图片描述
  2. 五态模型
    在这里插入图片描述

2.5 同步,互斥

  1. 进程间的同步
    在计算机系统中,多个进程可以并发执行,每个进程都以各自独立的、不可预知的速度向前推进,但是需要在某些确定点上协调相互合作进程间的工作。例如,进程A向缓冲区送数据,进程 B从缓冲区取数据加工,当进程B要取数据加工时,必须是进程A完成了向缓冲区送数据的操作,否则进程B必须停下来等待进程A的操作结束。
  2. 进程间的互斥
    进程的互斥是指系统中多个进程因争用临界资源而互斥执行。在多道程序系统环境中,各进程可以共享各类资源,但有些资源一次只能供一个进程使用,称为临界资源,如打印机、共享变量和表格等。
  3. 临界区管理的原则
    临界区是进程中对临界资源实施操作的那段程序。对互斥临界区管理的4条原则如下
    (1)有空即进。当无进程处于临界区时,允许进程进入临界区,并且只能在临界区运行有限的时间。
    (2)无空则等。当有一个进程在临界区时,其他欲进入临界区的进程必须等待,以保证进程互斥地访问临界资源。
    (3)有限等待。对于要求访问临界资源的进程,应保证进程能在有限的时间进入临界区,以免陷入“饥饿”状态。
    (4)让权等待。当进程不能进入自己的临界区时,应立即释放处理机,以免进程陷入忙等状态。

2.6 信号量机制

  1. 信号量S的物理意义:S>=0表示某资源的可用数,若S<0,则其绝对值表示阻塞队列中等待该资源的进程数。
  2. 对于系统中的每个进程,其工作的正确与否不仅取决于它自身的正确性,而且与它在执行中能否与其他相关进程正确地实施同步互斥有关。PV操作是实现进程同步与互斥的常用方法。P操作和 V 操作是低级通信原语,在执行期间不可分割。其中,P操作表示申请一个资源,V操作表示释放一个资源。
  3. P操作的定义:S=S-1,若S>=0,则执行P操作的进程继续执行;若S<0,则置该进程为阻塞状态(因为无可用资源),并将其插入阻塞队列。
  4. V操作定义:S=S+1,若 S>0,则执行V操作的进程继续执行;若 S<=0,则从阻塞状态唤醒一个进程,并将其插入就绪队列,然后执行V操作的进程继续。
  5. 利用 PV操作实现进程的互斥
    互斥信号量初始值为1
    令信号量 mutex 的初值为1,当进入临界区时执行P操作,退出临界区时执行V操作。这样,利用PV操作实现进程互斥的代码段如下:

P(mutex)
临界区
V(mutex)

  1. 利用 PV 操作实现进程的同步
    进程的同步是由于进程间合作引起的相互制约的问题,要实现进程的同步可用一个信号量与消息联系起来,当信号量的值为0时表示希望的消息未产生,当信号量的值为非0时表示希望的消息已经存在。假定用信号量S表示某条消息,进程可以通过调用P操作测试消息是否到达,调用V操作通知消息已准备好。最典型的同步问题是单缓冲区的生产者和消费者的同步问题。
    (1)单缓冲区
    在这里插入图片描述
    (2)n缓冲区
    一个生产者和一个消费者,缓冲区中可存放n件产品,生产者不断地生产产品,消费者不断地消费产品,如何用PV操作实现生产者和消费者的同步。可以通过设置3个信号量 S1、S2,和 S3,其中,S是一个互斥信号量,初值为1,因为缓冲区是一个互斥资源,所以需要进行互斥控制;S1表示是否可以将产品放入缓冲区,初值为n:S2表示缓冲区是否存有产品,初值为0。
    在这里插入图片描述

  2. 同类资源分配不当引起死锁
    当有 n个进程、m 个资源、且每个进程所需要的资源数为k,并且系统采用的分配策略是轮流地为每个进程分配资源时,判断是否会发生死锁的公式如下:
    m>=n*(k-1)+1
    为真就不会发生死锁、为假就会发生死锁

  3. 进程资源图在这里插入图片描述

  4. 死锁的处理
    死锁的避免:银行家算法
    银行家算法对于进程发出的每一个系统可以满足的资源请求命令加以检测,如果发现分配资源后系统进入不安全状态,则不予分配;若分配资源后系统仍处于安全状态,则实施分配。与死锁预防策略相比,它提高了资源的利用率,但检测分配资源后系统是否安全增加了系统开销。

三、线程

  1. 传统的进程有两个基本属性:可拥有资源的独立单位;可独立调度和分配的基本单位
  2. 线程与同属一个进程的其他线程可共享进程所拥有的全部资源
  3. 栈指针不能共享

四、程序局部性原理

  1. 时间局限性是指如果程序中的某条指令一旦执行,则不久的将来该指令可能再次被执行;如果某个存储单元被访问,则不久以后该存储单元可能再次被访问。产生时间局限性的典型原因是在程序中存在着大量的循环操作。
  2. 空间局限性是指一旦程序访问了某个存储单元,则在不久的将来,其附近的存储单元也最有可能被访问。即程序在一段时间内所访问的地址可能集中在一定的范围内,其典型原因为程序是顺序执行的。

五、存储管理

5.1 分页存储管理

在这里插入图片描述
假设计算机系统的页面大小为4K,进程P的页面变换表如下表所示。若P要访问的逻辑地址为十六进制1C20H,那么该逻辑地址经过地址变换后,其物理地址应为:3C20H
在这里插入图片描述

5.2 段页式存储管理

最多有256个段(28),每个段最大允许有4096个页(212),页的大小为4K(212
在这里插入图片描述

六、缓冲区

6.1 单缓冲区

处理时间 =(T+M)*n+C
在这里插入图片描述

6.2 双缓冲区

处理时间=T*n+M+C
在这里插入图片描述
在这里插入图片描述

七、磁盘调度算法

7.1 先来先服务(FCFS)

在这里插入图片描述

7.2 最短寻道时间优先(SSTF)

在这里插入图片描述

7.3 扫描算法(SCAN)或电梯调度算法

在这里插入图片描述

7.4 循环扫描算法(CSCAN)单向扫描算法

在这里插入图片描述

八、旋转调度算法

在这里插入图片描述
如果磁盘的旋转速度为 27ms/周,磁头当前处在RO的开始处。若系统顺序处理这些记录,使用单缓冲区,每个记录处理时间为3ms,则处理这9个记录的最长时间为(1);若对信息存储进行优化分布后,处理9个记录的最少时间为(2)。
(1)最长总时间=(读取时间+处理时间)+(n-1)*(读取时间+转一周时间)
(2)最短总时间=(读取时间+处理时间)*n

九、文件目录

.\表示当前目录
..\表示上一级目录
在这里插入图片描述
文件f1.c
全文件名:D:\Program\C-prog\f1.c
绝对路径:D:\Program\C-prog\
相对路径:(当前处于Program)Program\C-prog\C-prog\

十、位示图

用二进制的一位来表示一个物理块的使用情况
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值