什么是進(jìn)程同步進(jìn)程同步的概念
什么是進(jìn)程同步進(jìn)程同步的概念
進(jìn)程同步是指在多道程序環(huán)境下,進(jìn)程是并發(fā)執(zhí)行的,不同進(jìn)程之間存在著不同的相互制約關(guān)系。那么你對進(jìn)程同步了解多少呢?以下是由學(xué)習(xí)啦小編整理關(guān)于什么是進(jìn)程同步的內(nèi)容,提供給大家參考和了解,希望大家喜歡!
進(jìn)程同步的的概念
我們把異步環(huán)境下的一組并發(fā)進(jìn)程因直接制約而互相發(fā)送消息、進(jìn)行互相合作、互相等待,使得各進(jìn)程按一定的速度執(zhí)行的過程稱為進(jìn)程間的同步。具有同步關(guān)系的一組并發(fā)進(jìn)程稱為合作進(jìn)程,合作進(jìn)程間互相發(fā)送的信號(hào)稱為消息或事件。 如果我們對一個(gè)消息或事件賦以唯一的消息名,則我們可用過程 wait (消息名) 表示進(jìn)程等待合作進(jìn)程發(fā)來的消息,而用過程 signal (消息名) 表示向合作進(jìn)程發(fā)送消息。
進(jìn)程同步的制約關(guān)系
在多道程序環(huán)境下,系統(tǒng)中各進(jìn)程以不可預(yù)測的速度向前推進(jìn),進(jìn)程的異步性會(huì)給系統(tǒng)造成混亂,造成了結(jié)果的不可再現(xiàn)性。為防止這種現(xiàn)象,異步的進(jìn)程間推進(jìn)受到二種限制:
(1)資源共享關(guān)系
多進(jìn)程共享資源,例如各進(jìn)程爭用一臺(tái)計(jì)算機(jī),這時(shí)各進(jìn)程使用這臺(tái)打印機(jī)時(shí)有一定的限制。如各進(jìn)程隨意使用打印機(jī),會(huì)造成打印機(jī)結(jié)果交織在一起難以區(qū)分。所以必須由系統(tǒng)統(tǒng)一分配,每次只允許一個(gè)進(jìn)程使用一段時(shí)間打印機(jī),等該進(jìn)程使用完畢后再將打印機(jī)分配給其它進(jìn)程。這種使用原則稱為互斥使用。
(2)相互合作關(guān)系
在某些進(jìn)程之間還存在合作關(guān)系,例如圖2-2程序并發(fā)執(zhí)行圖中一個(gè)程序的輸入、計(jì)算、打印三個(gè)程序段作為三個(gè)進(jìn)程并發(fā)執(zhí)行,由于這三個(gè)進(jìn)程間存在著相互合作的關(guān)系,即先輸入再計(jì)算、最后再打印的關(guān)系,所以這三個(gè)進(jìn)程在并發(fā)執(zhí)行時(shí)推進(jìn)序列受到限制,要保證其合作關(guān)系正確,進(jìn)程間這種關(guān)系稱為同步關(guān)系。
用P,V原語操作實(shí)現(xiàn)同步
步驟:
1. 為各并發(fā)進(jìn)程設(shè)置私用信號(hào)量
2. 為私用信號(hào)量賦初值 3. 利用P、v原語和私用信號(hào)量規(guī)定各進(jìn)程的執(zhí)行順序。 實(shí)例:
例:設(shè)進(jìn)程PA和PB通過緩沖區(qū)隊(duì)列傳遞數(shù)據(jù)。PA為發(fā)送進(jìn)程、PB為接收 進(jìn)程。PA發(fā)送數(shù)據(jù)時(shí)調(diào)用發(fā)送過程deposit(data),PB接收數(shù)據(jù)時(shí)調(diào)用過程remove(data)。且數(shù)據(jù)的發(fā)送和接收過程滿足如下條件:
1)在PA至少送一塊數(shù)據(jù)入一個(gè)緩沖區(qū)之前,PB不可能從緩沖區(qū)中取出數(shù)據(jù)(假定數(shù)據(jù)塊長等于緩沖區(qū)長度)
2)PA往緩沖隊(duì)列發(fā)送數(shù)據(jù)時(shí),至少有一個(gè)緩沖區(qū)是空的;
3)由PA發(fā)送的數(shù)據(jù)塊在緩沖隊(duì)列中按先進(jìn)先出(FIFO)方式排列。 描述發(fā)送過程deposit(data)和接收過程remove(data)。
看過“進(jìn)程同步的概念“的人還看了:
2.如何解決win8系統(tǒng)進(jìn)程占據(jù)大量內(nèi)存
4.關(guān)于中國電影產(chǎn)業(yè)化發(fā)展進(jìn)程中若干問題的思考
5.在推進(jìn)城鄉(xiāng)一體化進(jìn)程中統(tǒng)籌解決人口問題