版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
UNIX操作系統(tǒng)圖9-1UNIX的發(fā)展歷史§1UNIX操作系統(tǒng)的歷史和基本結構圖9-2UNIX操作系統(tǒng)的基本結構§2系統(tǒng)活動與系統(tǒng)調用UNIX的內核為用戶態(tài)程序提供服務。每一次進入內核叫做一次系統(tǒng)活動,按引發(fā)這些活動的事件或動作,可分為以下幾類:
·系統(tǒng)調用;
·硬件中斷;
·硬件自陷;
·軟件引起的自陷或中斷。圖9-3系統(tǒng)調用是用戶態(tài)程序與系統(tǒng)內核的接口§3進程管理3.1UNIX進程的兩種運行狀態(tài)
在某些操作系統(tǒng)中,進程分成兩大類:一類是系統(tǒng)進程;另一類是用戶進程。系統(tǒng)進程執(zhí)行操作系統(tǒng)程序,用戶進程執(zhí)行用戶程序。UNIX進程在處理上既可執(zhí)行操作系統(tǒng)程序(內核程序),也可執(zhí)行用戶程序,按照需要在一定時機進行切換。由于操作系統(tǒng)要管理系統(tǒng)中的各種資源和各種活動,而用戶程序卻只應在操作系統(tǒng)的管理和控制下,在一定的范圍內活動,所以進程在執(zhí)行操作系統(tǒng)程序和用戶程序時所處的環(huán)境和特權應有所區(qū)別。3.2進程映象和進程結構圖9-4UNIX進程映象(1)進程控制塊PCB在UNIX中可以包括兩部分信息。一部分是不管進程是否正在處理機上運行,系統(tǒng)都需要查詢和修改的一些控制信息,這部分信息就是proc數(shù)據(jù)結構,可稱其為進程基本控制塊,另一部分則相反,當進程不在處理機上運行時,系統(tǒng)不會對這部分信息進行查詢和處理,這部分信息就構成了另外一個稱為進程擴充控制塊的user數(shù)據(jù)結構。
(2)共享正文段進程執(zhí)行的程序若用純代碼形式的程序和常數(shù)編寫,則可為若干個進程共享執(zhí)行,構成共享正文段。
(3)數(shù)據(jù)段進程執(zhí)行程序時用到的數(shù)據(jù)構成數(shù)據(jù)段。
(4)工作區(qū)(即棧區(qū))進程在核心態(tài)下運行時的工作區(qū)為核心棧,在用戶態(tài)下運行的工作區(qū)為用戶棧。圖9-54.3BSDUNIX進程結構表9-1進程的proc結構3.3進程狀態(tài)表9-2UNIX進程狀態(tài)圖9-6進程狀態(tài)的變遷fork-建立一個子進程,其主要任務是建立進程映象。
swtch-其主要功能是選擇一個處于SRUN可運行狀態(tài)、映象在內存、并且優(yōu)先級最高的進程,準備將處理機占用權交給它。
exit-一個進程在執(zhí)行結束時可調用exit使自己終止,同時通知父進程。
wakeup-其功能是掃描整個proc表,把同一等待原因上的所有進程喚醒,使它們變?yōu)镾RUN可運行狀態(tài)。
sleep-它可使當前執(zhí)行的進程放棄處理機,變成等待睡眠狀態(tài)。
stop-調用stop使處于執(zhí)行狀態(tài)的進程進入暫停狀態(tài)。
setrun-其主要功能是激活處于SSTOP暫停狀態(tài)的進程置為SRUN可運行狀態(tài)。3.4進程環(huán)境切換及進程調度
為實現(xiàn)CPU的有效共享,內核在進程之間進行切換,稱為進程環(huán)境切換。切換方式有二種:當進程由于請求一個緊缺資源而被暫停時,便發(fā)生自愿環(huán)境切換(如當進程向諸如終端一類的低速輸入設備請求數(shù)據(jù)時,一般該進程就要被暫停);當進程用完了時間片或系統(tǒng)發(fā)現(xiàn)一個較高優(yōu)先級進程要執(zhí)行時,便會發(fā)生不自愿的環(huán)境切換。每一種切換將通過不同的進程控制原語實現(xiàn)。調用sleep()產生自愿環(huán)境切換,而通過直接調用swtch()可導致不自愿環(huán)境切換。sleep()將按下列步驟進行操作:
(1)提高處理器優(yōu)先級,以防止可能產生進程狀態(tài)變遷的那些中斷;
(2)確定該進程應進入的睡眠隊列;
(3)設置進程優(yōu)先級作為該進程喚醒時的優(yōu)先級;
(4)把進程放入上述選中的睡眠隊列的末端(見圖9-7(b));(5)調用swtch()以請求調度一個新進程。
swtch()將按下列步驟進行操作:
(1)尋找一個非空運行隊列;
(2)如果有一個非空運行隊列,則取出該隊列的第1個進程(見圖9-7(a));
(3)設置切換標志;
(4)調用resume()使新進程執(zhí)行。
一個進程的調度優(yōu)先級直接由proc結構中的p-cpu和p-nice兩個數(shù)值決定。P-cpu提供了進程最近使用CPU的估算值。P-nice值是用戶可設置的加權因子,數(shù)值范圍在-20到20之間,p-nice的正常值是0,負值增大一個進程的優(yōu)先級,正值則減小進程的優(yōu)先級。
VAX機每隔40s按下述的等式計算一次優(yōu)先級值,以進行進程的調度:3.5進程的創(chuàng)建及終止fork()將按下列步驟進行操作:
(1)為子進程分配一個新的proc結構并初始化;
(2)復制父進程的環(huán)境給子進程(為了復制進程,需要請求內核的存儲管理機構為之服務,以分配子進程運行時所需的全部資源)。
(3)調度子進程運行,把新的子進程放在運行隊列中。
進程可以通過exit系統(tǒng)調用而自愿終止,也可以由于一個信號而不自愿終止。在這兩種情況中,進程終止都將產生一個狀態(tài)標識碼返回給終止進程的父進程。在內核中,一個進程通過調用exit()終止時,首先要按下列步驟清除該進程在核心態(tài)下的執(zhí)行狀態(tài):
(1)取消任一正在進行的計時器;
(2)釋放虛存資源;
(3)關閉所有打開的文件;
(4)處理所有停止的或被跟蹤的子進程。3.6進程通訊(1)利用基本通訊工具sleep和wakeup等來實現(xiàn)系統(tǒng)進程之間的同步。
(2)利用內核提供的“軟中斷”來實現(xiàn)同一用戶的諸進程之間信息的傳輸和同步,這也是一種有效的通訊方式,可以按照預先規(guī)定好的信號或動作實行進程之間通訊,但只是傳遞少量信息。
(3)利用文件系統(tǒng)生成pipe機構來實現(xiàn)進程通訊(即管理通訊),它可為進程之間提供大量信息的傳輸。
(4)提供跟蹤功能。
(5)提供網絡通訊。圖9-8管套模型§4存儲管理1.VAX虛地址空間圖9-9VAX虛地址空間布局4.1VAX存儲管理硬件2.系統(tǒng)地址轉換圖9-10系統(tǒng)虛地址轉換3.用戶地址轉換圖9-11用戶虛地址轉換4.2請頁系統(tǒng)
一個內存映象結構具有如下功能:
(1)記錄一個頁組的當前使用信息,該信息可用于地址轉換。
(2)用空閑頁的內存映射表項鏈接在一起形成內存空閑鏈表,這個空閑鏈保持LRU順序。
(3)通過內存映象表結構進行以頁組為單位的封鎖和同步。如缺頁處理中正在進行I/O時要封鎖內存頁,又如進行I/O操作直接讀寫進程頁時也要封鎖內存頁。
(4)通過內存映象表結構可找出內容有用的空閑頁。2存儲管理程序
在請頁存儲管理技術中將使用到一些系統(tǒng)調用及存儲分配程序。在調用系統(tǒng)調用fork時,內核復制父進程所有頁的物理副本。緊接著調用系統(tǒng)調用exec,當內核從文件系統(tǒng)中將可執(zhí)行文件讀入內存時,首先分配頁表和磁盤塊描述項,然后用系統(tǒng)調用read讀入。內存實際的分配是通過memall()來分配的。新分配的內存當映射到某些虛地址后才能使用,即本程序將通過填入一個虛地址范圍來實現(xiàn)。調用memall()的參數(shù)為指向該虛址范圍首址的相應PTE的指針、頁數(shù)、建立內存映象表用的進程和類型。對該范圍的每一頁組,memall()通過摘出空閑內存鏈的第一項來為其找到內存。
內存還可以通過vmemall()來分配,它與memall()的區(qū)別:若沒有足夠內存可用時memall()返回失敗,而vmemall()則等待內存被釋放。釋放內存的程序也有兩個:memfree()回收分配給一個虛地址空間的所有內存,它假定所有的頁都在內存;而vmemfree()只回收一個虛地址范圍內在內存的那些頁,忽略不在內存的頁。
缺頁處理將執(zhí)行pagein()程序,它負責所有的缺頁服務。每次調用pagein()時要給出產生缺頁的虛地址。pagein()首先找出缺頁地址的PTE并區(qū)分該頁是正文、數(shù)據(jù),還是棧,然后確定該頁可能的狀態(tài):①請求填入;②在內存但無效;③被換出。確定頁的類型及狀態(tài)后,pagein()必須取出所需的數(shù)據(jù),把相應的PTE置為有效,然后返回以重新執(zhí)行進程。
缺頁服務和其它內存要求有時可從空閑鏈中滿足,但漸漸地需要內存的回收,因為,計算機沒有足夠的內存來存放所有頁,因此有必要把某些頁移到外存-對換空間上。43BSD采用LRU算法實現(xiàn)頁淘汰,進程的全部地址空間都可換頁,即使它保持著UNIX的正文、數(shù)據(jù)、棧段的結構。4.3對換
發(fā)生下列情況之一就進行對換:
(1)系統(tǒng)內存嚴重短缺,換頁速度已跟不上內存要求。
(2)系統(tǒng)頁表變?yōu)樗槠?無法為新進程或擴展進程分配頁表空間。
(3)進程已超過20s未活動。
就對換操作來說,主要挑選一個進程對換進來和選擇要對換出去的進程。若有一個以上的被對換出去的進程可運行,則由swapper對換策略來確定要把哪個進程對換進來。這將按下列原則賦予一個優(yōu)先級:
(1)已對換出去的時間;
(2)對換出去的長度;
(3)它的p-nice值,以及自上次運行以來的睡眠時間?!?I/O系統(tǒng)5.1內核I/O結構圖9-12內核I/O結構5.2塊設備緩沖區(qū)(快速緩存)管理及對盤塊的讀寫圖9-13緩沖區(qū)(快速緩存)格式圖9-14緩沖池結構及瞬間映像5.3字符設備管理圖9-15字符緩沖區(qū)cblock圖9-16clist結構
對字符緩沖區(qū)隊列可有如下幾種操作:
(1)可從空閑鏈表中分配一個cblock給一個驅動程序。
(2)可以釋放一個cblock歸還給空閑表。
(3)取字符:移出隊列中第一個字符,調正clist的計數(shù)值和首指針。如相應的cblock已被取空,則釋放它。
(4)存字符:把一個字符放入該隊列的末尾,調正clist的計數(shù)值和尾指針。如果隊列中的最后一塊cblock已滿,則應先分配一個新的cblock,將之鏈入該clist的末尾,并把字符放入新的cblock中去。
(5)內核可以從隊列的開頭一次移走一組字符,即把首塊cblock中的字符全部移走。
(6)內核可以把放有字符的一塊cblock鏈入該鏈的末尾?!?文件管理6.1目錄項與i節(jié)點
UNIX系統(tǒng)V的目錄項占用16字節(jié):前14個字節(jié)為文件名,后二個字節(jié)是i節(jié)點號。i節(jié)點(索引節(jié)點)的各項內容就是本書第六章中講的文件控制塊的主要內容,它與目錄項分別駐在磁盤中不同的空間。若干目錄項組成目錄文件,若干i節(jié)點(每個節(jié)點有64個字節(jié))的集合是i節(jié)點區(qū)。如圖9-17所示。圖9-17目錄項與i節(jié)點圖9-184.3BSD目錄項格式6.2文件存儲空間的管理1.空白塊成組鏈接法圖9-19空白塊成組鏈接法
只有在下述兩種情況下,要求訪盤操作:(1)分配空白塊時,當內存專用區(qū)中索引表只剩下一個空白塊的情況。因該空白塊中存放了下一組各塊的塊號,因此不能立刻將該塊分配掉。這時必須將該塊中存放的下組塊號全部復制到內存專用塊的索引表區(qū)之后,再分配該塊。(2)在釋放空白塊時,如果內存專用區(qū)中索引表已存滿規(guī)定的塊數(shù)(如50塊),這時應先把索引表的內容存入被釋放的空白塊中,并清除索引表,將索引表塊計數(shù)器置1,然后將被釋放的空白塊的塊號記入內存專用區(qū)的索引表中。
2.位示圖法
在4.3BSD文件系統(tǒng)結構中,每個磁盤上包含一個或多個文件系統(tǒng)。而磁盤分區(qū)劃分為一個或多個區(qū)域,每一區(qū)域稱為一個柱面組,每個柱面組的塊位示圖以段為單位記錄柱面組可用空間。4.3BSD為確保文件在二次間接情況下創(chuàng)建文件可達232字節(jié),則確定一個文件可由多個4096字節(jié)的塊組成,這樣做與512或1024字節(jié)的塊長相比,每一次磁盤操作傳輸?shù)臄?shù)據(jù)就增加了若干倍。圖9-204096/1024文件系統(tǒng)塊和段分布的例子6.3打開文件
UNIX在系統(tǒng)內存區(qū)設置了一個含有100個表目的活動i節(jié)點表并由系統(tǒng)動態(tài)分配。每個打開文件都占有一個表目,用來存放相應的活動(內存)i節(jié)點。一個活動i節(jié)點的主體是從對應的盤i節(jié)點中復制而來。系統(tǒng)還在內存設置了一個含有100個表目的系統(tǒng)打開文件表,表目項包含:活動i節(jié)點指針、文件操作方式、讀/寫位移量。多個系統(tǒng)打開文件表表目可對應同一個活動i節(jié)點。UNIX為每個進程在user結構中設置了一個進程打開文件表u-ofile[15],它含有15個表目,即允許一個進程最多打開15個文件。表目內容為文件指針fp,它指向系統(tǒng)打開文件表中的相應表目。6.4文件卷的動態(tài)裝卸
UNIX允許文件卷動態(tài)裝卸,并允許將卷裝在任意一級文件目錄上,這給用戶提供了很大的靈活性。一個卷(存貯設備)可由高級用戶用系統(tǒng)調用命令為卷裝入文件目錄的某一級上建立一個特殊空文件,用來存放卷的根目錄。然后用戶就可以用mount系統(tǒng)調用將某個卷安裝于此空文件處,以后此卷就與文件系統(tǒng)融為一體。文件系統(tǒng)可以像在目錄的其他任何地方一樣在卷內建立和撤銷文件。當用戶不再使用此卷或要換上新卷時,可用系統(tǒng)調用umount將此卷卸掉。卷內目錄上的所有文件都同時被卸下。文件系統(tǒng)內不再有這些文件。用戶還可以再將新卷安裝于此處。因此,在使用卷內文件前,用戶必須知道當前安裝卷的內容,裝錯了卷會找不到所需文件。圖9-21卷的安裝6.5文件保護
1.兩種用戶
UNIX把使用系統(tǒng)的人分成兩種用戶。一種是特權用戶,他們是用root名注冊進入系統(tǒng)的人,或者用su命令從普通用戶轉為特權用戶的人。由于根目錄一般都有口令,因此,特權用戶應當知道根目錄的口令,而不準他人進入根目錄或改變其身份。特權用戶在屏幕上的提示符是“?!?。系統(tǒng)的另一種用戶是普通用戶,他們是用自己定義的名字注冊進入系統(tǒng)的,是在“/usr”目錄下各自的目錄中工作的人。普通用戶和終端不是一一對應的,他們可以使用任意一臺終端,即普通用戶的數(shù)量不受終端數(shù)量的限制。
2.文件的存取權及其改變所屬權的命令
UNIX系統(tǒng)對一個文件的操作規(guī)定有三種不同的存取權,系統(tǒng)又把使用者分成三個等級。于是每個文件就能出現(xiàn)九種存取權:§7系統(tǒng)初啟
1.系統(tǒng)自舉
圖9-22boot程序在內存中的位置
2.內核初始化
(1)初始化期間系統(tǒng)采取的第一步是由匯編語言代碼來實現(xiàn)的,這一工作與機器密切相關,它包括:
·建立運行棧;
·標識執(zhí)行系統(tǒng)的CPU類型;
·計算物理內存總量;
·使虛擬地址轉換硬件成為可用;
·初始化存儲管理硬件;
·初始化0#進程的硬件環(huán)境;
·調用系統(tǒng)的C程序初始入口。
(2)與機器相關的初始化。在匯編語言代碼完成它的工作之后,它調用第一個用C語言寫的內核程序main()。它的主要功能是清理內存空間,對某些系統(tǒng)數(shù)據(jù)結構進行初始化處理,創(chuàng)建0#、1#進程。
main()程序立即調用startup()程序去做與機器相關的初始化,其任務包括:
·信息緩沖區(qū)的初始化;
·為系統(tǒng)數(shù)據(jù)結構分配內存;
·系統(tǒng)的內存分配程序的初始化;
·I/O設備的自動配置和初始化。在調用startup()返回以后,還要對機器的幾個專用硬件部分進行初始化。
(3)與機器無關的初始化。經過以上幾步,就為系統(tǒng)結束初始化過程并啟動某些進程做好了準備工作。上面提到的startup()程序,在其返回后,main()的第一個動作就是建立0#進程的環(huán)境。UNIX操作系統(tǒng)是否能正常運行在很大程度上依仗于0#和1#進程的工作,它們與其它進程不同,不是用系統(tǒng)調用fork,而是在本階段由核心創(chuàng)建的。0#進程最終將實現(xiàn)虛存系統(tǒng)的對換策略,proc表中的第一項分配給0#進程,并把該進程標記為可運行,然后把它安裝為當前運行進程(執(zhí)行狀態(tài))。
0#進程建立好以后,調用有關程序去初始化每個系統(tǒng)數(shù)據(jù)結構:如用vminit()子程序建立請頁系統(tǒng)使用的各個參數(shù);磁盤限量資源控制系統(tǒng)初始化(如快速緩存的初始化);通過調用startrtclock()進行時鐘初始化(43BSD按100Hz實時時鐘運行);通過調用mbinit()來初始化網絡存儲管理系統(tǒng)等等。最后,系統(tǒng)為執(zhí)行用戶態(tài)程序做準備,將通過調用newproc()創(chuàng)建1#進程,然后系統(tǒng)把控制轉向1#進程。為了使操作系統(tǒng)編制得比較緊湊,1#進程被設計成一個一般的用戶進程,在用戶態(tài)下運行。3.各終端進程的初啟
(1)執(zhí)行/etc/init程序。1#進程生成時,它基本上復制了0#進程的映象,沒有在用戶態(tài)下的運行部分?,F(xiàn)在既然設計成用戶進程,所以借助系統(tǒng)調用改變其映象,增加在用戶態(tài)下運行部分。轉而執(zhí)行/etc/init程序,為每個終端創(chuàng)建一個子進程,使用戶能獲得系統(tǒng)對他的服務。1#進程執(zhí)行/etc/init時,先從/etc/ttys中讀出一個有效終端設備名,然后為其生成一個子進程。這一子進程打開了該終端設備,并形成了該進程的標準輸入、標準輸出和出錯信息輸出文件。
(2)執(zhí)行/etc/geffy程序。子進程接著也要改換自己的映象轉而執(zhí)行/etc/getty。該程序主要功能是按照相應終端的特性設置終端設備表中有關部分。(3)執(zhí)行/etc/login。getty最后讀入注冊名,并調用/etc/login程序完成注冊的一系列工作。login程序負責用戶登入系統(tǒng),它由/etc/getty調用,調用時帶有用戶的注冊名。login程序提示用戶打入口令,如果由用戶提供的口令加密后與記錄在總口令文件/etc/passwd中的值相同,login就在記帳文件中寫一個報到記錄,按照口令文件和/etc/group文件中所指定的內容初始化用戶和組標識符(uid和gid)。
(4)最后終端進程又改換映象轉而執(zhí)行shell命令語言解釋程序,開始用戶和系統(tǒng)在鍵盤命令級上的對話過程。至此,完成了UNIX系統(tǒng)的初啟過程。一旦有某個用戶輸入一個命令后,則引起鍵盤輸入中斷,激活對應的終端進程。終端進程再通過建立命令處理子進程來執(zhí)行命令。這樣,整個系統(tǒng)就活動起來了。圖9-23UNIX初啟后進程族§8shell(外殼)8.1shell命令的使用方式
shell命令行的一般格式是:commandarg1,arg2,…,argn其中,command是命令名,其后是參數(shù)表。有些命令是帶參數(shù)的,有些命令是可不帶參數(shù)的或參數(shù)是可選的。
用戶也可將若干shell命令編輯成一個命令文件,稱作shell過程。一個shell過程可被隨時調用執(zhí)行,當需要執(zhí)行該過程時,使用命令行:$sh
comfile
或%csh
comfile其中,sh或csh是命令名,表示執(zhí)行shell過程,comfile是shell過程名。shell語言的一大特點是,它具有程序設計語言的一些基本特性,例如,shell支持if、then、case、while、for等控制流,還具有參數(shù)傳遞、變量和字符串替換等功能。
8.2shell命令的處理
UNIX采用生成子進程的方法執(zhí)行shell命令。在系統(tǒng)初啟后,系統(tǒng)為每個用戶終端建立一個shell進程,這個進程的任務就是接收用戶鍵入的shell命令并執(zhí)行該命令。具體處理是,接收鍵入命令后,這個shell進程將根據(jù)命令碼和參數(shù),建立一個子進程。然后把自身掛起等待子進程執(zhí)行結束。當子進程完成后,返回主進程。以后主進程又可接收下一條鍵入命令,再建立子進程。一般情況下,整個對話過程都是按照這種方式進行。在這種方式下,當前命令未執(zhí)行結束之前,系統(tǒng)不能接收下一條命令。由于UNIX用建立子進程代替一般系統(tǒng)轉入子程序的方法,因此,UNIX很容易實現(xiàn)命令并行處理。即主進程建立子進程后,不再掛起等待,而是立刻繼續(xù)運行,接收下一條命令。子進程轉入后臺繼續(xù)執(zhí)行。8.3shell的高級功能
具有轉入后臺執(zhí)行功能的命令稱為后臺命令。后臺命令的標記是在一般shell命令的末尾,加上符號“&”。shell在處理中,遇到“&”字符時,主進程不再掛起等待,并立刻輸出提示符(‘$’或‘%’)準備接收下一條鍵入命令。實現(xiàn)了后臺命令和shell并發(fā)運行。例如,我們希望在編譯C語言源程序pgm.c時,又希望編輯letter文件。可打入ccpgm.c&$edletter2.標準I/O重新定向
(1)輸出改向。在shell命令行中,加入‘>filename’時,可把輸出標準設備改為filename所定義的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 單位管理制度集合大合集人員管理篇
- 單位管理制度匯編大合集人力資源管理
- 《家具導購圣經》課件
- 單位管理制度分享匯編職員管理篇十篇
- 單位管理制度分享大全職工管理十篇
- 2024教科室工作計劃
- 單位管理制度呈現(xiàn)合集職工管理篇十篇
- 《投資管理復習》課件
- 《市場考察報告》課件
- 《廣告效果的測定》課件
- 電氣領域知識培訓課件
- 金融產品分類介紹
- 2024-2025學年上學期深圳初中語文七年級期末模擬卷2
- 河南省鄭州市2024-2025學年高一數(shù)學上學期期末考試試題含解析
- BOSS GT-6效果處理器中文說明書
- 2024廣東煙草專賣局校園招聘筆試管理單位遴選500模擬題附帶答案詳解
- 2024房地產合同更名申請表
- 病例報告表(樣板)
- 定金協(xié)議書范文范本簡單一點
- 劉潤年度演講2024
- 初三第一學期沖刺中考期末家長會
評論
0/150
提交評論