[{"data":1,"prerenderedAt":2065},["ShallowReactive",2],{"note:cs\u002Fos\u002Fnote\u002Fchap9":3,"site-search-catalogue":2064},{"id":4,"title":5,"body":6,"description":2049,"extension":2056,"meta":2057,"navigation":2059,"path":2060,"seo":2061,"stem":2062,"__hash__":2063},"notes\u002Fsource\u002Fcs\u002Fos\u002Fnote\u002Fchap9.md","Chap. 9 Note",{"type":7,"value":8,"toc":2048},"minimark",[9,14,17,22,26,31,34,61,65,271,273,277,281,299,303,325,329,703,707,719,723,1045,1049,1070,1074,1514,1516,1520],[10,11,13],"h1",{"id":12},"chap-9-单处理器调度uniprocessor-scheduling","Chap 9. 单处理器调度（Uniprocessor Scheduling）",[15,16],"hr",{},[18,19,21],"h3",{"id":20},"一-concept","一、 Concept",[23,24,25],"p",{},"在学习具体的调度算法之前，先理清调度的“三大层次”和“核心考核指标”。",[27,28,30],"h4",{"id":29},"_1-调度的三个层次","1. 调度的三个层次",[23,32,33],{},"操作系统中不仅有CPU调度，实际上包含了四个维度的调度（其中 I\u002FO 调度在第11章讨论），本章重点关注与进程状态转换密切相关的三种处理器调度：",[35,36,37,49,55],"ul",{},[38,39,40,44,45,48],"li",{},[41,42,43],"strong",{},"长程调度 (Long-term Scheduling)："," 决定是否将一个新进程加入到待执行的进程池中（控制系统的",[41,46,47],{},"多道程序调度","）。",[38,50,51,54],{},[41,52,53],{},"中程调度 (Medium-term Scheduling)："," 属于对换（Swapping）功能的一部分，决定是否将进程部分或全部调入主存（处理挂起状态 Suspend）。",[38,56,57,60],{},[41,58,59],{},"短程调度 (Short-term Scheduling \u002F Dispatcher)："," 发生频率最高，决定当前主存中哪个就绪进程将获得 CPU 的执行权。",[27,62,64],{"id":63},"_2-短程调度的核心性能指标","2. 短程调度的核心性能指标",[35,66,67,199,209],{},[38,68,69,72,73,198],{},[41,70,71],{},"周转时间 (Turnaround Time, TAT)："," 进程从提交到完成的总时间。",[41,74,75],{},[76,77,80,122],"span",{"className":78},[79],"katex",[76,81,84],{"className":82},[83],"katex-mathml",[85,86,88],"math",{"xmlns":87},"http:\u002F\u002Fwww.w3.org\u002F1998\u002FMath\u002FMathML",[89,90,91,117],"semantics",{},[92,93,94,98,101,103,107,111,114],"mrow",{},[95,96,97],"mi",{},"T",[95,99,100],{},"A",[95,102,97],{},[104,105,106],"mo",{},"=",[108,109,110],"mtext",{},"等待时间",[104,112,113],{},"+",[108,115,116],{},"服务时间",[118,119,121],"annotation",{"encoding":120},"application\u002Fx-tex","TAT = \\text{等待时间} + \\text{服务时间}",[76,123,127,160,186],{"className":124,"ariaHidden":126},[125],"katex-html","true",[76,128,131,136,142,145,148,153,157],{"className":129},[130],"base",[76,132],{"className":133,"style":135},[134],"strut","height:0.6833em;",[76,137,97],{"className":138,"style":141},[139,140],"mord","mathnormal","margin-right:0.1389em;",[76,143,100],{"className":144},[139,140],[76,146,97],{"className":147,"style":141},[139,140],[76,149],{"className":150,"style":152},[151],"mspace","margin-right:0.2778em;",[76,154,106],{"className":155},[156],"mrel",[76,158],{"className":159,"style":152},[151],[76,161,163,167,175,179,183],{"className":162},[130],[76,164],{"className":165,"style":166},[134],"height:0.7667em;vertical-align:-0.0833em;",[76,168,171],{"className":169},[139,170],"text",[76,172,110],{"className":173},[139,174],"cjk_fallback",[76,176],{"className":177,"style":178},[151],"margin-right:0.2222em;",[76,180,113],{"className":181},[182],"mbin",[76,184],{"className":185,"style":178},[151],[76,187,189,192],{"className":188},[130],[76,190],{"className":191,"style":135},[134],[76,193,195],{"className":194},[139,170],[76,196,116],{"className":197},[139,174],"。这是批处理系统最看重的指标。",[38,200,201,204,205,208],{},[41,202,203],{},"响应时间 (Response Time)："," 进程从提交请求到系统",[41,206,207],{},"首次","产生响应的时间。这是交互式系统最看重的指标。",[38,210,211,214,215,270],{},[41,212,213],{},"归一化周转时间 (Normalized Turnaround Time)："," ",[76,216,218,242],{"className":217},[79],[76,219,221],{"className":220},[83],[85,222,223],{"xmlns":87},[89,224,225,239],{},[92,226,227,229,231,233,237],{},[95,228,97],{},[95,230,100],{},[95,232,97],{},[95,234,236],{"mathvariant":235},"normal","\u002F",[108,238,116],{},[118,240,241],{"encoding":120},"TAT \u002F \\text{服务时间}",[76,243,245],{"className":244,"ariaHidden":126},[125],[76,246,248,252,255,258,261,264],{"className":247},[130],[76,249],{"className":250,"style":251},[134],"height:1em;vertical-align:-0.25em;",[76,253,97],{"className":254,"style":141},[139,140],[76,256,100],{"className":257},[139,140],[76,259,97],{"className":260,"style":141},[139,140],[76,262,236],{"className":263},[139],[76,265,267],{"className":266},[139,170],[76,268,116],{"className":269},[139,174],"。该值越接近1越好，表明进程没有被无谓地等待。",[15,272],{},[18,274,276],{"id":275},"二-调度算法的演进","二、 调度算法的演进",[27,278,280],{"id":279},"_1-先来先服务-fcfs-first-come-first-served","1. 先来先服务 (FCFS - First-Come-First-Served)",[35,282,283,289],{},[38,284,285,288],{},[41,286,287],{},"机制："," 非抢占式。谁先进入就绪队列，谁先执行，直到完成或阻塞。",[38,290,291,294,295,298],{},[41,292,293],{},"缺点："," 虽然简单公平，但如果一个长进程排在前面，后面的短进程会被严重拖累（即所谓的“护航效应”）。此外，它极度",[41,296,297],{},"偏袒 CPU密集型进程","，导致 I\u002FO密集型进程经常吃亏。",[27,300,302],{"id":301},"_2-时间片轮转-round-robin-rr","2. 时间片轮转 (Round Robin, RR)",[35,304,305,310,319],{},[38,306,307,309],{},[41,308,287],{}," 抢占式。每个进程分配一个时间片（Time Quantum \u002F Slice），时间片用完后触发时钟中断，强行剥夺 CPU，进程回到队列尾部排队。",[38,311,312,314,315,318],{},[41,313,293],{}," FCFS 响应时间太差了！RR 的引入是为了在",[41,316,317],{},"分时系统","中提供良好的交互响应时间。",[38,320,321,324],{},[41,322,323],{},"设计权衡："," 时间片太长，就退化成了 FCFS；时间片太短，CPU的大部分时间都浪费在进程上下文切换上了。",[27,326,328],{"id":327},"_3-最短进程优先-spn-shortest-process-next","3. 最短进程优先 (SPN - Shortest Process Next)",[35,330,331,336,346],{},[38,332,333,335],{},[41,334,287],{}," 非抢占式。每次挑选预计处理时间最短的进程优先执行。",[38,337,338,341,342,345],{},[41,339,340],{},"特点："," 能够提供所有非抢占式算法中",[41,343,344],{},"最优的平均等待时间","和平均周转时间。",[38,347,348,351,352,642,643,673,674,702],{},[41,349,350],{},"预测技术（指数平滑法 Exponential Averaging）："," 我们怎么提前知道进程要跑多久？操作系统通过历史数据来预测未来。公式为：",[41,353,354],{},[76,355,357,419],{"className":356},[79],[76,358,360],{"className":359},[83],[85,361,362],{"xmlns":87},[89,363,364,416],{},[92,365,366,383,385,388,394,396,400,402,405,407,410],{},[367,368,369,372],"msub",{},[95,370,371],{},"S",[92,373,374,377,379],{},[95,375,376],{},"n",[104,378,113],{},[380,381,382],"mn",{},"1",[104,384,106],{},[95,386,387],{},"α",[367,389,390,392],{},[95,391,97],{},[95,393,376],{},[104,395,113],{},[104,397,399],{"stretchy":398},"false","(",[380,401,382],{},[104,403,404],{},"−",[95,406,387],{},[104,408,409],{"stretchy":398},")",[367,411,412,414],{},[95,413,371],{},[95,415,376],{},[118,417,418],{"encoding":120},"S_{n+1} = \\alpha T_n + (1-\\alpha)S_n",[76,420,422,504,567,589],{"className":421,"ariaHidden":126},[125],[76,423,425,429,495,498,501],{"className":424},[130],[76,426],{"className":427,"style":428},[134],"height:0.8917em;vertical-align:-0.2083em;",[76,430,432,436],{"className":431},[139],[76,433,371],{"className":434,"style":435},[139,140],"margin-right:0.0576em;",[76,437,440],{"className":438},[439],"msupsub",[76,441,445,486],{"className":442},[443,444],"vlist-t","vlist-t2",[76,446,449,481],{"className":447},[448],"vlist-r",[76,450,454],{"className":451,"style":453},[452],"vlist","height:0.3011em;",[76,455,457,462],{"style":456},"top:-2.55em;margin-left:-0.0576em;margin-right:0.05em;",[76,458],{"className":459,"style":461},[460],"pstrut","height:2.7em;",[76,463,469],{"className":464},[465,466,467,468],"sizing","reset-size6","size3","mtight",[76,470,472,475,478],{"className":471},[139,468],[76,473,376],{"className":474},[139,140,468],[76,476,113],{"className":477},[182,468],[76,479,382],{"className":480},[139,468],[76,482,485],{"className":483},[484],"vlist-s","​",[76,487,489],{"className":488},[448],[76,490,493],{"className":491,"style":492},[452],"height:0.2083em;",[76,494],{},[76,496],{"className":497,"style":152},[151],[76,499,106],{"className":500},[156],[76,502],{"className":503,"style":152},[151],[76,505,507,511,515,558,561,564],{"className":506},[130],[76,508],{"className":509,"style":510},[134],"height:0.8333em;vertical-align:-0.15em;",[76,512,387],{"className":513,"style":514},[139,140],"margin-right:0.0037em;",[76,516,518,521],{"className":517},[139],[76,519,97],{"className":520,"style":141},[139,140],[76,522,524],{"className":523},[439],[76,525,527,549],{"className":526},[443,444],[76,528,530,546],{"className":529},[448],[76,531,534],{"className":532,"style":533},[452],"height:0.1514em;",[76,535,537,540],{"style":536},"top:-2.55em;margin-left:-0.1389em;margin-right:0.05em;",[76,538],{"className":539,"style":461},[460],[76,541,543],{"className":542},[465,466,467,468],[76,544,376],{"className":545},[139,140,468],[76,547,485],{"className":548},[484],[76,550,552],{"className":551},[448],[76,553,556],{"className":554,"style":555},[452],"height:0.15em;",[76,557],{},[76,559],{"className":560,"style":178},[151],[76,562,113],{"className":563},[182],[76,565],{"className":566,"style":178},[151],[76,568,570,573,577,580,583,586],{"className":569},[130],[76,571],{"className":572,"style":251},[134],[76,574,399],{"className":575},[576],"mopen",[76,578,382],{"className":579},[139],[76,581],{"className":582,"style":178},[151],[76,584,404],{"className":585},[182],[76,587],{"className":588,"style":178},[151],[76,590,592,595,598,602],{"className":591},[130],[76,593],{"className":594,"style":251},[134],[76,596,387],{"className":597,"style":514},[139,140],[76,599,409],{"className":600},[601],"mclose",[76,603,605,608],{"className":604},[139],[76,606,371],{"className":607,"style":435},[139,140],[76,609,611],{"className":610},[439],[76,612,614,634],{"className":613},[443,444],[76,615,617,631],{"className":616},[448],[76,618,620],{"className":619,"style":533},[452],[76,621,622,625],{"style":456},[76,623],{"className":624,"style":461},[460],[76,626,628],{"className":627},[465,466,467,468],[76,629,376],{"className":630},[139,140,468],[76,632,485],{"className":633},[484],[76,635,637],{"className":636},[448],[76,638,640],{"className":639,"style":555},[452],[76,641],{},"。其中 ",[76,644,646,660],{"className":645},[79],[76,647,649],{"className":648},[83],[85,650,651],{"xmlns":87},[89,652,653,657],{},[92,654,655],{},[95,656,387],{},[118,658,659],{"encoding":120},"\\alpha",[76,661,663],{"className":662,"ariaHidden":126},[125],[76,664,666,670],{"className":665},[130],[76,667],{"className":668,"style":669},[134],"height:0.4306em;",[76,671,387],{"className":672,"style":514},[139,140]," 控制着权重的分配：",[76,675,677,690],{"className":676},[79],[76,678,680],{"className":679},[83],[85,681,682],{"xmlns":87},[89,683,684,688],{},[92,685,686],{},[95,687,387],{},[118,689,659],{"encoding":120},[76,691,693],{"className":692,"ariaHidden":126},[125],[76,694,696,699],{"className":695},[130],[76,697],{"className":698,"style":669},[134],[76,700,387],{"className":701,"style":514},[139,140]," 越大（如0.8），系统对近期的突发变化反应越快。",[27,704,706],{"id":705},"_4-最短剩余时间优先-srt-shortest-remaining-time","4. 最短剩余时间优先 (SRT - Shortest Remaining Time)",[35,708,709,714],{},[38,710,711,713],{},[41,712,287],{}," 抢占式。SPN的升级版。如果新到达的进程比当前运行进程的剩余时间还要短，立即抢占 CPU。",[38,715,716,718],{},[41,717,293],{}," SPN 一旦开始执行长进程就不会停，新来的短进程依然要等。SRT 通过引入抢占进一步优化了短进程的响应速度，但带来了更高的系统开销。",[27,720,722],{"id":721},"_5-最高响应比优先-hrrn-highest-response-ratio-next","5. 最高响应比优先 (HRRN - Highest Response Ratio Next)",[35,724,725,1035],{},[38,726,727,729,730,760,761,1034],{},[41,728,287],{}," 非抢占式。每次调度时，计算所有就绪进程的响应比 ",[76,731,733,747],{"className":732},[79],[76,734,736],{"className":735},[83],[85,737,738],{"xmlns":87},[89,739,740,745],{},[92,741,742],{},[95,743,744],{},"R",[118,746,744],{"encoding":120},[76,748,750],{"className":749,"ariaHidden":126},[125],[76,751,753,756],{"className":752},[130],[76,754],{"className":755,"style":135},[134],[76,757,744],{"className":758,"style":759},[139,140],"margin-right:0.0077em;","，选最大的执行。公式：",[41,762,763],{},[76,764,766,809],{"className":765},[79],[76,767,769],{"className":768},[83],[85,770,771],{"xmlns":87},[89,772,773,806],{},[92,774,775,777,779,792,794,796,798],{},[95,776,744],{},[104,778,106],{},[780,781,782,790],"mfrac",{},[92,783,784,786,788],{},[108,785,110],{},[104,787,113],{},[108,789,116],{},[108,791,116],{},[104,793,106],{},[380,795,382],{},[104,797,113],{},[780,799,800,803],{},[95,801,802],{},"w",[95,804,805],{},"s",[118,807,808],{"encoding":120},"R = \\frac{\\text{等待时间} + \\text{服务时间}}{\\text{服务时间}} = 1 + \\frac{w}{s}",[76,810,812,830,938,957],{"className":811,"ariaHidden":126},[125],[76,813,815,818,821,824,827],{"className":814},[130],[76,816],{"className":817,"style":135},[134],[76,819,744],{"className":820,"style":759},[139,140],[76,822],{"className":823,"style":152},[151],[76,825,106],{"className":826},[156],[76,828],{"className":829,"style":152},[151],[76,831,833,837,929,932,935],{"className":832},[130],[76,834],{"className":835,"style":836},[134],"height:1.2173em;vertical-align:-0.345em;",[76,838,840,844,926],{"className":839},[139],[76,841],{"className":842},[576,843],"nulldelimiter",[76,845,847],{"className":846},[780],[76,848,850,917],{"className":849},[443,444],[76,851,853,914],{"className":852},[448],[76,854,857,876,887],{"className":855,"style":856},[452],"height:0.8723em;",[76,858,860,864],{"style":859},"top:-2.655em;",[76,861],{"className":862,"style":863},[460],"height:3em;",[76,865,867],{"className":866},[465,466,467,468],[76,868,870],{"className":869},[139,468],[76,871,873],{"className":872},[139,170,468],[76,874,116],{"className":875},[139,174,468],[76,877,879,882],{"style":878},"top:-3.23em;",[76,880],{"className":881,"style":863},[460],[76,883],{"className":884,"style":886},[885],"frac-line","border-bottom-width:0.04em;",[76,888,890,893],{"style":889},"top:-3.394em;",[76,891],{"className":892,"style":863},[460],[76,894,896],{"className":895},[465,466,467,468],[76,897,899,905,908],{"className":898},[139,468],[76,900,902],{"className":901},[139,170,468],[76,903,110],{"className":904},[139,174,468],[76,906,113],{"className":907},[182,468],[76,909,911],{"className":910},[139,170,468],[76,912,116],{"className":913},[139,174,468],[76,915,485],{"className":916},[484],[76,918,920],{"className":919},[448],[76,921,924],{"className":922,"style":923},[452],"height:0.345em;",[76,925],{},[76,927],{"className":928},[601,843],[76,930],{"className":931,"style":152},[151],[76,933,106],{"className":934},[156],[76,936],{"className":937,"style":152},[151],[76,939,941,945,948,951,954],{"className":940},[130],[76,942],{"className":943,"style":944},[134],"height:0.7278em;vertical-align:-0.0833em;",[76,946,382],{"className":947},[139],[76,949],{"className":950,"style":178},[151],[76,952,113],{"className":953},[182],[76,955],{"className":956,"style":178},[151],[76,958,960,964],{"className":959},[130],[76,961],{"className":962,"style":963},[134],"height:1.0404em;vertical-align:-0.345em;",[76,965,967,970,1031],{"className":966},[139],[76,968],{"className":969},[576,843],[76,971,973],{"className":972},[780],[76,974,976,1023],{"className":975},[443,444],[76,977,979,1020],{"className":978},[448],[76,980,983,997,1005],{"className":981,"style":982},[452],"height:0.6954em;",[76,984,985,988],{"style":859},[76,986],{"className":987,"style":863},[460],[76,989,991],{"className":990},[465,466,467,468],[76,992,994],{"className":993},[139,468],[76,995,805],{"className":996},[139,140,468],[76,998,999,1002],{"style":878},[76,1000],{"className":1001,"style":863},[460],[76,1003],{"className":1004,"style":886},[885],[76,1006,1007,1010],{"style":889},[76,1008],{"className":1009,"style":863},[460],[76,1011,1013],{"className":1012},[465,466,467,468],[76,1014,1016],{"className":1015},[139,468],[76,1017,802],{"className":1018,"style":1019},[139,140,468],"margin-right:0.0269em;",[76,1021,485],{"className":1022},[484],[76,1024,1026],{"className":1025},[448],[76,1027,1029],{"className":1028,"style":923},[452],[76,1030],{},[76,1032],{"className":1033},[601,843],"。",[38,1036,1037,1040,1041,1044],{},[41,1038,1039],{},"The 'Why' (解决饥饿)："," SPN 和 SRT 有一个致命缺陷——",[41,1042,1043],{},"长进程会无限期饥饿 (Starvation)","。HRRN 巧妙地引入了“年龄（等待时间 w）”因素。随着等待时间的增加，即使是长进程，其响应比也会越来越大，最终一定会获得 CPU。",[27,1046,1048],{"id":1047},"_6-多级反馈队列-multilevel-feedback-queue","6. 多级反馈队列 (Multilevel Feedback Queue)",[35,1050,1051,1056],{},[38,1052,1053,1055],{},[41,1054,287],{}," 抢占式。设立多个优先级队列。新进程进入最高优先级队列（时间片最短）；如果在时间片内没跑完，就被“降级”惩罚到下一级队列。",[38,1057,1058,1061,1062,1065,1066,1069],{},[41,1059,1060],{},"The 'Why'："," 之前那些优秀的算法（SPN, SRT, HRRN）都有一个共同前提——",[41,1063,1064],{},"必须预先知道或估算进程的运行时间","。但在实际中很难精准估算。Feedback 算法",[41,1067,1068],{},"不需要知道进程多长","。它通过“惩罚耗时进程，奖励快速I\u002FO进程”的动态调整机制，完美兼顾了短进程响应、I\u002FO 密集型效率和不用预知长度的难题，是现代操作系统的基石。",[27,1071,1073],{"id":1072},"_7-传统-unix-调度-traditional-unix-scheduling","7. 传统 UNIX 调度 (Traditional UNIX Scheduling)",[35,1075,1076,1081],{},[38,1077,1078,1080],{},[41,1079,287],{}," 采用带有多级反馈和循环轮转（Round Robin）的抢占式调度。",[38,1082,1083,214,1086,1513],{},[41,1084,1085],{},"优先数计算：",[76,1087,1089,1175],{"className":1088},[79],[76,1090,1092],{"className":1091},[83],[85,1093,1094],{"xmlns":87},[89,1095,1096,1172],{},[92,1097,1098,1106,1108,1111,1113,1115,1118,1121,1123,1130,1132,1157,1159,1161,1163,1166],{},[367,1099,1100,1103],{},[95,1101,1102],{},"P",[95,1104,1105],{},"j",[104,1107,399],{"stretchy":398},[95,1109,1110],{},"i",[104,1112,409],{"stretchy":398},[104,1114,106],{},[95,1116,1117],{},"B",[95,1119,1120],{},"a",[95,1122,805],{},[367,1124,1125,1128],{},[95,1126,1127],{},"e",[95,1129,1105],{},[104,1131,113],{},[780,1133,1134,1154],{},[92,1135,1136,1139,1141,1148,1150,1152],{},[95,1137,1138],{},"C",[95,1140,1102],{},[367,1142,1143,1146],{},[95,1144,1145],{},"U",[95,1147,1105],{},[104,1149,399],{"stretchy":398},[95,1151,1110],{},[104,1153,409],{"stretchy":398},[380,1155,1156],{},"2",[104,1158,113],{},[95,1160,376],{},[95,1162,1110],{},[95,1164,1165],{},"c",[367,1167,1168,1170],{},[95,1169,1127],{},[95,1171,1105],{},[118,1173,1174],{"encoding":120},"P_j(i) = Base_j + \\frac{CPU_j(i)}{2} + nice_j",[76,1176,1178,1246,1313,1459],{"className":1177,"ariaHidden":126},[125],[76,1179,1181,1185,1228,1231,1234,1237,1240,1243],{"className":1180},[130],[76,1182],{"className":1183,"style":1184},[134],"height:1.0361em;vertical-align:-0.2861em;",[76,1186,1188,1191],{"className":1187},[139],[76,1189,1102],{"className":1190,"style":141},[139,140],[76,1192,1194],{"className":1193},[439],[76,1195,1197,1219],{"className":1196},[443,444],[76,1198,1200,1216],{"className":1199},[448],[76,1201,1204],{"className":1202,"style":1203},[452],"height:0.3117em;",[76,1205,1206,1209],{"style":536},[76,1207],{"className":1208,"style":461},[460],[76,1210,1212],{"className":1211},[465,466,467,468],[76,1213,1105],{"className":1214,"style":1215},[139,140,468],"margin-right:0.0572em;",[76,1217,485],{"className":1218},[484],[76,1220,1222],{"className":1221},[448],[76,1223,1226],{"className":1224,"style":1225},[452],"height:0.2861em;",[76,1227],{},[76,1229,399],{"className":1230},[576],[76,1232,1110],{"className":1233},[139,140],[76,1235,409],{"className":1236},[601],[76,1238],{"className":1239,"style":152},[151],[76,1241,106],{"className":1242},[156],[76,1244],{"className":1245,"style":152},[151],[76,1247,1249,1253,1257,1260,1263,1304,1307,1310],{"className":1248},[130],[76,1250],{"className":1251,"style":1252},[134],"height:0.9694em;vertical-align:-0.2861em;",[76,1254,1117],{"className":1255,"style":1256},[139,140],"margin-right:0.0502em;",[76,1258,1120],{"className":1259},[139,140],[76,1261,805],{"className":1262},[139,140],[76,1264,1266,1269],{"className":1265},[139],[76,1267,1127],{"className":1268},[139,140],[76,1270,1272],{"className":1271},[439],[76,1273,1275,1296],{"className":1274},[443,444],[76,1276,1278,1293],{"className":1277},[448],[76,1279,1281],{"className":1280,"style":1203},[452],[76,1282,1284,1287],{"style":1283},"top:-2.55em;margin-left:0em;margin-right:0.05em;",[76,1285],{"className":1286,"style":461},[460],[76,1288,1290],{"className":1289},[465,466,467,468],[76,1291,1105],{"className":1292,"style":1215},[139,140,468],[76,1294,485],{"className":1295},[484],[76,1297,1299],{"className":1298},[448],[76,1300,1302],{"className":1301,"style":1225},[452],[76,1303],{},[76,1305],{"className":1306,"style":178},[151],[76,1308,113],{"className":1309},[182],[76,1311],{"className":1312,"style":178},[151],[76,1314,1316,1320,1450,1453,1456],{"className":1315},[130],[76,1317],{"className":1318,"style":1319},[134],"height:1.3773em;vertical-align:-0.345em;",[76,1321,1323,1326,1447],{"className":1322},[139],[76,1324],{"className":1325},[576,843],[76,1327,1329],{"className":1328},[780],[76,1330,1332,1439],{"className":1331},[443,444],[76,1333,1335,1436],{"className":1334},[448],[76,1336,1339,1353,1361],{"className":1337,"style":1338},[452],"height:1.0323em;",[76,1340,1341,1344],{"style":859},[76,1342],{"className":1343,"style":863},[460],[76,1345,1347],{"className":1346},[465,466,467,468],[76,1348,1350],{"className":1349},[139,468],[76,1351,1156],{"className":1352},[139,468],[76,1354,1355,1358],{"style":878},[76,1356],{"className":1357,"style":863},[460],[76,1359],{"className":1360,"style":886},[885],[76,1362,1364,1367],{"style":1363},"top:-3.5073em;",[76,1365],{"className":1366,"style":863},[460],[76,1368,1370],{"className":1369},[465,466,467,468],[76,1371,1373,1377,1380,1427,1430,1433],{"className":1372},[139,468],[76,1374,1138],{"className":1375,"style":1376},[139,140,468],"margin-right:0.0715em;",[76,1378,1102],{"className":1379,"style":141},[139,140,468],[76,1381,1383,1387],{"className":1382},[139,468],[76,1384,1145],{"className":1385,"style":1386},[139,140,468],"margin-right:0.109em;",[76,1388,1390],{"className":1389},[439],[76,1391,1393,1418],{"className":1392},[443,444],[76,1394,1396,1415],{"className":1395},[448],[76,1397,1400],{"className":1398,"style":1399},[452],"height:0.3281em;",[76,1401,1403,1407],{"style":1402},"top:-2.357em;margin-left:-0.109em;margin-right:0.0714em;",[76,1404],{"className":1405,"style":1406},[460],"height:2.5em;",[76,1408,1412],{"className":1409},[465,1410,1411,468],"reset-size3","size1",[76,1413,1105],{"className":1414,"style":1215},[139,140,468],[76,1416,485],{"className":1417},[484],[76,1419,1421],{"className":1420},[448],[76,1422,1425],{"className":1423,"style":1424},[452],"height:0.2819em;",[76,1426],{},[76,1428,399],{"className":1429},[576,468],[76,1431,1110],{"className":1432},[139,140,468],[76,1434,409],{"className":1435},[601,468],[76,1437,485],{"className":1438},[484],[76,1440,1442],{"className":1441},[448],[76,1443,1445],{"className":1444,"style":923},[452],[76,1446],{},[76,1448],{"className":1449},[601,843],[76,1451],{"className":1452,"style":178},[151],[76,1454,113],{"className":1455},[182],[76,1457],{"className":1458,"style":178},[151],[76,1460,1462,1466,1470,1473],{"className":1461},[130],[76,1463],{"className":1464,"style":1465},[134],"height:0.9456em;vertical-align:-0.2861em;",[76,1467,1469],{"className":1468},[139,140],"ni",[76,1471,1165],{"className":1472},[139,140],[76,1474,1476,1479],{"className":1475},[139],[76,1477,1127],{"className":1478},[139,140],[76,1480,1482],{"className":1481},[439],[76,1483,1485,1505],{"className":1484},[443,444],[76,1486,1488,1502],{"className":1487},[448],[76,1489,1491],{"className":1490,"style":1203},[452],[76,1492,1493,1496],{"style":1283},[76,1494],{"className":1495,"style":461},[460],[76,1497,1499],{"className":1498},[465,466,467,468],[76,1500,1105],{"className":1501,"style":1215},[139,140,468],[76,1503,485],{"className":1504},[484],[76,1506,1508],{"className":1507},[448],[76,1509,1511],{"className":1510,"style":1225},[452],[76,1512],{},"。系统根据进程的历史 CPU 使用情况动态调整优先级，确保 I\u002FO 密集型和交互式进程的高优先级。",[15,1515],{},[18,1517,1519],{"id":1518},"三-common-pitfalls","三、 Common Pitfalls",[1521,1522,1523,1541,1565,1590],"ol",{},[38,1524,1525,1528,1529,1532,1533,1536,1537,1540],{},[41,1526,1527],{},"混淆“优先数大小”与“优先级高低”：","\n在 ",[41,1530,1531],{},"UNIX\u002FLinux 系统","和大量的学术计算题中，",[41,1534,1535],{},"数值越小，优先级越高","（即 Priority 0 比 Priority 10 优先）；但在 ",[41,1538,1539],{},"Windows 系统","中，数值越大代表优先级越高。做题时务必先看清题目设定！",[38,1542,1543,1546],{},[41,1544,1545],{},"搞混 周转时间 (Turnaround) 与 响应时间 (Response)：",[35,1547,1548,1555],{},[38,1549,1550,1554],{},[1551,1552,1553],"em",{},"陷阱："," 计算响应时间时，算成了进程执行结束的时间。",[38,1556,1557,1560,1561,1564],{},[1551,1558,1559],{},"正解："," 周转时间 = 整个任务全部做完的时间 - 到达时间。响应时间 = 任务",[41,1562,1563],{},"第一次获得 CPU 开始执行","的时间 - 到达时间。",[38,1566,1567,1570],{},[41,1568,1569],{},"忽略了“非抢占式 (Nonpreemptive)”的锁死效应：",[35,1571,1572,1577],{},[38,1573,1574,1576],{},[1551,1575,1553],{}," 在做 SPN 或 HRRN 推演时，一旦有新的短进程到达，就立刻让当前长进程下台。",[38,1578,1579,1581,1582,1585,1586,1589],{},[1551,1580,1559],{}," SPN, HRRN, FCFS 是",[41,1583,1584],{},"非抢占式","的！这意味着只要一个进程上了 CPU，除非它自己执行完毕或主动阻塞，否则",[41,1587,1588],{},"天王老子来了也不能把它赶下来","。抢占只发生在时间片到期（RR, Feedback）或特定事件（SRT）发生时。",[38,1591,1592,1624],{},[41,1593,1594,1595,1623],{},"死板地计算指数平滑法 (",[76,1596,1598,1611],{"className":1597},[79],[76,1599,1601],{"className":1600},[83],[85,1602,1603],{"xmlns":87},[89,1604,1605,1609],{},[92,1606,1607],{},[95,1608,387],{},[118,1610,659],{"encoding":120},[76,1612,1614],{"className":1613,"ariaHidden":126},[125],[76,1615,1617,1620],{"className":1616},[130],[76,1618],{"className":1619,"style":669},[134],[76,1621,387],{"className":1622,"style":514},[139,140],")：",[35,1625,1626,1660],{},[38,1627,1628,1630,1631,1659],{},[1551,1629,1553],{}," 记不住公式中 ",[76,1632,1634,1647],{"className":1633},[79],[76,1635,1637],{"className":1636},[83],[85,1638,1639],{"xmlns":87},[89,1640,1641,1645],{},[92,1642,1643],{},[95,1644,387],{},[118,1646,659],{"encoding":120},[76,1648,1650],{"className":1649,"ariaHidden":126},[125],[76,1651,1653,1656],{"className":1652},[130],[76,1654],{"className":1655,"style":669},[134],[76,1657,387],{"className":1658,"style":514},[139,140]," 到底乘的是过去真实的观测值还是预测值。",[38,1661,1662,214,1664,1034,1916,1034,2019,2047],{},[1551,1663,1559],{},[76,1665,1667,1718],{"className":1666},[79],[76,1668,1670],{"className":1669},[83],[85,1671,1672],{"xmlns":87},[89,1673,1674,1716],{},[92,1675,1676,1688,1690,1692,1698,1700,1702,1704,1706,1708,1710],{},[367,1677,1678,1680],{},[95,1679,371],{},[92,1681,1682,1684,1686],{},[95,1683,376],{},[104,1685,113],{},[380,1687,382],{},[104,1689,106],{},[95,1691,387],{},[367,1693,1694,1696],{},[95,1695,97],{},[95,1697,376],{},[104,1699,113],{},[104,1701,399],{"stretchy":398},[380,1703,382],{},[104,1705,404],{},[95,1707,387],{},[104,1709,409],{"stretchy":398},[367,1711,1712,1714],{},[95,1713,371],{},[95,1715,376],{},[118,1717,418],{"encoding":120},[76,1719,1721,1785,1843,1864],{"className":1720,"ariaHidden":126},[125],[76,1722,1724,1727,1776,1779,1782],{"className":1723},[130],[76,1725],{"className":1726,"style":428},[134],[76,1728,1730,1733],{"className":1729},[139],[76,1731,371],{"className":1732,"style":435},[139,140],[76,1734,1736],{"className":1735},[439],[76,1737,1739,1768],{"className":1738},[443,444],[76,1740,1742,1765],{"className":1741},[448],[76,1743,1745],{"className":1744,"style":453},[452],[76,1746,1747,1750],{"style":456},[76,1748],{"className":1749,"style":461},[460],[76,1751,1753],{"className":1752},[465,466,467,468],[76,1754,1756,1759,1762],{"className":1755},[139,468],[76,1757,376],{"className":1758},[139,140,468],[76,1760,113],{"className":1761},[182,468],[76,1763,382],{"className":1764},[139,468],[76,1766,485],{"className":1767},[484],[76,1769,1771],{"className":1770},[448],[76,1772,1774],{"className":1773,"style":492},[452],[76,1775],{},[76,1777],{"className":1778,"style":152},[151],[76,1780,106],{"className":1781},[156],[76,1783],{"className":1784,"style":152},[151],[76,1786,1788,1791,1794,1834,1837,1840],{"className":1787},[130],[76,1789],{"className":1790,"style":510},[134],[76,1792,387],{"className":1793,"style":514},[139,140],[76,1795,1797,1800],{"className":1796},[139],[76,1798,97],{"className":1799,"style":141},[139,140],[76,1801,1803],{"className":1802},[439],[76,1804,1806,1826],{"className":1805},[443,444],[76,1807,1809,1823],{"className":1808},[448],[76,1810,1812],{"className":1811,"style":533},[452],[76,1813,1814,1817],{"style":536},[76,1815],{"className":1816,"style":461},[460],[76,1818,1820],{"className":1819},[465,466,467,468],[76,1821,376],{"className":1822},[139,140,468],[76,1824,485],{"className":1825},[484],[76,1827,1829],{"className":1828},[448],[76,1830,1832],{"className":1831,"style":555},[452],[76,1833],{},[76,1835],{"className":1836,"style":178},[151],[76,1838,113],{"className":1839},[182],[76,1841],{"className":1842,"style":178},[151],[76,1844,1846,1849,1852,1855,1858,1861],{"className":1845},[130],[76,1847],{"className":1848,"style":251},[134],[76,1850,399],{"className":1851},[576],[76,1853,382],{"className":1854},[139],[76,1856],{"className":1857,"style":178},[151],[76,1859,404],{"className":1860},[182],[76,1862],{"className":1863,"style":178},[151],[76,1865,1867,1870,1873,1876],{"className":1866},[130],[76,1868],{"className":1869,"style":251},[134],[76,1871,387],{"className":1872,"style":514},[139,140],[76,1874,409],{"className":1875},[601],[76,1877,1879,1882],{"className":1878},[139],[76,1880,371],{"className":1881,"style":435},[139,140],[76,1883,1885],{"className":1884},[439],[76,1886,1888,1908],{"className":1887},[443,444],[76,1889,1891,1905],{"className":1890},[448],[76,1892,1894],{"className":1893,"style":533},[452],[76,1895,1896,1899],{"style":456},[76,1897],{"className":1898,"style":461},[460],[76,1900,1902],{"className":1901},[465,466,467,468],[76,1903,376],{"className":1904},[139,140,468],[76,1906,485],{"className":1907},[484],[76,1909,1911],{"className":1910},[448],[76,1912,1914],{"className":1913,"style":555},[452],[76,1915],{},[41,1917,1918,1919,1947,1948,2018],{},"记住口诀：“",[76,1920,1922,1935],{"className":1921},[79],[76,1923,1925],{"className":1924},[83],[85,1926,1927],{"xmlns":87},[89,1928,1929,1933],{},[92,1930,1931],{},[95,1932,387],{},[118,1934,659],{"encoding":120},[76,1936,1938],{"className":1937,"ariaHidden":126},[125],[76,1939,1941,1944],{"className":1940},[130],[76,1942],{"className":1943,"style":669},[134],[76,1945,387],{"className":1946,"style":514},[139,140]," 永远跟最新的真实观测值 ",[76,1949,1951,1969],{"className":1950},[79],[76,1952,1954],{"className":1953},[83],[85,1955,1956],{"xmlns":87},[89,1957,1958,1966],{},[92,1959,1960],{},[367,1961,1962,1964],{},[95,1963,97],{},[95,1965,376],{},[118,1967,1968],{"encoding":120},"T_n",[76,1970,1972],{"className":1971,"ariaHidden":126},[125],[76,1973,1975,1978],{"className":1974},[130],[76,1976],{"className":1977,"style":510},[134],[76,1979,1981,1984],{"className":1980},[139],[76,1982,97],{"className":1983,"style":141},[139,140],[76,1985,1987],{"className":1986},[439],[76,1988,1990,2010],{"className":1989},[443,444],[76,1991,1993,2007],{"className":1992},[448],[76,1994,1996],{"className":1995,"style":533},[452],[76,1997,1998,2001],{"style":536},[76,1999],{"className":2000,"style":461},[460],[76,2002,2004],{"className":2003},[465,466,467,468],[76,2005,376],{"className":2006},[139,140,468],[76,2008,485],{"className":2009},[484],[76,2011,2013],{"className":2012},[448],[76,2014,2016],{"className":2015,"style":555},[452],[76,2017],{}," 在一起”",[76,2020,2022,2035],{"className":2021},[79],[76,2023,2025],{"className":2024},[83],[85,2026,2027],{"xmlns":87},[89,2028,2029,2033],{},[92,2030,2031],{},[95,2032,387],{},[118,2034,659],{"encoding":120},[76,2036,2038],{"className":2037,"ariaHidden":126},[125],[76,2039,2041,2044],{"className":2040},[130],[76,2042],{"className":2043,"style":669},[134],[76,2045,387],{"className":2046,"style":514},[139,140]," 越大，表示操作系统越“健忘”，越相信最近刚刚发生的事。",{"title":2049,"searchDepth":2050,"depth":2050,"links":2051},"",2,[2052,2054,2055],{"id":20,"depth":2053,"text":21},3,{"id":275,"depth":2053,"text":276},{"id":1518,"depth":2053,"text":1519},"md",{"order":2058},9,true,"\u002Fsource\u002Fcs\u002Fos\u002Fnote\u002Fchap9",{"title":5,"description":2049},"source\u002Fcs\u002Fos\u002Fnote\u002Fchap9","fCdIIlwprGFcrBU8TSjEytn41khvMRNpJJJwqjjW-lM",null,1784032892003]