




已閱讀5頁(yè),還剩2頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
處理器調(diào)度程序性能概述本文主要討論與處理器調(diào)度程序性能相關(guān)的主題。線(xiàn)程支持線(xiàn)程可看作開(kāi)銷(xiāo)低的進(jìn)程。它是一個(gè)可分派實(shí)體,創(chuàng)建它需要的資源比創(chuàng)建一個(gè)進(jìn)程需要的資源少。在 AIX V4的調(diào)度程序中最基本的可分派實(shí)體就是線(xiàn)程。進(jìn)程由一個(gè)或多個(gè)線(xiàn)程組成。事實(shí)上,操作系統(tǒng)的早期發(fā)行版中負(fù)載的直接遷移就是繼續(xù)創(chuàng)建和管理進(jìn)程。每個(gè)新進(jìn)程在創(chuàng)建時(shí)只帶有單一的線(xiàn)程,該線(xiàn)程具有其父進(jìn)程的優(yōu)先級(jí)并與其它進(jìn)程中的線(xiàn)程爭(zhēng)用處理器。進(jìn)程在執(zhí)行時(shí)擁有它所使用的資源,而線(xiàn)程僅僅擁有它的當(dāng)前狀態(tài)。當(dāng)新的或修改的應(yīng)用程序利用操作系統(tǒng)的線(xiàn)程支持創(chuàng)建額外的線(xiàn)程時(shí),那些線(xiàn)程在該進(jìn)程的上下文中創(chuàng)建。它們共享進(jìn)程的私有段和其它資源。進(jìn)程中的一個(gè)用戶(hù)線(xiàn)程有一個(gè)特定的爭(zhēng)用作用域。如果爭(zhēng)用作用域是全局的,則該線(xiàn)程與系統(tǒng)中所有其它線(xiàn)程一起爭(zhēng)用處理器時(shí)間。在進(jìn)程創(chuàng)建時(shí)產(chǎn)生的線(xiàn)程具有全局爭(zhēng)用作用域。如果爭(zhēng)用作用域本地的,則該線(xiàn)程與進(jìn)程中的其它線(xiàn)程競(jìng)爭(zhēng)以成為進(jìn)程共享的處理器時(shí)間的接收方。決定接下來(lái)應(yīng)該運(yùn)行哪個(gè)線(xiàn)程的算法叫調(diào)度策略。進(jìn)程和線(xiàn)程進(jìn)程是系統(tǒng)中的一個(gè)活動(dòng),它由某個(gè)命令、shell 程序或另一進(jìn)程啟動(dòng)。進(jìn)程的屬性如下: pid pgid uid gid 環(huán)境 cwd 文件描述符 信號(hào)操作 進(jìn)程統(tǒng)計(jì)信息 nice這些屬性定義在 /usr/include/sys/proc.h 中。線(xiàn)程的屬性如下: 堆棧 調(diào)度策略 調(diào)度優(yōu)先級(jí) 暫掛信號(hào) 阻塞信號(hào) 線(xiàn)程特定的數(shù)據(jù)這些線(xiàn)程的屬性定義在 /usr/include/sys/thread.h 中。每個(gè)進(jìn)程由一個(gè)或多個(gè)線(xiàn)程組成。線(xiàn)程是一個(gè)單獨(dú)的控制序列流。多個(gè)控制線(xiàn)程允許應(yīng)用程序進(jìn)行重疊操作,例如讀取終端和寫(xiě)文件。多個(gè)控制線(xiàn)程也允許應(yīng)用程序同時(shí)為來(lái)自多個(gè)用戶(hù)的請(qǐng)求服務(wù)。線(xiàn)程提供了這些能力而不需多個(gè)進(jìn)程那樣的額外開(kāi)銷(xiāo),例如要通過(guò) fork() 系統(tǒng)調(diào)用創(chuàng)建多個(gè)進(jìn)程。AIX 4.3.1 中引入了一個(gè)快速的 fork 例程 f_fork()。該例程對(duì)多線(xiàn)程應(yīng)用程序非常有用,它們將立刻調(diào)用 exec() 子例程,前提是之前應(yīng)先調(diào)用 fork() 子例程。fork() 子例程運(yùn)行起來(lái)較慢,因?yàn)樵趯?shí)際派生及讓其子例程運(yùn)行全部子處理程序來(lái)初始化所有鎖之前,它必須調(diào)用 fork 處理程序獲得所有的庫(kù)鎖。f_fork() 子例程忽略這些處理程序并直接調(diào)用 kfork() 系統(tǒng)調(diào)用。Web 服務(wù)器是一個(gè)可以使用 f_fork() 子例程的很好的應(yīng)用程序示例。進(jìn)程和線(xiàn)程的優(yōu)先級(jí)優(yōu)先級(jí)管理工具處理進(jìn)程的優(yōu)先級(jí)。在 AIX V4 中,進(jìn)程優(yōu)先級(jí)只是線(xiàn)程優(yōu)先級(jí)的前驅(qū)。當(dāng)調(diào)用 fork() 子例程時(shí),會(huì)創(chuàng)建一個(gè)進(jìn)程和一個(gè)要在其中運(yùn)行的線(xiàn)程。線(xiàn)程的優(yōu)先級(jí)歸結(jié)于進(jìn)程。內(nèi)核為每個(gè)線(xiàn)程維護(hù)一個(gè)優(yōu)先級(jí)值(有時(shí)稱(chēng)為調(diào)度優(yōu)先級(jí))。優(yōu)先級(jí)值是一個(gè)正整數(shù)且與關(guān)聯(lián)線(xiàn)程的重要性的變化方向相反。也就是說(shuō),較小的優(yōu)先級(jí)值表示一個(gè)相對(duì)重要的線(xiàn)程。當(dāng)調(diào)度程序?qū)ふ揖€(xiàn)程進(jìn)行分派時(shí),它選擇具有較小優(yōu)先級(jí)值的可分派線(xiàn)程。線(xiàn)程可以有固定的優(yōu)先級(jí)或不固定的優(yōu)先級(jí)。優(yōu)先級(jí)固定的線(xiàn)程的優(yōu)先級(jí)值是一個(gè)常量,而優(yōu)先級(jí)不固定的線(xiàn)程的優(yōu)先級(jí)值根據(jù)用戶(hù)線(xiàn)程最小優(yōu)先級(jí)級(jí)別(常量 40)、線(xiàn)程的 nice 值(缺省值是 20,可隨意由 nice 或 renice 命令進(jìn)行設(shè)置)和其處理器使用的損失而變化。線(xiàn)程的優(yōu)先級(jí)可以固定成某個(gè)值,如果用 setpri() 子例程設(shè)置(固定)它們的優(yōu)先級(jí)的話(huà),它們可以具有小于 40 的優(yōu)先級(jí)值。這些線(xiàn)程不會(huì)受到調(diào)度程序重算算法的影響。如果它們的優(yōu)先級(jí)值固定且小于 40,這些線(xiàn)程將在可以運(yùn)行所有用戶(hù)線(xiàn)程之前運(yùn)行和完成。例如,一個(gè)具有固定值 10 的線(xiàn)程將在具有固定值 15 的線(xiàn)程之前運(yùn)行。用戶(hù)可以應(yīng)用 nice 命令使線(xiàn)程的不固定優(yōu)先級(jí)變低。系統(tǒng)管理員可將一個(gè)負(fù)的 nice 值應(yīng)用給線(xiàn)程,這樣就給了它較好的優(yōu)先級(jí)。下圖顯示了一些可以更改優(yōu)先級(jí)值的方法。圖 1. 如何確定優(yōu)先級(jí)值. 插圖顯示了如何能在執(zhí)行過(guò)程中或應(yīng)用了 nice 命令之后更改線(xiàn)程調(diào)度優(yōu)先級(jí)值。優(yōu)先級(jí)值越小,線(xiàn)程優(yōu)先級(jí)越高。開(kāi)始時(shí),nice 值缺省為 20 而基本優(yōu)先級(jí)缺省為 40。在執(zhí)行一些操作及處理器損失后,nice 的值仍為 20 且基本優(yōu)先級(jí)仍為 40。在運(yùn)行 renice 5 命令后及使用和以前相同的處理器的情況下,nice 值現(xiàn)在是 15 而基本優(yōu)先級(jí)仍為 40。在以 50 的值發(fā)出子例程 setpri() 之后,固定優(yōu)先級(jí)現(xiàn)在是 50 而 nice 值和處理器的使用無(wú)關(guān)。 線(xiàn)程的 nice 值在創(chuàng)建線(xiàn)程時(shí)設(shè)置并且在線(xiàn)程的整個(gè)生命期中都是常量,除非用戶(hù)通過(guò) renice 命令或 setpri()、setpriority()、thread_setsched() 或 nice() 系統(tǒng)調(diào)用明確更改了它的值。處理器損失是一個(gè)整數(shù),它通過(guò)線(xiàn)程最近的處理器使用來(lái)計(jì)算。如果每次在一個(gè) 10 ms 的時(shí)鐘滴答結(jié)束時(shí)線(xiàn)程受處理器控制,則最近的處理器使用值近似加 1,直到達(dá)到最大值 120。每個(gè)滴答的實(shí)際優(yōu)先級(jí)損失隨著 nice 的值增加。所有線(xiàn)程的最近處理器使用值每秒重算一次。結(jié)果如下: 不固定優(yōu)先級(jí)的線(xiàn)程的優(yōu)先級(jí)隨著其最近處理器使用的增加而變低,反之亦然。這暗示一般來(lái)講,某線(xiàn)程最近被分配的時(shí)間片越多,則它被分配下一個(gè)時(shí)間片的可能性越小。 不固定優(yōu)先級(jí)的線(xiàn)程的優(yōu)先級(jí)隨著其 nice 值的增加而變低,反之亦然。注:使用多處理器運(yùn)行隊(duì)列及其負(fù)載平衡機(jī)制以后,nice 或 renice 的值對(duì)線(xiàn)程的優(yōu)先級(jí)可能沒(méi)有預(yù)期的影響,因?yàn)檩^低優(yōu)先級(jí)的運(yùn)行時(shí)間可能等于或大于較高優(yōu)先級(jí)的運(yùn)行時(shí)間。要求 nice 或 renice 產(chǎn)生預(yù)期效果的線(xiàn)程應(yīng)該放在全局運(yùn)行隊(duì)列中??梢允褂妹?ps 顯示進(jìn)程的優(yōu)先級(jí)值、nice 值和短期的處理器使用值。優(yōu)先級(jí)機(jī)制也用于 AIX 工作負(fù)載管理器中來(lái)加強(qiáng)處理器資源管理。因?yàn)樵诠ぷ髫?fù)載管理器下分類(lèi)的線(xiàn)程具有的優(yōu)先級(jí)由工作負(fù)載管理器管理,它們可能與沒(méi)有在工作負(fù)載管理器下分類(lèi)的線(xiàn)程具有不同的優(yōu)先級(jí)行為。線(xiàn)程的調(diào)度策略下面是線(xiàn)程調(diào)度策略的可能值:SCHED_FIFO 這種策略的線(xiàn)程被調(diào)度后,它會(huì)一直運(yùn)行到結(jié)束,除非被阻塞或有一個(gè)較高優(yōu)先級(jí)的線(xiàn)程可分派,它將自愿服從處理器的控制。只有固定優(yōu)先級(jí)的線(xiàn)程才能有 SCHED_FIFO 調(diào)度策略。 SCHED_RR 當(dāng)一個(gè) SCHED_RR 線(xiàn)程在時(shí)間片的末尾有控制權(quán)時(shí),它將移動(dòng)到和它具有相同優(yōu)先級(jí)的可分派線(xiàn)程隊(duì)列的尾部。只有固定優(yōu)先級(jí)的線(xiàn)程才能有 SCHED_RR 的調(diào)度策略。 SCHED_OTHER 這個(gè)策略在“POSIX 標(biāo)準(zhǔn) 1003.4a”中作為定義的執(zhí)行程序進(jìn)行定義。在每個(gè)時(shí)鐘中斷時(shí)重算運(yùn)行線(xiàn)程的優(yōu)先級(jí)值意味著該線(xiàn)程可能失去控制權(quán),因?yàn)樗膬?yōu)先級(jí)值已經(jīng)超過(guò)了另一可分派線(xiàn)程的優(yōu)先級(jí)值。 SCHED_FIFO2 該策略和 SCHED_FIFO 相同,只是它允許一個(gè)僅睡眠了很短時(shí)間的線(xiàn)程在被喚醒時(shí)可放置在其運(yùn)行隊(duì)列的頭部。這個(gè)時(shí)間周期是相似性限制(可用 schedo -o affinity_lim 進(jìn)行調(diào)節(jié))。該策略?xún)H可用于 AIX 4.3.3 及其后續(xù)版本。 SCHED_FIFO3 調(diào)度策略設(shè)置成 SCHED_FIFO3 的線(xiàn)程總是放置在運(yùn)行隊(duì)列的頭部。為了防止屬于 SCHED_FIFO2 調(diào)度策略的線(xiàn)程放置在 SCHED_FIFO3 之前,當(dāng) SCHED_FIFO3 線(xiàn)程入隊(duì)列時(shí)更改運(yùn)行隊(duì)列參數(shù),這樣屬于 SCHED_FIFO2 的線(xiàn)程就不滿(mǎn)足使其能夠加入運(yùn)行隊(duì)列頭部時(shí)必須滿(mǎn)足的標(biāo)準(zhǔn)。該策略?xún)H可用于 AIX 4.3.3 及其后續(xù)版本。 SCHED_FIFO4 只要優(yōu)先級(jí)值相差 1,較高優(yōu)先級(jí)的 SCHED_FIFO4 調(diào)度類(lèi)線(xiàn)程就不會(huì)搶占當(dāng)前正運(yùn)行的低優(yōu)先級(jí)線(xiàn)程。缺省行為是當(dāng)前運(yùn)行于某給定 CPU 的低優(yōu)先級(jí)線(xiàn)程被有資格在同一 CPU 上運(yùn)行的高優(yōu)先級(jí)線(xiàn)程搶占。該策略?xún)H可用于 AIX 5L Version 5100-01 + APAR IY22854 及其后續(xù)版本。 調(diào)度策略可用系統(tǒng)調(diào)用 thread_setsched() 進(jìn)行設(shè)置并且僅對(duì)調(diào)用線(xiàn)程有效。然而,通過(guò)指定進(jìn)程標(biāo)識(shí)發(fā)出 setpri() 調(diào)用可將線(xiàn)程設(shè)置成 SCHED_RR 調(diào)度策略;setpri() 的調(diào)用者和 setpri() 的目標(biāo)不必匹配。只有那些具有 root 權(quán)限的進(jìn)程可以發(fā)出 setpri() 系統(tǒng)調(diào)用。只有那些具有 root 權(quán)限的線(xiàn)程可將調(diào)度策略更改成任何 SCHED_FIFO 選項(xiàng)或 SCHED_RR。如果調(diào)度策略是 SCHED_OTHER,則優(yōu)先級(jí)參數(shù)被 thread_setsched()子例程忽略。線(xiàn)程的主要優(yōu)點(diǎn)是適用于當(dāng)前由多個(gè)異步進(jìn)程組成的應(yīng)用程序。這些應(yīng)用程序可通過(guò)轉(zhuǎn)變?yōu)槎嗑€(xiàn)程結(jié)構(gòu)從而使得系統(tǒng)有較輕的負(fù)載。調(diào)度程序運(yùn)行隊(duì)列調(diào)度程序維護(hù)一個(gè)由所有就緒等待分派的線(xiàn)程所組成的運(yùn)行隊(duì)列。下圖象征性地描述了運(yùn)行隊(duì)列。圖 2. 運(yùn)行隊(duì)列. 該插圖簡(jiǎn)單地顯示了低優(yōu)先級(jí)值的線(xiàn)程如何在高優(yōu)先級(jí)值的線(xiàn)程之前通過(guò)運(yùn)行隊(duì)列??赡艿膬?yōu)先級(jí)值范圍從 0 到 127,這與運(yùn)行隊(duì)列的總數(shù)為 128 直接相關(guān)。 給定優(yōu)先級(jí)的所有可分派線(xiàn)程在運(yùn)行隊(duì)列中占有一定的位置。調(diào)度程序的基本可分派實(shí)體是線(xiàn)程。AIX 5.1 維護(hù) 256 個(gè)運(yùn)行隊(duì)列(128 個(gè)在 AIX 4.3 及以前的發(fā)行版中)。在 AIX 5.1 中,運(yùn)行隊(duì)列與每個(gè)線(xiàn)程優(yōu)先級(jí)字段可能值的范圍(從 0 到 255)直接相關(guān)。這個(gè)方法使調(diào)度程序更容易確定哪個(gè)線(xiàn)程最先運(yùn)行。調(diào)度程序無(wú)需搜索一個(gè)完整的運(yùn)行隊(duì)列,只需要考慮一個(gè)掩碼,該掩碼的某一位啟用后可表示在相應(yīng)的運(yùn)行隊(duì)列中存在就緒等待運(yùn)行的線(xiàn)程。線(xiàn)程的優(yōu)先級(jí)的值快速頻繁地變更。持續(xù)的變動(dòng)歸因于調(diào)度程序重算優(yōu)先級(jí)的方法。然而,這并不適用于固定優(yōu)先級(jí)的線(xiàn)程。從 AIX 4.3.3 開(kāi)始,每個(gè)處理器都有自己的運(yùn)行隊(duì)列。性能工具中報(bào)告的運(yùn)行隊(duì)列值將是每個(gè)運(yùn)行隊(duì)列中所有線(xiàn)程的總和。讓每個(gè)處理器都有自己的運(yùn)行隊(duì)列可節(jié)省分派鎖的開(kāi)銷(xiāo)并改善總體的處理器相似性。線(xiàn)程通常會(huì)更加趨向于留在同一處理器中。如果因?yàn)榱硪惶幚砥魃系氖录鼓尘€(xiàn)程變得可運(yùn)行且有空閑的處理器的話(huà),即使不同于最近可運(yùn)行線(xiàn)程曾經(jīng)運(yùn)行過(guò)的處理器,該線(xiàn)程也只會(huì)立即被分派。在可以檢查處理器狀態(tài)(例如在該線(xiàn)程的處理器上的中斷)之前不會(huì)出現(xiàn)搶占。在具有多個(gè)運(yùn)行隊(duì)列的多處理器系統(tǒng)中,可能出現(xiàn)瞬間的優(yōu)先級(jí)倒置。在任何一個(gè)時(shí)間點(diǎn)都可能出現(xiàn)這種情況:某個(gè)運(yùn)行隊(duì)列能使若干線(xiàn)程具有的優(yōu)先級(jí)比另一運(yùn)行隊(duì)列更有利。AIX 有一些機(jī)制可以隨著時(shí)間的推移來(lái)進(jìn)行優(yōu)先級(jí)平衡,但是如果要求嚴(yán)格的優(yōu)先級(jí)(例如,對(duì)于實(shí)時(shí)應(yīng)用程序)可用一個(gè)叫做 RT_GRQ 的環(huán)境變量,如果將它設(shè)置成 ON,將導(dǎo)致該線(xiàn)程位于一個(gè)全局運(yùn)行隊(duì)列中。在那種情況下,將搜索全局運(yùn)行隊(duì)列來(lái)察看哪個(gè)線(xiàn)程具有最佳優(yōu)先級(jí)。這可以改善中斷驅(qū)動(dòng)線(xiàn)程的性能。如果將 schedo 命令的 fixed_pri_global 參數(shù)設(shè)置成 1,以固定優(yōu)先級(jí)運(yùn)行的線(xiàn)程就放置在全局運(yùn)行隊(duì)列中。運(yùn)行隊(duì)列中的線(xiàn)程平均數(shù)可在命令 vmstat 輸出的第一列中看到。如果用處理器數(shù)去除這個(gè)數(shù),結(jié)果是每個(gè)處理器上可運(yùn)行線(xiàn)程的平均數(shù)。如果這個(gè)值大于 1,這些線(xiàn)程必須等待直至輪到它們使用處理器(這個(gè)數(shù)越大,性能延遲可能越明顯)。當(dāng)某線(xiàn)程移到運(yùn)行隊(duì)列的末端時(shí)(例如,當(dāng)線(xiàn)程在時(shí)間片的末尾擁有控制權(quán)時(shí)),它會(huì)移動(dòng)到具有相同優(yōu)先級(jí)值的隊(duì)列中最后一個(gè)線(xiàn)程之后的位置上。調(diào)度程序處理器時(shí)間片處理器時(shí)間片是調(diào)度程序轉(zhuǎn)換到另一個(gè)具有相同優(yōu)先級(jí)的線(xiàn)程之前,一個(gè) SCHED_RR 線(xiàn)程能獲得的時(shí)間的總和??梢允褂妹?schedo 的選項(xiàng) timeslice,以 10 毫秒的增量增加時(shí)間片中的時(shí)鐘信號(hào)數(shù)。注:時(shí)間片并不是保證的處理器時(shí)間量。它是一個(gè)線(xiàn)程在面臨由另一線(xiàn)程取代的可能性之前可以受控的最長(zhǎng)時(shí)間。在控制時(shí)間達(dá)到完整時(shí)間片之前有很多方法可使線(xiàn)程失去處理器的控制。方式轉(zhuǎn)換用戶(hù)進(jìn)程在需要訪(fǎng)問(wèn)系統(tǒng)資源時(shí)會(huì)經(jīng)歷一個(gè)方式轉(zhuǎn)換。這通過(guò)系統(tǒng)調(diào)用接口或諸如缺頁(yè)故障這樣的中斷來(lái)實(shí)現(xiàn)。有兩種方式: 用戶(hù)方式 內(nèi)核方式花在用戶(hù)方式(應(yīng)用程序和共享庫(kù))下的處理器時(shí)間作為用戶(hù)時(shí)間在一些命令的輸出中反映出來(lái),例如,vmstat、iostat 和 sar 命令。花在內(nèi)核方式下的處理器時(shí)間作為系統(tǒng)時(shí)間在這些命令的輸出中反映出來(lái)。用戶(hù)方式在用戶(hù)保護(hù)域中執(zhí)行的程序是用戶(hù)進(jìn)程。在這種保護(hù)域中執(zhí)行的代碼以用戶(hù)執(zhí)行方式執(zhí)行,且具有下列訪(fǎng)問(wèn): 讀寫(xiě)訪(fǎng)問(wèn)進(jìn)程專(zhuān)用區(qū)域中的用戶(hù)數(shù)據(jù) 讀訪(fǎng)問(wèn)用戶(hù)文本和共享文本區(qū)域 使用共享內(nèi)存功能訪(fǎng)問(wèn)共享數(shù)據(jù)區(qū)域在用戶(hù)保護(hù)域中執(zhí)行的程序不能訪(fǎng)問(wèn)內(nèi)核或內(nèi)核數(shù)據(jù)段,除非通過(guò)使用系統(tǒng)調(diào)用間接訪(fǎng)問(wèn)。在該保護(hù)域中的程序只能影響自身的執(zhí)行環(huán)境并在進(jìn)程或非特權(quán)狀態(tài)下執(zhí)行。內(nèi)核方式在內(nèi)核保護(hù)域中執(zhí)行的程序包含中斷處理程序、內(nèi)核進(jìn)程、基內(nèi)核和內(nèi)核擴(kuò)展(設(shè)備驅(qū)動(dòng)程序、系統(tǒng)調(diào)用和文件系統(tǒng))。這個(gè)保護(hù)域暗示以?xún)?nèi)核執(zhí)行方式執(zhí)行代碼,具有下列訪(fǎng)問(wèn): 讀寫(xiě)訪(fǎng)問(wèn)全局內(nèi)核地址空間 在進(jìn)程中執(zhí)行時(shí)讀寫(xiě)訪(fǎng)問(wèn)進(jìn)程區(qū)域中的內(nèi)核數(shù)據(jù)內(nèi)核服務(wù)必須用來(lái)訪(fǎng)問(wèn)進(jìn)程地址空間中的用戶(hù)數(shù)據(jù)。在該保護(hù)域中執(zhí)行的程序會(huì)影響所有程序的執(zhí)行環(huán)境,因?yàn)樗鼈兙哂邢铝刑卣鳎?它們可訪(fǎng)問(wèn)全局系統(tǒng)數(shù)據(jù) 它們可使用內(nèi)核服務(wù) 它們免受所有安全性約束 它們執(zhí)行于處理器特權(quán)狀態(tài)下。方式轉(zhuǎn)換用戶(hù)方式的進(jìn)程使用的系統(tǒng)調(diào)用允
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 小自考自我評(píng)估方法試題及答案
- 小自考漢語(yǔ)言文學(xué)專(zhuān)業(yè)素養(yǎng)提升與試題及答案
- 行政監(jiān)督機(jī)制有效性分析試題及答案
- 小自考漢語(yǔ)言文學(xué)2024年基礎(chǔ)強(qiáng)化試題及答案
- 央企職稱(chēng)面試題及答案
- 小自考公共事業(yè)管理期末復(fù)習(xí)及答案
- 奇葩刑法考試試題及答案
- 醫(yī)學(xué)理論試題及答案高中
- 2024年小自考漢語(yǔ)言文學(xué)知識(shí)梳理試題及答案
- 小自考市場(chǎng)營(yíng)銷(xiāo)品牌定位策略研究試題及答案
- 2024年重慶兩江新區(qū)某國(guó)有企業(yè)招聘筆試真題
- 離婚協(xié)議民政局貴州安順(2025年版)
- 心臟驟停后高質(zhì)量目標(biāo)溫度管理專(zhuān)家共識(shí)2024
- 高校講師個(gè)人學(xué)術(shù)發(fā)展計(jì)劃
- 2025屆四川省成都市高三二診生物試題(原卷版+解析版)
- 睪丸切除術(shù)課件
- 2025 年陜西省初中學(xué)業(yè)水平考試仿真摸底卷英語(yǔ)試卷(含解析無(wú)聽(tīng)力部分)
- 2025年度粵醫(yī)云、國(guó)培衛(wèi)健全科醫(yī)學(xué)臨床醫(yī)學(xué)2月題目及答案
- 職等職級(jí)設(shè)計(jì)理論與實(shí)踐
- 中醫(yī)藥生物信息學(xué)知到課后答案智慧樹(shù)章節(jié)測(cè)試答案2025年春浙江中醫(yī)藥大學(xué)
- 大學(xué)生舞蹈創(chuàng)新創(chuàng)業(yè)計(jì)劃書(shū)
評(píng)論
0/150
提交評(píng)論