操作系统
![](https://img.haomeiwen.com/i5268036/99de85bff4b1b747.png)
![](https://img.haomeiwen.com/i5268036/2b12caaeec749d74.png)
下图分别是三态模型和五态模型。
![](https://img.haomeiwen.com/i5268036/33b85901a7882308.png)
非CPU资源不足处于阻塞/等待状态,仅CPU资源不足处于就绪状态。
![](https://img.haomeiwen.com/i5268036/caa059c4b2cc7237.png)
![](https://img.haomeiwen.com/i5268036/1cfeb16066d619d1.png)
![](https://img.haomeiwen.com/i5268036/963ccba068d3980d.png)
![](https://img.haomeiwen.com/i5268036/0eb44bcf4086c663.png)
单缓冲区情况,只能有一个进程去访问缓冲区,生产者在访问缓冲区时,消费者不能访问缓冲区;消费者在访问缓冲区时,生产者也不能访问缓冲区。
![](https://img.haomeiwen.com/i5268036/58a7c17c55f6c0fd.png)
![](https://img.haomeiwen.com/i5268036/df55cfee615ebff0.png)
PV操作是原子操作(不可再分的操作),下图中左右两个P操作和V操作都是不可再分的部分。
P(S)和V(S)中的S都是代表资源的数量。
![](https://img.haomeiwen.com/i5268036/567a6857c16f738e.png)
单缓冲区,缓冲区有多大起始值就有多大。比如缓存区中空间资源是4,信号量S就是4.
![](https://img.haomeiwen.com/i5268036/088ff52ba5894b75.png)
![](https://img.haomeiwen.com/i5268036/6d0e580b453d2855.png)
![](https://img.haomeiwen.com/i5268036/2521876c5f318fc6.png)
![](https://img.haomeiwen.com/i5268036/ec44c01eb13a1394.png)
![](https://img.haomeiwen.com/i5268036/77c21a876849e14a.png)
下图的情形P(S)最小值是-7
![](https://img.haomeiwen.com/i5268036/9a78dd7546b6f57a.png)
![](https://img.haomeiwen.com/i5268036/89e78550f2890adc.png)
![](https://img.haomeiwen.com/i5268036/8ebebedeb5fec5c6.png)
![](https://img.haomeiwen.com/i5268036/6d458689b4eb3f9d.png)
![](https://img.haomeiwen.com/i5268036/543be3e39824fc71.png)
![](https://img.haomeiwen.com/i5268036/7b1fd09c7cab491f.png)
![](https://img.haomeiwen.com/i5268036/bbba083b1f7fdbba.png)
![](https://img.haomeiwen.com/i5268036/b4e1ae15bcb081d1.png)
![](https://img.haomeiwen.com/i5268036/c7f0c90b72dbf04d.png)
并发执行:无论从哪个程序开始执行,结果都是一样的。
非抢占式:只有阻塞时需要执行另一个进程,唤醒依旧是执行当前进程。
抢占式:高优先级抢占低优先级,除了阻塞时需要执行另一个进程,唤醒也会执行另一个进程。
![](https://img.haomeiwen.com/i5268036/8ff08ce7b531cbc0.png)
![](https://img.haomeiwen.com/i5268036/103ddc01d60f2682.png)
![](https://img.haomeiwen.com/i5268036/12d43dfc3fab831b.png)
![](https://img.haomeiwen.com/i5268036/fdee040e60024181.png)
所需资源数=最差的情况+1
![](https://img.haomeiwen.com/i5268036/38f8633dc8c3ff46.png)
![](https://img.haomeiwen.com/i5268036/523f4a0d421f1852.png)
![](https://img.haomeiwen.com/i5268036/b80fcbdc2924fa73.png)
![](https://img.haomeiwen.com/i5268036/f8e1dcdb226617bf.png)
![](https://img.haomeiwen.com/i5268036/4942b12af649e783.png)
![](https://img.haomeiwen.com/i5268036/e053338ce02ea5ca.png)
![](https://img.haomeiwen.com/i5268036/d8b612a5028c15ee.png)
![](https://img.haomeiwen.com/i5268036/e7ec42fc0b4fefe0.png)
![](https://img.haomeiwen.com/i5268036/e268e86b118af441.png)
![](https://img.haomeiwen.com/i5268036/8e1516f7997e56bc.png)
![](https://img.haomeiwen.com/i5268036/f8cedd6a337951bd.png)
![](https://img.haomeiwen.com/i5268036/aec5fc2ed883d5cb.png)
![](https://img.haomeiwen.com/i5268036/a9440385f142242d.png)
![](https://img.haomeiwen.com/i5268036/aa0c8608fe20a7eb.png)
![](https://img.haomeiwen.com/i5268036/881c684516596240.png)
![](https://img.haomeiwen.com/i5268036/10b79a7caf246181.png)
全相联中电路比较复杂,逻辑比较简单。直接对页号进行管理就行,不需要对页内地址进行管理,因为划分的页的大小都一样。
![](https://img.haomeiwen.com/i5268036/4b6f2a10457fc17f.png)
主存中没有讲具体单位的时候就是按字节进行存储。
下图中每个页的大小为4kb,4kb=2^12,所以需要12位2进制表示其页内地址。
求出页号之后根据页表可以得到对应的页帧号,然后再转换成二进制并拼接上页内地址就可以得到物理地址。
![](https://img.haomeiwen.com/i5268036/032d9644d75aaa84.png)
![](https://img.haomeiwen.com/i5268036/547e37dc4ea69300.png)
页面淘汰顺序:先淘汰访问位为0的页面,如果所有页面的访问位都不为0则淘汰修改位为0的页面。状态位是0的页面不用考虑,因为都不在内存中。
![](https://img.haomeiwen.com/i5268036/3a222e1eb92df6aa.png)
![](https://img.haomeiwen.com/i5268036/27ed174bbec6061d.png)
![](https://img.haomeiwen.com/i5268036/9303d533d78579bd.png)
![](https://img.haomeiwen.com/i5268036/a1e1c1d88bf171b6.png)
![](https://img.haomeiwen.com/i5268036/ca3040be7cfc7b06.png)
段内偏移量不能超过段长。
![](https://img.haomeiwen.com/i5268036/09ae9a678ee41d43.png)
逻辑地址转换物理地址时与基地址无关。
![](https://img.haomeiwen.com/i5268036/02998147e5d602d0.png)
![](https://img.haomeiwen.com/i5268036/e5b2eb3af3ae4cb2.png)
![](https://img.haomeiwen.com/i5268036/1ebd61471d6a0832.png)
cache:高速缓存,快速存储器。
慢表:缺页的时候需要先访问内存读页表,再根据页表找具体的内存页;
快表:直接从cache读页表,读取之后访问一次内存即可。
![](https://img.haomeiwen.com/i5268036/5bf82ba4e33c8190.png)
![](https://img.haomeiwen.com/i5268036/ba02727faa4412e7.png)
![](https://img.haomeiwen.com/i5268036/495083ab9e5cb265.png)
![](https://img.haomeiwen.com/i5268036/8f4937651ab348bf.png)
![](https://img.haomeiwen.com/i5268036/04e09cfe531d057a.png)
最优算法一般用于评价其他算法的差距。
LFU理论依据是“局部性原理”,但他加入了一个引用计数,逻辑会比较复杂。
![](https://img.haomeiwen.com/i5268036/5a8f65c97dc4d3f1.png)
![](https://img.haomeiwen.com/i5268036/2c78fadf1ecb8cb6.png)
每200个整数变量触发一次缺页中断。
![](https://img.haomeiwen.com/i5268036/073ddf0e42d216f6.png)
![](https://img.haomeiwen.com/i5268036/4a7a97ca09d0132c.png)
![](https://img.haomeiwen.com/i5268036/303fb9902e234f2c.png)
![](https://img.haomeiwen.com/i5268036/6d1a66b7b330f37c.png)
![](https://img.haomeiwen.com/i5268036/eef04f8b9f5b85bd.png)
按列存储的时候每两个变量就产生一次缺页中断,所以会触发5000次缺页中断。
![](https://img.haomeiwen.com/i5268036/7fdb07ee8ddd24e6.png)
![](https://img.haomeiwen.com/i5268036/ecb690827f28f4b2.png)
逻辑盘块号连续,物理盘块号不一定连续。
![](https://img.haomeiwen.com/i5268036/b680a473f67ff3ea.png)
一级索引可以有256个文件大小的长度,也可以理解为256个物理块,大小为256KB。
与存储相关的K=1024
可以存放的总文件大小=直接索引+一级间接索引+二级间接索引+三级间接索引的文件大小总和。
![](https://img.haomeiwen.com/i5268036/305acfcfa57fbc6f.png)
![](https://img.haomeiwen.com/i5268036/e8aaa15112cc09ab.png)
物理盘块号为50对应的逻辑盘块号是0,因为是初始位置。
直接索引的文件大小是5KB,一级索引的文件大小是256+256,二级索引的文件大小是256^2,总的文件大小=5+512+256^2
![](https://img.haomeiwen.com/i5268036/d8b02bba4b2808c7.png)
最大编号-最小编号+1=文件个数,本题中文件个数=1KB/4=256
![](https://img.haomeiwen.com/i5268036/a1d0980e38f72194.png)
![](https://img.haomeiwen.com/i5268036/fb18be0fa0f1c633.png)
![](https://img.haomeiwen.com/i5268036/0838e6cb64850e50.png)
![](https://img.haomeiwen.com/i5268036/3c0cf60047995f31.png)
![](https://img.haomeiwen.com/i5268036/5aba77da6538386d.png)
![](https://img.haomeiwen.com/i5268036/23bffc2adc33c21e.png)
![](https://img.haomeiwen.com/i5268036/bcfa4261550c739f.png)
![](https://img.haomeiwen.com/i5268036/1d7482039f1e96f6.png)
号一般是从0开始,个一般是从1开始
![](https://img.haomeiwen.com/i5268036/3edcb6baffb3fe19.png)
![](https://img.haomeiwen.com/i5268036/e50e1a49a3650152.png)
程序控制(查询)方式:持续等待;
程序中断方式:中断次数过度容易造成数据丢失,适用于小型的数据量;
DMA方式:CPU只负责初始化,与传输没有关系,DMA有自己的一套控制器DMAC,会抢占CPU总线,不让CPU进行控制,适用于大型数据量。
程序控制(查询)方式和程序中断方式采用的是软件控制;
DMA方式,通道方式,I/O处理机采用的是硬件控制
![](https://img.haomeiwen.com/i5268036/06f3d409fc35aa2d.png)
下图C选项应该更适合采用DMA方式
![](https://img.haomeiwen.com/i5268036/30b1b793ee568a76.png)
![](https://img.haomeiwen.com/i5268036/3a8f09d7f5e29ffa.png)
![](https://img.haomeiwen.com/i5268036/88365956e62c1e6d.png)
![](https://img.haomeiwen.com/i5268036/8e52af3305e95728.png)
![](https://img.haomeiwen.com/i5268036/1ef7927fc2b733ba.png)
![](https://img.haomeiwen.com/i5268036/87b26d886932f603.png)
![](https://img.haomeiwen.com/i5268036/030a7d830e79a101.png)
先画T1,因为T1优先级最高,接着画T2
![](https://img.haomeiwen.com/i5268036/a431b3d1ee560e17.png)
![](https://img.haomeiwen.com/i5268036/0c57837c208711a2.png)
题干中给说是并行使用I/O,但答案没有按并行计算,T2和T1没有重叠的(选最接近的答案就行)
![](https://img.haomeiwen.com/i5268036/a4262014c034a03e.png)