日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

汤小丹计算机操作系统慕课版课后题答案第四章:进程同步

發(fā)布時間:2023/12/10 windows 44 豆豆
生活随笔 收集整理的這篇文章主要介紹了 汤小丹计算机操作系统慕课版课后题答案第四章:进程同步 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

一.簡答題

  • 什么是臨界資源?什么是臨界區(qū)?
    以互斥形式訪問的資源稱為臨界資源,訪問臨界資源的代碼稱為臨界區(qū)。
  • 同步機制應該遵循哪些準則?
    空閑讓進,忙則等待,有限等待,讓權等待
  • 為什么各進程對臨界資源的訪問必須是互斥?
    臨界資源指的是每次只允許一個進程進行訪問的軟硬件資源,故必須互斥訪問。
  • 如何保證各進程互斥訪問臨界資源?
    軟件算法,信號,信號量,TS,中斷,swap指令,管程等。
  • 何謂忙等?他有什么缺點?
    忙等指的是進程要訪問的臨界資源被其他進程占用,此進程沒有自旋鎖便處于自旋狀態(tài)即忙等狀態(tài)。
    占用CPU資源,降低CPU效率。
  • 簡述Peterson算法實現(xiàn)臨界區(qū)互斥訪問的原理?
    皮特森算法是雙標志加一把鎖
    首先說自已要(flagi = true),但是先謙讓把鑰匙給別人(key = j),若是別人也想要(flagj = true),別人也謙讓key = i,自己便可以訪問臨界資源
    ps:while()中檢查的是若是別人想上,并且鑰匙是別人的,自己便會阻塞,否則自己會訪問臨界資源。
  • 哪些硬件方法可以解決進程互斥問題,簡述它們的用法。
    關中斷:訪問臨界區(qū)時關閉中斷。
    TS:TS指令為每個臨界區(qū)加一個布爾變量,每次進入臨界區(qū)都必須使用TS指令測試變量。
    swap指令:使用swap指令為每個進程設置一個局部變量key,使用swap指令交換key的值與臨界資源鎖的值,今兒判斷是否有進程正在訪問。
    ps:硬件實現(xiàn)互斥都是使用鎖實現(xiàn)的,進程必須不斷測試鎖的值,不滿足讓權等待原則。
  • 如果用于進程同步的信號量P,V操作不用原語實現(xiàn),會產生什么樣的后果?舉例說明。
    會導致信號量混亂,或者陷入死鎖,比如使用記錄型信號量進行p操作被中斷,s-value已經小于零,但是沒有阻塞隊列。
  • AND信號量機制的基本思想是什么?能解決什么問題?
    在PV操作時,把所有進程請求的資源都分配給進程,要么分配夠,要么一個也不分配。
    解決了一個進程需要多個互斥資源才能執(zhí)行的問題。
  • 利用信號量機制實現(xiàn)進程互斥時,針對互斥信號量為什么要成對出現(xiàn)?
    若只有P,沒有V就會造z成進程死鎖,
    若只有V,沒有P會造成信號量失效。
  • 什么是管程?他有哪些特征?
    管程是代表共享數(shù)據結構,以及由對該共享數(shù)據結構實施操作的過程組成的資源管理程序,是操作系統(tǒng)的一個資源管理模塊。
    特癥:
    (1)抽象了臨界資源。
    (2)對臨界資源的訪問只能調用管程進行。
    (3)只允許一個進程進入管程。
  • 簡述管程中條件變量的含義和作用。
    作用:為了解決管程中的進程不能被阻塞,而其他進程不能訪問管程的問題。
    含義:管程為何種阻塞的原因都設置了條件變量,進程若因此原因而阻塞,會把這個進程掛在此條件變量的隊列上,若是阻塞條件發(fā)生變換,則啟動一個進程。
  • 二 .計算題

  • 1個,-1表示有一個進程在等待
  • 1到1-m
  • 3到-1
  • 三.綜合應用題

  • 2009年408統(tǒng)考真題,王道書2021版 103頁第三題。
    本題精髓是使用兩個記錄型信號量在P1進程中記錄奇偶數(shù)個數(shù)。
  • 2011年408統(tǒng)考真題,王道書2021版105頁12題
    本題王道書給的答案過于復雜,可以參考第7題給出更簡單的解
    int i,j = 0 //i表是當前取號號碼,j表示叫號號碼
    n = 10 //空位數(shù)
    mutex_i ,mutex_j = 1 //互斥信號量
    顧客
    {
    p(mutex_i)
    p(n)
    i++
    //取號,待叫號,待獲得服務
    v(mutex_i)
    }
    營業(yè)員{
    if(j<I)
    {
    p(mutex_j)
    v(n)
    // 叫號,為j號服務
    j++
    v(mutex_j)
    }
    }
  • 本題有手就行
    semaphore
    ok_3= 1
    mutex_1 = 1
    mutex_2= 1
    ok_1= 0
    ok_2=0
  • p1
    {
    p(ok_3)
    p(mutex_1)

    v(mutex_1)
    v(ok_1)
    }

    p2
    {
    p(ok_1)
    p(mutex_1)
    p(mutex_2)

    v(mutex_1)
    v(mutex_2)
    v(ok_2)
    }

    p3
    {
    P(ok_2)
    p(mutex_2)

    v(mutex_2)
    v(ok_3)
    }

  • 和16題一樣
  • 最多允許4個哲學家同時吃飯
    semaphore n = 4
    semaphore choptick[5] = {1,1,1,1,1}
    while(1)
    {
    p(n)
    p(choptick[i])
    p(choptick[i+1]%5)
    eat…
    v(n)
    v(choptick[i])
    v(choptick[i+1]%5)
    }
  • 總結

    以上是生活随笔為你收集整理的汤小丹计算机操作系统慕课版课后题答案第四章:进程同步的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。