前言:
此刻同学们对“操作系统课程设计银行家算法”可能比较着重,大家都想要知道一些“操作系统课程设计银行家算法”的相关资讯。那么小编同时在网摘上收集了一些对于“操作系统课程设计银行家算法””的相关文章,希望各位老铁们能喜欢,看官们一起来了解一下吧!编辑
操作系统的考点;可以看到这里有进程管理
2.存储管理
3.设备管理
4.文件管理
其中比较重要的是进程管理,进程管理中的进程三态图,前趋图,同步与互斥,PV操作,死锁,线程,这个地方考的比较多
----------------------
编辑
进程的组成:
进程控制块PCB,是进程的唯一标志
TCB是线程控制块,
FCB是文件控制块.
进程的三状态要掌握:要知道程序可以从运行状态进入到阻塞状,是因为
1.在运行过程中,如果需要等待某个事件,比如等待键盘输入,这个时候进程就会进入阻塞状态.
2.然后从阻塞状态也可以进入就绪状态,就绪状态指的是所有条件都具备了,阻塞中等待的比如键盘输入事件也已经输入完成了,就只差CPU。
3.这里有个概念要知道,因为我们知道CPU会把时间分成很多片,比如每10ns给一个进程,也就是用10ns秒去运行一个进程,然后下一个10ns再去运行其他进程,这样实际上CPU是轮询执行所有进程的,但因为足够快所以让整体上看来,电脑上的所有程序都是在并行运行的.
4.阻塞状态的进程,比如等到某个外设比如键盘输入完成以后,然后这个进程就会进入就绪状态
5.然后运行状态的程序,如果它所被分配的时间片用完了,那么他就会进入到就绪状态
6.然后就绪状态的程序。如果被CPU调度了,也就是说时间片轮到他了。这个进程
就会变成运行状态。
7.那么这里一定要注意阻塞状态的程序是不能直接进入到运行状态的。他必须要先进入到就绪状态。
8.就绪状态的程序是不能直接到阻塞状态的,因为他只差CPU了,需要先进入运行状态运行完成.
这个过程要明白这几种状态的转化过程。
编辑
然后我们来看一下这个真题,可以看到,这个题目,带入就可以了,
P1没有理由释放扫描仪,释放打印机,已完成也不行,如果是已完成,那么他就不是下面的任何一个
状态了.
然后再来看互斥信号量
编辑
然后我们再来看互斥,互斥指的是,同时只能操作一个资源,比如我们只能同时给一个人打电话对吧,
同步指的是,可以同时做多个任务,但是速度不一样,比如,一个人去北京,做飞机去,一个人去北京做火车去,那么都是去北京,这个就是同步,然后速度不一样对吧.
然后互斥信号量因为要使用临界资源,临界资源是1个,所以初始值为1
然后再来看,同步信号量因为同时进行,所以使用的资源有多个,比如有4台电脑,那么同步信号量就是4,用一个就减去1这样.
然后要知道临界资源是互斥使用的时候的资源,临界区是一段代码,来操作临界资源的那段代码对吧.
编辑
可以看到这里P就是申请资源,要S=S-1,V就是释放资源信号量+1, S=S+1
如果S变成了负数,那么就是有进程在队列中等待资源.
这个要知道
编辑
可以看到这个题目,其实首先重要的要知道,这里的S信号量是互斥信号量,所以初始值是1
然后要能理解这个购票流程:
然后首先:
1.上来可以看到有个PI,首先要明确这个PI操作可以,看到是系统为每个售票点创建的一个进程,其实也就是售票的操作对吧。
2.第二步按用户购买票数找到单元,也就找到对应的那个PI对应的,剩余票数的单元TJ,对吧,TJ表示单元存放某日某航班的机票剩余票数。
3.然后开始进行A操作,这里的A操作应该是用户要订票,所以这里要进行申请机票资源,申请资源就是P(S)操作,就是锁住机票资源,是S=S-1。
4.然后我可以看到temp等于TJ,我们知道tj表示的是余票,所以temp就是余票。然后判断temp大于等于x,这里的X代表的是用户所买的票的个数,所以看到如果剩余的票数是大于等于用户要买的票的个数的话,那么走Y这个分支,这里的剩余票数就等于temp减去x。然后剩余票数TJ=temp,获取到该单元剩余的票数,然后就是一个购票流程就完了,表示用户已经购买完了。购买完了以后,都就需要进行释放信号量,释放信号量。所以说C这里应该是V操作S = S+1。
5.然后如果剩余的票数TEMP是小于x的,也就是说剩余的票数不够用户买。那么这个时候啊,锁住的信号量也需要释放,进行V操作V=V+1。空余出的票要供其他人买。所以这个地方也是v操作。
这样就能解答:
答案:B
编辑
然后再看一个,这个就非常简单没什么要说的.
其实就是顺序执行的对吧优先级也是顺序的.
编辑
编辑
1.当一个进程在等待永远不可能发生的事件时,就会产生死锁
2.这里一个银行家算法现在考的不多知道就可以了
这里死锁资源计算这个要知道,这个会考的:
比如,我们有5个进程,每个都需要4个资源,那么
发生死锁的最大资源数是:比如:
5 * (4-1) = 15 对吧,也就是每个都只有3个,
资源的时候,这个时候,进程就因为5个进程,每个进程都在等待
一个资源对吧,因为有4个资源才能继续执行,
这个时候最大就是15个资源,这个时候就会发生死锁.所以说
发生死锁的最大资源数就是15,就是那个公式:
进程数n * (进程执行需要资源数R -1)
然后不发生死锁的最小资源数什么意思,可以看到上面我们说,
每个进程都需要4个资源,但现在都得到了3个资源,就死锁了,那么
只需要我们再给一个资源,那么就肯定有进程可以运行了,运行以后
再释放,其他的就可以用了,就不会死锁了,所以不发生死锁的最小资源数
公式就是:进程数n * (进程执行需要资源数R -1) +1
编辑
分页存储管理
标签: #操作系统课程设计银行家算法