進程描述和控制綜述_第1頁
進程描述和控制綜述_第2頁
進程描述和控制綜述_第3頁
進程描述和控制綜述_第4頁
進程描述和控制綜述_第5頁
已閱讀5頁,還剩55頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1第二部分進程操作系統(tǒng)的主要任務是運行程序——進程管理為進程分配資源讓進程間交換信息保護進程的資源不被其他進程占用使多個進程可以同步單/多[核]處理器的多道程序系統(tǒng)中,多個進程可以同時交叉/同步執(zhí)行——并發(fā),它是應用程序編寫和操作系統(tǒng)設計中的難題在一個進程中引入(共享進程資源的)多個線程,在提高系統(tǒng)的運行效率的同時,也增加了進程管理的難度2第二部分導讀第3章進程描述和控制操作系統(tǒng)的主要任務是進程管理進程在3種狀態(tài)間轉(zhuǎn)換——就緒、運行、阻塞描述進程的數(shù)據(jù)結(jié)構(gòu)——進程控制塊(進程表)進程調(diào)度、進程間的共享和同步本章介紹用于進程管理的數(shù)據(jù)結(jié)構(gòu)和技術第4章線程進程負責管理資源的所有權(quán)、線程負責指令流的執(zhí)行一個進程可含多個線程,多線程技術可優(yōu)化程序結(jié)構(gòu)、提高系統(tǒng)性能第5/6章并發(fā):互斥與同步/死鎖與饑餓并發(fā)是多道程序操作系統(tǒng)的設計基礎支持并發(fā)的重要機制——信號量、管程和消息傳遞多進程/線程共享資源——代碼、數(shù)據(jù)、物理資源(處理器、存儲器、I/O設備等)互斥——在一個時間內(nèi)只允許一個進程/線程訪問共享資源同步——進程/線程間交換信息協(xié)調(diào)動作死鎖——多個進程相互等待其他進程的操作完成。死鎖難預測、無通用解決方法。處理死鎖問題的3個主要手段——預防、避免和檢測饑餓——一個就緒的進程一直不能運行(進程調(diào)度問題)3第3章

進程描述和控制內(nèi)容提要進程的概念進程的狀態(tài)進程的描述進程的控制操作系統(tǒng)的執(zhí)行安全問題(進程的訪問權(quán)限)Unix的進程管理

43.1

進程概念順序與并發(fā)程序的順序執(zhí)行(單道單線程批處理)一個具有獨立功能的程序獨占處理機直至最終結(jié)束的過程順序執(zhí)行的特征順序性:只有前一個操作結(jié)束,才能執(zhí)行后續(xù)操作封閉性:程序運行時獨占全機資源,執(zhí)行過程不受外界影響可再現(xiàn)性:結(jié)果與執(zhí)行速度無關符合現(xiàn)代計算機的馮諾依曼體系結(jié)構(gòu)的要求(程序的代碼和數(shù)據(jù)存儲在內(nèi)存,指令按順序執(zhí)行)程序的并發(fā)執(zhí)行(多道批處理,單道多線程批處理)指一組在邏輯上互相獨立的程序或程序段在執(zhí)行過程中,其執(zhí)行時間在宏觀上互相重疊,一個程序段的執(zhí)行尚未結(jié)束,另一個程序段的執(zhí)行已經(jīng)開始的這種執(zhí)行方式與計算機的馮諾依曼體系結(jié)構(gòu)的要求相悖5程序的并發(fā)執(zhí)行程序并發(fā)執(zhí)行的兩種情形多道程序系統(tǒng):多道程序的并發(fā)執(zhí)行單道程序也可包含若干能并發(fā)執(zhí)行的程序段,如:Read(a);Read(b);程序并發(fā)執(zhí)行的特征間斷性:共享資源→相互制約→執(zhí)行-暫停-執(zhí)行失去封閉性:一個程序的執(zhí)行受到其他程序的影響不可再現(xiàn)性:程序執(zhí)行的結(jié)果與其執(zhí)行的相對速度有關,是不確定的好處——充分利用系統(tǒng)資源,提高系統(tǒng)處理能力壞處——破壞了計算機馮·諾依曼體系結(jié)構(gòu)的順序執(zhí)行特性,引起一系列難解決的問題(如互斥、同步、死鎖、饑餓)6進程的定義進程(process,n.過程/工序、vt.處理/加工、vi.列隊行進)進程是程序的一次執(zhí)行進程是正在運行的一個程序?qū)嵗M程是分配給處理器并由處理器執(zhí)行的實體(由兩個基本元素——程序代碼和相關數(shù)據(jù)集組成)進程是可以和別的計算并發(fā)執(zhí)行的計算進程是一個數(shù)據(jù)結(jié)構(gòu)及能在其上進行操作的一個程序進程是一個程序及其數(shù)據(jù)在處理機上順序執(zhí)行時所發(fā)生的活動進程是程序在一個數(shù)據(jù)集上的運行過程,是系統(tǒng)進行資源分配和調(diào)度的一個獨立單位7進程的特征動態(tài)性:有一定的生命周期并發(fā)性:多個進程實體,同時存在于內(nèi)存中,能在一段時間內(nèi)(不一定是同一時刻)同時運行獨立性:進程實體是一個能獨立運行的基本單位,同時也是系統(tǒng)中獨立獲得資源和獨立調(diào)度的基本單位異步性:進程按各自獨立的、不可預知的速度向前推進,即多個進程按異步方式運行結(jié)構(gòu)特征:進程實體是由程序段、數(shù)據(jù)段及進程控制塊等部分組成——進程映像(processimage)8進程控制塊用來描述進程用于進程的管理與調(diào)度進程控制塊(PCB=ProcessControlBlock)為下述信息的列表:標識符(identifier)——唯一標識進程狀態(tài)(state)——進程的當前狀態(tài)(運行/就緒/等待)優(yōu)先級(priority)——相對于其他進程的優(yōu)先級別程序計數(shù)器(PC=ProgramCounter)——即將被執(zhí)行的下一條程序指令的地址內(nèi)存指針(memorypointers)——包括指向程序代碼、相關數(shù)據(jù)和共享內(nèi)存的指針上下文數(shù)據(jù)(contextdata)——進程被中斷時處理器寄存器中的數(shù)據(jù)I/O狀態(tài)信息(I/Ostatusinformation)——包括顯式I/O請求、分配給進程的I/O設備、被解除使用的文件列表等記帳信息(accountinginformation)——包括占用處理器時間、時鐘數(shù)總和、時間限制、賬號等93.2進程狀態(tài)進程并發(fā)執(zhí)行中會有哪些不同行為?軌跡(trace)——進程執(zhí)行的指令序列分派程序(dispatcher)——讓處理器從一個進程切換到另一個進程,即進程調(diào)度程序分派(CPU)程序10各進程獨立運行的軌跡11三個進程并發(fā)執(zhí)行時的軌跡12進程的狀態(tài)如何描述進程在執(zhí)行過程中的不同行為及其變化?——建立進程狀態(tài)模型(processstate

model)兩狀態(tài)模型——運行態(tài)(running)、未運行態(tài)(notrunning)三狀態(tài)模型——運行態(tài)、就緒態(tài)(ready)、等待態(tài)/阻塞態(tài)(waiting/blocked),相當于將兩狀態(tài)模型中的“未運行態(tài)”進一步劃分為“就緒態(tài)”和“阻塞態(tài)”。是進程的三個基本狀態(tài)五狀態(tài)模型——運行態(tài)、就緒態(tài)、等待態(tài)/阻塞態(tài)、新建態(tài)(new)、退出態(tài)(exit),相當于在三狀態(tài)模型之上又增加了“新建”和“退出”兩個狀態(tài)六/七狀態(tài)模型——一種有掛起態(tài)的進程模型。為節(jié)省內(nèi)存,可將部分處于阻塞態(tài)(和就緒態(tài))的進程,從內(nèi)存中換出到(作為虛擬內(nèi)存一部分的)磁盤的掛起隊列中。為此,增加進程的一個/兩個掛起態(tài)(suspendstate):(阻塞)掛起態(tài)/就緒掛起態(tài)和阻塞掛起態(tài)133.2.1

兩狀態(tài)進程模型143.2.2

進程的創(chuàng)建與終止OS創(chuàng)建一個進程的工作建立管理進程的數(shù)據(jù)結(jié)構(gòu)為進程分配內(nèi)存空間創(chuàng)建進程映像導致進程創(chuàng)建的原因(P83表3.1)新的批處理作業(yè)——運行新程序交互登錄——終端用戶登錄到系統(tǒng)(多用戶操作系統(tǒng))OS提供服務——操作系統(tǒng)為用戶創(chuàng)建進程以提供服務(如控制打印機)進程派生——由現(xiàn)有進程創(chuàng)建若干新進程(可提高模塊化和開發(fā)并發(fā)性)15進程的創(chuàng)建相關概念進程派生(processspawning,產(chǎn)卵/大量生產(chǎn))——指OS為一進程的顯式請求創(chuàng)建新進程。如打印服務器進程為每一個打印請求產(chǎn)生一個新進程父進程(parentprocess)——派生另一進程的進程子進程(childprocess)——被派生的進程進程樹(processtree)——多級父子進程構(gòu)成的樹狀結(jié)構(gòu)16進程的終止原因(P84表3.2)批作業(yè)Halt指令或調(diào)用終止服務交互式用戶退出系統(tǒng),關閉終端用戶結(jié)束一個應用程序錯誤和故障:(運行/等待)超時、內(nèi)存不足、越界、保護錯誤、算術錯誤、I/O失敗、無效指令、特權(quán)指令、數(shù)據(jù)誤用有的OS允許:由父進程終止子進程

當父進程終止時自動終止其所有子進程173.2.3五狀態(tài)模型圖3.618五狀態(tài)的排隊模型193.2.4

進程的掛起狀態(tài)交換進程映像整體地或部分地從主存轉(zhuǎn)移到輔存中(換出),或從輔存轉(zhuǎn)移到主存中(換入)。引入原因:實存不足:沒有使用虛存的系統(tǒng)中,多個進程完全進入主存CPU時間浪費:I/O速度比計算速度慢很多=>可能出現(xiàn)主存中的多個進程全部阻塞等待I/O調(diào)度策略:其他作業(yè)因沒有主存空間不能投入運行20進程的掛起狀態(tài)(續(xù))交換(swapping):主存中沒有處于就緒態(tài)的進程把主存中某個進程的部分或全部移到(swapout)磁盤/固態(tài)硬盤——掛起(進入掛起隊列)將掛起隊列中的一個進程或新進程移入(swapin)主存交換是一種I/O操作。過于頻繁的交換,可能導致系統(tǒng)整體性能的惡化21有掛起態(tài)的

進程狀態(tài)

轉(zhuǎn)換圖6態(tài)模型7態(tài)模型22有掛起狀態(tài)的新轉(zhuǎn)換阻塞阻塞/掛起阻塞/掛起就緒/掛起就緒/掛起就緒就緒就緒/掛起還需考慮下列新轉(zhuǎn)換新建就緒/掛起阻塞/掛起阻塞運行就緒/掛起各種狀態(tài)退出23掛起狀態(tài)的特點處于掛起態(tài)的進程不能立即執(zhí)行被掛起的進程可能正在等待一個事件可通過代理來掛起進程(以阻止進程執(zhí)行)被代理掛起的進程,只能通過代理顯式地命令操作系統(tǒng),才能進行狀態(tài)轉(zhuǎn)換24導致進程掛起的原因(P90表3.3)交換(釋放內(nèi)存空間)交互式用戶請求(為了調(diào)試等)定時(如周期性執(zhí)行的進程)父進程請求(為檢查、修改、協(xié)調(diào)等)其他OS原因(如后臺進程、問題進程)253.3進程描述操作系統(tǒng)是資源管理者進程是資源分配的對象處理器I/OI/O主存P1P2PnI/O虛擬內(nèi)存計算機資源進程與資源P1正在運行(在內(nèi)存并占用CPU)P2就緒(在內(nèi)存等待)Pn被掛起(在外存等待調(diào)入內(nèi)存)263.3.1OS的控制結(jié)構(gòu)OS把進程和系統(tǒng)資源當作實體OS構(gòu)造、維護每個被管理實體的信息表273.3.2進程控制結(jié)構(gòu)進程的物理表示:進程映像(ProcessImage)用戶程序用戶數(shù)據(jù)系統(tǒng)棧(跟蹤過程調(diào)用和過程間參數(shù)傳遞)進程控制塊(ProcessControlBlock,PCB)——由OS維護的用于記錄和控制進程屬性的集合進程映像的位置:取決于OS采用的存儲管理方案整體在連續(xù)或不連續(xù)的主存區(qū)域中部分在主存中,主體在連續(xù)的輔存區(qū)域中28進程屬性進程標識信息進程標識符(processID)父進程標識符用戶標識符(userID)處理器狀態(tài)信息用戶可見寄存器控制和狀態(tài)寄存器棧指針(指向棧頂)29進程屬性(續(xù))進程控制信息調(diào)度和狀態(tài)信息(進程狀態(tài),優(yōu)先級,相關調(diào)度信息,等待的事件)數(shù)據(jù)結(jié)構(gòu)(鏈接到隊列、環(huán)或其他結(jié)構(gòu)的信息)進程間通信進程特權(quán)存儲管理(該進程虛存空間的指針)資源所有權(quán)和使用情況30進程控制塊的組織鏈表同一狀態(tài)的進程其PCB成一鏈表,多個狀態(tài)對應多個不同的鏈表各狀態(tài)的進程形成不同的鏈表:就緒鏈表、阻塞鏈表31進程鏈表結(jié)構(gòu)進程調(diào)度中的排隊結(jié)構(gòu)可用鏈表方式實現(xiàn)32進程控制塊的組織(續(xù))

索引(index)表同一狀態(tài)的進程歸入一個索引表(由index指向PCB),多個狀態(tài)對應多個不同的索引表各狀態(tài)的進程形成不同的索引表:如就緒索引表、阻塞索引表等33虛存中的用戶進程示意圖34進程控制塊PCB的作用PCB=ProcessControlBlock(進程控制塊)PCB是OS中最重要的數(shù)據(jù)結(jié)構(gòu),涉及進程調(diào)度、資源分配、中斷處理、性能監(jiān)控和分析等PCB的訪問與保護:通過專門的例程訪問PCB353.4進程控制進程控制的功能:完成進程的創(chuàng)建、撤銷以及進程的狀態(tài)轉(zhuǎn)換(進程切換/調(diào)度)進程控制由原語(primitive)完成

36原語內(nèi)核在執(zhí)行某些基本操作時,往往利用原語操作實現(xiàn)原語(primitive):由若干條指令構(gòu)成、在系統(tǒng)模式下執(zhí)行,用于完成一定功能的一個過程原語是一種廣義指令,相當于擴充了的機器指令集原語是原子操作(atomicoperation),即一個操作中的所有動作,要么全做,要么全不做原子操作是一個不可分割的操作!373.4.1執(zhí)行模式兩類指令特權(quán)指令(privilegedinstruction)

:允許操作系統(tǒng)使用,不允許一般用戶使用非特權(quán)指令(nonprivilegedinstruction)

:操作系統(tǒng)和用戶均可使用

兩種執(zhí)行模式(CPU狀態(tài))用戶模式(usermode)/用戶態(tài)(userstate)/目態(tài)(targetstate,目標狀態(tài)):只能執(zhí)行非特權(quán)指令;用戶程序在用戶模式下運行(在Intelx86CPU中對應于保護模式下的特權(quán)級[PrivilegeLevel][1~]3)系統(tǒng)模式(systemmode)/系統(tǒng)態(tài)(systemstate)/內(nèi)核模式(kernelmode)/內(nèi)核態(tài)(kernelstate)/特權(quán)模式(privilegedmode)/管態(tài)(supervisorystate,監(jiān)管狀態(tài)):能執(zhí)行指令全集,具有改變CPU執(zhí)行狀態(tài)的能力;操作系統(tǒng)(內(nèi)核)在系統(tǒng)模式下運行(在Intelx86CPU中對應于保護模式下的特權(quán)級0)WindowsNT的系統(tǒng)結(jié)構(gòu)用戶模式對應于IntelCPU保護模式下的特權(quán)級ring3內(nèi)核模式對應于IntelCPU保護模式下的特權(quán)級ring0IRP=I/OReqestPacket,I/O請求包HAL=HardwareAbstractionLayer,硬件抽象層39執(zhí)行模式與內(nèi)核內(nèi)核(kernel)OS中包含重要系統(tǒng)功能的部分,通常駐留主存,在系統(tǒng)模式下運行,響應來自進程的調(diào)用(系統(tǒng)功能調(diào)用)和來自設備的中斷內(nèi)核的典型功能進程管理:進程的創(chuàng)建、撤銷、調(diào)度、切換、同步和通信以及PCB的管理等存儲管理:給進程分配空間、交換、管理頁和段I/O管理:緩沖區(qū)管理、給進程分配I/O通道和設備支持功能:中斷處理、審計、監(jiān)視40程序狀態(tài)字執(zhí)行模式的標識:PSW(ProgramStatusWord,程序狀態(tài)字)中專設“模式標識位”。x86中的PSW叫EFLAGS(擴展標志)寄存器(其中的NT、VM、VIP、VIF屬于操作模式位)80286新增加了16位寄存器MSW(MachineStatusWord,機器狀態(tài)字)位0為PE(ProtectionEnable,啟用保護[模式])標志,當置該位(=1)時開啟保護模式;清零時進入實模式位3是TS(TaskSwitch,任務切換)標志MSW在80386中被擴展為32位的CR0,80386另外還增加了CR2和CR3,它們用于控制頁存儲器管理(虛擬內(nèi)存)、高速緩存的啟用/禁止/操作、保護模式操作等功能執(zhí)行模式的切換兩種模式的相互轉(zhuǎn)換用戶模式→系統(tǒng)模式:唯一途徑是通過中斷機制(在x86CPU中,具體可通過使用調(diào)用門指令CALL進行代碼轉(zhuǎn)移來實現(xiàn))系統(tǒng)模式→用戶模式:可通過修改PSW實現(xiàn),如指令CHM(x86CPU中沒有此指令,但可通過遠程返回指令RETF進行代碼轉(zhuǎn)移來實現(xiàn))423.4.2

進程創(chuàng)建與撤銷用原語操作實現(xiàn)創(chuàng)建原語的主要操作給新進程分配一個唯一的進程標識號給進程分配空間(進程映像)初始化進程控制塊設置正確的鏈接創(chuàng)建或擴充其他數(shù)據(jù)結(jié)構(gòu)(如審計文件)進程的撤銷原語撤銷該進程的所有子進程收回進程所占用的資源撤銷該進程的PCB433.4.3

進程切換進程切換操作系統(tǒng)指定一個進程為運行態(tài),并將CPU控制權(quán)交給該進程進程切換的時機當OS從正在運行的進程那里獲得控制權(quán)時,可能進行進程切換44導致OS獲得控制權(quán)的事件中斷時鐘中斷:時間片到I/O中斷:I/O完成,高優(yōu)先級進程就緒內(nèi)存失效:調(diào)頁時阻塞(所需內(nèi)存地址不在主存)陷阱(trap)/異常(exception):當前執(zhí)行的指令出現(xiàn)錯誤(主要指在處理器和內(nèi)存內(nèi)部產(chǎn)生的軟中斷,一般稱為內(nèi)中斷)系統(tǒng)調(diào)用(如申請I/O操作):用戶進程會被置為阻塞態(tài)(系統(tǒng)調(diào)用一般是通過[由操作系統(tǒng)規(guī)定的]特定中斷來實現(xiàn),如DOS的21h號中斷、Linux的80h號中斷)總之,只有通過[軟/硬或內(nèi)/外]中斷,操作系統(tǒng)才能獲得控制權(quán)45進程切換與執(zhí)行模式切換CPU響應系統(tǒng)中斷時所做工作:(硬件)保存當前正在執(zhí)行的程序的上下文環(huán)境把程序計數(shù)器置成中斷處理程序的開始地址從用戶模式切換到內(nèi)核模式,使得中斷處理代碼可以執(zhí)行特權(quán)指令中斷引發(fā)模式切換中斷并不一定引發(fā)進程切換46進程狀態(tài)的變化進程切換的步驟保護處理器上下文環(huán)境(到哪里去?)更新當前處于運行態(tài)進程PCB的控制信息(修改狀態(tài))該進程PCB掛入相應隊列(會是哪個隊列?)選擇一個就緒進程(涉及多種不同算法)更新所選進程的PCB(包括狀態(tài))更新存儲管理數(shù)據(jù)結(jié)構(gòu)(涉及地址轉(zhuǎn)換)恢復被選中進程的處理器上下文環(huán)境(從哪里來?)473.5

OS的執(zhí)行非進程內(nèi)核(Non-processkernel)——傳統(tǒng)方法進程概念僅適用于用戶程序OS代碼是在特權(quán)模式下工作的獨立實體48OS的執(zhí)行(續(xù))在用戶進程中執(zhí)行(ExecutionWithinUserProcesses)OS是用戶進程調(diào)用的一組例程,OS代碼為所有進程映像共享執(zhí)行OS代碼時切換到系統(tǒng)模式(不需進程切換)49OS的執(zhí)行(續(xù))基于進程的OS(Process-BasedOperatingSystem)主要內(nèi)核功能被組織成獨立進程適合多處理器和多機環(huán)境503.6安全問題進程權(quán)限最高權(quán)限——(系統(tǒng))管理員、超級用戶、根用戶關鍵問題——阻止/探測用戶或惡意程序獲取系統(tǒng)權(quán)限的企圖513.6.1系統(tǒng)訪問威脅分類:入侵者、惡意軟件入侵者——通常指黑客和解密高手冒充者——穿透系統(tǒng)的訪問控制,冒用合法賬戶的帳號濫用職權(quán)者——合法用戶濫用權(quán)限或訪問未授權(quán)的數(shù)據(jù)秘密用戶——利用系統(tǒng)的管理控制來逃避審計和訪問限制惡意軟件——利用計算機系統(tǒng)漏洞的程序分類:寄生、獨立;能進行復制(如病毒、蠕蟲)、不能自我復制(如邏輯炸彈、后門、僵尸)寄生——需要宿主程序,為程序片斷。如病毒、邏輯炸彈、后門獨立——可被操作系統(tǒng)調(diào)度運行的獨立程序,如蠕蟲、僵尸523.6.2對抗措施入侵檢測——IDS(Intrusiondetectionsystems,入侵檢測系統(tǒng))組成——感應器(收集數(shù)據(jù))、分析器(判斷入侵是否發(fā)生)、用戶界面(用于查看和控制)分類——基于宿主、基于網(wǎng)絡用戶認證(authentication)——安全的基礎和主體。方法:知道——密碼、身份證號碼、預知的問題答案擁有——通行卡、智能卡、物理鑰匙自身(靜態(tài)生物識別)——指紋、虹膜、人臉行為(動態(tài)生物識別)——語音模式、筆跡特征、輸入節(jié)奏訪問控制——通過對用戶授權(quán),調(diào)節(jié)用戶與系統(tǒng)資源之間的關系防火墻——保護本地系統(tǒng)和網(wǎng)絡不受外部網(wǎng)絡的安全威脅。傳統(tǒng)的防火墻是一種專用計算機,是本地系統(tǒng)與外部網(wǎng)絡的接口(世界最大的防火墻在中國的國安部)533.7UnixSVR4進程管理操作系統(tǒng)的大部分在用戶進程環(huán)境中執(zhí)行543.7.1Unix進程狀態(tài)及轉(zhuǎn)換9態(tài)模型——7態(tài)模型的變形兩個運行態(tài)——內(nèi)核&用戶兩個就緒態(tài)——內(nèi)存&搶占553.7.2UnixSVR4進程描述進程映像由三部分組成用戶級上下文:進程正文(代碼)、進程數(shù)據(jù)、用戶棧、共享內(nèi)存區(qū)寄存器上下文:程序計數(shù)器、狀態(tài)寄存器、棧指針、通用寄存器系統(tǒng)級上下文:進程表項、U區(qū)、本進程的內(nèi)存區(qū)表、內(nèi)核棧563.7.3UnixSVR4進程控制進程創(chuàng)建(由父進程派生):fork()(分叉、派生)為新進程分配一個空閑的進程表項為新進程指定一個唯一的進程ID拷貝父進程的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論