操作系统中的计算公式
-
CPU利用率
- 公式:CPU利用率=CPU有效工作时间CPU总时间×100%CPU利用率 = \frac{CPU有效工作时间}{CPU总时间}\times100\%CPU利用率=CPU总时间CPU有效工作时间×100%
- 例子:假设一个系统在10秒内,CPU有效工作时间为6秒,那么CPU利用率=610×100%=60%CPU利用率=\frac{6}{10}\times100\% = 60\%CPU利用率=106×100%=60%
-
进程周转时间
- 公式:周转时间 = 进程完成时间 - 进程提交时间
- 例子:进程A在10:00提交到系统,10:15完成,那么进程A的周转时间为10:15−10:00=1510:15 - 10:00 = 1510:15−10:00=15分钟
-
带权周转时间
- 公式:带权周转时间 = 周转时间/服务时间
- 例子:进程B的周转时间是20秒,服务时间(在CPU中执行时间)是10秒,那么带权周转时间为2010=2\frac{20}{10}=21020=2
-
平均周转时间和平均带权周转时间(多进程情况)
- 公式:
- 平均周转时间 = ∑i=1n周转时间in\frac{\sum_{i = 1}^{n}周转时间_i}{n}n∑i=1n周转时间i(nnn为进程数)
- 平均带权周转时间 = ∑i=1n带权周转时间in\frac{\sum_{i = 1}^{n}带权周转时间_i}{n}n∑i=1n带权周转时间i
- 例子:有三个进程P1、P2、P3,周转时间分别为10、15、20秒,服务时间分别为5、6、8秒。
- 平均周转时间 = 10+15+203=453=15\frac{10 + 15+20}{3}=\frac{45}{3}=15310+15+20=345=15秒
- P1带权周转时间为105=2\frac{10}{5}=2510=2,P2带权周转时间为156=2.5\frac{15}{6}=2.5615=2.5,P3带权周转时间为208=2.5\frac{20}{8}=2.5820=2.5,平均带权周转时间 = 2+2.5+2.53=73≈2.33\frac{2 + 2.5+2.5}{3}=\frac{7}{3}\approx2.3332+2.5+2.5=37≈2.33
- 公式:
-
磁盘访问时间
- 公式:磁盘访问时间 = 寻道时间 + 旋转延迟时间 + 传输时间
- 寻道时间:寻道时间 = 启动磁头臂时间 + 磁头移动 nnn 条磁道的时间,通常启动磁头臂时间是固定值,假设启动磁头臂时间为2ms2ms2ms,磁头移动一条磁道的时间为0.2ms0.2ms0.2ms,如果要移动20条磁道,寻道时间 = 2+0.2×20=6ms2 + 0.2\times20 = 6ms2+0.2×20=6ms
- 旋转延迟时间:旋转延迟时间 = 12×\frac{1}{2}\times21×旋转一周的时间,假设磁盘转速为720072007200转/分钟,旋转一周的时间为607200s=8.33ms\frac{60}{7200}s = 8.33ms720060s=8.33ms,旋转延迟时间 = 12×8.33=4.17ms\frac{1}{2}\times8.33 = 4.17ms21×8.33=4.17ms
- 传输时间:传输时间 = 传输的数据量磁盘的数据传输率\frac{传输的数据量}{磁盘的数据传输率}磁盘的数据传输率传输的数据量,假设要传输10KB10KB10KB的数据,磁盘的数据传输率为100MB/s100MB/s100MB/s,先将单位统一,10KB=10×1024B10KB = 10\times1024B10KB=10×1024B,100MB/s=100×1024×1024B/s100MB/s = 100\times1024\times1024B/s100MB/s=100×1024×1024B/s,传输时间 = 10×1024100×1024×1024s≈0.0001ms\frac{10\times1024}{100\times1024\times1024}s\approx0.0001ms100×1024×102410×1024s≈0.0001ms,磁盘访问时间 = 6+4.17+0.0001=10.17ms6 + 4.17+0.0001 = 10.17ms6+4.17+0.0001=10.17ms
-
分页存储管理中的页面置换算法相关计算
- 先进先出(FIFO)页面置换算法缺页率计算
- 公式:缺页率 = 缺页次数页面访问次数×100%\frac{缺页次数}{页面访问次数}\times100\%页面访问次数缺页次数×100%
- 例子:假设系统为进程分配了3个物理页面,进程访问页面的顺序为2、3、2、1、5、2、4、5、3、2、5、2。采用FIFO页面置换算法,初始时页面为空,访问页面2时产生缺页,装入物理页面;访问页面3时产生缺页,装入第二个物理页面;访问页面2时不缺页;访问页面1时产生缺页,装入第三个物理页面;访问页面5时产生缺页,此时需要置换出最先进入的页面2,产生一次缺页,以此类推。经过统计,缺页次数为9次,页面访问次数为12次,缺页率 = 912×100%=75%\frac{9}{12}\times100\% = 75\%129×100%=75%
- 最近最久未使用(LRU)页面置换算法缺页率计算(类似FIFO)
- 例子:同样是上述页面访问顺序和3个物理页面,采用LRU算法。初始时页面为空,访问页面2时产生缺页,装入物理页面;访问页面3时产生缺页,装入第二个物理页面;访问页面2时不缺页,此时页面2是最近使用的,页面3其次,页面1未使用;访问页面1时产生缺页,装入第三个物理页面,置换出最久未使用的页面3,以此类推。经过统计,缺页次数为7次,页面访问次数为12次,缺页率 = 712×100%≈58.3%\frac{7}{12}\times100\%\approx58.3\%127×100%≈58.3%
- 先进先出(FIFO)页面置换算法缺页率计算
-
文件系统相关计算
- 文件存储空间的分配计算
- 例子:假设一个磁盘块大小为1KB1KB1KB,一个文件大小为10KB10KB10KB,采用连续分配方式,需要的磁盘块数为10KB1KB=10\frac{10KB}{1KB}=101KB10KB=10块
- 索引文件的索引节点大小计算(假设索引节点中有直接索引、一级间接索引等)
- 公式(简单情况):假设直接索引有10个指针,每个指针指向一个磁盘块,磁盘块大小为1KB1KB1KB,文件系统块号占4B4B4B。直接索引能表示的文件大小为10×1KB=10KB10\times1KB = 10KB10×1KB=10KB。如果有一级间接索引,一个磁盘块能存放1KB4B=256\frac{1KB}{4B}=2564B1KB=256个块号,那么一级间接索引能表示的文件大小为256×1KB=256KB256\times1KB = 256KB256×1KB=256KB。如果索引节点包括直接索引和一级间接索引,那么索引节点能表示的最大文件大小为10KB+256KB=266KB10KB + 256KB = 266KB10KB+256KB=266KB
- 文件存储空间的分配计算