资三A 作业系统期末Project 预报.DOC

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
资三A 作业系统期末Project 预报

資三A 作業系統 期末Project 預報 組員:志緯 宋定遠 黃莉雯 2.Project題目: Process/Thread Synchronization 說明: 請想出兩個以上的方法,解決critical section problem,並比較這些方法的執行效率。 首先必須設定兩個會存取到共享資料或資源的process/thread,然後根據其不同方法執行的結果來計算。 此程式必須能輸出過程中兩個process/thread的狀態。 基本要求(符合以下要求就能得到基本功能完整的分數): 包含兩個解決critical section problem問題的方式。 能計算或比較上述這些方法的執行效率。 包含兩個會存取到共享資料或資源的process。 能輸出上述process在執行過程中的狀態。 上述四項功能在程式中確實可執行及可作用。 3.使用語言: JAVA 4.程式原理與流程 臨界區間的定義: Def: process中對共享變數進行存取的敘述之集合區間 Processi之程式架構 repeat ent section critical section exit section noncritical section until false Critical Section Design 是在Design Ent Section及Exit Section Critical Section Design必須滿足的三個性質Mutual Exclusion Def: 最多只允許一個process在其Critical Section內活動,若其它processes也想進入它們本身的Critical Section,則必須等待值到該process離開Critical Section才能再擇一進入(即不允許多個processes在各自Critical Section內同時活動) Progress Def: 不想進入Critical Section的process(即在Remainder Section內活動),不能妨礙(阻止)其它process進入Critical Section (不能參與進入Critical Section的決策過程) 決定哪個process可以進入Critical Section的時間是有限的(不能無窮止境) Bounded Waiting Def: 自process提出欲進入Critical Section的請求到其獲准進入Critical Section的等待時間是有限的(若有n個processes欲進入Critical Section,則任一process至多等待(n-1)以後必可進入Critical Section Algorithm 1 假設Pi與Pj兩個processes 共享變數之宣告 turn:integer,值為或為,初值無所謂 (turn:權) 程式如下: 分析: 滿足Mutual exclustion (∵turn不會同時為i且為j) 不滿足Progress() 說明: 若Pi不想進入critical section(或Pi在critical section內活動) 且目前turn值為i。此時,若Pj想進入critical section 則Pj無法進入critical section(∵turn為i,∴Pj卡在) ∴Pj被Pi所妨礙(阻止)進入critical section 有滿足Bounded waiting Algorithm 2 共享變數之宣告 flag[i..j] of boolean; (false:表無意願;trun:有意願) 初值:flag[i] = flag[j] = false Pi之程式片段如下: 分析: 不滿足Progress() 說明: Pi Pj ------------------------------------------------------------------- T0:flag[i]=true T1:flag[j]=true T2:;(Pi卡) T3:;(Pj卡) ∴Deadlock發生 Algorithm 3 Algorithm 1:turn-權力 Algorithm 2:flag-意願 共享變數之宣告 flag[i..j] of boolean; 初值皆為false turn:integer,值為i或為j,初值無所謂 程式片段如下: 分

文档评论(0)

xiaozu + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档