129
129
130
130
取指周期&执行周期
131
131
132
- <img src =" pic\image-20240611191012783.png " alt =" image-20240611191012783 " style =" zoom :25% ;" />
132
+ <img src =" ..\ pic\image-20240611191012783.png" alt =" image-20240611191012783 " style =" zoom :25% ;" />
133
133
134
134
+ 特权指令:只能被操作系统内核使用的指令(I/O指令、置PC指令)
135
135
200
200
201
201
+ 挂起态与阻塞态有着本质区别,==后者占有已申请到的部分资源处于等待其他资源的状态,前者则没有任何资源==
202
202
203
- <img src =" pic\image-20240611201611606.png " alt =" image-20240611201611606 " style =" zoom :50% ;" />
203
+ <img src =" ..\ pic\image-20240611201611606.png" alt =" image-20240611201611606 " style =" zoom :50% ;" />
204
204
205
205
+ 进程的特性:动态性,独立性,并发性
206
206
253
253
254
254
+ 混合策略下的三态:KLT三态,系统调度负责;ULT三态,用户调度负责;活跃态ULT代表绑定KLT的三态;活跃态ULT运行时可激活用户调度;非阻塞系统调用可使用Jacketing启动用户调度,调整活跃态ULT
255
255
256
- <img src =" pic\image-20240611212600018.png " alt =" image-20240611212600018 " style =" zoom :33% ;" />
256
+ <img src =" ..\ pic\image-20240611212600018.png" alt =" image-20240611212600018 " style =" zoom :33% ;" />
257
257
258
258
#### 2.5 处理器调度
259
259
385
385
386
386
+ 定义:三元组$N=(S,T;F)$称为有向网,如果$S ∪ T ≠ ∅ ~~~ ∧ ~~~S ∩ T = ∅ ~~~ ∧ ~~~F ⊆ S×T ∪ T×S ~~~∧ ~~~dom(F) ∪ cod(F)=S ∪ T $
387
387
388
- <img src =" pic\image-20240612114222200.png " alt =" image-20240612114222200 " style =" zoom : 67% ;" />
388
+ <img src =" ..\ pic\image-20240612114222200.png" alt =" image-20240612114222200 " style =" zoom : 67% ;" />
389
389
390
390
+ 有向网规则:不能有重复弧(基础概念定义金律:没有必要包含的,就有必要不包含)
391
391
443
443
444
444
顺序关系、并发关系、冲突关系、冲撞关系
445
445
446
- <img src =" pic\image-20240612140357181.png " alt =" image-20240612140357181 " style =" zoom :67% ;" />
446
+ <img src =" ..\ pic\image-20240612140357181.png" alt =" image-20240612140357181 " style =" zoom :67% ;" />
447
447
448
448
+ 结构互补条件:$b_1$和$b_2$称为结构互补条件,如果一方前集后集为另一方后集前集,即 $^.b_1=b_2^.~~~∧~~~b_1^.=^.b_2$
449
449
450
450
+ 条件补操作:将$b$的结构互补条件$b^′$添加到网上;如果$b$中有token,$b^′$中无token,否则$b^′$添一token
451
451
452
- <img src =" pic\image-20240612141359927.png " alt =" image-20240612141359927 " style =" zoom :50% ;" />
452
+ <img src =" ..\ pic\image-20240612141359927.png" alt =" image-20240612141359927 " style =" zoom :50% ;" />
453
453
454
454
+ ==条件/事件系统(C/E系统)==:区别是C为完全可达集,用来描述自然现象。
455
455
544
544
545
545
+ 主存分配表(固定分区存储管理)` 支持多个分区、分区数量固定、分区大小固定、可用静态重定位、硬件实现代价低、早期OS采用 `
546
546
547
- <img src =" pic\image-20240612225016972.png " alt =" image-20240612225016972 " style =" zoom :50% ;" />
547
+ <img src =" ..\ pic\image-20240612225016972.png" alt =" image-20240612225016972 " style =" zoom :50% ;" />
548
548
549
549
+ 可变分区存储管理:按照进程的实际内存需求动态划分分区,并允许分区个数可变
550
550
551
551
+ 按进程的内存需求来动态划分分区
552
552
+ 创建一个进程时,根据进程所需主存量查看主存中是否有足够的空闲空间` 若有,则按需要量分割一个分区;若无,则令该进程等待主存资源 `
553
553
+ 由于分区大小按照进程实际需要量来确定,因此分区个数是随机变化的
554
554
555
- <img src =" pic\image-20240612225608815.png " alt =" image-20240612225608815 " style =" zoom :67% ;" />
555
+ <img src =" ..\ pic\image-20240612225608815.png" alt =" image-20240612225608815 " style =" zoom :67% ;" />
556
556
557
557
+ 可变分区方式的内存分配:最先适应(first-fit)分配算法;下次适应(next-fit)分配算法;最佳适应(best-fit)分配算法;最坏适应(worst-fit)分配算法
558
558
+ 地址转换与存储保护:硬件实现机制与动态重定位。
593
593
594
594
+ 引用位(访问位):如果该页面被访问过,则设置此位。用于页面置换算法。
595
595
596
- <img src =" pic\image-20240613023933424.png " alt =" image-20240613023933424 " style =" zoom :50% ;" />
596
+ <img src =" ..\ pic\image-20240613023933424.png" alt =" image-20240613023933424 " style =" zoom :50% ;" />
597
597
598
598
+ 缺页处理:1.保护CPU现场2. 分析中断原因3. 转入缺页中断处理程序进行处理4. 恢复CPU现场,继续执行
599
599
660
660
661
661
+ 基本思想:先把程序按逻辑划分为段,然后在段内等分为页
662
662
663
- <img src =" pic\image-20240613033034225.png " alt =" image-20240613033034225 " style =" zoom :50% ;" />
663
+ <img src =" ..\ pic\image-20240613033034225.png" alt =" image-20240613033034225 " style =" zoom :50% ;" />
664
664
665
665
+ 具体实现:
666
666
747
747
748
748
控制I/O的所有工作均由CPU来完成
749
749
750
- <img src =" pic\image-20240620030245429.png " alt =" image-20240620030245429 " style =" zoom :33% ;" />
750
+ <img src =" ..\ pic\image-20240620030245429.png" alt =" image-20240620030245429 " style =" zoom :33% ;" />
751
751
752
752
753
753
759
759
760
760
数据的每次读写还是通过CPU来完成, 但是当I/O设备在进行数据处理时, CPU不必等待, 可以继续执行其他的进程
761
761
762
- <img src =" pic\image-20240620031840913.png " alt =" image-20240620031840913 " style =" zoom :33% ;" />
762
+ <img src =" ..\ pic\image-20240620031840913.png" alt =" image-20240620031840913 " style =" zoom :33% ;" />
763
763
764
764
+ 直接访问内存
765
765
766
766
流程:处理器向DMA模块发出I/O 命令$\Rightarrow$处理器继续执行其他工作, DMA模块负责传送全部数据数据$\Rightarrow$传送结束后,DMA中断处理器
767
767
768
- <img src =" pic\image-20240620032829983.png " alt =" image-20240620032829983 " style =" zoom :33% ;" />
768
+ <img src =" ..\ pic\image-20240620032829983.png" alt =" image-20240620032829983 " style =" zoom :33% ;" />
769
769
770
770
DMA控制器可以直接去访问系统总线,它能代替CPU去指挥I/O设备与内存之间的数据传送。
771
771
772
772
DMA控制器包含了:一个内存地址寄存器、一个字节计数器,以及一个或多个控制寄存器
773
773
774
- <img src =" pic\image-20240620032815256.png " alt =" image-20240620032815256 " style =" zoom : 67% ;" /><img src =" pic\image-20240620032922979.png " alt =" image-20240620032922979 " style =" zoom :67% ;" />
774
+ <img src =" ..\ pic\image-20240620032815256.png" alt =" image-20240620032815256 " style =" zoom : 67% ;" /><img src =" ..\ pic\image-20240620032922979.png" alt =" image-20240620032922979 " style =" zoom :67% ;" />
775
775
776
776
+ I/O通道(通道控制器、I/O处理器)
777
777
808
808
809
809
` 缺点 ` :共用总线;设备多时总线压力大,传输时延长,且慢速外设占用带宽多
810
810
811
- <img src =" pic\image-20240620123658177.png " alt =" image-20240620123658177 " style =" zoom :33% ;" />
811
+ <img src =" ..\ pic\image-20240620123658177.png" alt =" image-20240620123658177 " style =" zoom :33% ;" />
812
812
813
813
+ 三级总线模型:主存和Cache通过主存总线连接,主存总线和扩展总线上的I/O设备间通过扩展总线接口缓冲
814
814
815
815
` 优点 ` :主存与I/O之间的数据传送、处理器的内存活动分离;可以支持更多的I/O设备
816
816
817
817
` 缺点 ` :不适用于I/O设备数据速率相差太大的情形
818
818
819
- <img src =" pic\image-20240620123945793.png " alt =" image-20240620123945793 " style =" zoom :33% ;" />
819
+ <img src =" ..\ pic\image-20240620123945793.png" alt =" image-20240620123945793 " style =" zoom :33% ;" />
820
820
821
821
+ 南桥与北桥:通过存储总线、PCI总线、E(ISA)总线分别连接主存、高速I/O设备和低速I/O设备
822
822
823
823
` 优点 ` :可以支持不同数据速率的I/O设备
824
824
825
- <img src =" pic\image-20240620124144084.png " alt =" image-20240620124144084 " style =" zoom :33% ;" />
825
+ <img src =" ..\ pic\image-20240620124144084.png" alt =" image-20240620124144084 " style =" zoom :33% ;" />
826
826
827
827
+ 一种基于通道的服务器总线模型:支持CPU、主存和多个I/O通道之间的数据传送;支持I/O通道和I/O控制器,及I/O控制器和设备之间的数据传送
828
828
844
844
845
845
+ 磁盘结构:磁盘一般由多个盘片组成,每个盘片一般有两个盘面,盘面包括多个同心圆结构的磁道,不同盘面上位于相同位置的磁道构成柱面,每个磁道分为固定的多个扇区,相邻扇区组合成簇物理块地址
846
846
847
- <img src =" pic\image-20240620134922584.png " alt =" image-20240620134922584 " style =" zoom :33% ;" />
847
+ <img src =" ..\ pic\image-20240620134922584.png" alt =" image-20240620134922584 " style =" zoom :33% ;" />
848
848
849
849
+ 磁盘读写数据的方式:磁头必须定位到指定磁道上指定扇区的开始处。
850
850
854
854
855
855
+ 选择磁头号,进行数据传送
856
856
857
- <img src =" pic\image-20240620135207614.png " alt =" image-20240620135207614 " style =" zoom :33% ;" />
857
+ <img src =" ..\ pic\image-20240620135207614.png" alt =" image-20240620135207614 " style =" zoom :33% ;" />
858
858
859
859
+ 磁盘存取时间:寻道时间、旋转延迟、传送时间的总和
860
860
$$
899
899
900
900
+ 文件系统的组织:文件组织、文件存取、文件控制、文件使用
901
901
902
- <img src =" pic\image-20240620144007959.png " alt =" image-20240620144007959 " style =" zoom :33% ;" />
902
+ <img src =" ..\ pic\image-20240620144007959.png" alt =" image-20240620144007959 " style =" zoom :33% ;" />
903
903
904
904
#### 5.2 文件的组织
905
905
920
920
921
921
新特征:提前读、推迟写
922
922
923
- <img src =" pic\image-20240620150251408.png " alt =" image-20240620150251408 " style =" zoom :33% ;" />
923
+ <img src =" ..\ pic\image-20240620150251408.png" alt =" image-20240620150251408 " style =" zoom :33% ;" />
924
924
925
925
+ 物理文件:文件在物理存储空间中的存放方法和组织关系
926
926
顺序文件(放在依次相邻的块中)、连接文件(用连接字表示物理块先后顺序)、直接/散列文件(通过计算记录的关键字建立与其物理存储地址间的对应关系)、** 索引文件** (为每个文件建立索引表,地址由文件目录指出,在存储器上分为索引区和数据区)
967
967
968
968
FAT表所能表示的磁盘分区的最大容量:FAT表项的最大个数 $\times$ 块的大小。
969
969
970
- <img src =" pic\image-20240620152028506.png " alt =" image-20240620152028506 " style =" zoom :50% ;" />
970
+ <img src =" ..\ pic\image-20240620152028506.png" alt =" image-20240620152028506 " style =" zoom :50% ;" />
971
971
972
972
+ 辅存空间管理:随着用户文件不断建立和撤销,文件存储空间会出现许多** 碎片** 。OS解决碎片的办法是** 整理碎片** ,在整理过程中,往往对文件重新组织,让其存放在连续存储区中
973
973
977
977
978
978
- 索引:由若干个空闲物理块组成一个链表,但这些物理块本身并不参与分配,而是专门用来记录系统中所有空 闲物理块的编号,动态维护。若该结点已满,且又有磁盘空间被释放;或者该结点已空,且又有文件申请磁盘空间,则将该结点写回磁盘,并调入新的结点
979
979
980
- <img src =" pic\image-20240620154346661.png " alt =" image-20240620154346661 " style =" zoom :33% ;" />
980
+ <img src =" ..\ pic\image-20240620154346661.png" alt =" image-20240620154346661 " style =" zoom :33% ;" />
981
981
982
982
983
983
993
993
994
994
#### T1(PPT1 p68)(处理器利用率计算)
995
995
996
- <img src =" pic\image-20240611165049021.png " alt =" image-20240611165049021 " style =" zoom : 33% ;" />
996
+ <img src =" ..\ pic\image-20240611165049021.png" alt =" image-20240611165049021 " style =" zoom : 33% ;" />
997
997
998
- <img src =" pic\image-20240611165103812.png " alt =" image-20240611165103812 " style =" zoom :61% ;" />
998
+ <img src =" ..\ pic\image-20240611165103812.png" alt =" image-20240611165103812 " style =" zoom :61% ;" />
999
999
1000
1000
第一个进程(单序程序工作):$利用率=\frac{(130-78)+(280-228)+(430-378)}{450}\times 100 \% =34.67\% $
1001
1001
@@ -1070,21 +1070,21 @@ void philosopher(int i) // 哲学家编号i:0-4
1070
1070
}
1071
1071
```
1072
1072
1073
- <img src="pic\image-20240612214736259.png" alt="image-20240612214736259" />
1073
+ <img src="..\ pic\image-20240612214736259.png" alt="image-20240612214736259" />
1074
1074
1075
1075
#### T3(PPT5 P61)(EN系统,四季系统)
1076
1076
1077
- <img src="pic\image-20240612214125045.png" alt="image-20240612214125045" style="zoom:50%;" />
1077
+ <img src="..\ pic\image-20240612214125045.png" alt="image-20240612214125045" style="zoom:50%;" />
1078
1078
1079
1079
#### T4(PPT5 P89)(教堂问题之EN、PT图)
1080
1080
1081
- <img src="pic\image-20240612213952400.png" alt="image-20240612213952400" style="zoom:30%;" />
1081
+ <img src="..\ pic\image-20240612213952400.png" alt="image-20240612213952400" style="zoom:30%;" />
1082
1082
1083
- <img src="pic\image-20240612214048036.png" alt="image-20240612214048036" style="zoom:50%;" />
1083
+ <img src="..\ pic\image-20240612214048036.png" alt="image-20240612214048036" style="zoom:50%;" />
1084
1084
1085
1085
#### T5(PPT6 P81)(页面调度置换)
1086
1086
1087
- <img src="pic\image-20240613032059423.png" alt="image-20240613032059423" style="zoom:50%;" />
1087
+ <img src="..\ pic\image-20240613032059423.png" alt="image-20240613032059423" style="zoom:50%;" />
1088
1088
1089
1089
页面大小为4KB,一次内存的访问时间是100ns,一次快表(TLB)的访问时间是10ns,处理一次缺页的平均时间为10^8^ns(已含更新TLB和页表的时间),进程的驻留集大小固定为2,采用最近最少使用置换算法(LFU)和局部淘汰策略。假设①TLB初始为空;②地址转换时先访问TLB,若TLB未命中,再访问页表(忽略访问页表之后的TLB更新时间);③有效位为0表示页面不在内存,产生缺页中断,缺页中断处理后,返回到产生缺页中断的指令处重新执行。设有虚地址访问序列2362H、1565H、25A5H,请问:
1090
1090
@@ -1104,11 +1104,11 @@ void philosopher(int i) // 哲学家编号i:0-4
1104
1104
1105
1105
#### T6(PPT7 P48)(中断驱动问题)
1106
1106
1107
- 
1107
+ 
1108
1108
1109
1109
#### T7(PPT7 P57)(DMA与直接访问内存)
1110
1110
1111
- 
1111
+ 
1112
1112
1113
1113
解:
1114
1114
1127
1127
1128
1128
#### T8(PPT7 P68)(三种通道类型与其流量)
1129
1129
1130
- 
1130
+ 
1131
1131
1132
1132
#### T9(PPT7 P102)(设备驱动程序与中断处理程序)
1133
1133
1139
1139
1140
1140
#### T10(PPT7 P148)(磁盘访问时间)
1141
1141
1142
- 
1142
+ 
1143
1143
1144
1144
(1)文件由同一个磁道上的 300 个连续扇区构成:
1145
1145
$$
@@ -1154,13 +1154,13 @@ $$
1154
1154
1155
1155
#### T11(PPT7 P152)(磁盘调度)
1156
1156
1157
- 
1157
+ 
1158
1158
1159
- FCFS:SUM=640
1159
+ FCFS:SUM=640
1160
1160
1161
- SSTF:SUM=236
1161
+ SSTF:SUM=236
1162
1162
1163
- 电梯:SUM=208
1163
+ 电梯:SUM=208
1164
1164
1165
1165
### From HW
1166
1166
@@ -1177,7 +1177,7 @@ Petri网建模练习(不可以使用重名变迁,即多个变迁有相同的
1177
1177
+ 将设备下井 (Take down to mine);
1178
1178
+ 若设备很大,还需要进行井下组装(Assemble)
1179
1179
1180
- 解答:
1180
+ 解答:
1181
1181
1182
1182
点评:要注意变迁是动作,状态是状态。
1183
1183
@@ -1187,11 +1187,11 @@ Petri网建模练习(不可以使用重名变迁,即多个变迁有相同的
1187
1187
1188
1188
比如:给定人数为5,叉子为5,画出哲学家的petri网。
1189
1189
1190
- 
1190
+ 
1191
1191
1192
1192
#### T3 (HW004)(petri网计算问题)
1193
1193
1194
- 
1194
+ 
1195
1195
1196
1196
1197
1197
0 commit comments