笔记有错误欢迎直接在评论区进行纠正!我将不再维护软件设计师笔记!
真题1
讲解地址:2009年下半年第23、24题_哔哩哔哩_bilibili
真题2
这里呢,我理解为做这样的题目入p出V(入屁),也就是观察那个图,如果入度的话就是P操作,出度的话就是V操作,例如上面图中P1有两个出度,那就是V(S1)和V(S2),对于P2来说一个入度一个出度,所以就是P(S1)和V(S3),所以在做题之前要先把S1开始标在那个有向边上,注意我这只是为了快速做题,本身这个说法是不正常的,但是可以快速做对题
真题1
真题2
这里我一直不明白那个S1-Sn怎么把它正确的标到那个对应的线上去,然后我这个视频我搞懂了这个,它是按P1--》P5的顺序进行标的,也就是从小到大的原则,也就是无论哪个图都是从P1开始标,标它们的出度,这里P1有两个出度,一个是P1到P4,就把它看做是14,一个是P1到P3,把它看做是13,然后13<14,根据从小到大的原则,P1到P3那根线上标S1,P1到P4那根线上标S2,然后P1的出度标完了就去标P2的出度,P2的出度也就两个,同理,23<25,所以P2到P3那根线上标S3,P2到P5那根线上标S4,后面继续标P3的出度,直到都标完了为止
讲解地址:2010年下半年第23、24、25题_哔哩哔哩_bilibili
真题3
真题4
真题5
这些题目都是一样的,就两个点,能表对每个线对应的S(关键),然后记得入P出V,那这种题直接拿下
这里的前驱图和上面的前趋图是不一样的,然后它是竖着看的
讲解地址:程序并发执行和前驱图_哔哩哔哩_bilibili
讲解地址:程序并发执行的问题_哔哩哔哩_bilibili
真题1
讲解地址:2012年下半年第24、25、26题_哔哩哔哩_bilibili
真题2
真题1
某进程在等待的东西如果被另外一个进程给释放了,那这个进程就会从等待变成就绪状态,因为它等待的东西已经有了所以就不会继续等待
真题2
这个题目值得看一眼,如果单纯的只是释放了某个东西,那除了等待这个东西的进行会变成就绪状态以外其他进程保持现有状态
P减V加,P申请V释放
讲解地址:信号量机制和PV操作_哔哩哔哩_bilibili
真题1
S的值为负数,负几就有几个进程在等待,S值为0就表示没有等待的,但是有一个或多个进程正在运行,S为正数就表示有多少个资源可以使用
真题2
真题3
真题4
这里S1理解为缓冲区的空间,S2理解为缓冲区产品的数量,例如上面是单缓冲区,所以S1为1,就是缓冲区中每次只能存放一个,V(S2)是指商品数量新增一个,所以上面图的整个理解就是生产一个商品放缓冲区,P(S1)这是把S1的值减1这样S1就为0,如果后面生产者又生产了一个产品这个时候S1还是0的话那就会堵塞在那里,可以把S1为0理解为缓冲区满了,然后V(S2)是把S2的值加一,表示生产了一个产品在缓冲区,然后消费者去消费产品就是通过P(S2)来实现的,消费完后就释放缓冲区也就是V(S1)来实现
多个缓冲区一般是要三个信号量,一个是互斥的信号量初始值为1,一个是缓冲区容量的信号量初始值为n(这个n是缓冲区能存多少个的容量),一个是缓冲区已经生成了多少个产品,初始值为0
真题1
真题2
S1和S5都是互斥信号量,值都为1,S2值为n,S4值为m
真题3
这题目看起来很复杂,其实只要把S理解为一个售票员就可以了,一个售票员一次只能服务一个顾客,上面的流程就是售票员服务顾客的流程,所以a就是P(S)这就表示这个售票员正在为一个顾客服务,所以要用P操作,c和d根据后面的中文提示可以看出售票员已经快服务结束了,都已经快出票或者告诉顾客没票了,所以都是V(S)就表示这个售票员又空闲了,被释放了,可以服务下个顾客
只要满足m>=n*(k-1)+1那就不会发生死锁
m为资源数量,n为进程数量,k为每个进程需要的资源数量
讲解地址:死锁_哔哩哔哩_bilibili
真题1
套公式就可
只要满足m>=n*(k-1)+1那就不会发生死锁
m为资源数量,n为进程数量,k为每个进程需要的资源数量
讲解地址:2009年上半年第26、27题_哔哩哔哩_bilibili
真题2
真题3
真题4
看清楚题目是要发生死锁的最小值,取2在那个表达式的范围内是不会发生死锁的
讲解地址:2014年上半年第24、25题_哔哩哔哩_bilibili
真题5
这就是进程资源图,三个考点,根据这个图判断哪些进程会堵塞?能不能化简(其实就是会不会发生死锁)?化解顺序是怎样的?(不发生死锁的时候进程工作顺序是怎样的)?
上面这个图中P1-P3是表示进程,R1和R2是表示资源种类,里面的圆圈是表示这个种类的资源数量有多少个,由进程指向资源的是表示申请资源,反之表示分配资源
忘记怎么做下面的真题了就看视频
讲解地址:进程资源图_哔哩哔哩_bilibili
真题1
这里要注意第26题中我一开始是给P1先申请资源的,所以就会导致后两个进程都堵塞,但是我发现没有这个选项,其实它这里有两个进程都可以运行,P1和P3这两个进程,但是一次只能运行一个,你选P1先运行可以,选P3先运行也可以,所以C选项是符合的,也就是能够在第一次申请资源的时候就有足够的资源的进程就是非阻塞节点
真题2
这里注意27题应该选择C选项,答案标错了
真题3
真题4
注意一下进程释放的资源数是最大需求量的数而不是已分配资源数,一开始我就是这里搞错了,其次就是像这样的选择题用排除法更好,因为如果这样的题目可能有多种排序答案,如果自己直接写,写出来的答案是对的,但是选项里面没有,时间就浪费掉了,例如我一开始写的P4-P5-P2-P1-P3也是安全的
真题1
讲解地址:2012年上半年第23、24、25题_哔哩哔哩_bilibili
真题2
讲解地址:2013年下半年第27、28题_哔哩哔哩_bilibili
真题1
真题2
只要知道同一个进程中的多个线程不能共享该进程的栈指针,但是可以共享该进程的代码、打开的文件、全局变量
真题1
其实就是谁最近被访问了或者修改了那它就大概率还会被访问或修改,所以不能被淘汰,优先淘汰的是最近没有被访问或者修改的
真题2
这题真狗,我直接选了B,仔细看题,1号都不在内存里淘汰个屁
物理地址是3C20H,这里有个技巧,不用把1C20都转为2进制,根据题目来转,例如上面的4k表示页内地址有12位,那C20就是页内地址,不用动,所以页号为1(不用转,直接是多少那就页号是多少),对应物理块号为3,那物理地址就是3C20H
讲解地址:分页存储管理_哔哩哔哩_bilibili
真题1
真题2
真题3
*真题4
讲解地址:2017年下半年第27、28题_哔哩哔哩_bilibili
注意上面的这个最多有多少个段、页、页的大小都不是固定的,要看题目给的地址位数,这里段号是31-24+1=8,页号是23-12+1=12,页内地址是11-0+1=12,也就分别是28,212,212,只是页内地址转为了k为单位
注意两个地方,第一个所有的值都不是固定的,第二个页号的描述是最大允许有多少个页,而不是每个页均有多少个页
真题1
真题2
下面这个公式是用来计算单缓冲区花费的时间
(T+M)*n+C
T为输入的时间,M为传输的时间,n为作业的个数,C为处理的时间
讲解地址:单缓冲区_哔哩哔哩_bilibili
下面这个公式是用来计算双缓冲区花费的时间
T*n+M+C
T为输入的时间,M为传输的时间,n为作业的个数,C为处理的时间
讲解地址:双缓冲区_哔哩哔哩_bilibili
真题1
真题2
套公式即可
这里我是按照之前学的,把这些请求顺序从小到大排好序列(要把磁头起始位置和0也加进去),也就是0、14、37、53、65、67、98、122、124、183,然后看磁头是往哪里走,把起始位置当做原点,如果向0走,那就是53往左边数,53-37-14,注意0只是位置参考不算进来,然后到了0已结走投无路了那就掉头,但是掉头是从原点开始算的,所以就是53往右数,65-67-98-122-124-183,最后把两个合在一起就是53-37-14-65-67-98-122-124-183,计算其中的差值就可
总的来说后两种算法难点,不太熟,先来先服务和最短寻道时间优先算法移动臂的运动方向随时改变,然后知道每个算法对应的英文是什么
真题1
真题2
讲解地址:2011年下半年第26、27题_哔哩哔哩_bilibili
真题3
这里只要知道如果顺序处理的情况下那总时间是(读时间+处理时间+每个扇区旋转时间*n-2)*(n-1)+(读时间+处理时间),这里的n是记录数量
优化后就是刚好旋转后就是对应的记录,总时间为(读时间+处理时间)*n
特别注意:这里的磁头它旋转的时候是不会停下来的,也就是在处理记录的时候磁头还是会继续往下转,而不会留下来等记录处理完
讲解地址:旋转调度算法_哔哩哔哩_bilibili
真题1
答案:(27)246 (28)54
真题2
讲解地址:2010年下半年第26题_哔哩哔哩_bilibili
真题3
真题4
答案:(27)102 (28)30
注意这里下标都是从0开始的
真题1
真题2
讲解地址:2010年下半年第27、28题_哔哩哔哩_bilibili
真题3
讲解地址:2012年下半年第27、28题_哔哩哔哩_bilibili
真题4
如果只告诉了磁盘块的大小,那就是暗示索引块大小和数据块大小都为磁盘块大小,块号就是地址项
讲解地址:2017年下半年第26题_哔哩哔哩_bilibili
真题5
真题6
真题1
真题2
也就是全文件名和绝对路径都是从根目录开始的,然后区别在于全文件名会把文件的名字加在最后,但是绝对路径最后面是加的\
相对路径是从当前目录开始的,最后面一般是加\
真题1
这里第二题我选了C,注意C后面缺少一个\,所以访问不到f1.java文件
特别注意:这里Java-prog\和Program\Java-prog\都是可以表示相对路径的
讲解地址:2011年下半年第24、25题_哔哩哔哩_bilibili
真题2
真题3
真题1
讲解地址:2011年上半年第23、24题_哔哩哔哩_bilibili
真题2
这个题目和上面那个题目差不多,但是有个地方要注意,上面那个题目没有给出位示图字编号是从多少开始的,所以默认为从1开始,只要位示图字从1开始的那计算结果要加1,然后这个题是位示图字从0开始的,计算结果不用加1
讲解地址:2013年下半年第25、26题_哔哩哔哩_bilibili
真题3
真题4
位示图字编号从1开始要加1,从0开始不用加1,无论是否被整除
真题5
讲解地址:2009年下半年第28题_哔哩哔哩_bilibili
讲解地址:2012年上半年第26、27、28题_哔哩哔哩_bilibili
讲解地址:2013年上半年第27、28题_哔哩哔哩_bilibili
可移植性并不是指所写的程序不作修改就可以在任何计算机上运行,而是指当条件有变化时,程序无需作很多修改就可运行。
这里不选易移植性是因为后面还有句针对硬件变化进行结构与功能上的配置,移植性没这个本事
讲解地址:2021年上半年第5题_哔哩哔哩_bilibili