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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > windows >内容正文

windows

9 操作系统第二章 进程管理 管程

發(fā)布時(shí)間:2024/7/5 windows 43 豆豆
生活随笔 收集整理的這篇文章主要介紹了 9 操作系统第二章 进程管理 管程 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

    • 1 管程
        • 1.1 為什么引入管程
        • 1.2 管程的定義和基本特征
        • 1.3 管程小結(jié)

1 管程

1.1 為什么引入管程

產(chǎn)生原因:信號(hào)量機(jī)制存在的問(wèn)題:編寫(xiě)程序困難、易出錯(cuò)

能不能設(shè)計(jì)一種機(jī)制,讓程序員寫(xiě)程序是不需要再關(guān)注復(fù)雜的PV操作,使得代碼編寫(xiě)更輕松?
答:引入管程機(jī)制

1.2 管程的定義和基本特征

管程的定義
管程是一種特殊的軟件模塊,由以下部分組成:

  • 局部于管程的共享數(shù)據(jù)結(jié)構(gòu)說(shuō)明;
  • 對(duì)該數(shù)據(jù)結(jié)構(gòu)進(jìn)行操作的一組過(guò)程;
  • 對(duì)局部于管程的共享數(shù)據(jù)設(shè)置初始值的語(yǔ)句;
  • 管程有一個(gè)名字
  • 管程的基本特征

  • 局部于管程的數(shù)據(jù)只能被局部于管程的過(guò)程所訪問(wèn);
  • 一個(gè)進(jìn)程只有通過(guò)調(diào)用管程內(nèi)的過(guò)程才能進(jìn)入管程訪問(wèn)的數(shù)據(jù)結(jié)構(gòu)
  • 每次僅允許一個(gè)進(jìn)程在管程內(nèi)執(zhí)行某個(gè)內(nèi)部過(guò)程
  • 引入管程的目的無(wú)非就是要更方便地實(shí)現(xiàn)進(jìn)程互斥和同步。

  • 需要在管程中定義共享數(shù)據(jù)(如生產(chǎn)者消費(fèi)者問(wèn)題的緩沖區(qū))
  • 需要在管程中定義用于訪問(wèn)這些共享數(shù)據(jù)的“入口”–其實(shí)就是- -些函數(shù)(如生產(chǎn)者消費(fèi)者
    問(wèn)題中,可以定義一個(gè)函數(shù)用于將產(chǎn)品放入緩沖區(qū),再定義一個(gè)函數(shù)用于從緩沖區(qū)取出產(chǎn)品)
  • 只有通過(guò)這些特定的“入口”才能訪問(wèn)共享數(shù)據(jù)
  • 管程中有很多“入口”,但是每次只能開(kāi)放其中一個(gè)“入口”,并且只能讓一個(gè)進(jìn)程或線程進(jìn)
    入(如生產(chǎn)者消費(fèi)者問(wèn)題中,各進(jìn)程需要互斥地訪問(wèn)共享緩沖區(qū)。管程的這種特性即可保證一
    個(gè)時(shí)間段內(nèi)最多只會(huì)有一個(gè)進(jìn)程在訪問(wèn)緩沖區(qū)。注意:這種互斥特性是由編譯器負(fù)責(zé)實(shí)現(xiàn)的,
    程序員不用關(guān)心
  • 可在管程中設(shè)置條件變量及等待/喚醒操作以解決同步問(wèn)題。可以讓一個(gè)進(jìn)程或線程在條件變量上等待(此時(shí),該進(jìn)程應(yīng)先釋放管程的使用權(quán),也就是讓出“入口”) ;可以通過(guò)喚醒操作將
    等待在條件變量上的進(jìn)程或線程喚醒。
  • 1.3 管程小結(jié)

    總結(jié)

    以上是生活随笔為你收集整理的9 操作系统第二章 进程管理 管程的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。