進(jìn)程描述與控制概要.ppt_第1頁(yè)
進(jìn)程描述與控制概要.ppt_第2頁(yè)
進(jìn)程描述與控制概要.ppt_第3頁(yè)
進(jìn)程描述與控制概要.ppt_第4頁(yè)
進(jìn)程描述與控制概要.ppt_第5頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余49頁(yè)可下載查看

付費(fèi)下載

下載本文檔

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

文檔簡(jiǎn)介

1、1,第2章 進(jìn)程描述與控制,進(jìn)程的特征和定義 進(jìn)程的三種基本狀態(tài) 進(jìn)程控制塊 進(jìn)程控制 線程和SMP 線程及其管理,2,進(jìn)程的引入,進(jìn)程是現(xiàn)代操作系統(tǒng)中最重要的構(gòu)件。操作系統(tǒng)的重要功能就是創(chuàng)建、管理和終止進(jìn)程。 為什么要在操作系統(tǒng)中引入進(jìn)程這樣一個(gè)概念?,3,進(jìn)程的引入(續(xù)),在多道程序環(huán)境下,程序的執(zhí)行屬于并發(fā)執(zhí)行,這時(shí),程序?qū)⑹テ浞忾]性,并具有間斷性及不可再現(xiàn)性的特征。這決定了通常的程序是不能參與并發(fā)執(zhí)行的,因?yàn)槌绦驁?zhí)行的結(jié)果是不可再現(xiàn)的。這樣程序的執(zhí)行也就失去了意義,4,進(jìn)程的引入(續(xù)),為了使程序能并發(fā)執(zhí)行,且為了使對(duì)并發(fā)執(zhí)行的程序加以描述和控制,人們引入了“進(jìn)程”的概念。為了能比較

2、深刻地了解什么是進(jìn)程,先對(duì)進(jìn)程的特征加以描述。,5,進(jìn)程的特征和定義,1)結(jié)構(gòu)特征 2) 動(dòng)態(tài)性 3) 并發(fā)性 4) 獨(dú)立性 5) 異步性,6,1)結(jié)構(gòu)特征,程序不能并發(fā)執(zhí)行,為了使程序(含數(shù)據(jù))能獨(dú)立運(yùn)行,應(yīng)為之配置一個(gè)進(jìn)程控制塊,即PCB;而由程序段、相關(guān)的數(shù)據(jù)段和PCB三部分便構(gòu)成了進(jìn)程實(shí)體,在早期的UNIX版本中把這三部分稱為“進(jìn)程映像”。,7,2) 動(dòng)態(tài)性,動(dòng)態(tài)性是進(jìn)程最基本的特征。它由創(chuàng)建而產(chǎn)生,由調(diào)度而執(zhí)行,由撤銷而消亡,因而具有一定的生命期。 而程序是靜態(tài)的,它是一組有序指令的集合,并存放于某種介質(zhì)上,其本身并不具有運(yùn)動(dòng)的含義。,8,3) 并發(fā)性,指多個(gè)進(jìn)程共存于內(nèi)存中,且能在

3、一段時(shí)間內(nèi)同時(shí)運(yùn)行。并發(fā)性是進(jìn)程的重要特征,也成為OS的重要特征。引入進(jìn)程的目的也就是為了使多個(gè)進(jìn)程能夠并發(fā)執(zhí)行;而程序(沒有建立PCB)是不能并發(fā)執(zhí)行的。,9,4) 獨(dú)立性,指進(jìn)程實(shí)體是一個(gè)能獨(dú)立運(yùn)行,獨(dú)立分配資源和獨(dú)立接受調(diào)度的基本單位。凡未建立PCB的程序都不能作為一個(gè)獨(dú)立的單位參與運(yùn)行。,10,5) 異步性,指進(jìn)程按各自獨(dú)立的、不可預(yù)知的速度向前推進(jìn),或者說進(jìn)程實(shí)體按異步方式運(yùn)行。,11,進(jìn)程的定義,進(jìn)程的定義有多種,比較典型的有: 1)進(jìn)程是程序在處理器上的一次執(zhí)行過程。 2)進(jìn)程是一個(gè)程序及其數(shù)據(jù)在處理機(jī)上順序執(zhí)行時(shí)所發(fā)生的活動(dòng)。 3)進(jìn)程是程序在一個(gè)數(shù)據(jù)集合上的運(yùn)行的過程,是系統(tǒng)

4、進(jìn)行資源分配和調(diào)度的一個(gè)獨(dú)立單位。 通常人們定義進(jìn)程為:進(jìn)程是進(jìn)程實(shí)體的運(yùn)行過程,是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個(gè)獨(dú)立單位。,12,進(jìn)程的三種基本狀態(tài),1)就緒(Ready)狀態(tài) 2) 執(zhí)行狀態(tài) 3) 阻塞狀態(tài),13,1)就緒(Ready)狀態(tài),當(dāng)進(jìn)程已分配到除CPU以外的的所有必要資源后,只要再獲得CPU就可以立即執(zhí)行,這時(shí)的進(jìn)程狀態(tài)稱為就緒狀態(tài)。在一個(gè)系統(tǒng)中處于就緒狀態(tài)的進(jìn)程可能有多個(gè),通常將他們排成一個(gè)隊(duì)列,稱為就緒隊(duì)列,14,2)執(zhí)行狀態(tài),進(jìn)程已獲得CPU,其程序正在執(zhí)行。在單處理機(jī)系統(tǒng)中,只有一個(gè)進(jìn)程處于執(zhí)行狀態(tài);在多處理器系統(tǒng)中,則有多個(gè)進(jìn)程處于執(zhí)行狀態(tài)。,15,3)阻塞狀態(tài),正在執(zhí)

5、行的進(jìn)程由于發(fā)生某事件而暫時(shí)無法繼續(xù)執(zhí)行時(shí),便放棄處理機(jī)而處于暫停狀態(tài),即進(jìn)程的執(zhí)行受到阻塞,這種暫停的狀態(tài)成為阻塞狀態(tài)。 致使進(jìn)程阻塞的典型事件有:請(qǐng)求I/O,申請(qǐng)緩沖空間等。通常將阻塞進(jìn)程也排成隊(duì)列,有的系統(tǒng)根據(jù)阻塞的原因不同,而把處于阻塞狀態(tài)的進(jìn)程拍成多個(gè)隊(duì)列。,16,進(jìn)程的三種狀態(tài)及其轉(zhuǎn)換,17,進(jìn)程的另一個(gè)狀態(tài) 掛起狀態(tài),盡管引入了多道程序設(shè)計(jì),在內(nèi)存中有多道程序在共享處理機(jī)和外圍設(shè)備,使得處理機(jī)利用率提高,但由于其運(yùn)行速度的懸殊,還可能出現(xiàn)在內(nèi)存中的所有進(jìn)程都在等待CPU的情形。為了充分利用CPU的寶貴資源,又引入了“掛起”狀態(tài)。,18,1. 進(jìn)程掛起的狀態(tài),由于I/O操作比CPU

6、計(jì)算慢得多,故常會(huì)出現(xiàn)內(nèi)存中所有進(jìn)程都等待I/O的現(xiàn)象。即使運(yùn)行多個(gè)程序,處理器在大多數(shù)時(shí)間仍處于空閑狀態(tài)。為此可采用交換方法,將內(nèi)存中的一部分進(jìn)程轉(zhuǎn)移到磁盤中。,19,那么需要在進(jìn)程行為模式中需增加一個(gè)新的掛起狀態(tài),當(dāng)內(nèi)存所有進(jìn)程阻塞時(shí),操作系統(tǒng)可將一進(jìn)程置為掛起狀態(tài)并交換到磁盤,再調(diào)入另一進(jìn)程執(zhí)行。掛起狀態(tài)與原有的阻塞和就緒狀態(tài)結(jié)合為阻塞掛起狀態(tài)和就緒掛起狀態(tài)。,20,引入掛起狀態(tài)的其它原因,(1)終端用戶的請(qǐng)求。 (2) 父進(jìn)程請(qǐng)求。 (3) 負(fù)荷調(diào)節(jié)的需要。 (4) 操作系統(tǒng)的需要,21,引入掛起狀態(tài)后進(jìn)程狀態(tài)的轉(zhuǎn)換,引入掛起狀態(tài)后,又會(huì)增加從掛起狀態(tài)(靜止?fàn)顟B(tài))到非掛起狀態(tài)(活動(dòng)狀態(tài)

7、)的轉(zhuǎn)換;或者相反。可以有以下幾種情況:,(1) 活動(dòng)就緒靜止就緒。(通過掛起原語將其掛起 ) (2) 活動(dòng)阻塞靜止阻塞。 (3) 靜止就緒活動(dòng)就緒。(用激活原語將靜止?fàn)顟B(tài)變?yōu)榛顒?dòng)狀態(tài)) (4) 靜止阻塞活動(dòng)阻塞。,22,進(jìn)程控制塊,進(jìn)程控制塊的作用是使一個(gè)在多道程序環(huán)境下不能獨(dú)立運(yùn)行的程序(含數(shù)據(jù)),成為一個(gè)能獨(dú)立運(yùn)行的基本單位,一個(gè)能與其它進(jìn)程并發(fā)執(zhí)行的進(jìn)程?;蛘哒f,OS是根據(jù)PCB來對(duì)并發(fā)執(zhí)行的進(jìn)程進(jìn)行控制和管理的。,23,進(jìn)程控制塊中的信息,1) 進(jìn)程標(biāo)識(shí)符 進(jìn)程標(biāo)識(shí)符用于惟一地標(biāo)識(shí)一個(gè)進(jìn)程。一個(gè)進(jìn)程通常有兩種標(biāo)識(shí)符: (1) 內(nèi)部標(biāo)識(shí)符。在所有的操作系統(tǒng)中,都為每一個(gè)進(jìn)程賦予一個(gè)惟一

8、的數(shù)字標(biāo)識(shí)符,它通常是一個(gè)進(jìn)程的序號(hào)。 設(shè)置內(nèi)部標(biāo)識(shí)符主要是為了方便系統(tǒng)使用。,24,(2) 外部標(biāo)識(shí)符。它由創(chuàng)建者提供,通常是由字母、數(shù)字組成,往往是由用戶(進(jìn)程)在訪問該進(jìn)程時(shí)使用。為了描述進(jìn)程的家族關(guān)系, 還應(yīng)設(shè)置父進(jìn)程標(biāo)識(shí)及子進(jìn)程標(biāo)識(shí)。此外,還可設(shè)置用戶標(biāo)識(shí),以指示擁有該進(jìn)程的用戶,25,1. 進(jìn)程控制塊中的信息(續(xù)),2) 處理機(jī)狀態(tài) 處理機(jī)狀態(tài)信息主要是由處理機(jī)的各種寄存器中的內(nèi)容組成的。 通用寄存器,又稱為用戶可視寄存器,它們是用戶程序可以訪問的,用于暫存信息, 在大多數(shù)處理機(jī)中,有 832 個(gè)通用寄存器,在RISC結(jié)構(gòu)的計(jì)算機(jī)中可超過 100 個(gè);,26, 指令計(jì)數(shù)器,其中存放

9、了要訪問的下一條指令的地址; 程序狀態(tài)字PSW,其中含有狀態(tài)信息,如條件碼、執(zhí)行方式、 中斷屏蔽標(biāo)志等; 用戶棧指針, 指每個(gè)用戶進(jìn)程都有一個(gè)或若干個(gè)與之相關(guān)的系統(tǒng)棧,用于存放過程和系統(tǒng)調(diào)用參數(shù)及調(diào)用地址。棧指針指向該棧的棧頂。,27,進(jìn)程控制塊(PCB)是進(jìn)程映象中最關(guān)鍵的部分,它含有進(jìn)程的描述信息和控制信息,是進(jìn)程動(dòng)態(tài)特性的集中反映,是系統(tǒng)對(duì)進(jìn)程施行識(shí)別和控制的依據(jù)。操作系統(tǒng)管理進(jìn)程所需的信息類型都收集在進(jìn)程控制塊中,28,進(jìn)程產(chǎn)生和終止,1.進(jìn)程產(chǎn)生 通常有4種事件會(huì)導(dǎo)致新進(jìn)程產(chǎn)生: 在一個(gè)交互式環(huán)境中,當(dāng)一個(gè)新用戶在終端鍵入登錄命令后,若是合法用戶,系統(tǒng)將為該用戶建立一個(gè)進(jìn)程。 在一個(gè)

10、批處理環(huán)境中,為了響應(yīng)一個(gè)任務(wù)的要求而產(chǎn)生進(jìn)程。 當(dāng)運(yùn)行中獲取用戶程序提出的某種請(qǐng)求后,OS可以代用戶程序產(chǎn)生進(jìn)程以實(shí)現(xiàn)某種功能,使用戶不必等待。 基于應(yīng)用進(jìn)程的需要,由已存在的進(jìn)程產(chǎn)生另一個(gè)進(jìn)程,以便使新程序以并發(fā)運(yùn)行方式完成特定任務(wù)。,29,進(jìn)程產(chǎn)生和終止,2.進(jìn)程終止 導(dǎo)致進(jìn)程終止的事件大致有14種 :正常結(jié)束 、超時(shí)限制 、內(nèi)存不足 、超界 、保護(hù)錯(cuò)誤 、算術(shù)錯(cuò)誤 、超越時(shí)限 、I/O失敗 、非法指令 、特權(quán)指令 、錯(cuò)誤使用數(shù)據(jù) 、操作員或OS干預(yù) 、父進(jìn)程終止 、父進(jìn)程需要 。,30,進(jìn)程產(chǎn)生和終止,進(jìn)程的動(dòng)態(tài)性質(zhì)是由其狀態(tài)變化決定的。通常操作系統(tǒng)中進(jìn)程都具有三種狀態(tài):運(yùn)行態(tài)、就緒態(tài)

11、和阻塞態(tài)。進(jìn)程的生命周期中通常還有創(chuàng)建和消失兩種狀態(tài)。創(chuàng)建和終止?fàn)顟B(tài)對(duì)進(jìn)程管理非常有用。,31,進(jìn)程狀態(tài)模型, 運(yùn)行:進(jìn)程當(dāng)前處于運(yùn)行狀態(tài)。 就緒;進(jìn)程已準(zhǔn)備好運(yùn)行。 阻塞;進(jìn)程等待某些事件發(fā)生(如I/O操作)后才能運(yùn)行。 創(chuàng)建:進(jìn)程剛產(chǎn)生,但還未被操作系統(tǒng)提交到可運(yùn)行進(jìn)程池中。 消失:進(jìn)程被操作系統(tǒng)從可運(yùn)行進(jìn)程池中釋放。,32,進(jìn)程控制,在計(jì)算機(jī)系統(tǒng)中,操作系統(tǒng)負(fù)責(zé)調(diào)度進(jìn)程、分配資源、響應(yīng)用戶程序服務(wù)的請(qǐng)求,可以認(rèn)為操作系統(tǒng)管理整個(gè)系統(tǒng)資源的使用和控制整個(gè)系統(tǒng)的事件。,33,進(jìn)程控制(續(xù)),操作系統(tǒng)內(nèi)核負(fù)責(zé)控制和管理進(jìn)程的產(chǎn)生、執(zhí)行和消亡的整個(gè)過程,這主要通過對(duì)它們的控制操作實(shí)現(xiàn)。操作系統(tǒng)的

12、進(jìn)程控制操作主要有: 創(chuàng)建進(jìn)程、撤消進(jìn)程、掛起進(jìn)程、恢復(fù)進(jìn)程、改變進(jìn)程優(yōu)先級(jí)、封鎖進(jìn)程、喚醒進(jìn)程、調(diào)度進(jìn)程等。,34,執(zhí)行模式,大多數(shù)處理器都至少支持兩種執(zhí)行模式,一種是同操作系統(tǒng)有關(guān)的模式,另一種則是同用戶程序有關(guān)的模式。較低特權(quán)模式稱為用戶模式。較高特權(quán)模式指系統(tǒng)模式、控制模式或內(nèi)核模式。內(nèi)核是操作系統(tǒng)中最核心功能的集合。,35,進(jìn)程創(chuàng)建,一旦OS決定創(chuàng)建一個(gè)進(jìn)程時(shí),便調(diào)用進(jìn)程創(chuàng)建原語Creat( ),進(jìn)行如下操作: 給新進(jìn)程一個(gè)編號(hào)并申請(qǐng)空白PCB。 為進(jìn)程分配空間。 初始化PCB。 設(shè)置合適的鏈接。 生成其他一些數(shù)據(jù)結(jié)構(gòu)。,36, 原語(primitive): 內(nèi)核的執(zhí)行是通過各種原語

13、操作實(shí)現(xiàn)的。它是機(jī)器指令的延伸,由若干條機(jī)器指令構(gòu)成用以完成特定功能的一段程序。它執(zhí)行時(shí)不可中斷,作為一個(gè)基本的執(zhí)行單位出現(xiàn)(原子操作 Atomie operation)。,37,進(jìn)程切換,在某時(shí)刻,一個(gè)正在運(yùn)行的進(jìn)程被中斷,操作系統(tǒng)就將另一個(gè)進(jìn)程置為運(yùn)行狀態(tài),并對(duì)其進(jìn)行控制。當(dāng)操作系統(tǒng)掌握控制權(quán)時(shí),切換隨時(shí)會(huì)發(fā)生??赡軐⒖刂茩?quán)交給操作系統(tǒng)的事件有:中斷 、陷阱,38,中斷:計(jì)算機(jī)系統(tǒng)內(nèi)發(fā)生了某一急需處理的事件,使得CPU暫停正在執(zhí)行的程序而轉(zhuǎn)去執(zhí)行相應(yīng)的事件處理程序,待處理完畢后又返回到原來被中斷處繼續(xù)執(zhí)行 自陷(陷阱),39,上下文切換,上下文切換發(fā)生時(shí),可能并不改變當(dāng)前處于運(yùn)行態(tài)的進(jìn)程狀

14、態(tài)。當(dāng)前運(yùn)行進(jìn)程的狀態(tài)要改變時(shí),操作系統(tǒng)將進(jìn)行以下步驟完成進(jìn)程切換: 保存處理器內(nèi)容。 對(duì)當(dāng)前運(yùn)行進(jìn)程的PCB進(jìn)行更新。 將這個(gè)進(jìn)程的PCB移入適當(dāng)?shù)年?duì)列。 挑選其他進(jìn)程執(zhí)行。 對(duì)挑選進(jìn)程的PCB進(jìn)行更新。 對(duì)存儲(chǔ)器管理數(shù)據(jù)結(jié)構(gòu)進(jìn)行更新。 將被選中進(jìn)程上次移出時(shí)的處理器狀態(tài)進(jìn)行恢復(fù)。,40,微核,微核是一個(gè)操作系統(tǒng)的核心,它為組件擴(kuò)展提供了基礎(chǔ)。微核所應(yīng)遵循的原理是:只有那些絕對(duì)必要的操作系統(tǒng)核心功能才能放在內(nèi)核中。次重要的服務(wù)和應(yīng)用功能則建立在微核之外。,41,線程和SMP,線程(Thread)是近年來操作系統(tǒng)中出現(xiàn)的一個(gè)非常重要的技術(shù)。線程的引入,進(jìn)一步提高了程序并發(fā)執(zhí)行的程度,從而進(jìn)一步

15、提高了系統(tǒng)的吞吐量。,42,2.4.1 線程及其管理,1.線程的引入 為了既能提高程序的并發(fā)程度,又能減少OS的開銷,操作系統(tǒng)設(shè)計(jì)者引入了線程,把進(jìn)程的兩個(gè)基本屬性分離開來。引入線程還有一個(gè)好處,就是能較好地支持對(duì)稱多處理器系統(tǒng)(Symmetric Multiprocessor,簡(jiǎn)稱SMP)。,43,線程及其管理,2.線程的定義及特征 線程是進(jìn)程內(nèi)的一個(gè)相對(duì)獨(dú)立的、可獨(dú)立調(diào)度和指派的執(zhí)行單元。 線程具有以下性質(zhì): 線程是進(jìn)程內(nèi)的一個(gè)相對(duì)獨(dú)立的可執(zhí)行單元。 線程是操作系統(tǒng)中的基本調(diào)度單元 。 一個(gè)進(jìn)程中至少應(yīng)有一個(gè)線程 。 線程并不擁有資源,而是共享和使用包含它的進(jìn)程所擁有的所有資源。 線程在需

16、要時(shí)也可創(chuàng)建其他線程。,44,線程及其管理,進(jìn)程和線程的區(qū)別與聯(lián)系: 調(diào)度 擁有資源 并發(fā)性 系統(tǒng)開銷,45,線程及其管理,3.線程的狀態(tài)和管理 線程也有一個(gè)從創(chuàng)建到消亡的生命過程,雖然在不同的操作系統(tǒng),線程的狀態(tài)設(shè)計(jì)不完全相同,但就緒、運(yùn)行、阻塞3個(gè)關(guān)鍵的狀態(tài)是共有的。線程中不具有進(jìn)程中的掛起狀態(tài)。對(duì)具有多線程的進(jìn)程狀態(tài),若一個(gè)線程被阻塞,整個(gè)進(jìn)程不被阻塞。線程使用線程控制塊(TCB)來描述其數(shù)據(jù)結(jié)構(gòu)。線程的狀態(tài)轉(zhuǎn)換是通過相關(guān)的控制原語來實(shí)現(xiàn)的。,46,多線程的實(shí)現(xiàn),多線程機(jī)制是指OS支持在一個(gè)進(jìn)程內(nèi)執(zhí)行多個(gè)線程的能力。線程雖在許多系統(tǒng)中實(shí)現(xiàn),但實(shí)現(xiàn)的方式并不完全相同。,47,多線程的實(shí)現(xiàn),

17、1.用戶級(jí)線程 用戶級(jí)線程ULT由用戶應(yīng)用程序建立,由用戶應(yīng)用程序負(fù)責(zé)對(duì)這些線程進(jìn)行調(diào)度和管理,操作系統(tǒng)內(nèi)核并不知道有用戶級(jí)線程的存在。因而這種線程與內(nèi)核無關(guān)。,48,多線程的實(shí)現(xiàn),2.內(nèi)核級(jí)線程 內(nèi)核級(jí)線程KLT中的所有線程的創(chuàng)建、調(diào)度和管理全部由操作系統(tǒng)內(nèi)核負(fù)責(zé)。一個(gè)應(yīng)用進(jìn)程可按多線程方式編制程序,當(dāng)它被提交給多線程操作系統(tǒng)運(yùn)行時(shí),內(nèi)核為它創(chuàng)建一個(gè)進(jìn)程和一個(gè)線程,線程在運(yùn)行中還會(huì)創(chuàng)建新的線程。這就是通常所說的“純KLT方法”。,49,多線程的實(shí)現(xiàn),3.KLT和ULT結(jié)合 由于純KLT和純ULT各有自己的優(yōu)點(diǎn)和缺點(diǎn),因此,如果將兩種方法結(jié)合起來,則可得到兩者的全部?jī)?yōu)點(diǎn),將兩種方法結(jié)合起來的系統(tǒng)稱之為多線程的操作系統(tǒng)。,50,進(jìn)程與

溫馨提示

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

評(píng)論

0/150

提交評(píng)論