




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第2章進(jìn)程管理本章學(xué)習(xí)目標(biāo)本章主要介紹進(jìn)程的概念、狀態(tài)、構(gòu)成以及Linux進(jìn)程的相關(guān)知識。掌握進(jìn)程的概念掌握進(jìn)程的描述、狀態(tài)及轉(zhuǎn)換理解進(jìn)程的特征了解Linux進(jìn)程的描述及進(jìn)程通信掌握進(jìn)程的同步與互斥,并能靈活運(yùn)用理解線程的概念及特征第2章進(jìn)程管理1
教學(xué)內(nèi)容
2.1進(jìn)程的基本概念2.2進(jìn)程的描述2.3進(jìn)程控制2.4進(jìn)程的同步與互斥2.5進(jìn)程同步問題舉例2.6進(jìn)程通信2.7線程
本章小結(jié)
22.1進(jìn)程的基本概念
2.1.1程序的順序執(zhí)行及其特征1.程序的順序執(zhí)行
程序是人們要計算機(jī)完成的一些指令序列,是一個按嚴(yán)格次序、順序執(zhí)行的操作序列,是一個靜態(tài)的概念。我們把一個具有獨(dú)立功能的程序獨(dú)占處理機(jī),直到最后結(jié)束的過程稱為程序的順序執(zhí)行。2.程序順序執(zhí)行時的特征(1)順序性。(2)封閉性。(3)可再現(xiàn)性。第2章進(jìn)程管理32.1.2程序的并發(fā)執(zhí)行及其特征1.并發(fā)執(zhí)行的概念
所謂程序的并發(fā)性,是指多道程序在同一時間間隔內(nèi)同時發(fā)生。程序的并發(fā)執(zhí)行可總結(jié)為:一組在邏輯上互相獨(dú)立的程序或程序段在執(zhí)行過程中,其執(zhí)行時間在客觀上互相重疊,即一個程序段的執(zhí)行尚未結(jié)束,另一個程序段的執(zhí)行已經(jīng)開始的一種執(zhí)行方式。第2章進(jìn)程管理42.程序并發(fā)執(zhí)行時的特征(1)間斷性程序在并發(fā)執(zhí)行時,由于它們共享系統(tǒng)資源,以及為完成同一項(xiàng)任務(wù)而相互合作,致使這些并發(fā)執(zhí)行的程序之間,形成了相互制約的關(guān)系。相互制約將導(dǎo)致并發(fā)程序具有“執(zhí)行——暫?!獔?zhí)行”這種間斷性的活動規(guī)律。(2)失去封閉性某程序在執(zhí)行時,必然會受到其它程序的影響。(3)不可再現(xiàn)性在并發(fā)環(huán)境下,同一個程序執(zhí)行多次,執(zhí)行的過程可能不同。用程序作為描述其執(zhí)行過程以及共享資源的基本單位是不合適的。因此引入了進(jìn)程作為描述程序的執(zhí)行過程、共享資源的基本單位。第2章進(jìn)程管理52.1.3進(jìn)程的定義與特征1.進(jìn)程的定義人們對進(jìn)程下過許多定義?,F(xiàn)列舉其中的幾種:(1)進(jìn)程是程序的一次執(zhí)行。(2)進(jìn)程是可以和別的進(jìn)程并發(fā)執(zhí)行的計算。(3)進(jìn)程就是一個程序在給定活動空間和初始條件下,在一個處理機(jī)上的執(zhí)行過程。(4)進(jìn)程是程序在一個數(shù)據(jù)集合上的運(yùn)行過程,它是系統(tǒng)進(jìn)行資源分配和調(diào)度的一個獨(dú)立單位(5)進(jìn)程是動態(tài)的,有生命周期的活動。內(nèi)核可以創(chuàng)建一個進(jìn)程,最終將由內(nèi)核終止該進(jìn)程使其消亡。第2章進(jìn)程管理6進(jìn)程和程序之間的關(guān)系
進(jìn)程和程序是兩個完全不同的概念,但又有密切的聯(lián)系。它們之間的主要區(qū)別是:(1)程序是靜態(tài)的概念,;而進(jìn)程則是程序的一次執(zhí)行過程。它是動態(tài)的概念。(2)進(jìn)程是一個能獨(dú)立運(yùn)行的單位,能與其它進(jìn)程并發(fā)執(zhí)行;而程序是不能作為一個獨(dú)立運(yùn)行的單位而并發(fā)執(zhí)行的。(3)程序和進(jìn)程無一一對應(yīng)的關(guān)系。(4)各個進(jìn)程在并發(fā)執(zhí)行過程中會產(chǎn)生相互制約關(guān)系,而程序本身是靜態(tài)的,不存在這種異步特征。第2章進(jìn)程管理72.進(jìn)程的特征從進(jìn)程與程序的區(qū)別可以看出,進(jìn)程具有如下特征:(1)動態(tài)性動態(tài)性是進(jìn)程最基本的特性。進(jìn)程由創(chuàng)建而產(chǎn)生,由調(diào)度而執(zhí)行,因得不到資源而暫停執(zhí)行,以及因撤消而消亡。(2)并發(fā)性這是指多個進(jìn)程實(shí)體,同存于內(nèi)存中,能在一段時間段內(nèi)同時執(zhí)行。并發(fā)性是進(jìn)程的重要特征,同時也是操作系統(tǒng)的重要特征。提高并發(fā)性,可以提高系統(tǒng)的效率。(3)獨(dú)立性進(jìn)程是一個能獨(dú)立運(yùn)行的基本單位,同時也是系統(tǒng)中獨(dú)立獲得資源和獨(dú)立調(diào)度的基本單位。(4)異步性這是指進(jìn)程按各自獨(dú)立的、不可預(yù)知的速度向前推進(jìn);或者說,進(jìn)程按異步方式運(yùn)行。(5)結(jié)構(gòu)特征從結(jié)構(gòu)上看,進(jìn)程實(shí)體是由程序段、數(shù)據(jù)段及進(jìn)程控制塊三部分組成,也稱這三部分為進(jìn)程映像。第2章進(jìn)程管理82.1.4進(jìn)程的基本狀態(tài)及轉(zhuǎn)換1.進(jìn)程的三個基本狀態(tài)進(jìn)程通常至少有三種基本狀態(tài):(1)就緒狀態(tài)(ready)進(jìn)程運(yùn)行所需的外部條件滿足,但因?yàn)槠渌M(jìn)程已占用CPU,所以暫時不能運(yùn)行。(2)執(zhí)行狀態(tài)(running)外部條件滿足,進(jìn)程已獲得CPU,其程序正在執(zhí)行。在單處理機(jī)系統(tǒng)中,只有一個進(jìn)程處于執(zhí)行狀態(tài)。(3)阻塞狀態(tài)(blocked)進(jìn)程因等待某種事件發(fā)生,而暫時不能運(yùn)行的狀態(tài),稱為阻塞狀態(tài),也稱為等待狀態(tài)。系統(tǒng)中處于這種狀態(tài)的進(jìn)程可能有多個,通常將它們排成一個隊(duì)列,也有的系統(tǒng)則根據(jù)阻塞原因的不同將這些進(jìn)程排成多個隊(duì)列。第2章進(jìn)程管理92.進(jìn)程狀態(tài)的轉(zhuǎn)換
對于一個系統(tǒng)中處于就緒狀態(tài)的進(jìn)程,在調(diào)度程序?yàn)橹峙淞颂幚頇C(jī)之后,該進(jìn)程便可執(zhí)行,相應(yīng)地,它由就緒態(tài)轉(zhuǎn)變?yōu)閳?zhí)行狀態(tài)。正在執(zhí)行的進(jìn)程也稱為當(dāng)前進(jìn)程,如果因分配給它的時間片已用完而被暫停執(zhí)行時,該進(jìn)程便由執(zhí)行狀態(tài)又回到就緒狀態(tài);一個處在執(zhí)行狀態(tài)的進(jìn)程,如果因發(fā)生某事件而使進(jìn)程的執(zhí)行受阻,使之無法繼續(xù)執(zhí)行,該進(jìn)程將由執(zhí)行狀態(tài)轉(zhuǎn)變?yōu)樽枞麪顟B(tài)。一個處于阻塞狀態(tài)的進(jìn)程,當(dāng)它所需的外部事件滿足,它應(yīng)由阻塞狀態(tài)變?yōu)榫途w狀態(tài)。第2章進(jìn)程管理10程執(zhí)行完成或撤消阻塞狀態(tài)就緒狀態(tài)調(diào)度用片間時進(jìn)程創(chuàng)建進(jìn)等待某事件發(fā)生如I/O請求外部事件發(fā)生圖2-1進(jìn)程的基本狀態(tài)及轉(zhuǎn)換圖完第2章進(jìn)程管理113.引入掛起狀態(tài)時的進(jìn)程狀態(tài)
所謂掛起狀態(tài),實(shí)際上就是一種靜止的狀態(tài)。一個進(jìn)程被掛起后,不管它是否在就緒狀態(tài),系統(tǒng)都不分配給它處理機(jī)。在引入掛起狀態(tài)后,進(jìn)程之間的狀態(tài)轉(zhuǎn)換除了四種基本狀態(tài)轉(zhuǎn)換以外,又增加了以下幾種:(1)活動就緒——靜止就緒。(2)活動阻塞——靜止阻塞。(3)靜止就緒——活動就緒。(4)靜止阻塞——活動阻塞。第2章進(jìn)程管理12執(zhí)行外部事件滿足外掛起激活掛起掛激活活動就緒靜止就緒活動阻塞靜止阻塞調(diào)度圖2-2具有掛起狀態(tài)的進(jìn)程狀態(tài)轉(zhuǎn)換等部事件外待起部條件滿足完成或撤消第2章進(jìn)程管理132.1.5Linux進(jìn)程的狀態(tài)
Linux系統(tǒng)的一個任務(wù)總體上有以下幾種狀態(tài):(1)運(yùn)行狀態(tài)(running)該狀態(tài)對應(yīng)state取值為TASK_RUNNING。(2)等待狀態(tài)(waiting)(3)中斷處理狀態(tài)(interruptroutine)此狀態(tài)對應(yīng)state取值TASK_RUNNING。(4)系統(tǒng)調(diào)用期間(systemcall)此狀態(tài)對應(yīng)state取值TASK_RUNNING。(5)從系統(tǒng)調(diào)用返回(returnfromsystemcall)第2章進(jìn)程管理14(6)就緒態(tài)(ready)處于此狀態(tài)的進(jìn)程正在競爭處理機(jī),但此刻處理機(jī)正在為另一個進(jìn)程服務(wù)。此狀態(tài)對應(yīng)state取值TASK_RUNNING。Linux系統(tǒng)內(nèi)核在進(jìn)程控制塊中用state成員描述進(jìn)程當(dāng)前的狀態(tài),并明確定義了5種進(jìn)程狀態(tài)。它們分別是:(1)TASK-RUNNING狀態(tài),Linux系統(tǒng)中的運(yùn)行狀態(tài)實(shí)際包含了上述基本狀態(tài)中的執(zhí)行和就緒兩種狀態(tài)。(2)TASK-INTERRUPTIBLE狀態(tài),可中斷的等待態(tài)。進(jìn)程正在等待某些事件。(3)TASK-UNINTERRUPTIBLE狀態(tài),等待態(tài),不可中斷。(4)TASK-ZOMBIE狀態(tài),僵死態(tài)。(5)TASK-STOPPED狀態(tài),暫停態(tài)。第2章進(jìn)程管理15
Linux任務(wù)狀態(tài)轉(zhuǎn)換圖
運(yùn)行態(tài)從系統(tǒng)調(diào)用返回中斷例程系統(tǒng)調(diào)用等待就緒調(diào)度中斷用戶態(tài)系統(tǒng)態(tài)圖2-3Linux任務(wù)狀態(tài)轉(zhuǎn)換圖2.2進(jìn)程的描述進(jìn)程實(shí)體通常是由程序、數(shù)據(jù)集合和PCB這三部分構(gòu)成,也稱為“進(jìn)程映象”。
PCB程序部分?jǐn)?shù)據(jù)集合第2章進(jìn)程管理17圖2-4進(jìn)程的一般組成模型2.2.1進(jìn)程控制塊PCB
PCB集中反映一個進(jìn)程的動態(tài)特征,當(dāng)系統(tǒng)創(chuàng)建了一個新進(jìn)程時,就為它建立一個PCB;當(dāng)進(jìn)程終止后,系統(tǒng)回收其PCB,該進(jìn)程在系統(tǒng)中就不存在了。所以,PCB是進(jìn)程存在的惟一標(biāo)志??梢园凑展δ軐CB分成四個組成部分:進(jìn)程標(biāo)識符、處理機(jī)狀態(tài)、進(jìn)程調(diào)度信息、進(jìn)程控制信息。第2章進(jìn)程管理181.進(jìn)程標(biāo)識符進(jìn)程標(biāo)識符用于惟一地標(biāo)識一個進(jìn)程。一個進(jìn)程通常有兩種標(biāo)識符:(1)進(jìn)程內(nèi)部標(biāo)識符。(2)進(jìn)程外部標(biāo)識符。2.處理機(jī)狀態(tài):由各種寄存器中的內(nèi)容組成。3.進(jìn)程調(diào)度信息(1)進(jìn)程狀態(tài)。(2)進(jìn)程優(yōu)先級。(3)進(jìn)程調(diào)度所需要的其它信息。(4)事件,或阻塞原因。4.進(jìn)程控制信息,包括:(1)程序和數(shù)據(jù)的地址;(2)進(jìn)程同步和通信機(jī)制;(3)資源清單;(4)鏈接指針。第2章進(jìn)程管理192.2.2進(jìn)程控制塊的組織方式各進(jìn)程的PCB有如下幾種組織方式:線性方式、鏈接方式和索引方式。1.線性方式將各進(jìn)程的PCB依次放入一個表中,結(jié)構(gòu)如下圖所示。PCB1PCB2PCB3……PCBn-1PCBn第2章進(jìn)程管理20圖2-5PCB的線性組織方式2.鏈接方式鏈接方式是經(jīng)常采用的方式。其原理是:按照進(jìn)程的不同狀態(tài)分別將其放在不同的隊(duì)列。Linux操作系統(tǒng)就是應(yīng)用這種進(jìn)程控制塊組織方式。運(yùn)行隊(duì)列指針就緒隊(duì)列指針PCBPCBPCB0阻塞隊(duì)列1指針阻塞隊(duì)列2指針PCB0PCBPCBPCB0PCBPCBPCB0圖2-6PCB鏈接隊(duì)列示意圖第2章進(jìn)程管理213.索引方式系統(tǒng)根據(jù)所有進(jìn)程的狀態(tài)建立幾張索引表。阻塞索引表就緒索引表執(zhí)行指針就緒表指針阻塞表指針PCB1PCB2PCB3PCB4PCB5PCB6PCB7圖2-7PCB索引結(jié)構(gòu)示意圖第2章進(jìn)程管理222.2.3Linux進(jìn)程的PCBLinux系統(tǒng)中的進(jìn)程稱為任務(wù)。該系統(tǒng)的進(jìn)程控制塊PCB用一個稱為task-struct的結(jié)構(gòu)體來描述,Linux系統(tǒng)PCB包含以下信息:1.進(jìn)程描述信息(1)進(jìn)程標(biāo)識號(pid,processidentifier)(2)用戶和組標(biāo)識(userandgroupidentifier)(3)連接信息(Links)2.進(jìn)程控制信息(1)進(jìn)程當(dāng)前狀態(tài)(2)調(diào)度信息(3)記時信息(4)通信信息第2章進(jìn)程管理23Linux支持典型的UNIX進(jìn)程間通信機(jī)制——信號、管道,也支持SystemⅤ通信機(jī)制——共享內(nèi)存、信號量和消息隊(duì)列。3.進(jìn)程資源信息記錄了與該進(jìn)程有關(guān)的存儲器的各種地址和資料、文件系統(tǒng)以及打開文件的信息等等。4.CPU現(xiàn)場信息第2章進(jìn)程管理242.3進(jìn)程控制所謂進(jìn)程控制,就是系統(tǒng)使用一引起具有特定功能的程序段來創(chuàng)建、撤消進(jìn)程以及完成進(jìn)程各狀態(tài)間的轉(zhuǎn)換,從而達(dá)到多進(jìn)程高效率并發(fā)執(zhí)行和協(xié)調(diào)、實(shí)現(xiàn)資源共享的目的。原語:把系統(tǒng)態(tài)下執(zhí)行的某些具有特定功能并且不可被中斷的程序段稱為原語。原語的特點(diǎn)是:系統(tǒng)程序、不可被中斷。系統(tǒng)在創(chuàng)建、撤消一個進(jìn)程以及要改變進(jìn)程的狀態(tài)時,都要調(diào)用相應(yīng)的程序段來完成這些功能。用于進(jìn)程控制的原語有:創(chuàng)建原語、撤消原語、阻塞原語、喚醒原語等。第2章進(jìn)程管理252.3.1進(jìn)程的創(chuàng)建與終止1.進(jìn)程的創(chuàng)建導(dǎo)致進(jìn)程創(chuàng)建的事件有:用戶登錄、作業(yè)調(diào)度、為用戶提供服務(wù)等。創(chuàng)建原語Creat(),通過下述步驟創(chuàng)建一個進(jìn)程。(1)申請空白PCB。(2)為新進(jìn)程分配資源。(3)初始化進(jìn)程控制塊。(4)將新建進(jìn)程插入就緒態(tài)隊(duì)列。2.進(jìn)程的終止過程在進(jìn)程中,操作系統(tǒng)調(diào)用進(jìn)程終止原語,終止本進(jìn)程。過程如下:(1)根據(jù)被終止進(jìn)程的標(biāo)識符,從PCB隊(duì)列中檢索出該進(jìn)程的PCB,從中讀出該進(jìn)程的狀態(tài)。。(2)若被終止進(jìn)程正處于執(zhí)行狀態(tài),應(yīng)立即終止該進(jìn)程的執(zhí)行,該進(jìn)程被終止后應(yīng)重新進(jìn)程調(diào)度。(3)檢查該進(jìn)程有無子孫進(jìn)程,若有,則應(yīng)將其所有子孫進(jìn)程終止。(4)釋放終止的進(jìn)程所占有的資源,將其歸還它的父進(jìn)程或者系統(tǒng)。(5)將被終止的進(jìn)程從它的PCB隊(duì)列中移出。第2章進(jìn)程管理263.進(jìn)程阻塞與進(jìn)程喚醒
進(jìn)程狀態(tài)的轉(zhuǎn)換需要通過進(jìn)程之間的同步或通信機(jī)構(gòu)來實(shí)現(xiàn),也可直接使用“阻塞原語”和“喚醒原語”來實(shí)現(xiàn)。(1)進(jìn)程的阻塞當(dāng)一個進(jìn)程所等待的某一事件尚未發(fā)生時,該進(jìn)程調(diào)用阻塞原語block()將自己阻塞,轉(zhuǎn)換為等待狀態(tài)。(2)進(jìn)程的喚醒處于等待狀態(tài)的進(jìn)程,只有當(dāng)該進(jìn)程所等待的外部事件發(fā)生時,才由發(fā)生該事件的進(jìn)程調(diào)用喚醒原語wakeup()將它喚醒。第2章進(jìn)程管理272.3.2幾個相關(guān)的Linux系統(tǒng)調(diào)用
在Linux系統(tǒng)中,系統(tǒng)向用戶提供了一些對進(jìn)程進(jìn)行控制的系統(tǒng)調(diào)用。常用的有:1.fork()系統(tǒng)調(diào)用
Linux利用fork()系統(tǒng)調(diào)用創(chuàng)建一個新進(jìn)程。2.Exec系統(tǒng)調(diào)用利用exec系統(tǒng)調(diào)用執(zhí)行另一個程序。3.exit()系統(tǒng)調(diào)用父進(jìn)程在創(chuàng)建子進(jìn)程時,應(yīng)在進(jìn)程的末尾寫一條exit,使子進(jìn)程自我終止。4.wait系統(tǒng)調(diào)用將調(diào)用進(jìn)程掛起,直至其子進(jìn)程因暫?;蚪K止而發(fā)來軟中斷信號為止。第2章進(jìn)程管理282.3.3進(jìn)程的阻塞與喚醒
實(shí)現(xiàn)進(jìn)程的執(zhí)行狀態(tài)到等待狀態(tài),又由等待狀態(tài)到就緒狀態(tài)轉(zhuǎn)換的兩種原語,分別為阻塞原語與喚醒原語。入口保存該進(jìn)程的CPU現(xiàn)場字置該進(jìn)程的狀態(tài)阻塞進(jìn)程PCB進(jìn)入等待隊(duì)列轉(zhuǎn)進(jìn)程調(diào)度入口從等待隊(duì)列取被喚醒進(jìn)程將被喚醒進(jìn)程置為就緒態(tài)被喚醒進(jìn)程插入就緒隊(duì)列轉(zhuǎn)進(jìn)程調(diào)度或返回圖2-8阻塞原語的實(shí)現(xiàn)圖2-9喚醒原語的實(shí)現(xiàn)第2章進(jìn)程管理292.4進(jìn)程的同步與互斥2.4.1臨界資源的概念1.臨界資源
兩個或兩個以上的進(jìn)程不能同時使用的資源為臨界資源。臨界資源可能是一些獨(dú)占設(shè)備,如打印機(jī)、磁帶機(jī)等;也可能是一些共享變量、表格、鏈表等。第2章進(jìn)程管理302.臨界區(qū)每個進(jìn)程中訪問臨界資源的那段代碼稱為臨界區(qū)。在臨界區(qū)前面增加一段用于進(jìn)行檢查的代碼,把這段代碼稱為進(jìn)入?yún)^(qū);相應(yīng)地,在臨界區(qū)后面再加一段用于退出臨界區(qū)的代碼,稱為退出區(qū)。進(jìn)程中除去上述進(jìn)入?yún)^(qū)和退出區(qū),其它部分的代碼,稱為剩余區(qū)。這樣,可將一個訪問臨界資源的進(jìn)程描述如下:repeat進(jìn)入?yún)^(qū);臨界區(qū);退出區(qū);剩余區(qū);untilfalse;第2章進(jìn)程管理312.4.2進(jìn)程的互斥與同步1.同步與互斥的概念所謂進(jìn)程互斥,是指多個進(jìn)程不能同時使用同一個臨界資源CR。即兩個或兩個以上的進(jìn)程必須互斥地使用臨界資源,或不能同時進(jìn)入臨界區(qū)CS。兩個邏輯上完全獨(dú)立、毫無關(guān)系的進(jìn)程,由于競爭同一個資源而相互制約,就稱為進(jìn)程的互斥。所謂進(jìn)程同步,是指有協(xié)作關(guān)系的進(jìn)程之間,要不斷地調(diào)整它們之間的相對速度或執(zhí)行過程,以保證臨界資源的合理利用和進(jìn)程的順利執(zhí)行。實(shí)現(xiàn)進(jìn)程同步的機(jī)制稱為進(jìn)程同步機(jī)制。2.同步機(jī)制應(yīng)遵循的規(guī)則所有同步機(jī)制都應(yīng)遵循下列準(zhǔn)則:(1)空閑讓進(jìn)。(2)忙則等待。(3)有限等待。(4)讓權(quán)等待。第2章進(jìn)程管理322.4.3鎖機(jī)制
實(shí)現(xiàn)互斥的一種軟件是采用鎖機(jī)制,即提供一對上鎖(Lock)和開鎖(UnLock)原語,以及一個鎖變量w(或者是鎖位1個bit)。加鎖及解鎖原語可描述如下:加鎖原語:Lockw:L:ifw=1thengotoLElsew:=1開鎖原語:UnLockw:w:=0;第2章進(jìn)程管理332.4.4信號量機(jī)制
申請和釋放臨界資源的兩個原語操作:wait操作和signal操作,有時也稱為P操作和V操作。信號量(Semaphore),也叫做信號燈,它是在信號量同步機(jī)制中用于實(shí)現(xiàn)進(jìn)程的同步和互斥的有效數(shù)據(jù)結(jié)構(gòu)。我們可以為每類資源設(shè)置一個信號量。它有多種類型的數(shù)據(jù)結(jié)構(gòu),即:整型信號量、記錄型信號量、AND型信號量及信號量集等。第2章進(jìn)程管理341.整型信號量
整型信號量的數(shù)值表示當(dāng)前系統(tǒng)中可用的該類臨界資源的數(shù)量。如設(shè)置整型信號量s,則s的值意義為:s>0,則s的值表示系統(tǒng)中空閑的該類臨界資源的個數(shù);s=0,則表示系統(tǒng)中該類臨界資源剛好全部被占用,而且沒有進(jìn)程在等待該臨界資源;s<0,則s的絕對值表示系統(tǒng)中的進(jìn)程等待該類臨界資源的個數(shù);第2章進(jìn)程管理352.記錄型信號量
記錄型信號量的數(shù)據(jù)結(jié)構(gòu)由兩部分構(gòu)成。例如:定義記錄型信號量S,則:s的值表示系統(tǒng)中可用的該類臨界資源的數(shù)量,而L為進(jìn)程鏈表指針,指向等待該類資源的PCB隊(duì)列。設(shè)變量S為記錄型信號量,則wait(S)操作和signal(S)操作的流程如下圖所示:第2章進(jìn)程管理36Wati(S)是Wati(S)s=s-1申請到資源本進(jìn)程繼續(xù)本進(jìn)程入阻塞隊(duì)列s≥0否轉(zhuǎn)進(jìn)程調(diào)度圖2-10Wait操作原語流是signal(S)s=s+1喚醒一阻塞態(tài)進(jìn)程s≤0否圖2-11signal操作原語流釋放該類資源本進(jìn)程繼續(xù)第2章進(jìn)程管理37申請臨界資源的原語wait操作可描述為:procedurewait(S)varS:semaphore;begins:=s-1;ifs≥0then本進(jìn)程繼續(xù);else{將本進(jìn)程放入阻塞態(tài)隊(duì)列;轉(zhuǎn)進(jìn)程調(diào)度;}end釋放臨界資源的原語signal操作可描述為:proceduresignal(S)varS:semaphore;begins:=s+1;ifs≤0then喚醒指針L所指的阻塞態(tài)進(jìn)程;end
第2章進(jìn)程管理383.AND型信號量
AND同步機(jī)制的基本思想是:將進(jìn)程在整個運(yùn)行過程中需要的所有資源,一次性全部地分配給進(jìn)程,待進(jìn)程使用完成后再一起釋放。只要有一個資源尚未能分配給進(jìn)程,其它所有可能分配的資源,也不能分配給它。也稱為AND同步。AND型信號量集機(jī)制可描述如下:第2章進(jìn)程管理39Swait(S1,S2,…,Sn)ifSi≥1and…andSn≥1thenfori:=1tondoSi:=Si-1;endforelse將該進(jìn)程放入阻塞態(tài)隊(duì)列;endifSsignal(S1,S2,…,Sn)fori:=1tondoSi=Si+1;喚醒所有因Si不滿足而進(jìn)入阻塞隊(duì)列的進(jìn)程;endfor;第2章進(jìn)程管理404.信號量集
信號量集機(jī)制的基本思想是:在AND型信號量集的基礎(chǔ)上進(jìn)行擴(kuò)充,進(jìn)程對信號量Si的測試值為ti(用于信號量的判斷,即Si>=ti,表示資源數(shù)量低于ti時,便不予分配),占用值為di(用于信號量的增減,即Si=Si-d1和Si=Si+d1)Swait(S1,t1,d1;...;Sn,tn,dn);Ssignal(S1,d1;...;Sn,dn);一般“信號量集”的幾種特定情況:(1)Swait(S,d,d)表示每次申請d個資源,當(dāng)少于d個時,便不分配;(2)Swait(S,1,1)表示互斥信號量;(3)Swait(S,1,0)作為一個可控開關(guān)(當(dāng)S≥1時,允許多個進(jìn)程進(jìn)入臨界區(qū);當(dāng)S=0時,禁止任何進(jìn)程進(jìn)入臨界區(qū));(4)“信號量集”未必成對使用Swait和Ssignal。如:一起申請,但可以不一起釋放。第2章進(jìn)程管理412.5進(jìn)程同步問題舉例
2.5.1生產(chǎn)者—消費(fèi)者問題1.問題的描述
有一批生產(chǎn)者進(jìn)程在生產(chǎn)產(chǎn)品,并將這些產(chǎn)品提供給消費(fèi)者進(jìn)程去消費(fèi)。為方便生產(chǎn)者進(jìn)程與消費(fèi)者進(jìn)程能并發(fā)執(zhí)行,在兩者之間設(shè)置了一個具有n個緩沖區(qū)的緩沖池,生產(chǎn)者進(jìn)程將它所生產(chǎn)的產(chǎn)品放入一個緩沖區(qū)中;消費(fèi)者進(jìn)程可從一個緩沖區(qū)中取走產(chǎn)品去消費(fèi)。第2章進(jìn)程管理42012……i………n-2n-1假設(shè)初始情況下緩沖池為空,即counter=0。為在生產(chǎn)者—消費(fèi)者問題中實(shí)現(xiàn)各進(jìn)程的同步,可設(shè)下列信號量:(假設(shè)初始情況下沒有進(jìn)程使用緩沖池,且緩沖池中各緩沖區(qū)都是空的。)mutex:互斥使用緩沖池信號量,由于初始情況下無進(jìn)程使用緩沖池,故初值mutex=1;empty:使用緩沖池中空緩沖區(qū)的信號量,由于初始情況下所有緩沖區(qū)為空,故初值empty=n;full:使用緩沖池中滿緩沖區(qū)的信號量,由于初始情況下沒有緩沖區(qū)存放產(chǎn)品,故初值full=0。設(shè)開始時生產(chǎn)者進(jìn)程存放產(chǎn)品和消費(fèi)者進(jìn)程取產(chǎn)品時,都從第0號緩沖區(qū)開始,并設(shè)這些生產(chǎn)者和消費(fèi)者地位相當(dāng),只要緩沖池未滿,生產(chǎn)者便可將消息送入緩沖池;只要緩沖池未空,消費(fèi)者便可從緩沖池中取走一個消息。第2章進(jìn)程管理43inout圖2-12生產(chǎn)者—消費(fèi)者問題中的緩沖池算法及程序Varmutex,empty,full:semaphore∶=1,n,0;/*定義信號量并賦初值*/buffer:array[0,…,n-1]ofitem;in,out:integer∶=0,0;/*定義存取指針的初始位置*/beginparbegin生產(chǎn)者進(jìn)程proceduer:beginrepeat…生產(chǎn)一件產(chǎn)品;…wait(empty);wait(mutex);將產(chǎn)品放入下一個緩沖區(qū);in∶=(in+1)modn;signal(mutex);signal(full);untilfalse;end第2章進(jìn)程管理44消費(fèi)者進(jìn)程consumer:beginrepeatwait(full);wait(mutex);從下一個緩沖區(qū)中取走一件產(chǎn)品;out∶=(out+1)modn;signal(mutex);signal(empty);消費(fèi)這件產(chǎn)品;untilfalse;endparendend第2章進(jìn)程管理454.在生產(chǎn)者—消費(fèi)者問題中應(yīng)注意:
(1)在每個程序中用于實(shí)現(xiàn)互斥的wait(mutex)和signal(mutex)必須成對地出現(xiàn)。(2)對資源信號量empty和full的wait和signal操作,同樣需要成對地出現(xiàn),但它們分別處于不同的進(jìn)程中,這樣保證生產(chǎn)者進(jìn)程和消費(fèi)者進(jìn)程的同步及交替執(zhí)行。(3)在每個進(jìn)程中,多個wait操作順序不能顛倒,而signal操作的次序是無關(guān)緊要的。第2章進(jìn)程管理462.5.2讀者—寫者問題
1.問題的提出一文件F可以被多個并發(fā)進(jìn)程共享,將這些訪問該文件的進(jìn)程按訪問方式分為兩類:一類只能讀共享對象的內(nèi)容,把這類進(jìn)程稱為讀進(jìn)程或讀者;另一類進(jìn)程則要更新(寫)共享對象文件F,將這些進(jìn)程稱為寫進(jìn)程或?qū)懻?。試用Wait、Signal操作解決各進(jìn)程間的同步問題。2.問題的分析顯然,多個讀者同時讀一個共享對象是可以的,然而一個寫者不能與其它任何讀者或?qū)懻咄瑫r共享該文件。亦即:在使用共享文件時,一個寫進(jìn)程與其它所有進(jìn)程都是互斥的。但多個讀進(jìn)程之間不存在互斥的現(xiàn)象。如圖2-13所示。第2章進(jìn)程管理47共享文件F寫進(jìn)程W讀進(jìn)程R1讀進(jìn)程Rn…圖2-13讀者—寫者問題設(shè)讀進(jìn)程為reader,寫進(jìn)程為writer。為實(shí)現(xiàn)reader與writer進(jìn)程間的同步與互斥,設(shè)如下變量及信號量:wmutex:互斥使用該共享文件信號量。如:寫進(jìn)程write與讀進(jìn)程reader在使用文件時是互斥的;共享文件只有一個,設(shè)初始情況未被使用,則初值為1。readcount:整型變量,表示正在讀的進(jìn)程個數(shù)。初值為0。該變量屬臨界資源。rmutex:計數(shù)器readcount的信號量。因?yàn)閞eadcount是一個可被多個reader進(jìn)程訪問的臨界資源,為此設(shè)一信號量。設(shè)初始狀態(tài)下無進(jìn)程讀和寫,故rmutex的初值設(shè)為1。第2章進(jìn)程管理48
由于多個進(jìn)程可以同時讀,因此只要有一個reader進(jìn)程在讀,其它reader進(jìn)程便不必申請該共享文件,直接讀即可;若無文件在讀,則第一個讀文件的進(jìn)程必須做申請該文件的操作。只要有read進(jìn)程在執(zhí)行,則不允許writer進(jìn)程去寫。因此,僅當(dāng)readcount=0,即無reader進(jìn)程在讀時,reader進(jìn)程才需要執(zhí)行wait(wmutex)操作。若wait(wmutex)操作成功,reader進(jìn)程便可去讀,相應(yīng)地,做readcount+1操作。同理,僅當(dāng)reader進(jìn)程在執(zhí)行了readcount減1操作后其值為0時,才須執(zhí)行signal(wmutex)操作,以便讓writer進(jìn)程寫。第2章進(jìn)程管理493.算法及程序
讀者—寫者問題可描述如下:Var:rmutex,wmutex:semaphore:=1,1;Readcount:integer:=0;beginparbegin讀者進(jìn)程:Reader:beginrepeatwait(rmutex);ifreadcount=0thenwait(wmutex);readcount:=Readcount+1;signal(rmutex);第2章進(jìn)程管理50…進(jìn)行讀操作;…wait(rmutex);readcount:=readcount-1;ifreadcount=0thensignal(wmutex);signal(rmutex);untilfalse;end寫者進(jìn)程:writer:beginrepeatwait(wmutex);執(zhí)行寫操作;signal(wmutex);untilfalse;endparendend第2章進(jìn)程管理514.注意事項(xiàng)及提示(1)對于寫進(jìn)程,共享文件是臨界資源;而對于讀進(jìn)程,該文件不是臨界資源。(2)整型變量readcount是臨界資源,所以在使用前后要進(jìn)行Wait、Signal操作。第2章進(jìn)程管理522.5.3哲學(xué)家進(jìn)餐問題1.問題的提出
設(shè)有5個哲學(xué)家圍坐在一張圓桌前吃飯。桌上有5只筷子,在每人之間放一只。哲學(xué)家要吃飯時,只有分別從左、右兩邊都拿到筷子時,才能吃飯。如果筷子已在他人手上,則該哲學(xué)家必須等待到他人吃完后才能拿到筷子;任何一個哲學(xué)家在自己未拿到兩只筷子吃飯之前,決不放下自己手里的筷子。試描述5位哲學(xué)家吃飯的進(jìn)程。第2章進(jìn)程管理53圖2-14哲學(xué)家就餐餐問題第2章進(jìn)程管理542.問題分析
放在桌子上的筷子是臨界資源,在一段時間內(nèi)只允許一位哲學(xué)家使用。為了實(shí)現(xiàn)對筷子的互斥使用,可以為每一只筷子設(shè)置一個信號量,由這五個信號量構(gòu)成信號量數(shù)組:Varchopstick:array[0,…,4]ofsemaphore;設(shè)初始條件下,所有哲學(xué)家都未吃,故所有信號量均被初始化為1。3.實(shí)現(xiàn)方法
假設(shè)每一位哲學(xué)家拿筷子的方法都是:先拿起左邊的筷子,再拿起右邊的筷子,則第i位哲學(xué)家的活動可描述為:第2章進(jìn)程管理55Pi()beginVarchopstick:array[0,…,4]ofmaphore=[1,1,1,1,1];repeat wait(chopstick[i]); wait(chopstick[(i+1)mod5]); eat;… signal(chopstick[i]); signal(chopstick[(i+1)mod5]); think;untilfalse;end第2章進(jìn)程管理56以上算法存在一個問題:假設(shè)5個哲學(xué)家同時拿起左邊的筷子,那么再去拿右邊的筷子時,就會產(chǎn)生死鎖。下面給出幾種解決方法。(1)至多只允許有四位哲學(xué)家同時去拿左邊的筷子,最終能保證至少有一位哲學(xué)家能夠進(jìn)餐,并在用畢時能釋放出他用過的兩只筷子,從而使更多的哲學(xué)家能夠進(jìn)餐。(2)僅當(dāng)哲學(xué)家的左、右兩只筷子均可用時,才允許他拿起筷子進(jìn)餐。(3)規(guī)定奇數(shù)號哲學(xué)家先拿他左邊的筷子,然后再去拿右邊的筷子;而偶數(shù)號哲學(xué)家則相反。最后總會有一位哲學(xué)家能獲得兩只筷子而進(jìn)餐。具體程序段參看實(shí)訓(xùn)教材。第2章進(jìn)程管理574.不產(chǎn)生死鎖的哲學(xué)家就餐問題算法2.6進(jìn)程通信
進(jìn)程間的信息交換稱為進(jìn)程通信。通常,進(jìn)程間的通信分為兩種:控制信息的傳送與大量信息的傳送。將進(jìn)程間控制信息的交換稱為低級通信,而把進(jìn)程之間大批量數(shù)據(jù)的交換稱為高級通信。進(jìn)程的互斥與同步為低級通信方式,相應(yīng)地,也稱wait、signal操作為低級的通信原語。僅通過P、V操作或鎖的方法是無法實(shí)現(xiàn)進(jìn)程的高級通信的。高級通信方式可分為三大類:共享存儲器系統(tǒng)、消息傳遞系統(tǒng)和管道通信系統(tǒng)。第2章進(jìn)程管理582.6.1共享存儲器系統(tǒng)1.共享存儲器系統(tǒng)的類型(1)基于共享數(shù)據(jù)結(jié)構(gòu)的通信方式在這種通信方式中,要使各進(jìn)程共用某些數(shù)據(jù)結(jié)構(gòu),借以實(shí)現(xiàn)各進(jìn)程間的信息交換。如在生產(chǎn)者—消費(fèi)者問題中,就是用有界緩沖區(qū)這種數(shù)據(jù)結(jié)構(gòu)來實(shí)現(xiàn)通信的。這種通信方式是低效的,只適用于傳遞相對少量的數(shù)據(jù)。(2)基于共享存儲區(qū)的通信方式。在存儲器中劃出了一塊共享存儲區(qū),各進(jìn)程可通過對共享存儲區(qū)中的數(shù)據(jù)的讀或?qū)憗韺?shí)現(xiàn)通信。第2章進(jìn)程管理592.Linux共享存儲區(qū)通信的實(shí)現(xiàn)(1)共享存儲區(qū)的建立利用系統(tǒng)調(diào)用shmget()建立一塊共享存儲區(qū)。該系統(tǒng)調(diào)用將返回該共享存儲區(qū)的描述符shmid;若尚未建立,便為進(jìn)程建立一個指定大小的共享存儲區(qū)。(2)共享存儲區(qū)的操縱可以用shmctl()系統(tǒng)調(diào)用對共享存儲區(qū)的狀態(tài)信息進(jìn)行查詢,如其長度、所連接的進(jìn)程數(shù)、創(chuàng)建者標(biāo)識符等;也可設(shè)置或修改其屬性,如共享存儲區(qū)的許可權(quán)、當(dāng)前連接的進(jìn)程計數(shù)等;還可用來對共享存儲區(qū)加鎖或解鎖,以及修改共享存儲區(qū)標(biāo)識符等。3.共享存儲區(qū)的附接與斷開
在進(jìn)程已經(jīng)建立了共享存儲區(qū)或已獲得了其描述符后,還須利用系統(tǒng)調(diào)用shmat()將該共享存儲區(qū)附接到用戶給定的某個進(jìn)程的虛地址shmaddr上,并指定該存儲區(qū)的訪問屬性,即指明該區(qū)是只讀,還是可讀可寫。此后,此共享存儲區(qū)便成為該進(jìn)程虛地址空間的一部分。進(jìn)程可采取與對其它虛地址空間一樣的存取方法來訪問。當(dāng)進(jìn)程不再需要該共享存儲區(qū)時,再利用系統(tǒng)調(diào)用shmdt()把該區(qū)與進(jìn)程斷開。4.幾個相關(guān)系統(tǒng)調(diào)用共享存儲區(qū)通信中常用的系統(tǒng)調(diào)用:(1)shmget(key,size,flag):功能:獲得一個共享存儲區(qū),若成功,其返回值為該共享存儲區(qū)的描述符。(2)shmat(id,addr,flag)從邏輯上將一個共享存儲區(qū)附接到進(jìn)程的虛擬地址空間上。(3)shmdt(addr):把一個共享存儲區(qū)從指定進(jìn)程的虛地址空間斷開。(4)shmctl(id,cmd,buf)對與共享存儲區(qū)關(guān)聯(lián)的各種參數(shù)進(jìn)行操作,從而對共享存儲區(qū)進(jìn)行控制。第2章進(jìn)程管理622.6.2消息傳遞系統(tǒng)
在消息傳遞系統(tǒng)中,進(jìn)程間的數(shù)據(jù)交換,是以格式化的消息(message)為單位的。程序員直接利用系統(tǒng)提供的一組通信命令進(jìn)行通信。因?qū)崿F(xiàn)方式的不同分為直接通信方式和間接通信方式。間接通信方式又稱為信箱通信方式。信箱是一種數(shù)據(jù)結(jié)構(gòu),邏輯上可分為兩部分:信箱頭和信箱體。信箱頭包含箱體的結(jié)構(gòu)信息,信箱體由多個格子構(gòu)成。信箱通信一般是進(jìn)程之間的雙向通信。第2章進(jìn)程管理631.直接通信方式這種通信是固定在一對進(jìn)程之間。用來發(fā)送和接收消息。兩條原語的形式如下:send(B,message);發(fā)送一個消息給接收進(jìn)程B;receive(A,message);接收進(jìn)程A發(fā)來的消息;通常情況下,接收進(jìn)程可與多個發(fā)送進(jìn)程通信,因此,它不可能事先指定發(fā)送進(jìn)程。對于這樣的應(yīng)用,在接收進(jìn)程接收消息的原語中的源進(jìn)程參數(shù),是完成通信后的返回值,接收原語可表示為:receive(id,message);其中,id為接收消息進(jìn)程的標(biāo)識符。2.間接通信方式間接通信方式又稱為信箱通信方式。信箱是一種數(shù)據(jù)結(jié)構(gòu),邏輯上可分為兩部分:信箱頭和信箱體。信箱頭包含箱體的結(jié)構(gòu)信息,信箱體由多個格子構(gòu)成,它實(shí)際上就是一個有界緩沖池。信箱通信一般是進(jìn)程之間的雙向通信。如圖2-15所示。
信箱體sendreceivereceivesend進(jìn)程B信箱頭圖2-15進(jìn)程的信箱通信方式進(jìn)程A3.消息緩沖隊(duì)列通信機(jī)制
(1)消息緩沖隊(duì)列通信機(jī)制中所用的主要數(shù)據(jù)結(jié)構(gòu)是消息緩沖區(qū)。在設(shè)置消息緩沖隊(duì)列時,還應(yīng)添加用于對消息隊(duì)列進(jìn)行操作和實(shí)現(xiàn)同步的信號量,并將它們存入進(jìn)程的PCB中。
當(dāng)一個發(fā)送進(jìn)程要發(fā)送消息時,便形成一個消息,并發(fā)送給指定的接收進(jìn)程。接收進(jìn)程將所有的消息緩沖區(qū)鏈成一個隊(duì)列,其隊(duì)列首由接收進(jìn)程PCB中的隊(duì)列隊(duì)首指針mq來指出。
(2)發(fā)送原語(3)接收原語接收進(jìn)程調(diào)用接收原語,從自己的消息緩沖隊(duì)列中,選取第一個消息緩沖區(qū),并將其中的數(shù)據(jù)復(fù)制到指定的消息接收區(qū)內(nèi)。發(fā)送進(jìn)程在發(fā)送消息之前,應(yīng)先在自己的內(nèi)存空間設(shè)置一發(fā)送區(qū),然后調(diào)用發(fā)送原語,把消息發(fā)送給接收進(jìn)程。4.Linux系統(tǒng)關(guān)于消息傳遞的相關(guān)系統(tǒng)調(diào)用
(1)msgget(key,flag):功能:獲得一個消息的描述符,該描述符指定一個消息隊(duì)列以便用于其他系統(tǒng)調(diào)用。(2)msgsnd(id,msgp,size,flag);功能:發(fā)送一消息。(3)msgrcv(id,msgp,size,type,flag)功能:接受一消息。(4)msgctl(id,cmd,buf):功能:查詢一個消息描述符的狀態(tài),設(shè)置它的狀態(tài)及刪除一個消息描述符。
2.6.3管道通信系統(tǒng)
所謂管道,是指用于連接一個讀進(jìn)程和一個寫進(jìn)程,以實(shí)現(xiàn)他們之間通信的一個共享文件,又名pipe文件。為了協(xié)調(diào)雙方的通信,管道機(jī)制必須提供以下三方面的協(xié)調(diào)能力:(1)互斥,即當(dāng)一個進(jìn)程正在對pipe執(zhí)行讀/寫操作時,其它(另一)進(jìn)程必須等待。(2)同步,指當(dāng)讀寫進(jìn)程使用pipe時,需要同步使用。(3)確定對方是否存在,只有確定了對方已存在時,才能進(jìn)行通信。第2章進(jìn)程管理692.6.4信號通信機(jī)制
1.信號的基本概念每個信號都對應(yīng)一個正整數(shù)常量,即信號編號。信號機(jī)制具有以下三方面的功能:(1)發(fā)送信號。發(fā)送信號的程序用系統(tǒng)調(diào)用kill()實(shí)現(xiàn);(2)預(yù)置對信號的處理方式。接收信號的程序用signal()來實(shí)現(xiàn)預(yù)置處理方式;(3)收受信號的進(jìn)程按事先的規(guī)定完成對相應(yīng)事件的處理。
第2章進(jìn)程管理702.信號的發(fā)送
信號的發(fā)送,是指由發(fā)送進(jìn)程把信號送到指定進(jìn)程的信號域的某一位上。進(jìn)程用kill()向一個進(jìn)程或一組進(jìn)程發(fā)送一個信號。3.信號的處理
對軟中斷信號的處理分三種情況進(jìn)行:(1)如果進(jìn)程收到的軟中斷是一個已決定要忽略的信號(function=1),進(jìn)程不做任何處理便立即返回;(2)進(jìn)程收到軟中斷后便退出(function=0);(3)執(zhí)行用戶設(shè)置的軟中斷處理程序。4.相關(guān)的Linux系統(tǒng)調(diào)用(1)kill()功能:向一個或一組進(jìn)程發(fā)送一個軟中斷信號。(2)signal()功能:預(yù)置對信號的處理方式,允許調(diào)用進(jìn)程控制軟中斷信號。第2章進(jìn)程管理722.7線程
線程是比進(jìn)程更小的能獨(dú)立運(yùn)行的基本單位。2.7.1線程的基本概念線程(thead)是進(jìn)程中執(zhí)行運(yùn)算的最小單位,亦即執(zhí)行處理機(jī)調(diào)度的基本單位。在引入線程的操作系統(tǒng)中,可以在一個進(jìn)程內(nèi)部進(jìn)行線程切換,現(xiàn)場保護(hù)工作量小。線程與進(jìn)程的比較:(1)進(jìn)程是資源分配的基本單位。同一進(jìn)程的所有線程共享該進(jìn)程的所有資源。(2)線程是分配處理機(jī)的基本單位,它與資源分配無關(guān)。(3)一個線程只能屬于一個進(jìn)程,而一個進(jìn)程可以有多個線程,但至少有一個線程。(4)線程在執(zhí)行過程中,需要協(xié)作同步。第2章進(jìn)程管理732.7.2線程的狀態(tài)與轉(zhuǎn)換操作
線程有3種基本狀態(tài),即執(zhí)行、阻塞和就緒。針對線程的3種基本狀態(tài),存在5種基本操作來轉(zhuǎn)換線程的狀態(tài)。它們是:1.派生(spawn)2.調(diào)度(schedule)3.阻塞(Block)4.激活(unblock)5.結(jié)束(Finish)第2章進(jìn)程管理742.7.3引入線程的好處
引入線程的好處有以下幾點(diǎn):1.易于調(diào)度。2.提高了系統(tǒng)的效率。3.創(chuàng)建一個線程比創(chuàng)建一個進(jìn)程花費(fèi)的開銷少,創(chuàng)建速度快。4.有利于發(fā)揮多處理器的功能,提高進(jìn)程的并行性。第2章進(jìn)程管理752.7.4多線程的實(shí)現(xiàn)
多線程機(jī)制是指操作系統(tǒng)支持在一個進(jìn)程內(nèi)執(zhí)行多個線程的能力。多種系統(tǒng)支持多線程實(shí)現(xiàn)的方式并不完全相同。1.用戶級線程用戶級線程是由用戶應(yīng)用程序建立的,并由用戶應(yīng)用程序負(fù)責(zé)對這些線程進(jìn)行調(diào)度和管理,操作系統(tǒng)內(nèi)核并不知道有用戶級線程的存在,只對進(jìn)程進(jìn)行管理。2.內(nèi)核級線程內(nèi)核級線程簡稱為KLT,通常也稱為“純KLT”方法。內(nèi)核級線程中所有線程的創(chuàng)建、調(diào)度和管理全部由操作系統(tǒng)內(nèi)核負(fù)責(zé)完成。
3.用戶級線程與核心態(tài)線程相結(jié)合的模式由于用戶級線程和內(nèi)核級線程各有其特色,因此,如果將兩種方法結(jié)合起來,則可吸取兩者的優(yōu)點(diǎn)。將兩種方法結(jié)合起來的系統(tǒng)稱為多線程的操作系統(tǒng)。內(nèi)核支持多線程的建立、調(diào)度和管理。同時系統(tǒng)中又提供使用線程庫,允許用戶應(yīng)用程序建立、調(diào)度和管理用戶級線程。本章小結(jié)
進(jìn)程是操作系統(tǒng)中的一個非常重要的概念。進(jìn)程是程序的一次執(zhí)行,同時它也是操作系統(tǒng)進(jìn)行資源分配的單位。進(jìn)程具有一些特征,是與程序有根本區(qū)別的概念。進(jìn)程具有動態(tài)性、并發(fā)性、異步性、獨(dú)立性的特性。反映進(jìn)程動態(tài)性的是進(jìn)程狀態(tài)的變化。進(jìn)程從創(chuàng)建到被撤消,要經(jīng)過一些具有生命狀態(tài)的活動。進(jìn)程的三個基本狀態(tài)包括阻塞、就緒、執(zhí)行,除此之外,不同的操作系統(tǒng)還具有其它一些狀態(tài)。進(jìn)程的狀態(tài)轉(zhuǎn)換由相應(yīng)的原語來完成。進(jìn)程的并發(fā)執(zhí)行是指,在同一時間間隔內(nèi)多個進(jìn)程同時發(fā)生。進(jìn)程的并發(fā)特性反映在進(jìn)程對資源的競爭以及由資源競爭所引起的對進(jìn)程執(zhí)行速度的制約。我們可以通過提高進(jìn)程的并發(fā)性,來提高整個系統(tǒng)的效率。第2章進(jìn)程管理78進(jìn)程上下文由以下部分組成:進(jìn)程控制塊、正文段、數(shù)據(jù)段以及各種寄存器和堆棧中的值。進(jìn)程控制塊PCB是進(jìn)程存在的惟一標(biāo)志,它包含進(jìn)程的運(yùn)行信息和程序的控制信息。進(jìn)程控制塊在內(nèi)存中的組織方式有:線性方式、鏈接方式和索引方式。對于Linux系統(tǒng),我們可以通過幾個常用的進(jìn)程創(chuàng)建和控制的系統(tǒng)調(diào)用,實(shí)現(xiàn)對進(jìn)程的控制。第2章進(jìn)程管理79不能被多個進(jìn)程同時使用的資源稱為臨界資源。將每個進(jìn)程中訪問臨界資源的那段代碼稱為臨界區(qū)。多個進(jìn)程不能同時進(jìn)入同一個臨界區(qū),叫做進(jìn)程之間的互斥;多個進(jìn)程在使用臨界資源時,表現(xiàn)出來的相互協(xié)調(diào)、相互合作、互相等待,使得各進(jìn)程按一定的速度執(zhí)行的過程稱為進(jìn)程間的同步。具有同步關(guān)系的一組并發(fā)進(jìn)程稱為合作進(jìn)程。實(shí)現(xiàn)進(jìn)程的互斥和同步,可以用鎖或P、V操作來實(shí)現(xiàn)。P操作是申請臨界資源的原語操作,也稱為wait操作;V操作是釋放臨界資源的原語操作,也稱為signal操作。信號量是P、V操作的對象。第2章進(jìn)程管理80
進(jìn)程通信可包括低級通信和高級通信。對于進(jìn)程進(jìn)行控制的通信是低級通信;傳遞大量數(shù)據(jù)的通信稱為高級通信。高級通信包括:共享存儲器系統(tǒng)、消息傳遞系統(tǒng)和管道通信系統(tǒng)。與進(jìn)程概念密切相關(guān)的概念是線程。線程可看成是進(jìn)程中指令的不同執(zhí)行路線,它是為了提高操作系統(tǒng)的執(zhí)行效率而引入的。線程又稱為輕型進(jìn)程,在有線程的操作系統(tǒng)中,它是操作系統(tǒng)分配處理機(jī)的基本單位,而進(jìn)程是分配資源的基本單位。線程分為兩類:用戶線程和內(nèi)核線程。第2章進(jìn)程管理81安全閥基本知識如果壓力容器(設(shè)備/管線等)壓力超過設(shè)計壓力…1.盡可能避免超壓現(xiàn)象堵塞(BLOCKED)火災(zāi)(FIRE)熱泄放(THERMALRELIEF)如何避免事故的發(fā)生?2.使用安全泄壓設(shè)施爆破片安全閥如何避免事故的發(fā)生?01安全閥的作用就是過壓保護(hù)!一切有過壓可能的設(shè)施都需要安全閥的保護(hù)!這里的壓力可以在200KG以上,也可以在1KG以下!設(shè)定壓力(setpressure)安全閥起跳壓力背壓(backpressure)安全閥出口壓力超壓(overpressure)表示安全閥開啟后至全開期間入口積聚的壓力.幾個壓力概念彈簧式先導(dǎo)式重力板式先導(dǎo)+重力板典型應(yīng)用電站鍋爐典型應(yīng)用長輸管線典型應(yīng)用罐區(qū)安全閥的主要類型02不同類型安全閥的優(yōu)缺點(diǎn)結(jié)構(gòu)簡單,可靠性高適用范圍廣價格經(jīng)濟(jì)對介質(zhì)不過分挑剔彈簧式安全閥的優(yōu)點(diǎn)預(yù)漏--由于閥座密封力隨介質(zhì)壓力的升高而降低,所以會有預(yù)漏現(xiàn)象--在未達(dá)到安全閥設(shè)定點(diǎn)前,就有少量介質(zhì)泄出.100%SEATINGFORCE75502505075100%SETPRESSURE彈簧式安全閥的缺點(diǎn)過大的入口壓力降會造成閥門的頻跳,縮短閥門使用壽命.ChatterDiscGuideDiscHolderNozzle彈簧式安全閥的缺點(diǎn)彈簧式安全閥的缺點(diǎn)=10090807060500102030405010%OVERPRESSURE%BUILT-UPBACKPRESSURE%RATEDCAPACITY普通產(chǎn)品平衡背壓能力差.在普通產(chǎn)品基礎(chǔ)上加裝波紋管,使其平衡背壓的能力有所增強(qiáng).能夠使閥芯內(nèi)件與高溫/腐蝕性介質(zhì)相隔離.平衡波紋管彈簧式安全閥的優(yōu)點(diǎn)優(yōu)異的閥座密封性能,閥座密封力隨介質(zhì)操作壓力的升高而升高,可使系統(tǒng)在較高運(yùn)行壓力下高效能地工作.ResilientSeatP1P1P2先導(dǎo)式安全閥的優(yōu)點(diǎn)平衡背壓能力優(yōu)秀有突開型/調(diào)節(jié)型兩種動作特性可遠(yuǎn)傳取壓先導(dǎo)式安全閥的優(yōu)點(diǎn)對介質(zhì)比較挑剃,不適用于較臟/較粘稠的介質(zhì),此類介質(zhì)會堵塞引壓管及導(dǎo)閥內(nèi)腔.成本較高.先導(dǎo)式安全閥的缺點(diǎn)重力板式產(chǎn)品的優(yōu)點(diǎn)目前低壓儲罐呼吸閥/緊急泄放閥的主力產(chǎn)品.結(jié)構(gòu)簡單.價格經(jīng)濟(jì).重力板式產(chǎn)品的缺點(diǎn)不可現(xiàn)場調(diào)節(jié)設(shè)定值.閥座密封性差,并有較嚴(yán)重的預(yù)漏.受背壓影響大.需要很高的超壓以達(dá)到全開.不適用于深冷/粘稠工況.幾個常用規(guī)范ASMEsectionI-動力鍋爐(FiredVessel)ASMEsectionVIII-非受火容器(UnfiredVessel)API2000-低壓安全閥設(shè)計(LowpressurePRV)API520-火災(zāi)工況計算與選型(FireSizing)API526-閥門尺寸(ValveDimension)API527-閥座密封(SeatTightness)介質(zhì)狀態(tài)(氣/液/氣液雙相).氣態(tài)介質(zhì)的分子量&Cp/Cv值.液態(tài)介質(zhì)的比重/黏度.安全閥泄放量要求.設(shè)定壓力.背壓.泄放溫度安全閥不以連接尺寸作為選型報價依據(jù)!如何提供高質(zhì)量的詢價?彈簧安全閥的結(jié)構(gòu)彈簧安全閥起跳曲線彈簧安全閥結(jié)構(gòu)彈簧安全閥結(jié)構(gòu)導(dǎo)壓管活塞密封活塞導(dǎo)向不平衡移動副(活塞)導(dǎo)管導(dǎo)閥彈性閥座P1P1P2先導(dǎo)式安全閥結(jié)構(gòu)先導(dǎo)式安全閥的工作原理頻跳安全閥的頻跳是一種閥門高頻反復(fù)開啟關(guān)閉的現(xiàn)象。安全閥頻跳時,一般來說密封面只打開其全啟高度的幾分只一或十幾分之一,然后迅速回座并再次起跳。頻跳時,閥瓣和噴嘴的密封面不斷高頻撞擊會造成密封面的嚴(yán)重?fù)p傷。如果頻跳現(xiàn)象進(jìn)一步加劇還有可能造成閥體內(nèi)部其他部分甚至系統(tǒng)的損傷。安全閥工作不正常的因素頻跳后果1、導(dǎo)向平面由于反復(fù)高頻磨擦造成表面劃傷或局部材料疲勞實(shí)效。2、密封面由于高頻碰撞造成損傷。3、由于高頻振顫造成彈簧實(shí)效。4、由頻跳所帶來的閥門及管道振顫可能會破壞焊接材料和系統(tǒng)上其他設(shè)備。5、由于安全閥在頻跳時無法達(dá)到需要的排放量,系統(tǒng)壓力有可能繼續(xù)升壓并超過最大允許工作壓力。安全閥工作不正常的因素A、系統(tǒng)壓力在通過閥門與系統(tǒng)之間的連接管時壓力下降超過3%。當(dāng)閥門處于關(guān)閉狀態(tài)時,閥門入口處的壓力是相對穩(wěn)定的。閥門入口壓力與系統(tǒng)壓力相同。當(dāng)系統(tǒng)壓力達(dá)到安全閥的起跳壓力時,閥門迅速打開并開始泄壓。但是由于閥門與系統(tǒng)之間的連接管設(shè)計不當(dāng),造成連接管內(nèi)局部壓力下降過快超過3%,是閥門入口處壓力迅速下降到回座壓力而導(dǎo)致閥門關(guān)閉。因此安全閥開啟后沒有達(dá)到完全排放,系統(tǒng)壓力仍然很高,所以閥門會再次起跳并重復(fù)上述過程,既發(fā)生頻跳。導(dǎo)致頻跳的原因?qū)е陆庸軌航蹈哂?%的原因1、閥門與系統(tǒng)間的連接管內(nèi)徑小于閥門入口管內(nèi)徑。2、存在嚴(yán)重的渦流現(xiàn)象。3、連接管過長而且沒有作相應(yīng)的補(bǔ)償(使用內(nèi)徑較大的管道)。4、連接管過于復(fù)雜(拐彎過多甚至在該管上開口用作它途。在一般情況下安全閥入口處不允許安裝其他閥門。)導(dǎo)致頻跳的原因B、閥門的調(diào)節(jié)環(huán)位置設(shè)置不當(dāng)。安全閥擁有噴嘴環(huán)和導(dǎo)向環(huán)。這兩個環(huán)的位置直接影響安全閥的起跳和回座過程。如果噴嘴環(huán)的位置過低或?qū)颦h(huán)的位置過高,則閥門起跳后介質(zhì)的作用力無法在閥瓣座和調(diào)節(jié)環(huán)所構(gòu)成的空間內(nèi)產(chǎn)生足夠的托舉力使閥門保持排放狀態(tài),從而導(dǎo)致閥門迅速回座。但是系統(tǒng)壓力仍然保持較高水平,因此回座后閥門會很快再次起跳。導(dǎo)致頻跳的原因C、安全閥的額定排量遠(yuǎn)遠(yuǎn)大于所需排量。
由于所選的安全閥的喉徑面積遠(yuǎn)遠(yuǎn)大于所需,安全閥排放時過大的排量導(dǎo)致壓力容器內(nèi)局部壓力下降過快,而系統(tǒng)本身的超壓狀態(tài)沒有得到緩解,使安全閥不得不再次起跳頻跳的原因閥門拒跳:當(dāng)系統(tǒng)壓力達(dá)到安全閥的起跳壓力時,閥門不起跳的現(xiàn)象。安全閥工作不正常的因素1、閥門整定壓力過高。2、閥門內(nèi)落入大量雜質(zhì)從而使閥辦座和導(dǎo)套間卡死或摩擦力過大。3、彈簧之間夾入雜物使彈簧無法被正常壓縮。4、閥門安裝不當(dāng),使閥門垂直度超過極限范圍(正負(fù)兩度)從而使閥桿組件在起跳過程中受阻。5、排氣管道沒有被可靠支撐或由于管道受熱膨脹移位從而對閥體產(chǎn)生扭轉(zhuǎn)力,導(dǎo)致閥體內(nèi)機(jī)構(gòu)發(fā)生偏心而卡死。安全閥拒跳的原因閥門不回座或回座比過大:安全閥正常起跳后長時間無法回座,閥門保持排放狀態(tài)的現(xiàn)象。安全閥工作不正常的因素1、閥門上下調(diào)整環(huán)的位置設(shè)置不當(dāng)。2、排氣管道設(shè)計不當(dāng)造成排氣不暢,由于排氣管道過小、拐彎過多或被堵塞,使排放的蒸汽無法迅速排出而在排氣管和閥體內(nèi)積累,這時背壓會作用在閥門內(nèi)部機(jī)構(gòu)上并產(chǎn)生抑制閥門關(guān)閉的趨勢。3、閥門內(nèi)落入大量雜質(zhì)從而使閥瓣座和導(dǎo)套之間卡死后摩擦力過大。安全閥不回座或回座比過大的因素:4、彈簧之間夾入雜物從而使彈簧被正常壓縮后無法恢復(fù)。5、由于對閥門排放時的排放反力計算不足,從而在排放時閥體受力扭曲損壞內(nèi)部零件導(dǎo)致卡死。6、閥桿螺母(位于閥桿頂端)的定位銷脫落。在閥門排放時由于振動使該螺母下滑使閥桿組件回落受阻。安全閥不回座或回座比過大的因素:7、由于彈簧壓緊螺栓的鎖緊螺母松脫,在閥門排放時由于振動時彈簧壓緊螺栓松動上滑導(dǎo)致閥門的設(shè)定起跳值不斷減小。
8、閥門安裝不當(dāng),使閥門垂直度超過極限范圍(正負(fù)兩度)從而使閥桿組件在回落過程中受阻。
9、閥門的密封面中有雜質(zhì),造成閥門無法正常關(guān)閉。
10、鎖緊螺母沒有鎖緊,由于管道震動下環(huán)向上運(yùn)動,上平面高于密封面,閥門回座時無法密封安全閥不回座或回座比過大的因素:謝謝觀看癌基因與抑癌基因oncogene&tumorsuppressorgene24135基因突變概述.癌基因和抗癌基因的概念.癌基因的分類.癌基因產(chǎn)物的作用.癌基因激活的機(jī)理主要內(nèi)容疾?。?/p>
——是人體某一層面或各層面形態(tài)和功能(包括其物質(zhì)基礎(chǔ)——代謝)的異常,歸根結(jié)底是某些特定蛋白質(zhì)結(jié)構(gòu)或功能的變異,而這些蛋白質(zhì)又是細(xì)胞核中相應(yīng)基因借助細(xì)胞受體和細(xì)胞中信號轉(zhuǎn)導(dǎo)分子接收信號后作出應(yīng)答(表達(dá))的產(chǎn)物。TranscriptionTranslationReplicationDNARNAProtein中心法規(guī)Whatisgene?基因:
—是遺傳信息的載體
—是一段特定的DNA序列(片段)
—是編碼RNA或蛋白質(zhì)的一段DNA片段
—是由編碼序列和調(diào)控序列組成的一段DNA片段基因主宰生物體的命運(yùn):微效基因的變異——生物體對生存環(huán)境的敏感度變化關(guān)鍵關(guān)鍵基因的變異——生物體疾病——死亡所以才有:“人類所有疾病均可視為基因病”之說注:如果外傷如燒傷、骨折等也算疾病的話,外傷應(yīng)該無法歸入基因病的行列。Genopathy問:兩個不相干的人,如果他們患得同一疾病,致病基因是否相同?再問:同卵雙生的孿生兄弟,他們患病的機(jī)會是否一樣,命運(yùn)是否相同?┯┯┯┯
ATGC
TACG
┷┷┷┷┯┯┯┯┯
ATAGC
TATCG
┷┷┷┷┷┯┯┯┯
ATGC
TACG
┷┷┷┷┯┯┯
AGC
TCG
┷┷┷┯┯┯┯
ACGC
TGCG
┷┷┷┷┯┯┯┯
ATGC
TACG
┷┷┷┷增添缺失替換DNA分子(復(fù)制)中發(fā)生堿基對的______、______
和
,而引起的
的改變。替換增添缺失基因結(jié)構(gòu)基因變異的概念:英語句子中的一個字母的改變,可能導(dǎo)致句子的意思發(fā)生怎樣的變化?可能導(dǎo)致句子的意思不變、變化不大或完全改變THECATSATONTHEMATTHECATSITONTHEMATTHEHATSATONTHEMATTHECATONTHEMAT同理:替換、增添、缺失堿基對,可能會使性狀不變、變化不大或完全改變?;虻慕Y(jié)構(gòu)改變,一定會引起性狀的改變??原句:1.基因多態(tài)性與致病突變基因變異與疾病的關(guān)系2.單基因病、多基因病3.疾病易感基因
基因多態(tài)性polymorphism是指DNA序列在群體中的變異性(差異性)在人群中的發(fā)生概率>1%(SNP&CNP)<1%的變異概率叫做突變基因多態(tài)性特定的基因多態(tài)性與疾病相關(guān)時,可用致病突變加以描述SNP:散在單個堿基的不同,單個堿基的缺失、插入和置換。
CNP:DNA片段拷貝數(shù)變異,包括缺失、插入和重復(fù)等。同義突變、錯義突變、無義突變、移碼突變
致病突變生殖細(xì)胞基因突變將突變的遺傳信息傳給下一代(代代相傳),即遺傳性疾病。體細(xì)胞基因突變局部形成突變細(xì)胞群(腫瘤)。受精卵分裂基因突變的原因物理因素化學(xué)因素生物因素基因突變的原因(誘發(fā)因素)紫外線、輻射等堿基類似物5BU/疊氮胸苷等病毒和某些細(xì)菌等自發(fā)突變DNA復(fù)制過程中堿基配對出現(xiàn)誤差。UV使相鄰的胸腺嘧啶產(chǎn)生胸腺嘧啶二聚體,DNA復(fù)制時二聚體對應(yīng)鏈空缺,堿基隨機(jī)添補(bǔ)發(fā)生突變。胸腺嘧啶二聚體胸腺嘧啶胸腺嘧啶紫外線誘變物理誘變(physicalinduction)
5溴尿嘧啶(5BU)與T類似,多為酮式構(gòu)型。間期細(xì)胞用酮式5BU處理,5BU能插入DNA取代T與A配對;插入DNA后異構(gòu)成烯醇式5BU與G配對。兩次DNA復(fù)制后,使A/T轉(zhuǎn)換成G/C,發(fā)生堿基轉(zhuǎn)換,產(chǎn)生基因突變?;瘜W(xué)誘變(chemicalinduction)堿基類似物(baseanalogues)誘變AT5-BUA5-BUAAT5-BU5-BU(烯醇式)
(酮式)GGC1.生物變異的根本來源,為生物進(jìn)化提供了最初的原始材料,能使生物的性狀出現(xiàn)差別,以適應(yīng)不同的外界環(huán)境,是生物進(jìn)化的重要因素之一。2.致病突變是導(dǎo)致人類遺傳病的病變基礎(chǔ)?;蛲蛔兊囊饬x概述:腫瘤細(xì)胞惡性增殖特性(一)腫瘤細(xì)胞失去了生長調(diào)節(jié)的反饋抑制正常細(xì)胞受損,一旦恢復(fù)原狀,細(xì)胞就會停止增殖,但是腫瘤細(xì)胞不受這一反饋機(jī)制抑制。(二)腫瘤細(xì)胞失去了細(xì)胞分裂的接觸抑制。正常細(xì)胞體外培養(yǎng),相鄰細(xì)胞相接觸,長在一起,細(xì)胞就會停止增殖,而腫瘤細(xì)胞生長滿培養(yǎng)皿后,細(xì)胞可以重疊起生長。(三)腫瘤細(xì)胞表現(xiàn)出比正常細(xì)胞更低的營養(yǎng)要求。(四)腫瘤細(xì)胞生長有一種自分泌作用,自己分泌生長需要的生長因子和調(diào)控信號,促進(jìn)自身的惡性增殖。Whatisoncogene?癌基因——是基因組內(nèi)正常存在的基因,其編碼產(chǎn)物通常作為正調(diào)控信號,促進(jìn)細(xì)胞的增殖和生長。癌基因的突變或表達(dá)異常是細(xì)胞惡性轉(zhuǎn)化(癌變)的重要原因?!彩悄芫幋a生長因子、生長因子受體、細(xì)胞內(nèi)信號轉(zhuǎn)導(dǎo)分子以及與生長有關(guān)的轉(zhuǎn)錄調(diào)節(jié)因子等的基因。如何發(fā)現(xiàn)癌基因的呢?11910年,洛克菲勒研究院一個年輕的研究員Rous發(fā)現(xiàn),雞肉瘤細(xì)胞裂解物在通過除菌濾器以后,注射到正常雞體內(nèi),可以引起肉瘤,首次提出雞肉瘤可能是由病毒引起的。0.2m孔徑細(xì)菌過不去但病毒可以通過從病毒癌基因到細(xì)胞原癌基因的研究歷程:Roussarcomavirus,RSVthefirstcancer-causingretrovirus1958年,Stewart和Eddy分離出一種病毒,注射到小鼠體內(nèi)可以引起肝臟、腎臟、乳腺、胸腺、腎上腺等多種組織器官的腫瘤,因而把這種病毒稱為多瘤病毒。50年代末、60年代初,癌病毒研究成了一個極具想像力的研究領(lǐng)域,主流科學(xué)家開始進(jìn)入癌病毒研究領(lǐng)域polyomavirus這期間,Temin發(fā)現(xiàn)RSV有不同亞型,且引起細(xì)胞惡變程度不同,推測RNA病毒將其遺傳信息傳遞給了正常細(xì)胞的DNA。這與Crick提出的中心法則是相違背的讓事實(shí)屈從于理論還是堅持基于實(shí)驗(yàn)的結(jié)果?VSTemin發(fā)現(xiàn)逆轉(zhuǎn)錄酶,1975年獲諾貝爾獎TeminCrickTemin的實(shí)驗(yàn)設(shè)計:實(shí)驗(yàn)設(shè)計簡單而巧妙:將合成DNA所需的“原料”,即A、T、C、G四種脫氧核苷酸,與破壞了外殼的RSV一起在體外40℃的條件下溫育一段時間結(jié)果在試管里獲得了一種新合成的大分子,它不能被RNA酶破壞,但卻可以被DNA酶所分解,證明這種新合成的大分子是DNA用RNA酶預(yù)先破壞RSV的RNA,再重復(fù)上述的試驗(yàn),則不能獲得這種大分子,說明這個DNA大分子是以RSV的RNA為模板合成的1969年,一個日本學(xué)者里子水谷來到Temin的實(shí)驗(yàn)室,這是一個非常擅長實(shí)驗(yàn)的年輕科學(xué)家。按Temin的設(shè)想,他們開始尋找RSV中存在“逆轉(zhuǎn)錄酶”的證據(jù)DNA
RNA
ProteinTranscriptionTranslationReplicationReplicationRe-Transcription修正中心法規(guī)據(jù)說,1975年Temin因發(fā)現(xiàn)逆轉(zhuǎn)錄酶而獲諾貝爾獎時,Bishop懊惱不已,因?yàn)樵缭?969年他就認(rèn)為Temin的RNADNA的“前病毒理論”有可能是正確的,并且也進(jìn)行了一些實(shí)驗(yàn),但不久由于資深同事的規(guī)勸而放棄了這方面的努力。但Bishop馬上意識到:逆轉(zhuǎn)錄酶的發(fā)現(xiàn)為逆轉(zhuǎn)錄病毒致癌的研究提供了一條新途徑。一個RSV,三個諾貝爾獎!??!1989年,UCSF的Bishop和Varmus根據(jù)逆轉(zhuǎn)錄病毒的復(fù)制機(jī)制發(fā)現(xiàn)了細(xì)胞癌基因,并獲諾貝爾獎。Cellularoncogene啟示:Perutz說:“科學(xué)創(chuàng)造如同藝術(shù)創(chuàng)造一樣,都不可能通過精心組織而產(chǎn)生”Bishop說:“許多人引以為豪的是一天工作16小時,工作安排要以分秒計……可是工作狂是思考的大敵,而思考則是科學(xué)發(fā)現(xiàn)的關(guān)鍵”Perutzsharedthe1962NobelPrizeforChemistrywithJohnKendrew,fortheirstudiesofthestructuresofhemoglobinandglobularproteins科學(xué)的本質(zhì)和藝術(shù)一樣,都需要直覺和想像力請給自己一些思考的時間吧!癌基因的分類目前對癌基因尚無統(tǒng)一分類的方法,一般有下面3種分類方法:一、按結(jié)構(gòu)特點(diǎn)分(6)類(一)src癌基因家族(二)ras癌基因家族(三)sis癌基因家族(四)myc癌基因家族(五)myb癌基因家族(六)其它:如fos,erb-A等。三、按細(xì)胞增殖調(diào)控蛋白特性分成(4)類(一)生長因子(二)受體類(三)細(xì)胞內(nèi)信號轉(zhuǎn)換器(四)細(xì)胞核因子二、按產(chǎn)物功能分(8)類(一)生長因子類(二)酪氨酸蛋白激酶(三)膜相關(guān)G蛋白(四)受體,無蛋白激酶活性(五)胞質(zhì)絲氨酸-蘇氨酸蛋白激酶(六)胞質(zhì)調(diào)控因子(七)核反式調(diào)控因子(八)其它:db1、bcl-2癌基因產(chǎn)物參與信號轉(zhuǎn)導(dǎo)
胞外信號作用于膜表面受體→胞內(nèi)信使物質(zhì)的生成便意味著胞外信號跨膜傳遞的完成。胞內(nèi)信使至少有:cAMP(環(huán)磷酸腺苷)IP3(三磷酸肌醇)PG(前列腺素)cGMP(環(huán)磷酸鳥苷)DG(二酰基甘油)Ca2+(鈣離子)CAM(鈣調(diào)素)主要機(jī)制是通過蛋白激酶活化引起底物蛋白一連串磷酸化的生物信號反應(yīng)過程,跨膜機(jī)制涉及到:(一)質(zhì)膜上cAMP信使系統(tǒng)(二)質(zhì)膜上肌醇脂質(zhì)系統(tǒng)這兩個系統(tǒng)都是由受體鳥苷酸調(diào)節(jié)蛋白(GTP-regulatoryprotein,G蛋白)和效應(yīng)酶(腺苷酸環(huán)化酶磷脂酶等)組成,有相似的信號轉(zhuǎn)導(dǎo)過程:即受體活化后引起GTP與不同G蛋白結(jié)合活化和抑制效應(yīng)酶從而影響胞內(nèi)信使產(chǎn)生而發(fā)生不同的調(diào)控效應(yīng)。(三)受體操縱的離子通道系統(tǒng)(四)受體酪氨酸蛋白激酶的轉(zhuǎn)導(dǎo)
(一)獲得性基因病
(acquiredgeneticdisease)例如:病毒感染激活原癌基因癌基因活化的機(jī)制
(二)染色體易位和重排使無活性的原癌基因轉(zhuǎn)位至強(qiáng)啟動子或增強(qiáng)子附近而被活化。與基因脆性位點(diǎn)相關(guān)。(三)基因擴(kuò)增(四)點(diǎn)突變?nèi)┗虻漠a(chǎn)物與功能(一)癌基因產(chǎn)物作用的一般特點(diǎn)1.目前發(fā)現(xiàn)c-onc均為結(jié)構(gòu)基因.2.癌基因產(chǎn)物可分布在膜質(zhì)核也可分泌至胞外.(二)癌基因產(chǎn)物分類1.細(xì)胞外生長因子:TGF-b2.跨膜生長因子受體:MAPK3.細(xì)胞內(nèi)信號轉(zhuǎn)導(dǎo)分子:Gprotein/Ras4.核內(nèi)轉(zhuǎn)錄因子
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025至2030年中國自由浮球式自動排液器市場分析及競爭策略研究報告
- 2025至2030年中國磁感應(yīng)封口包裝機(jī)市場調(diào)查研究報告
- 2025至2030年中國椰子糖市場調(diào)查研究報告
- 2025至2030年中國喉腸速效靈片市場調(diào)查研究報告
- 2025-2035年全球及中國香花行業(yè)市場發(fā)展現(xiàn)狀及發(fā)展前景研究報告
- 2025-2035年全球及中國Willow Glass行業(yè)市場發(fā)展現(xiàn)狀及發(fā)展前景研究報告
- 2025年智能樓宇照明項(xiàng)目建議書
- 2025年超聲白內(nèi)障乳化儀項(xiàng)目合作計劃書
- 湖北高中名校聯(lián)盟2025屆高三第二次聯(lián)合測評語文試題及答案
- 2025年船專用碼頭項(xiàng)目發(fā)展計劃
- 臨時工雇傭合同范本2025年度
- (二調(diào))武漢市2025屆高中畢業(yè)生二月調(diào)研考試 地理試卷
- “艾梅乙”感染者消除醫(yī)療歧視制度-
- 2024-2025學(xué)年八年級地理下冊第七章《南方地區(qū)》檢測卷(人教版)
- 森林防火知識
- 2025年黑龍江林業(yè)職業(yè)技術(shù)學(xué)院單招職業(yè)適應(yīng)性測試題庫帶答案
- 第二單元第1課《精彩瞬間》第2課時 課件-七年級美術(shù)下冊(人教版2024)
- 2025年公共營養(yǎng)師三級理論試題及答案
- 煤礦防治水安全質(zhì)量標(biāo)準(zhǔn)化評分表
- 2025電動自行車安全技術(shù)規(guī)范培訓(xùn)課件
- 2025年度教育培訓(xùn)機(jī)構(gòu)學(xué)生綜合素質(zhì)評價協(xié)議3篇
評論
0/150
提交評論