版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1第二章進(jìn)程控制與描述2.5經(jīng)典進(jìn)程同步問題2.6進(jìn)程通信2.7線程的基本概念2.8線程的實(shí)現(xiàn)22.5
經(jīng)典進(jìn)程的同步問題
1.生產(chǎn)者—消費(fèi)者問題2.哲學(xué)家進(jìn)餐問題3.讀者—寫者問題通過對經(jīng)典問題的研究和學(xué)習(xí),可以幫助我們更好地理解進(jìn)程同步的概念及實(shí)現(xiàn)方法P6032.5.1生產(chǎn)者—消費(fèi)者問題
Producer-consumerproblem,又稱有限緩沖問題(Bounded-bufferproblem)兩個(gè)共享固定大小緩沖區(qū)的進(jìn)程—“生產(chǎn)者”和“消費(fèi)者”42.5.1生產(chǎn)者—消費(fèi)者問題
Theyare,相互合作進(jìn)程關(guān)系1.用記錄型信號量解決
2.
用AND信號量解決3.利用管程解決生產(chǎn)者-消費(fèi)者問題單緩沖區(qū)情況生產(chǎn)者P和消費(fèi)者C共用一個(gè)緩沖區(qū),P生產(chǎn)產(chǎn)品放入緩沖區(qū),C從緩沖區(qū)取產(chǎn)品來消費(fèi)。多個(gè)緩沖區(qū)情況生產(chǎn)者和消費(fèi)者通過一個(gè)有界緩沖池(n個(gè))相互聯(lián)系。
5單緩沖區(qū)情況單緩沖區(qū)的同步問題
生產(chǎn)者P進(jìn)程不能往“滿”的緩沖區(qū)中放產(chǎn)品,設(shè)置信號量為empty(初值為1)消費(fèi)者C進(jìn)程不能從“空”的緩沖區(qū)中取產(chǎn)品,設(shè)置信號量full(初值為0)單緩沖區(qū)的互斥問題P、C進(jìn)程不能同時(shí)使用緩沖區(qū)6Semaphoreempty=n,full=0;(單緩沖區(qū))生產(chǎn)者─消費(fèi)者問題Proceducer
:while(true){
生產(chǎn)一個(gè)產(chǎn)品;
P(empty);
送產(chǎn)品到緩沖區(qū);
V(full);};Consumer:while(true){P(full);從緩沖區(qū)取產(chǎn)品;
V(empty);消費(fèi)產(chǎn)品;};7多個(gè)緩沖區(qū)情況生產(chǎn)者和消費(fèi)者共享n個(gè)緩沖區(qū),利用互斥信號量Mutex(Mutualexclusion,縮寫Mutex)實(shí)現(xiàn)進(jìn)程對緩沖池的互斥使用。信號量empty和full分別表示緩沖池中空緩沖區(qū)和滿緩沖區(qū)的數(shù)量。生產(chǎn)者和消費(fèi)者相互等效,只要緩沖池未滿,生產(chǎn)者便可將消息送入緩沖池;只要緩沖池未空,消費(fèi)者便可從緩沖池中取走一個(gè)消息。8....PC生產(chǎn)者消費(fèi)者n-1n個(gè)Buffer
同步當(dāng)緩沖池已放滿產(chǎn)品時(shí),生產(chǎn)者進(jìn)程必須等待當(dāng)緩沖池已空時(shí),消費(fèi)者進(jìn)程應(yīng)等待互斥:所有進(jìn)程應(yīng)互斥使用緩沖池這一臨界資源。91.用記錄型信號量解決
Semaphoreempty=n,full=0;empty表示空緩沖個(gè)數(shù),初值為n;full表示滿緩沖個(gè)數(shù),初值為0。互斥使用臨界區(qū)的信號量mutex,初值為1。101.用記錄型信號量解決
Semaphoreempty=n,full=0,mutex;item=buffer[n];intin=0,out=0;Main(){cobeginproducer();consumer();
coend}11生產(chǎn)者producer(){do{
produceaniteminnextp;┋wait(empty);/*申請空緩沖區(qū)*/wait(mutex);/*實(shí)現(xiàn)對緩沖池的互斥使用*/
buffer[in]=nextp;in=(in+1)%n;signal(mutex);signal(full);/*滿緩沖區(qū)的個(gè)數(shù)加1*/}while(TRUE)}重點(diǎn)掌握!12消費(fèi)者consumer(){
do{wait(full);/*申請滿緩沖區(qū)*/wait(mutex);
/*實(shí)現(xiàn)互斥*/nextc=buffer[out];out=(out+1)modn;signal(mutex);signal(empty);/*空緩沖區(qū)的個(gè)數(shù)加1*/consumetheiteminnextc;┋}while(TRUE);}重點(diǎn)掌握!132.
用AND信號量解決對于生產(chǎn)者—消費(fèi)者問題,也可利用AND信號量來解決,即用:
Swait(empty,mutex)→wait(empty)和wait(mutex)
Ssignal(mutex,full)→signal(mutex)和signal(full)
Swait(full,mutex)→
wait(full)和wait(mutex)
Ssignal(mutex,empty)→Signal(mutex)和Signal(empty)
14Producer(){repeat┋produceaniteminnextp;┋
Swait(empty,mutex);buffer[in]=nextp;in=[in+1]%n;
Ssignal(mutex,full);untilfalse;}Consumer(){repeatSwait(mutex,full);nextc=buffer[out];out=(out+1)%n;Ssignal(mutex,empty);consumetheiteminnextc;┋untilfalse;}152.5.2哲學(xué)家進(jìn)餐問題5個(gè)哲學(xué)家圍坐在圓桌旁,每人面前有一只空盤子,每2人之間放一只筷子:放在桌子上的筷子是臨界資源,可用一個(gè)信號量表示一只筷子,五個(gè)信號量構(gòu)成信號量數(shù)組。Semaphorechopstick[5]={1,1,1,1,1};為了就餐,每個(gè)哲學(xué)家必須拿到兩只筷子,并且只能直接從自己的左邊或右邊去取筷子。
[?s?m??f?r]16
1.
利用記錄型信號量解決第i位哲學(xué)家的活動(dòng)可描述為:Semaphorechopstick[5]={1,1,1,1,1};repeatwait(chopstick[i]);//取左邊筷子wait(chopstick[(i+1)%5]);
//取右邊筷子┋eat;┋signal(chopstick[i]);signal(chopstick[(i+1)%5]);┋
think;untilfalse;
會(huì)死鎖否?17
哲學(xué)家進(jìn)餐問題哲學(xué)家饑餓時(shí),總是先去拿左邊的筷子(wait(chopstick[i]));成功后,再去拿他右邊的筷子(wait(chopstick[(i+1)mod5]));又成功后便可進(jìn)餐。進(jìn)餐完畢,則先放下左邊的筷子,然后再放右邊的筷子。上述解法可保證不會(huì)有兩個(gè)相鄰的哲學(xué)家同時(shí)進(jìn)餐,但有可能引起死鎖。
18假如五位哲學(xué)家同時(shí)饑餓而各自拿起左邊的筷子時(shí),就會(huì)使五個(gè)信號量chopstick均為0;當(dāng)他們再試圖去拿右邊的筷子時(shí),都將因無筷子可拿而無限期地等待。幾種解決方法
:死鎖的情況19至多允許4個(gè)哲學(xué)家進(jìn)餐能保證至少有一位哲學(xué)家能夠進(jìn)餐,并在進(jìn)餐完畢時(shí)能釋放出他用過的兩只筷子,從而使更多的哲學(xué)家能夠進(jìn)餐。僅當(dāng)哲學(xué)家的左、右兩只筷子均可用時(shí),才允許他拿起筷子進(jìn)餐。規(guī)定哲學(xué)家拿起筷子的次序給所有哲學(xué)家編號,奇數(shù)號的哲學(xué)家必須首先拿左邊的筷子,偶數(shù)號的哲學(xué)家則反之。1、2號哲學(xué)家競爭1號筷子,則3、4號哲學(xué)家競爭3號筷子。即五位哲學(xué)家都先競爭奇數(shù)號筷子,獲得后,再去競爭偶數(shù)號筷子,最后總會(huì)有一位哲學(xué)家能獲得兩只筷子而進(jìn)餐。202.
用AND信號量解決varchopstick:array[0..4]ofsemaphore:=(1,1,1,1,1);
repeatthink;swait(chopstick[(i+1)%5],chopstick[i]);eat;signal(chopstick[(i+1)%5],chopstick[i]);
untilfalse;在哲學(xué)家進(jìn)餐問題中,每個(gè)哲學(xué)家先獲得2臨界資源(筷子)方能進(jìn)餐,用AND信號量機(jī)制可獲得最簡潔的解法212.5.3
“讀者—寫者”問題“讀者一寫者(Reader—WriterProblem)問題”:保證一個(gè)Writer進(jìn)程必須與其他進(jìn)程互斥地訪問共享對象。Example:222.5.3
“讀者—寫者”解決方案讀者一寫者的同步要求:允許多個(gè)讀者同時(shí)執(zhí)行讀操作不允許讀者、寫者同時(shí)操作不允許多個(gè)寫者同時(shí)操作1.用記錄型信號量解決2.用信號量集機(jī)制解決Writer在不能同時(shí)231.用記錄型信號量解決
讀者--寫者問題有兩種類型:讀者優(yōu)先當(dāng)寫者提出寫的要求后,允許新的讀者繼續(xù)進(jìn)入寫者優(yōu)先當(dāng)寫者提出寫的要求后,不允許新的讀者進(jìn)入24讀者--寫者問題的信號量設(shè)置:為實(shí)現(xiàn)Reader與Writer進(jìn)程間在讀或?qū)憰r(shí)的互斥而設(shè)置了一個(gè)互斥信號量Wmutex。設(shè)置一個(gè)整型變量Readcount表示正在讀的進(jìn)程數(shù)目,也應(yīng)該為它設(shè)置一個(gè)互斥信號量rmutex。當(dāng)Readcount=0,表示無讀者進(jìn)程在讀,讀者進(jìn)程需要執(zhí)行Wait(Wmutex)操作。若成功,讀者進(jìn)程便可去讀,相應(yīng)地,做Readcount+1操作。僅當(dāng)讀者進(jìn)程在執(zhí)行了Readcount減1操作后其值為0時(shí),才須執(zhí)行signal(Wmutex)操作,以便讓寫者進(jìn)程寫。25用記錄型信號量解決
讀者reader:
beginrepeatwait(rmutex);if(readcount=0)then
wait(wmutex);readcount=readcount+1;signal(rmutex);┋performreadoption;讀操作┋wait(rmutex);readcount=readcount-1;ifreadcount=0thensignal(wmutex);signal(rmutex);
untilfalse;end
semaphorermutex=1,wmutex=1;intReadcount=0;
wmutex:讀寫互斥rmutex:互斥訪問readcountReadcount:讀進(jìn)程數(shù)重點(diǎn)掌握!26寫者writer:
beginrepeat
wait(wmutex);performwriteoption;寫操作
signal(wmutex);┋untilfalse;end272.
用信號量集機(jī)制解決引入一個(gè)信號量L,并賦予其初值為RN,通過執(zhí)行wait(L,1,1)操作來控制讀者的數(shù)目wait(S,d,t)操作來:S為信號量,總資源數(shù)量d為需求值,運(yùn)轉(zhuǎn)所需量t為下線,s>t時(shí)方能啟動(dòng)P66282.
用信號量集機(jī)制解決與前面的略有不同,增加一個(gè)限制,即最多只允許RN個(gè)讀者同時(shí)讀。引入一個(gè)信號量L,并賦予其初值為RN,通過執(zhí)行wait(L,1,1)操作來控制讀者的數(shù)目當(dāng)有一個(gè)讀者進(jìn)入,執(zhí)行wait(L,1,1)操作,使L的值減1。當(dāng)有RN個(gè)讀者進(jìn)入讀后,L便減為0,第RN+1個(gè)讀者要進(jìn)入讀時(shí),必然會(huì)因wait(L,1,1)操作失敗而阻塞。L=0時(shí)表示不允許讀者進(jìn)入L=RN時(shí)表示寫者可以進(jìn)入29varRN:integer;L,mx:semaphore:=RN,1;reader:
beginrepeat
swait(L,1,1);
swait(mx,1,0);┋performreadoption;┋
ssignal(L,1);untilfalse;end
writer:beginrepeat
swait(mx,1,1;L,RN,0);┋performwriteoption;┋
ssignal(mx,1);┋untilfalse;end30Now,theproblemsare:信號量機(jī)制
進(jìn)程必須自備同步操作wait(s)和signal(s)
wait(s)和signal(s)分布在進(jìn)程中
同步操作使用不當(dāng),造成死鎖同步操作使用問題
wait(s)和signal(s)顛倒
多個(gè)進(jìn)程同時(shí)進(jìn)入臨界區(qū)
signal(s)誤寫成wait(s)
其它不能進(jìn)入臨界區(qū)
遺漏
wait(s)
幾個(gè)進(jìn)程同時(shí)進(jìn)入臨界區(qū)
signal(s)
其它進(jìn)程無法進(jìn)入臨界區(qū)煩,暈,誰來幫幫我?31I’m
themonitor,coming!
(管程,
similarto“城管”:誰在掐架?)Comeon!Itcan‘tgowrongeverytime...33
管程機(jī)制
1.管程的定義2.
管程的語法描述3.
條件變量解決方法:把對臨界資源的同步操作集中起來,由一個(gè)進(jìn)程統(tǒng)一管理
341.“管程”長啥樣的?
系統(tǒng)資源抽象數(shù)據(jù)結(jié)構(gòu)
(軟件硬件)(表示信息操作)
電傳機(jī):狀態(tài)(忙、閑)、請求/釋放操作、等待隊(duì)列
FIFO隊(duì)列:隊(duì)首、隊(duì)尾、隊(duì)長、隊(duì)列操作
緩沖池:大小、指針(空滿)、放入/獲取操作351.“管程”長啥樣的?一組表征資源的共享數(shù)據(jù)結(jié)構(gòu)
對共享數(shù)據(jù)結(jié)構(gòu)操作的一組過程管程
管程被請求和釋放資源的進(jìn)程所調(diào)用共同數(shù)據(jù)一組操作過程初始化代碼……進(jìn)入隊(duì)列362.7
線程線程的基本概念線程間的同步和通信內(nèi)核支持線程和用戶級線程線程控制20世紀(jì)60年代提出進(jìn)程后,OS中都是以進(jìn)程作為擁有資源和獨(dú)立運(yùn)行的基本單位。80年代中期,提出比進(jìn)程更小的能獨(dú)立運(yùn)行的基本單位----線程(Threads);好處:減少程序在并發(fā)執(zhí)行時(shí)所付出的時(shí)空開銷,使OS具有更好的并發(fā)性。37Compariedwith進(jìn)程協(xié)同完成一個(gè)任務(wù)具體工作人員,多人共享相同空間(資源)進(jìn)程線程381.
線程的引入現(xiàn)代操作系統(tǒng)中,進(jìn)程只作為資源擁有者,而調(diào)度和運(yùn)行的屬性賦予新的實(shí)體——線程。引入線程,為減少程序并發(fā)執(zhí)行時(shí)所付出的時(shí)空開銷,使OS具有更好的并發(fā)性。進(jìn)程的兩個(gè)基本屬性:①進(jìn)程是一個(gè)可擁有資源的獨(dú)立單位;②進(jìn)程同時(shí)又是一個(gè)可獨(dú)立調(diào)度和分派的基本單位P7539如何能使多個(gè)程序更好地并發(fā)執(zhí)行同時(shí)又盡量減少系統(tǒng)的開銷?是追求的重要目標(biāo)。解決方法:搬房子累,搬人!好處:(1)對于作為調(diào)度和分派的基本單位,不擁有資源,可“輕裝上陣”;(2)對擁有資源的基本單位,又不對其進(jìn)行頻繁的切換。40在這個(gè)想法下,誕生了“線程”
先把“房子+人”區(qū)分開:將進(jìn)程的兩個(gè)屬性分開,由操作系統(tǒng)分開處理。41進(jìn)程線程調(diào)度獨(dú)立調(diào)度、分派的基本單位線程為調(diào)度分派的基本單位進(jìn)程為擁有資源的基本單位并發(fā)性僅進(jìn)程間可以并發(fā)執(zhí)行進(jìn)程和線程都可以并發(fā)執(zhí)行擁有資源擁有資源的獨(dú)立單位不擁有系統(tǒng)資源,但可以訪問其隸屬進(jìn)程的資源系統(tǒng)開銷創(chuàng)建或撤消進(jìn)程時(shí)開銷較大切換代價(jià)高線程創(chuàng)建或撤消時(shí)開銷很小切換代價(jià)低支持多處理機(jī)若進(jìn)程只有一個(gè)線程,則只能運(yùn)行在一個(gè)處理機(jī)上若進(jìn)程擁有多個(gè)線程,則可分散到多個(gè)處理機(jī)上運(yùn)行2.7.2.
線程和進(jìn)程的比較P76重點(diǎn)掌握!421.輕型實(shí)體基本上不擁有系統(tǒng)資源,只有一點(diǎn)必不可少的、能保證獨(dú)立運(yùn)行的資源2.獨(dú)立調(diào)度和分派的基本單位線程是能獨(dú)立運(yùn)行的基本單位,因而也是獨(dú)立調(diào)度和分派的基本單位。線程很“輕”,線程的切換非常迅速/開銷小。3.可并發(fā)執(zhí)行
一個(gè)進(jìn)程中的多個(gè)線程間可并發(fā)執(zhí)行;不同進(jìn)程中的線程也能并發(fā)執(zhí)行。4.共享進(jìn)程資源
同一進(jìn)程中的各個(gè)線程,可以共享該進(jìn)程所擁有的資源(有相同的地址空間;訪問進(jìn)程所擁有文件、定時(shí)器、信號量機(jī)構(gòu)等)。
線程的特點(diǎn)43用戶棧系統(tǒng)棧PCB數(shù)據(jù)程序單線程進(jìn)程寄存器PCB數(shù)據(jù)程序多線程進(jìn)程用戶棧系統(tǒng)棧
TCB寄存器用戶棧系統(tǒng)棧
TCB寄存器用戶棧系統(tǒng)棧
TCB寄存器線程1線程2線程3進(jìn)程進(jìn)程44多線程和進(jìn)程模型
多線程是指操作系統(tǒng)支持在一個(gè)進(jìn)程中執(zhí)行多個(gè)線程的能力。每個(gè)進(jìn)程中只有一個(gè)線程在執(zhí)行,稱作單線程方法(MS-DOS);WINDOWS2000/XP、SOLARIS、LINUX等支持多線程的多進(jìn)程。在多線程的環(huán)境中,進(jìn)程被定義成資源分配的實(shí)體和保護(hù)的實(shí)體。45狀態(tài)參數(shù)每個(gè)線程都可以用線程標(biāo)識(shí)符和一組狀態(tài)參數(shù)進(jìn)行描述。①寄存器狀態(tài)②堆棧③運(yùn)行狀態(tài)
④優(yōu)先級⑤專有存儲(chǔ)器⑥信號屏蔽線程運(yùn)行狀態(tài)線程間也存在著共享資源和相互合作的制約關(guān)系,在運(yùn)行時(shí)也具有間斷性。三種基本狀態(tài):執(zhí)行狀態(tài)、就緒狀態(tài)、阻塞狀態(tài)線程的創(chuàng)建和終止應(yīng)用程序啟動(dòng)時(shí),通常僅有一個(gè)線程在執(zhí)行,該線程被稱為“初始化線程”。它可根據(jù)需要再去創(chuàng)建若干個(gè)線程。2.7.3.
線程的狀態(tài)和TCB461.線程標(biāo)識(shí)符每個(gè)線程有唯一標(biāo)示符2.一組寄存器保存程序計(jì)數(shù)器PC。3.線程運(yùn)行狀態(tài)三種基本狀態(tài)4.優(yōu)先級、線程專用存儲(chǔ)區(qū)、信號屏蔽、堆棧指針。。。
2.線程控制塊TCBP7847在多線程OS中,進(jìn)程是作為擁有系統(tǒng)資源的基本單位,通常的進(jìn)程都包含多個(gè)線程并為它們提供資源,但進(jìn)程不再作為一個(gè)執(zhí)行的實(shí)體。多線程OS中的進(jìn)程有以下屬性:擁有系統(tǒng)分配的資源單位用戶地址空間、進(jìn)程間和線程間同步和通信的機(jī)制、打開的文件和已申請到的I/O設(shè)備、地址映射表等??砂ǘ鄠€(gè)線程
可含有多個(gè)相對獨(dú)立的線程,但至少要有一個(gè)線程;進(jìn)程為線程提供資源及運(yùn)行環(huán)境,使線程可并發(fā)執(zhí)行。
進(jìn)程不是一個(gè)可執(zhí)行的實(shí)體
進(jìn)程仍有與執(zhí)行相關(guān)的狀態(tài)。進(jìn)程“執(zhí)行”狀態(tài)實(shí)際上是指該進(jìn)程中的某線程正在執(zhí)行。進(jìn)程掛起時(shí),該進(jìn)程中的所有線程也都將被掛起;進(jìn)程激活時(shí),屬于該進(jìn)程的所有線程也都將被激活。3.多線程OS中的進(jìn)程48線程的實(shí)現(xiàn)多線程若想有條不紊地運(yùn)行,系統(tǒng)必提供用于實(shí)現(xiàn)線程同步和通信的機(jī)制。為支持不同頻率的交互操作、不同程度的并行性,常需提供多種同步機(jī)制,如互斥鎖、條件變量、信號量以及多讀、單寫鎖等1.互斥鎖(mutex)2.條件變量3.信號量機(jī)制(私用信號量、公用信號量)491.互斥鎖(mutex)
互斥鎖是一種用于實(shí)現(xiàn)線程間對資源互斥訪問的機(jī)制。操作互斥鎖時(shí)空開銷低,因而較適合于高頻度使用的關(guān)鍵共享數(shù)據(jù)和程序段。互斥鎖可以有兩種狀態(tài),即開鎖(unlock)和關(guān)鎖(lock)狀態(tài)。相應(yīng)地,可用兩條命令(函數(shù))對互斥鎖進(jìn)行操作。其中的關(guān)鎖lock操作用于將mutex關(guān)上,開鎖操作unlock則用于打開mutex。50
內(nèi)核支持線程和用戶級線程線程在各系統(tǒng)的實(shí)現(xiàn)方式不完全相同。一些數(shù)據(jù)庫管理系統(tǒng)(如infomix),實(shí)現(xiàn)的是用戶級線程如Macintosh、Windows和0S/2操作系統(tǒng)實(shí)現(xiàn)的是內(nèi)核支持線程;Solaris操作系統(tǒng)(UNIX操作系統(tǒng)的衍生版本之一)同時(shí)實(shí)現(xiàn)了這兩種類型的線程。KernelSupportedThreadsUserLeverThreadsP79重點(diǎn)掌握!51內(nèi)核支持線程和用戶級線程Simlarto:國家統(tǒng)一分配?!罢o錢;快,多生孩子!孩子越多,咱家錢的總數(shù)越多。”Similarto:已分發(fā)到單位(進(jìn)程),再由單位分配給個(gè)人(線程)?!霸奂揖湍敲袋c(diǎn)有限的錢,多生娃,難養(yǎng)活”線程越多,速度越快線程越多,速度不變52依賴于OS核心,由內(nèi)核的內(nèi)部需求進(jìn)行創(chuàng)建和撤銷,用來執(zhí)行一個(gè)指定的函數(shù):內(nèi)核維護(hù)進(jìn)程和線程的上下文信息;線程切換由內(nèi)核完成;一個(gè)線程阻塞,不會(huì)影響其他線程的運(yùn)行。時(shí)間片分配給線程,所以多線程的進(jìn)程獲得更多CPU時(shí)間。1.
內(nèi)核支持線程(KernelSupportedThreads)53KST線程實(shí)現(xiàn)的4優(yōu)點(diǎn):在多處理器系統(tǒng)中,內(nèi)核能夠同時(shí)調(diào)度
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年家長與學(xué)校共同打造學(xué)生成長檔案合同3篇
- 醫(yī)療設(shè)備售后服務(wù)與客戶關(guān)系維護(hù)
- 在線辦公時(shí)代下的農(nóng)產(chǎn)品直銷新模式-以網(wǎng)絡(luò)直播為例
- 醫(yī)療倫理與患者溝通的藝術(shù)
- 2025中國鐵塔貴州分公司招聘32人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025中國石化貴州貴陽石油分公司加油站營業(yè)員招聘45人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025中國電信集團(tuán)限公司春季校園招聘高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025中國大唐集團(tuán)限公司福建分公司校招高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025中國農(nóng)業(yè)科學(xué)院農(nóng)產(chǎn)品加工研究所谷物加工與品質(zhì)調(diào)控創(chuàng)新團(tuán)隊(duì)博士后公開招聘3人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2025東方電氣招聘452人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- DL∕T 802.7-2023 電力電纜導(dǎo)管技術(shù)條件 第7部分:非開挖用塑料電纜導(dǎo)管
- 品味化學(xué)電源發(fā)展史
- 《植物營養(yǎng)學(xué)》課件
- 代收個(gè)人款項(xiàng)聲明書
- 貨源保障協(xié)議書
- JBT 14685-2023 無油渦旋空氣壓縮機(jī) (正式版)
- 2024會(huì)計(jì)事務(wù)所保密協(xié)議范本
- 2024年遼寧生態(tài)工程職業(yè)學(xué)院單招職業(yè)技能測試題庫各版本
- 中秋國慶慰問品采購?fù)稑?biāo)方案
- 20K607 防排煙及暖通防火設(shè)計(jì)審查與安裝
- 《統(tǒng)計(jì)建模與R軟件》書本課后習(xí)題答案
評論
0/150
提交評論