软件设计师---操作系统

笔记有错误欢迎直接在评论区进行纠正!我将不再维护软件设计师笔记!

操作系统上午题有n分

操作系统的地位

软件设计师---操作系统_第1张图片

真题

真题1

软件设计师---操作系统_第2张图片

讲解地址:2009年下半年第23、24题_哔哩哔哩_bilibili

真题2

软件设计师---操作系统_第3张图片

程序顺序执行

软件设计师---操作系统_第4张图片

前趋图

软件设计师---操作系统_第5张图片

这里呢,我理解为做这样的题目入p出V(入屁),也就是观察那个图,如果入度的话就是P操作,出度的话就是V操作,例如上面图中P1有两个出度,那就是V(S1)和V(S2),对于P2来说一个入度一个出度,所以就是P(S1)和V(S3),所以在做题之前要先把S1开始标在那个有向边上,注意我这只是为了快速做题,本身这个说法是不正常的,但是可以快速做对题

真题

真题1

软件设计师---操作系统_第6张图片
软件设计师---操作系统_第7张图片

真题2

软件设计师---操作系统_第8张图片

这里我一直不明白那个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的出度,直到都标完了为止

软件设计师---操作系统_第9张图片

讲解地址:2010年下半年第23、24、25题_哔哩哔哩_bilibili

真题3

软件设计师---操作系统_第10张图片

真题4

软件设计师---操作系统_第11张图片
软件设计师---操作系统_第12张图片

真题5

软件设计师---操作系统_第13张图片
软件设计师---操作系统_第14张图片
软件设计师---操作系统_第15张图片
软件设计师---操作系统_第16张图片
软件设计师---操作系统_第17张图片

这些题目都是一样的,就两个点,能表对每个线对应的S(关键),然后记得入P出V,那这种题直接拿下

程序并发执行和前驱图

软件设计师---操作系统_第18张图片
软件设计师---操作系统_第19张图片

这里的前驱图和上面的前趋图是不一样的,然后它是竖着看的

讲解地址:程序并发执行和前驱图_哔哩哔哩_bilibili

程序并发执行的问题

软件设计师---操作系统_第20张图片

讲解地址:程序并发执行的问题_哔哩哔哩_bilibili

真题

真题1

软件设计师---操作系统_第21张图片

讲解地址:2012年下半年第24、25、26题_哔哩哔哩_bilibili

真题2

软件设计师---操作系统_第22张图片

进程的三态模型

软件设计师---操作系统_第23张图片

真题

真题1

软件设计师---操作系统_第24张图片

某进程在等待的东西如果被另外一个进程给释放了,那这个进程就会从等待变成就绪状态,因为它等待的东西已经有了所以就不会继续等待

真题2

软件设计师---操作系统_第25张图片

这个题目值得看一眼,如果单纯的只是释放了某个东西,那除了等待这个东西的进行会变成就绪状态以外其他进程保持现有状态

同步与互斥

软件设计师---操作系统_第26张图片
软件设计师---操作系统_第27张图片

信号量机制和PV操作

软件设计师---操作系统_第28张图片

P减V加,P申请V释放

讲解地址:信号量机制和PV操作_哔哩哔哩_bilibili

真题

真题1

软件设计师---操作系统_第29张图片

S的值为负数,负几就有几个进程在等待,S值为0就表示没有等待的,但是有一个或多个进程正在运行,S为正数就表示有多少个资源可以使用

真题2

软件设计师---操作系统_第30张图片

真题3

软件设计师---操作系统_第31张图片

真题4

软件设计师---操作系统_第32张图片

PV操作实现进程间同步和互斥

软件设计师---操作系统_第33张图片
软件设计师---操作系统_第34张图片

这里S1理解为缓冲区的空间,S2理解为缓冲区产品的数量,例如上面是单缓冲区,所以S1为1,就是缓冲区中每次只能存放一个,V(S2)是指商品数量新增一个,所以上面图的整个理解就是生产一个商品放缓冲区,P(S1)这是把S1的值减1这样S1就为0,如果后面生产者又生产了一个产品这个时候S1还是0的话那就会堵塞在那里,可以把S1为0理解为缓冲区满了,然后V(S2)是把S2的值加一,表示生产了一个产品在缓冲区,然后消费者去消费产品就是通过P(S2)来实现的,消费完后就释放缓冲区也就是V(S1)来实现

软件设计师---操作系统_第35张图片

多个缓冲区一般是要三个信号量,一个是互斥的信号量初始值为1,一个是缓冲区容量的信号量初始值为n(这个n是缓冲区能存多少个的容量),一个是缓冲区已经生成了多少个产品,初始值为0

真题

真题1

软件设计师---操作系统_第36张图片

真题2

软件设计师---操作系统_第37张图片

S1和S5都是互斥信号量,值都为1,S2值为n,S4值为m

真题3

软件设计师---操作系统_第38张图片
软件设计师---操作系统_第39张图片

这题目看起来很复杂,其实只要把S理解为一个售票员就可以了,一个售票员一次只能服务一个顾客,上面的流程就是售票员服务顾客的流程,所以a就是P(S)这就表示这个售票员正在为一个顾客服务,所以要用P操作,c和d根据后面的中文提示可以看出售票员已经快服务结束了,都已经快出票或者告诉顾客没票了,所以都是V(S)就表示这个售票员又空闲了,被释放了,可以服务下个顾客

死锁

软件设计师---操作系统_第40张图片

只要满足m>=n*(k-1)+1那就不会发生死锁

m为资源数量,n为进程数量,k为每个进程需要的资源数量

讲解地址:死锁_哔哩哔哩_bilibili

真题

真题1

软件设计师---操作系统_第41张图片

套公式就可

只要满足m>=n*(k-1)+1那就不会发生死锁

m为资源数量,n为进程数量,k为每个进程需要的资源数量

讲解地址:2009年上半年第26、27题_哔哩哔哩_bilibili

真题2

软件设计师---操作系统_第42张图片

真题3

软件设计师---操作系统_第43张图片

真题4

软件设计师---操作系统_第44张图片

看清楚题目是要发生死锁的最小值,取2在那个表达式的范围内是不会发生死锁的

讲解地址:2014年上半年第24、25题_哔哩哔哩_bilibili

真题5

软件设计师---操作系统_第45张图片

进程资源图

软件设计师---操作系统_第46张图片

这就是进程资源图,三个考点,根据这个图判断哪些进程会堵塞?能不能化简(其实就是会不会发生死锁)?化解顺序是怎样的?(不发生死锁的时候进程工作顺序是怎样的)?

上面这个图中P1-P3是表示进程,R1和R2是表示资源种类,里面的圆圈是表示这个种类的资源数量有多少个,由进程指向资源的是表示申请资源,反之表示分配资源

忘记怎么做下面的真题了就看视频

讲解地址:进程资源图_哔哩哔哩_bilibili

真题

真题1

软件设计师---操作系统_第47张图片

这里要注意第26题中我一开始是给P1先申请资源的,所以就会导致后两个进程都堵塞,但是我发现没有这个选项,其实它这里有两个进程都可以运行,P1和P3这两个进程,但是一次只能运行一个,你选P1先运行可以,选P3先运行也可以,所以C选项是符合的,也就是能够在第一次申请资源的时候就有足够的资源的进程就是非阻塞节点

真题2

软件设计师---操作系统_第48张图片

这里注意27题应该选择C选项,答案标错了 

真题3

软件设计师---操作系统_第49张图片

真题4

软件设计师---操作系统_第50张图片

死锁的处理

软件设计师---操作系统_第51张图片

银行家算法

注意一下进程释放的资源数是最大需求量的数而不是已分配资源数,一开始我就是这里搞错了,其次就是像这样的选择题用排除法更好,因为如果这样的题目可能有多种排序答案,如果自己直接写,写出来的答案是对的,但是选项里面没有,时间就浪费掉了,例如我一开始写的P4-P5-P2-P1-P3也是安全的

真题

真题1

软件设计师---操作系统_第52张图片
软件设计师---操作系统_第53张图片

讲解地址:2012年上半年第23、24、25题_哔哩哔哩_bilibili

真题2

软件设计师---操作系统_第54张图片

讲解地址:2013年下半年第27、28题_哔哩哔哩_bilibili

线程

真题

真题1

软件设计师---操作系统_第55张图片

真题2

软件设计师---操作系统_第56张图片

只要知道同一个进程中的多个线程不能共享该进程的栈指针,但是可以共享该进程的代码、打开的文件、全局变量

局部性原理

软件设计师---操作系统_第57张图片

真题

真题1

软件设计师---操作系统_第58张图片

其实就是谁最近被访问了或者修改了那它就大概率还会被访问或修改,所以不能被淘汰,优先淘汰的是最近没有被访问或者修改的

真题2

软件设计师---操作系统_第59张图片

这题真狗,我直接选了B,仔细看题,1号都不在内存里淘汰个屁

分页存储管理

软件设计师---操作系统_第60张图片

物理地址是3C20H,这里有个技巧,不用把1C20都转为2进制,根据题目来转,例如上面的4k表示页内地址有12位,那C20就是页内地址,不用动,所以页号为1(不用转,直接是多少那就页号是多少),对应物理块号为3,那物理地址就是3C20H

讲解地址:分页存储管理_哔哩哔哩_bilibili

真题

真题1

软件设计师---操作系统_第61张图片

真题2

软件设计师---操作系统_第62张图片

真题3

软件设计师---操作系统_第63张图片

*真题4

软件设计师---操作系统_第64张图片

讲解地址:2017年下半年第27、28题_哔哩哔哩_bilibili

段页式存储管理

软件设计师---操作系统_第65张图片

注意上面的这个最多有多少个段、页、页的大小都不是固定的,要看题目给的地址位数,这里段号是31-24+1=8,页号是23-12+1=12,页内地址是11-0+1=12,也就分别是28,212,212,只是页内地址转为了k为单位

注意两个地方,第一个所有的值都不是固定的,第二个页号的描述是最大允许有多少个页,而不是每个页均有多少个页

真题

真题1

软件设计师---操作系统_第66张图片

真题2

软件设计师---操作系统_第67张图片

单缓冲区

软件设计师---操作系统_第68张图片

下面这个公式是用来计算单缓冲区花费的时间

(T+M)*n+C

T为输入的时间,M为传输的时间,n为作业的个数,C为处理的时间

讲解地址:单缓冲区_哔哩哔哩_bilibili

双缓冲区

软件设计师---操作系统_第69张图片

下面这个公式是用来计算双缓冲区花费的时间

T*n+M+C

T为输入的时间,M为传输的时间,n为作业的个数,C为处理的时间

讲解地址:双缓冲区_哔哩哔哩_bilibili

真题

真题1

软件设计师---操作系统_第70张图片

真题2

软件设计师---操作系统_第71张图片

套公式即可

磁盘调度算法

先来先服务(FCFS)

软件设计师---操作系统_第72张图片

最短寻道时间优先(SSTF)

软件设计师---操作系统_第73张图片

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

软件设计师---操作系统_第74张图片

这里我是按照之前学的,把这些请求顺序从小到大排好序列(要把磁头起始位置和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,计算其中的差值就可

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

软件设计师---操作系统_第75张图片

总的来说后两种算法难点,不太熟,先来先服务和最短寻道时间优先算法移动臂的运动方向随时改变,然后知道每个算法对应的英文是什么

真题

真题1

软件设计师---操作系统_第76张图片

真题2

软件设计师---操作系统_第77张图片
软件设计师---操作系统_第78张图片

讲解地址:2011年下半年第26、27题_哔哩哔哩_bilibili

真题3

软件设计师---操作系统_第79张图片

旋转调度算法

软件设计师---操作系统_第80张图片
软件设计师---操作系统_第81张图片

这里只要知道如果顺序处理的情况下那总时间是(读时间+处理时间+每个扇区旋转时间*n-2)*(n-1)+(读时间+处理时间),这里的n是记录数量

优化后就是刚好旋转后就是对应的记录,总时间为(读时间+处理时间)*n

特别注意:这里的磁头它旋转的时候是不会停下来的,也就是在处理记录的时候磁头还是会继续往下转,而不会留下来等记录处理完

讲解地址:旋转调度算法_哔哩哔哩_bilibili

真题

真题1

软件设计师---操作系统_第82张图片

答案:(27)246 (28)54

真题2

软件设计师---操作系统_第83张图片

讲解地址:2010年下半年第26题_哔哩哔哩_bilibili

真题3

软件设计师---操作系统_第84张图片

真题4

软件设计师---操作系统_第85张图片

答案:(27)102 (28)30

多级索引结构

软件设计师---操作系统_第86张图片

注意这里下标都是从0开始的

真题

真题1

软件设计师---操作系统_第87张图片

真题2

软件设计师---操作系统_第88张图片

讲解地址:2010年下半年第27、28题_哔哩哔哩_bilibili

真题3

软件设计师---操作系统_第89张图片

讲解地址:2012年下半年第27、28题_哔哩哔哩_bilibili

真题4

软件设计师---操作系统_第90张图片

如果只告诉了磁盘块的大小,那就是暗示索引块大小和数据块大小都为磁盘块大小,块号就是地址项

讲解地址:2017年下半年第26题_哔哩哔哩_bilibili

真题5

软件设计师---操作系统_第91张图片

真题6

软件设计师---操作系统_第92张图片

文件目录

软件设计师---操作系统_第93张图片

真题

真题1

软件设计师---操作系统_第94张图片

真题2

软件设计师---操作系统_第95张图片

目录结构

软件设计师---操作系统_第96张图片

也就是全文件名和绝对路径都是从根目录开始的,然后区别在于全文件名会把文件的名字加在最后,但是绝对路径最后面是加的\

相对路径是从当前目录开始的,最后面一般是加\

真题

真题1

软件设计师---操作系统_第97张图片

这里第二题我选了C,注意C后面缺少一个\,所以访问不到f1.java文件

特别注意:这里Java-prog\和Program\Java-prog\都是可以表示相对路径的

讲解地址:2011年下半年第24、25题_哔哩哔哩_bilibili

真题2

软件设计师---操作系统_第98张图片

真题3

软件设计师---操作系统_第99张图片

位示图

软件设计师---操作系统_第100张图片

真题

真题1

软件设计师---操作系统_第101张图片

讲解地址:2011年上半年第23、24题_哔哩哔哩_bilibili

真题2

软件设计师---操作系统_第102张图片

这个题目和上面那个题目差不多,但是有个地方要注意,上面那个题目没有给出位示图字编号是从多少开始的,所以默认为从1开始,只要位示图字从1开始的那计算结果要加1,然后这个题是位示图字从0开始的,计算结果不用加1

讲解地址:2013年下半年第25、26题_哔哩哔哩_bilibili

真题3

软件设计师---操作系统_第103张图片

真题4

软件设计师---操作系统_第104张图片

位示图字编号从1开始要加1,从0开始不用加1,无论是否被整除

真题5

软件设计师---操作系统_第105张图片

杂题

杂题1

软件设计师---操作系统_第106张图片

杂题2

软件设计师---操作系统_第107张图片
软件设计师---操作系统_第108张图片

讲解地址:2009年下半年第28题_哔哩哔哩_bilibili

杂题3

软件设计师---操作系统_第109张图片

杂题4

软件设计师---操作系统_第110张图片

讲解地址:2012年上半年第26、27、28题_哔哩哔哩_bilibili

杂题5

软件设计师---操作系统_第111张图片

杂题6

软件设计师---操作系统_第112张图片

讲解地址:2013年上半年第27、28题_哔哩哔哩_bilibili

杂题7

软件设计师---操作系统_第113张图片

杂题8

软件设计师---操作系统_第114张图片

杂题9

软件设计师---操作系统_第115张图片

杂题10

软件设计师---操作系统_第116张图片

杂题11

软件设计师---操作系统_第117张图片

杂题12

软件设计师---操作系统_第118张图片

杂题13

软件设计师---操作系统_第119张图片

杂题14

软件设计师---操作系统_第120张图片

可移植性并不是指所写的程序不作修改就可以在任何计算机上运行,而是指当条件有变化时,程序无需作很多修改就可运行。

这里不选易移植性是因为后面还有句针对硬件变化进行结构与功能上的配置,移植性没这个本事

杂题15

软件设计师---操作系统_第121张图片

杂题16

软件设计师---操作系统_第122张图片

杂题17

软件设计师---操作系统_第123张图片

讲解地址:2021年上半年第5题_哔哩哔哩_bilibili

你可能感兴趣的:(软件设计师(上午题),网络,java,开发语言)