- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
行程排程器.ppt
Chapter 7 簡介 7.1 定義 (Definition) 7.2 演化( Evolution) 分時系統 (TIME-SHARING SYSTEMS) ˙分散式系統 (DISTRIBUTED SYSTEMS) 7.3 組成單元 (Components) 圖 7.2 作業系統的組成單元 記憶體管理者 (MEMORY MANAGER) 單一程式( Monoprogramming) 多重程式 (Multiprogramming) 分割(partitioning) 需求分頁(demand paging) 需求分段(demand segmentation) 需求分頁與需求分段(demand paging and segmentation) 虛擬記憶體 (Virtual Memory) 行程管理者 PROCESS MANAGER 狀態流程圖 State Diagram 排程器 Schedulers 佇列 Queuing 行程的同步 Process Synchronization 圖 7.13 死結 飢餓 設備管理者 DEVICE MANAGER 檔案管理者 FILE MANAGER 使用者介面 USER INTERFACE 7.4 流行的作業系統Popular Operating Systems 圖 7.9 區分程式、工作和行程範圍的狀態流程圖 P.165 當處於執行狀態,可能發生下列三件事情之一: 行程持續執行直到它需要輸入/輸出(I/O)。 行程用完所分配的CPU 時間片段。 行程執行完成。 第一個情況,行程進入等待狀態(waiting state),直到 I/O 動作完成。 第二個情況,則直接進入備妥狀態。 第三個情況,它進入終止狀態(terminated state),並且也不再是一個行程。 行程在進入終止狀態前可以多次的在執行、等待與備妥狀態間切換。 P.166 行程管理者(process manager)利用兩種排程器: 工作排程器與行程排程器,將工作或行程從一個狀態移到另一個狀態。 工作排程器(job scheduler)將工作由暫停狀態移到備妥狀態或由執行狀態移到終止狀態。換句話說,工作排程器可以讓一個工作變成一個行程以及終止一個行程。 行程排程器(process scheduler)會將行程由一個狀態移動到另一個狀態。 當 CPU 準備執行這個行程時,行程排程器就會將這個行程由備妥狀態移到執行狀態。 其他的排程器 某些作業系統使用其它類型的排程器來讓行程的切換更有效率。 P.166 圖 7.10 工作排程器 P.166 圖 7.11 行程排程器 P.167 狀態流程圖展示了工作或行程從一種狀態移到另一種狀態。實際上,有許多工作和行程會為了電腦系統的資源而彼此競爭。行程管理者通常會利用佇列(queues)(等待串列)來完成。首先每一個工作或行程都有一個工作控制區塊或是行程控制區塊,裡面儲存著此一工作或行程的相關資訊。由於工作或行程本身太佔記憶體空間,因此行程管理者通常會將工作或行程控制區塊儲存在佇列中,以取代直接將該工作或行程儲存在佇列中。也就是說,該工作或行程控制區塊是等待中的工作或行程的分身。 P.167 圖 7.12 展示了工作與行程的運作過程會經過的三個佇列: 工作佇列、備妥佇列和 I/O 佇列。在工作佇列中排隊的是等著配置記憶體的工作。 圖 7.12 佇列的行程管理 P.168 行程管理者有很多不同的策略,可能是先進先出(FIFO)、最短的工作先做,或佇列中擁有最高優先權的行程先做等等。 P.168 只要有超過一個以上的使用者(在此指的是行程)想要使用相同的資源時,就可能會發生兩種情況: 死結 在大多數的系統中,檔案是不能分享使用的,亦即若檔案正被一個行程使用,那麼另一個行程就不能同時使用該檔案。假如此時沒有一個方法強迫行程釋放手上的檔案,那麼死結就會發生了(圖 7.13)。 P.168 P.169 當作業系統沒有規範行程使用資源的限制,死結就會發生。 圖 7.14 狹橋上的死結 P.169 死結發生有四個必要條件: 互斥(一個資源僅能由一個行程所使用)、資源佔用(一個佔用某個資源的行程正等待使用被其他行程所佔用的資源)、不可搶先(作業系統不能臨時重新配置資源給其他的行程),與循環等待(所有的行程與資源形成了一個環狀迴路,如圖 7.13)。 死結的發生需要所有四個條件同時發生。 P.170 飢餓(starvation)剛好與死結相反。當作業系統對行程使用資源的限制太多時,它就會發生。 Dijkstra 提出了一個典型的飢餓問題。五個哲學家圍著一個圓桌而坐(如圖 7.16),每一個哲學家都需要兩枝筷子才能吃碗裡的飯。因此,可能會有一枝或二枝筷子正被坐在鄰座的哲學家拿去使用的狀
文档评论(0)