软考之软件设计师第二站操作系统

软考之软件设计师第二站操作系统

先来看看整个操作系统知识的体系结构

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cXImK7Vt-1601610194208)(D:\软考\images2\2.1.png)]

操作系统的类型

操作系统分为批处理操作系统、分时操作系统、实时操作系统、网络操作系统、分布式操作系统、微机操作系统和嵌入式操作系统等。

(1)批处理操作系统:批处理操作系统分为单道批处理和多道批处理。
单道批处理操作系统可以提交多个作业,“单道”的含义是指一次只有一个作业装入内存执行。当一个作业运行结束后,随即自动调入同批的下一个作业,从而节省了作业之间的人工干预时间,提高了资源的利用率。
**多道批处理操作系统允许多个作业装入内存执行,将主机与外部设备的工作由串行改变为并行,避免等待而浪费时间。**主要有三个特点:多道、宏观上并行运行、微观上串行运行。

(2)分时操作系统

​ 在分时操作系统中,**一个计算机系统与多个终端设备连接。分时操作系统是将CPU的工作时间划分为许多很短的时间片,轮流为各个终端的用户服务。**例如:一个带20个终端的分时系统,若每个用户每次分配一个50ms的时间片,则每间隔1s即可为所有用户服务一遍。所以尽管各个终端上的作业是断续地运行的,但由于操作系统每次对用户程序都能做出及时的响应,因此用户感觉整个系统均归其一人占用。
分时系统主要有4个特点:多路性、独立性、交互性和及时性。

(3)实时操作系统

​ 实时是指计算机对于外来信息能够以足够快的速度进行出理,并在被控对象允许的时间范围内做出快速反应。实时系统对交互能力要求不高,但要求可靠性有保障。

(4)分布式操作系统
分布式计算机系统是由多个分散的计算机连接而成的计算机系统,系统中的计算机无主次之分,任意两台计算机可以通过通信交换。通常,为分布式计算机系统配置的操作系统。

进程管理

程序执行时的特征
程序顺序执行时的主要特征如下:
①顺序性:程序的各程序段严格按照规定的顺序执行;
②封闭性:程序运行时系统内的资源只受该程序控制而改变,执行结果不受外界因素的影响。
③可再现性:只要程序执行环境和初始条件相同,多次执行的结果一致。

进程(Process)是程序的一次执行,是进行资源分配和调度的基本单位。进程通常由程序、数据和进程控制块(PCB)组成

进程控制块是进程存在的唯一标志。(这个一定要知道,有可能会出一个选择题,出到了就赚到了)

三态模型(重要)

在多道程序系统中,进程的运行是走走停停,在处理器上交替运行,状态也不断地发生变化,因此进程一般有三种基本状态**:运行、就绪和阻塞。**
●运行:当一个进程在处理机上运行时,称该进程处于运行状态。显然,对于单机处理系统,处于运行状态的进程只有一个。
●就绪:一个进程获得了除处理机外的一切所需资源,一旦得到处理机即可运行,则称此进程处于就绪状态。
●阻塞:也称为等待或睡眠状态,一个进程正在等待某一事件发生(例如请求I/O而等待I/O完成等)而暂停运行,这时即使把处理机分配给此进程,它也无法运行,称此进程处于阻塞状态。

事实上,对于一个实际的系统,进程的状态及其转换将更复杂,三态模型不能够满足我们的需求,所以产生了五态模型。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HFjIMMhE-1601610194212)(D:\软考\images2\2.2.png)]

**原语(Primitive)**是指由若干条机器指令组成的、用于完成特定功能的程序段。原语的特点是在执行时不能被分割,即原子操作要么都做,要么都不做。内核中所包含的原语主要由进程控制原语、进程通信原语、资源管理原语以及其他原语。属于进程控制方面的原语有进程创建原语、进程撤销原语、进程挂起原语、进程激活原语、进程阻塞原语以及进程唤醒原语等。

在多道程序环境的系统中,存在多个可并发执行的进程,进程间必然存在资源共享和相互合作的问题。进程间通信是指各个进程交换信息的过程。
1、同步与互斥
通常,同步是合作进程间的相互依赖和相互制约的问题,与异步互为反义词。互斥是申请临界资源进程间的间接制约问题,与共享互为反义词。

(1)进程间的同步
多个并发执行的进程都以各自独立的、不可预知的速度向前推进,但是有时需要在某些确定点上协调相互合作进程间的工作。例如:进程A向缓冲区传送数据,进程B从缓冲区取数据加工,当进程B要取数据加工时,必须是进程A完成了向缓冲区传送数据的操作,否则进程B必须停下来等待进程A的操作结束。可见,进程间的同步是指进程间完成一项任务时直接发生相互作用的关系。
(2)进程间的互斥
在多道程序系统环境中,各进程可以共享各类资源,但有些资源同一时刻只能供一个进程使用,称为临界资源(Critical Resource,CR),如打印机、共享变量等。进程间的互斥是指系统中各进程互斥使用临界资源。

(3)临界区管理的原则
临界区(Critical Section,CS)是进程中对临界资源实施操作的那段程序。对互斥临界区管理的4条原则如下:
●有空即进:当无进程处于临界区时,允许进程进入临界区,并且只能在临界区运行有限的时间。
●无空则等:当有一个进程在临界区时,其他需要进入临界区的进程必须等待,以保证进程互斥地访问临界资源。
●有限等待:对要求访问临界资源地进程,应保证进程等待有限时间后进入临界区,以免陷入“饥饿”状态。
●让权等待:当进程不能进入自己的临界区时,应立即释放处理机,以免进程陷入“忙等”状态。

PV操作(重点掌握)

PV操作是实现进程同步互斥的常用方法。P操作和V操作是低级通信原语,在执行期间不可分割。其中,P操作表示申请一个资源,V操作表示释放一个资源。
P操作的定义:S=S-1,若S≧0,则执行P操作的进程继续执行;若S<0,则置此进程为阻塞状态(因为无可用资源),并将其插入阻塞队列。(其中S的含义是若S≧0,表示某资源的可用数;若S<0,则其绝对值表示阻塞队列中等待此资源的进程数。)
V操作的定义:S=S+1,若S>0,则执行V操作的进程继续执行,若S≦0,则从阻塞状态唤醒一个进程,并将其插入就绪队列,然后执行V操作的进程继续。

P操作:
①将信号量S的值减1,即S=S-1;
②如果S≧0,则此进程继续执行;否则此进程置为等待状态。
V操作:
①将信号量S的值加1,即S=S+1;
②如果S>0此进程继续执行;否则说明等待队列中有等待进程,需要唤醒等待进程。

来个题目看一下,这=这个题目你能很轻松的做出来说明PV操作你题目你已经会了

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-F9mLXmgb-1601610194214)(D:\软考\images2\2.3.png)]

直接和间接通信
直接通信是将消息直接发送给指定进程,因此,Send和Receive原语中应指出进程名字。其调用格式如下:
Send(Who,Message) 发送消息给指定进程或一组进程
Receive(Who,Message) 从约定进程接收消息
间接通信是以信箱为媒体来实现通信的,接收信件的进程只需设立一个信箱,若干个进程都可以向同一个进程发送信件。因此,Send和Receive原语中应给出信箱名。其调用格式如下:(信箱,信件)
Send(N,M) 将信件M发送到信箱N中
Receive(N,X) 从信箱N中取一封信存入X

(可能会出个选择题)

进程调度

进程调度方式是指当有更高优先级的进程到来时如何分配CPU。调度方式分为可剥夺和不可剥夺两种。可剥夺式是指当有更高优先级的进程到来时,强行将正在运行的进程的CPU分配给高优先级的进程;不可剥夺式是指当有更高优先级的进程到来时,必须等待正在运行进程自动释放占用的CPU,然后将CPU分配给高优先级的进程。

1、三级调度
在某些操作系统中,一个作业从提交到完成需要经历高、中、低三级调度。
(1)高级调度:又称为“长调度”、“作业调度”或“接纳调度”,它决定处于输入池中哪个后备作业可以调入主系统做好运行的准备,成为一个或一组就绪进程。系统中一个作业只需经过一次高级调度。
(2)中极调度:又称为“中程调度”或“对换调度”,它决定处于交换区中的就绪进程哪个可以调入内存,以便直接参与对CPU的竞争。在内存资源紧张时,为了将进程调入内存,必须将内存中处于阻塞状态的进程调出至交换区,以便为调入进程腾出空间。这相当于使处于内存的进程和处于盘交换区的进程交换了位置。
(3)低级调度:又称“短程调度”或“进程调度”,它决定处于内存中的就绪进程哪个可以占用CPU,是操作系统中最活跃、最重要的调度程序,对系统影响很大。

2、调度算法(重要)
常用的进程调度算法有先来先服务、时间片轮转、优先级调度和多级反馈调度算法。
(1)先来先服务(First Come First Served,FCFS)
FCFS按照作业提交或进程变为就绪状态的先后次序分配CPU,即每当进入进程调度时,总是将就绪对列队首进程投入运行。FCFS调度法比较有利于长作业和CPU繁忙作业;而不利于I/O繁忙作业。FCFS算法主要用于宏观调度。

(2)时间片轮转
时间片轮转算法主要用于微观调度,其设计目标是提高资源利用率。通过时间片轮转,提高进程并发性和响应时间特性,从而提高资源利用率。时间片的长度可从几个ms到几百ms,选择的方法一般有以下两种:
①固定时间片:分配给每个进程相等的时间片,使所有进程都公平执行,是一种实现简单有效的方法。
②可变时间片:根据进程不同的要求对时间片的大小实时修改,可以更好地提高效率。

(3)优先级调度
优先级调度算法是让每一个进程都拥有一个优先数,通常数值大的表示优先级高,系统在调度时总选择优先级高地占用CPU。优先级调度分为静态优先级和动态优先级。
①静态优先级:进程的优先级在创建时确定,直到进程终止都不会改变。确定优先级的因素有进程类型(系统进程优先级较高)、对资源的需求(如对CPU和内存需求较少的进程优先级较高)和用户要求(如紧迫程度)。
②动态优先级:在创建进程时赋予一个优先级,在进程运行过程中还可以改变,以便获得更好的调度性能。例如:在就绪队列中,随着等待时间增长,优先级将提高。这样,对于一个优先级较低的进程在等待足够的时间后,其优先级提高到可被调度执行。进程每执行一个时间片,就降低其优先级,从而当一个进程持续执行时,其优先级会降低到让出CPU。

死锁

在计算机系统中有各种互斥资源(如磁带机、打印机和绘图仪等)和软件资源(如进程表、临界区等),若两个进程互相要求对方已占用的资源,或同时进入临界区则会出现问题。所谓死锁,是指两个以上的进程互相都要求使用对方已经占有的资源而导致无法继续运行的现象。

死锁记住判断资源公式:

例:系统有A、B和C三个进程,每个进程都需要4个系统资源才能运行完成,要求无论怎么分配资源都不会发生死锁问题,那么系统至少要有多少个资源?

假设有m个共享资源,n个进程,每个进程所需的最大资源数为w,那么仅是m>n*(w-1)+1时,才会不死锁。

将值代入可得,m>3(4-1)+1=10

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

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7nTjdUyD-1601610194216)(D:\软考\images2\2.4.png)]

存储管理
分区存储管理

①最佳适应算法:假设系统中有n个空白区(空闲区或自由区),每当用户申请一个空间时,将从这n个空白区中找到一个最接近用户需求的分区。这种算法能保留较大的空白区,但缺点是查找合适空白区的代价大,且空白区不可能刚好等于用户要求的区,所以必然要将一个分区一分为二,随着系统不断地分配和释放空间,可能会产生无法再继续分配的小分区(碎片)。
②最差适应算法:系统总是将用户作业装入最大的空白分区。这种算法将一个最大的分区一分为二,所以剩下的空白区通常也大,不容易产生碎片。
③首次适应算法:每当用户作业申请一个空间时,系统总是从主存的低地址开始选择一个能装入作业的空白区。当用户释放空间时,此算法更容易实现相邻的空白区合并。

④循环首次适应算法:与首次适应算法的不同之处是,每次分配都是从刚分配的空白区开始寻找一个能满足用户要求的空白区。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4QTTKEz6-1601610194217)(D:\软考\images2\2.5.png)]

可重定位分区:可重定位分区时解决碎片问题简单而又行之有效的方法。其基本思想是:移动所有已分配好的分区,使之成为连续区域。如同队列有一个队员出列,指挥员叫大家“靠拢”一样。分区“靠拢”的时机是用户请求空间得不到满足时或某个作业执行完毕时。由于靠拢是需要代价的,所以通常是在用户请求空间得不到满足时进行。需要注意的是,当进行分区“靠拢”时会导致地址发生变化,所以有地址重定位问题。

分区保护的目的是防止未经核准的用户访问分区,常用如下两种方式:
(1)上界/下界寄存器保护:上界寄存器中存放的是作业的装入地址,下界寄存器装入的是作业的结束地址,形成的物理地址必须满足如下条件:
上界寄存器≦物理地址≦下界寄存器
(2)基址/限长寄存器保护:基址寄存器中存放的是作业的装入地址,限长寄存器装入的是作业的长度,形成的物理地址必须满足如下条件:
基址寄存器≦物理地址<基址寄存器+限长寄存器

分页存储管理

(1)分页管理
将一个进程的地址空间划分成为若干个大小相等的区域,称为页。相应的,将主存空间划分成与页相同大小的若干个物理块,称为块或页框。为进程分配主存时,可将进程中若干页分别装入多个不相邻接的块中。
(2)地址结构
分页系统的地址结构由两部分组成:前一部分为页号P;后一部分为偏移量W,即页内地址。下图中的地址长度为32位,其中011位为页内地址(每页大小为4KB),1231位为页号,所以允许的地址空间大小最多为1MB个页。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PC46D7mG-1601610194219)(D:\软考\images2\2.6.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7v2Znh0L-1601610194219)(D:\软考\images2\2.7.png)]

来个题目看看

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-og2IroCa-1601610194220)(D:\软考\images2\2.8.png)]

第二问我们看访问位,访问位为1则说明这是最近访问过的,根据局部时空性原理和空间性原理,最近访问过的在未来有可能会继续访问到,所以我们选择访问位为0的页号。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值