軟件技術(shù)基礎(chǔ)主講劉志強(qiáng)西安交通大學(xué)計(jì)算機(jī)教學(xué)實(shí)驗(yàn)中心ppt課件_第1頁(yè)
軟件技術(shù)基礎(chǔ)主講劉志強(qiáng)西安交通大學(xué)計(jì)算機(jī)教學(xué)實(shí)驗(yàn)中心ppt課件_第2頁(yè)
軟件技術(shù)基礎(chǔ)主講劉志強(qiáng)西安交通大學(xué)計(jì)算機(jī)教學(xué)實(shí)驗(yàn)中心ppt課件_第3頁(yè)
軟件技術(shù)基礎(chǔ)主講劉志強(qiáng)西安交通大學(xué)計(jì)算機(jī)教學(xué)實(shí)驗(yàn)中心ppt課件_第4頁(yè)
軟件技術(shù)基礎(chǔ)主講劉志強(qiáng)西安交通大學(xué)計(jì)算機(jī)教學(xué)實(shí)驗(yàn)中心ppt課件_第5頁(yè)
已閱讀5頁(yè),還剩33頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、下一頁(yè)軟件技術(shù)根底軟件技術(shù)根底主講:劉志強(qiáng)主講:劉志強(qiáng)西安交通大學(xué)西安交通大學(xué)計(jì)算機(jī)教學(xué)實(shí)計(jì)算機(jī)教學(xué)實(shí)驗(yàn)中心驗(yàn)中心第第10單元單元典型典型OS平臺(tái)下平臺(tái)下編程方式編程方式下一頁(yè)上一頁(yè)停止放映停止放映教學(xué)目的教學(xué)目的l了解在三種了解在三種OSOS平臺(tái)上平臺(tái)上l軟件編程方式軟件編程方式l開(kāi)發(fā)流程開(kāi)發(fā)流程l開(kāi)發(fā)工具的根本知識(shí)開(kāi)發(fā)工具的根本知識(shí)下一頁(yè)上一頁(yè)停止放映停止放映教學(xué)要求教學(xué)要求l經(jīng)過(guò)本單元學(xué)習(xí),了解經(jīng)過(guò)本單元學(xué)習(xí),了解:lDOS OS編程方式編程方式lDOS構(gòu)造、構(gòu)造、DOS編程流程及開(kāi)發(fā)工具、內(nèi)存分配、編程流程及開(kāi)發(fā)工具、內(nèi)存分配、OS程序員接口程序員接口lUNIX OS編程方式編程方式l

2、UNIX 構(gòu)造、編程流程幾開(kāi)發(fā)包、多進(jìn)程編程特點(diǎn)、構(gòu)造、編程流程幾開(kāi)發(fā)包、多進(jìn)程編程特點(diǎn)、常見(jiàn)進(jìn)程通訊方式、程序員接口常見(jiàn)進(jìn)程通訊方式、程序員接口lWindwos編程方式編程方式lWindows編程方式、編程方式、WOSA及及WindoowsDNA、事件幾音訊機(jī)制、多線程、編程流程及開(kāi)發(fā)包、程事件幾音訊機(jī)制、多線程、編程流程及開(kāi)發(fā)包、程序員接口序員接口下一頁(yè)上一頁(yè)停止放映停止放映本單元涉及的內(nèi)容本單元涉及的內(nèi)容l第第5 5章章l5.1 DOS5.1 DOS操作系統(tǒng)編程方式操作系統(tǒng)編程方式l5.2 UNIX 5.2 UNIX 操作系統(tǒng)編程方式操作系統(tǒng)編程方式l5.3 Windows5.3 Win

3、dows操作系統(tǒng)編程方式操作系統(tǒng)編程方式lP156P183P156P183下一頁(yè)上一頁(yè)停止放映停止放映一、一、DOS OSDOS OS編程方式編程方式lDOSDOS是微機(jī)系統(tǒng)配備的主流操作系統(tǒng)之一,是單是微機(jī)系統(tǒng)配備的主流操作系統(tǒng)之一,是單用戶、單義務(wù)的磁盤操作系統(tǒng)。用戶、單義務(wù)的磁盤操作系統(tǒng)。lDOSDOS提供功能效力的兩種方式:提供功能效力的兩種方式:l鍵盤命令鍵盤命令l程序執(zhí)行方式程序執(zhí)行方式lDOSDOS的主要功能:的主要功能:l管理各種設(shè)備管理各種設(shè)備l管理管理CPUCPUl管理各種文件管理各種文件l管理內(nèi)存管理內(nèi)存l支持用戶的各種命令和程序支持用戶的各種命令和程序l支持支持shel

4、lshell操作和操作和WindowsWindowsl支持網(wǎng)絡(luò)環(huán)境支持網(wǎng)絡(luò)環(huán)境下一頁(yè)上一頁(yè)停止放映停止放映DOSDOS系統(tǒng)構(gòu)造系統(tǒng)構(gòu)造 lDOSDOS由由4 4個(gè)模塊構(gòu)成:個(gè)模塊構(gòu)成:l引導(dǎo)模塊引導(dǎo)模塊BOOTBOOT引導(dǎo)區(qū)用于啟動(dòng)引導(dǎo)區(qū)用于啟動(dòng)DOSDOS時(shí)自動(dòng)引導(dǎo)、時(shí)自動(dòng)引導(dǎo)、裝入裝入DOSDOS系統(tǒng)到內(nèi)存。系統(tǒng)到內(nèi)存。lDOSDOS內(nèi)核模塊內(nèi)核模塊MSDOS.SYS)MSDOS.SYS)由兩部分組成由兩部分組成: :內(nèi)核初始內(nèi)核初始化程序化程序DOS-INITDOS-INIT和和DOSDOS中斷效力程序。前者僅用于中斷效力程序。前者僅用于啟動(dòng)啟動(dòng)DOSDOS;后者那么是真正;后者那么是真

5、正DOSDOS的內(nèi)核,提供系統(tǒng)的的內(nèi)核,提供系統(tǒng)的中斷效力功能。中斷效力功能。lDOS I/ODOS I/O接口模塊接口模塊IO.SYS)IO.SYS)是是DOSDOS的的I/OI/O設(shè)備處置程設(shè)備處置程序序. .它與它與ROM-BIOSROM-BIOS一同組成一同組成I/OI/O處置的效力體系處置的效力體系, ,完完成一切的成一切的I/OI/O操作操作. .l命令管理模塊命令管理模塊(Command)(Command)主要擔(dān)任接受并處置各種主要擔(dān)任接受并處置各種輸入命令輸入命令. .它是直接面向用戶操作的它是直接面向用戶操作的. .l 下一頁(yè)上一頁(yè)停止放映停止放映DOSDOS模塊構(gòu)造圖模塊構(gòu)

6、造圖 DOS系系統(tǒng)統(tǒng)BOOT模塊模塊Command模塊模塊MD-DOS模塊模塊IO模塊模塊Command常駐部分常駐部分Command暫駐部分暫駐部分COM-INIT初始化初始化程序程序內(nèi)核初始化程序內(nèi)核初始化程序DOS-INITDOS中斷效力程序中斷效力程序IO初始化程序初始化程序SYS-INIT規(guī)范設(shè)備驅(qū)動(dòng)程序規(guī)范設(shè)備驅(qū)動(dòng)程序下一頁(yè)上一頁(yè)停止放映停止放映 DOS DOS的層次構(gòu)造的層次構(gòu)造 ROM-BIOS硬件系統(tǒng)硬件系統(tǒng)IO.SYS 設(shè)備驅(qū)動(dòng)設(shè)備驅(qū)動(dòng)MSDOS.SYS系統(tǒng)功能系統(tǒng)功能Command用戶程序用戶程序鍵盤命令鍵盤命令用戶的操作用戶的操作下一頁(yè)上一頁(yè)停止放映停止放映 DOS D

7、OS編程流程編程流程DOSDOS編程流程:編程流程: 確定程序目的確定程序目的設(shè)計(jì)程序設(shè)計(jì)程序編碼編碼編譯編譯運(yùn)轉(zhuǎn)運(yùn)轉(zhuǎn)測(cè)試與調(diào)試測(cè)試與調(diào)試維護(hù)與修正維護(hù)與修正確定程序的目的,算法、言語(yǔ)、處置技巧等系統(tǒng)設(shè)計(jì);包括用戶界面、數(shù)據(jù)構(gòu)造等系統(tǒng)編程;用指定程序設(shè)計(jì)言語(yǔ)編寫源程序編譯產(chǎn)生可執(zhí)行文件運(yùn)轉(zhuǎn)可執(zhí)行文件對(duì)運(yùn)轉(zhuǎn)的程序進(jìn)展正確性測(cè)試,修正錯(cuò)誤對(duì)程序不斷進(jìn)展建立性維護(hù),使其完善下一頁(yè)上一頁(yè)停止放映停止放映DOSDOS編程開(kāi)發(fā)工具編程開(kāi)發(fā)工具lDOSDOS環(huán)境下的程序設(shè)計(jì)言語(yǔ)很多,包括:環(huán)境下的程序設(shè)計(jì)言語(yǔ)很多,包括:FortranFortran、BASICBASIC、PascalPascal、C C、C

8、+C+、匯編言語(yǔ)等。、匯編言語(yǔ)等。l不同的言語(yǔ)有其各自的適用領(lǐng)域和特點(diǎn)。假設(shè)是科不同的言語(yǔ)有其各自的適用領(lǐng)域和特點(diǎn)。假設(shè)是科學(xué)計(jì)算運(yùn)用,選學(xué)計(jì)算運(yùn)用,選FortranFortran言語(yǔ)比其它言語(yǔ)和適宜。言語(yǔ)比其它言語(yǔ)和適宜。lC C和和C+C+是比較流行的程序設(shè)計(jì)言語(yǔ),但它們也不是是比較流行的程序設(shè)計(jì)言語(yǔ),但它們也不是萬(wàn)能的。在萬(wàn)能的。在C C言語(yǔ)中做不到的,在言語(yǔ)中做不到的,在C+C+言語(yǔ)中也做不言語(yǔ)中也做不到。但用到。但用C+C+編寫程序,比用編寫程序,比用C C寫程序更容易閱讀和寫程序更容易閱讀和交流,編程效率更高、更好。交流,編程效率更高、更好。l匯編言語(yǔ)適宜對(duì)硬件接口類快速呼應(yīng)的運(yùn)用

9、,但匯匯編言語(yǔ)適宜對(duì)硬件接口類快速呼應(yīng)的運(yùn)用,但匯編言語(yǔ)編寫、調(diào)試、維護(hù)很困難,也不便于閱讀。編言語(yǔ)編寫、調(diào)試、維護(hù)很困難,也不便于閱讀。l詳細(xì)運(yùn)用哪一種言語(yǔ),還是要詳細(xì)情況詳細(xì)分析,詳細(xì)運(yùn)用哪一種言語(yǔ),還是要詳細(xì)情況詳細(xì)分析,根據(jù)實(shí)踐情況和需求進(jìn)展選用。根據(jù)實(shí)踐情況和需求進(jìn)展選用。下一頁(yè)上一頁(yè)停止放映停止放映 DOSDOS內(nèi)存分配圖內(nèi)存分配圖lDOSDOS內(nèi)存可以劃分為四種類型:內(nèi)存可以劃分為四種類型:l根本內(nèi)存:計(jì)算機(jī)主板上根本內(nèi)存:計(jì)算機(jī)主板上640KB640KB以下的存儲(chǔ)空間。以下的存儲(chǔ)空間。DOSDOS的系統(tǒng)程序和用戶的運(yùn)用程序都要運(yùn)用這片空間。的系統(tǒng)程序和用戶的運(yùn)用程序都要運(yùn)用這片

10、空間。l擴(kuò)展內(nèi)存擴(kuò)展內(nèi)存ExtendedExtended:計(jì)算機(jī)主板上:計(jì)算機(jī)主板上640KB640KB以上的以上的存儲(chǔ)空間。這部分空間存儲(chǔ)空間。這部分空間DOSDOS不能直接納理,而是要經(jīng)不能直接納理,而是要經(jīng)過(guò)擴(kuò)展內(nèi)存管理程序過(guò)擴(kuò)展內(nèi)存管理程序HIMEM.SYSHIMEM.SYS來(lái)運(yùn)用這部分內(nèi)存。來(lái)運(yùn)用這部分內(nèi)存。l擴(kuò)展內(nèi)存擴(kuò)展內(nèi)存ExpandedExpanded:插在計(jì)算機(jī)主板的擴(kuò)展槽中:插在計(jì)算機(jī)主板的擴(kuò)展槽中的內(nèi)存擴(kuò)展板上的那部分存儲(chǔ)器,它們是經(jīng)過(guò)的內(nèi)存擴(kuò)展板上的那部分存儲(chǔ)器,它們是經(jīng)過(guò)EMS.SYSEMS.SYS程序來(lái)管理的。程序來(lái)管理的。l保管內(nèi)存保管內(nèi)存ReservedRese

11、rved:這是給計(jì)算機(jī)留做存儲(chǔ):這是給計(jì)算機(jī)留做存儲(chǔ)I/OI/O系統(tǒng)數(shù)據(jù)及各種接口驅(qū)動(dòng)程序運(yùn)用的存儲(chǔ)器,也稱適系統(tǒng)數(shù)據(jù)及各種接口驅(qū)動(dòng)程序運(yùn)用的存儲(chǔ)器,也稱適配器內(nèi)存。配器內(nèi)存。下一頁(yè)上一頁(yè)停止放映停止放映操作系統(tǒng)程序員接口操作系統(tǒng)程序員接口 l在在DOSDOS平臺(tái)下平臺(tái)下, ,經(jīng)過(guò)經(jīng)過(guò)DOSDOS、BIOSBIOS和運(yùn)用程序都可以和運(yùn)用程序都可以實(shí)現(xiàn)對(duì)計(jì)算機(jī)硬、軟件資源的操作。實(shí)現(xiàn)對(duì)計(jì)算機(jī)硬、軟件資源的操作。lBIOSBIOS提供的是最接近硬件的低層接口,操作最直提供的是最接近硬件的低層接口,操作最直接;接;DOSDOS提供的是高層次的功能效力;而高級(jí)言提供的是高層次的功能效力;而高級(jí)言語(yǔ)那么

12、是經(jīng)過(guò)對(duì)語(yǔ)那么是經(jīng)過(guò)對(duì)DOSDOS和和BIOSBIOS功能的調(diào)用來(lái)實(shí)現(xiàn)對(duì)功能的調(diào)用來(lái)實(shí)現(xiàn)對(duì)計(jì)算機(jī)硬件設(shè)備的操作。操作是間接的。計(jì)算機(jī)硬件設(shè)備的操作。操作是間接的。l高級(jí)言語(yǔ)具有編程效率高、可移值性好、便于交高級(jí)言語(yǔ)具有編程效率高、可移值性好、便于交流等優(yōu)點(diǎn)。但也存在著執(zhí)行效率較低不如流等優(yōu)點(diǎn)。但也存在著執(zhí)行效率較低不如DOSDOS、BIOSBIOS功能,不能直接對(duì)硬件進(jìn)展操作的缺乏。功能,不能直接對(duì)硬件進(jìn)展操作的缺乏。l在開(kāi)發(fā)程序過(guò)程中,運(yùn)用什么言語(yǔ),采用何種編在開(kāi)發(fā)程序過(guò)程中,運(yùn)用什么言語(yǔ),采用何種編程方式,都要視詳細(xì)情況和需求來(lái)選擇。絕對(duì)的程方式,都要視詳細(xì)情況和需求來(lái)選擇。絕對(duì)的“好是不

13、存在的。好是不存在的。下一頁(yè)上一頁(yè)停止放映停止放映二、二、UNIX OSUNIX OS編程方式編程方式 lUNIX UNIX 構(gòu)造構(gòu)造lUNIXUNIX編程流程及開(kāi)發(fā)包編程流程及開(kāi)發(fā)包l多進(jìn)程編程特點(diǎn)多進(jìn)程編程特點(diǎn)l常見(jiàn)進(jìn)程通訊方式常見(jiàn)進(jìn)程通訊方式l程序員接口程序員接口下一頁(yè)上一頁(yè)停止放映停止放映UNIX UNIX 構(gòu)造構(gòu)造lUNIXUNIX系統(tǒng)分為三層:系統(tǒng)分為三層:l內(nèi)層:中心層,內(nèi)層:中心層,UNIXUNIX內(nèi)核,是內(nèi)核,是OSOS管理和控制管理和控制中心,常駐內(nèi)存。中心,常駐內(nèi)存。l中間層:系統(tǒng)調(diào)用層,界于中心層和運(yùn)用層中間層:系統(tǒng)調(diào)用層,界于中心層和運(yùn)用層外層之間,是供程序員設(shè)計(jì)、開(kāi)

14、發(fā)運(yùn)用外層之間,是供程序員設(shè)計(jì)、開(kāi)發(fā)運(yùn)用程序時(shí)調(diào)用的。程序時(shí)調(diào)用的。UNIXUNIX系統(tǒng)調(diào)用包括:進(jìn)程管系統(tǒng)調(diào)用包括:進(jìn)程管理、文件管理、終端形狀等。理、文件管理、終端形狀等。l外層:運(yùn)用層,包括各種開(kāi)發(fā)工具、高級(jí)言外層:運(yùn)用層,包括各種開(kāi)發(fā)工具、高級(jí)言語(yǔ)編譯器、網(wǎng)絡(luò)通訊處置程序等。一切運(yùn)用語(yǔ)編譯器、網(wǎng)絡(luò)通訊處置程序等。一切運(yùn)用層程序都是在層程序都是在shellshell命令言語(yǔ)解釋程序的命令言語(yǔ)解釋程序的管理和控制下為用戶效力的,是面向用戶操管理和控制下為用戶效力的,是面向用戶操作的界面。作的界面。下一頁(yè)上一頁(yè)停止放映停止放映UNIXUNIX系統(tǒng)構(gòu)造圖系統(tǒng)構(gòu)造圖 裸機(jī)裸機(jī)存儲(chǔ)程序、進(jìn)程管理、

15、文件管理、存儲(chǔ)程序、進(jìn)程管理、文件管理、I/O設(shè)備管理設(shè)備管理系統(tǒng)調(diào)用系統(tǒng)調(diào)用運(yùn)用程序、各種言語(yǔ)處置程序運(yùn)用程序、各種言語(yǔ)處置程序Shell命令解釋程序命令解釋程序系系統(tǒng)統(tǒng)程程序序員員終端機(jī)終端機(jī)用戶用戶n用戶用戶n用戶用戶n運(yùn)用層運(yùn)用層系統(tǒng)調(diào)用層系統(tǒng)調(diào)用層內(nèi)核層內(nèi)核層下一頁(yè)上一頁(yè)停止放映停止放映 UNIX UNIX編程流程及開(kāi)發(fā)包編程流程及開(kāi)發(fā)包lUNIXUNIX編程流程主要包含編程流程主要包含4 4個(gè)過(guò)程:個(gè)過(guò)程:l源代碼編輯。源代碼編輯。UNIXUNIX的編輯器是的編輯器是vivi、eded。l編譯。對(duì)源程序文件進(jìn)展編譯,產(chǎn)生目的程序。編譯。對(duì)源程序文件進(jìn)展編譯,產(chǎn)生目的程序。UNICU

16、NIC的的C C編譯命令是編譯命令是cccc,創(chuàng)建類庫(kù)的命令是,創(chuàng)建類庫(kù)的命令是arar,編譯大的運(yùn)用程,編譯大的運(yùn)用程序用序用makemake命令。命令。l調(diào)式。調(diào)式。UNIXUNIX提供了三種調(diào)試工具:提供了三種調(diào)試工具:lLint Lint 用于檢查源代碼的錯(cuò)誤,包括數(shù)據(jù)類型不匹配,語(yǔ)用于檢查源代碼的錯(cuò)誤,包括數(shù)據(jù)類型不匹配,語(yǔ)法問(wèn)題;法問(wèn)題;lProf Prof 分析程序運(yùn)轉(zhuǎn)破費(fèi)的時(shí)間,分析程序運(yùn)轉(zhuǎn)破費(fèi)的時(shí)間, 可用于優(yōu)化代碼;可用于優(yōu)化代碼;lSdb Sdb 是符號(hào)診錯(cuò)器,也提供斷點(diǎn)支持及編程環(huán)境中的交是符號(hào)診錯(cuò)器,也提供斷點(diǎn)支持及編程環(huán)境中的交互式的程序調(diào)用?;ナ降某绦蛘{(diào)用。l鏈接

17、。將目的程序和庫(kù)函數(shù)等鏈接、裝配成可直接執(zhí)行鏈接。將目的程序和庫(kù)函數(shù)等鏈接、裝配成可直接執(zhí)行的程序。的程序。l執(zhí)行程序。運(yùn)轉(zhuǎn)可執(zhí)行程序?qū)⒖蓤?zhí)行程序名做為命令執(zhí)行程序。運(yùn)轉(zhuǎn)可執(zhí)行程序?qū)⒖蓤?zhí)行程序名做為命令執(zhí)行。執(zhí)行。下一頁(yè)上一頁(yè)停止放映停止放映創(chuàng)建可執(zhí)行創(chuàng)建可執(zhí)行C C程序的操作步驟程序的操作步驟l編譯程序的預(yù)處置程序逐行讀入源代碼,編譯程序的預(yù)處置程序逐行讀入源代碼,交換符號(hào)名交換符號(hào)名#define定義的,接受來(lái)定義的,接受來(lái)自用戶源文件中的指令、用戶程序中命名自用戶源文件中的指令、用戶程序中命名文件的內(nèi)容等。文件的內(nèi)容等。l編譯程序把用戶源代碼文件中的編譯程序把用戶源代碼文件中的c言語(yǔ)代言

18、語(yǔ)代碼翻譯成匯編言語(yǔ)代碼。碼翻譯成匯編言語(yǔ)代碼。l匯編程序把匯編言語(yǔ)代碼翻譯為目的機(jī)器匯編程序把匯編言語(yǔ)代碼翻譯為目的機(jī)器的機(jī)器指令,并將這些指令保管在目的文的機(jī)器指令,并將這些指令保管在目的文件中。件中。l鏈接編輯程序把目的文件、用戶程序中調(diào)鏈接編輯程序把目的文件、用戶程序中調(diào)用的庫(kù)函數(shù)進(jìn)展鏈接,生成可執(zhí)行程序。用的庫(kù)函數(shù)進(jìn)展鏈接,生成可執(zhí)行程序。下一頁(yè)上一頁(yè)停止放映停止放映UNIXUNIX開(kāi)發(fā)包開(kāi)發(fā)包l基于圖形界面的基于圖形界面的UNIX程序開(kāi)發(fā)與程序開(kāi)發(fā)與Windows32位程位程序開(kāi)發(fā)類似。序開(kāi)發(fā)類似。lMOTIF API是功能強(qiáng)大的提供一致性外觀和用戶是功能強(qiáng)大的提供一致性外觀和用戶

19、接口的窗口部件的集合的集合;接口的窗口部件的集合的集合;lTCL/TK是功能強(qiáng)大且簡(jiǎn)單易學(xué)的一種解釋性言語(yǔ),是功能強(qiáng)大且簡(jiǎn)單易學(xué)的一種解釋性言語(yǔ),也是一套也是一套C的函數(shù)庫(kù),可提供根本的命令與控制構(gòu)的函數(shù)庫(kù),可提供根本的命令與控制構(gòu)造;而造;而TK是一個(gè)是一個(gè)X Window的工具包,是的工具包,是TCL在在X Window 系統(tǒng)的運(yùn)用。系統(tǒng)的運(yùn)用。lGTKGIMP ToolKit開(kāi)發(fā)工具,根本是面向?qū)﹂_(kāi)發(fā)工具,根本是面向?qū)ο蟮倪\(yùn)用程序設(shè)計(jì)的一套象的運(yùn)用程序設(shè)計(jì)的一套API,有些類似于,有些類似于Microsoft的的MFC編程。編程。lUNIX下的開(kāi)發(fā)言語(yǔ)包括:下的開(kāi)發(fā)言語(yǔ)包括:C、C+、F

20、ortran、Ada、Pascal、Lisp、Small Talk等。等。下一頁(yè)上一頁(yè)停止放映停止放映 多進(jìn)程編程特點(diǎn)多進(jìn)程編程特點(diǎn)lUNIXUNIX操作系統(tǒng)是分時(shí)多用戶系統(tǒng)。在處置過(guò)程中,操作系統(tǒng)是分時(shí)多用戶系統(tǒng)。在處置過(guò)程中,將將CPUCPU時(shí)間片分配給每個(gè)進(jìn)程。由于每個(gè)進(jìn)程都有各時(shí)間片分配給每個(gè)進(jìn)程。由于每個(gè)進(jìn)程都有各自的運(yùn)轉(zhuǎn)環(huán)境,因此在進(jìn)程形狀轉(zhuǎn)換控制過(guò)程中要自的運(yùn)轉(zhuǎn)環(huán)境,因此在進(jìn)程形狀轉(zhuǎn)換控制過(guò)程中要思索處置不同的內(nèi)容數(shù)據(jù):思索處置不同的內(nèi)容數(shù)據(jù):l用戶數(shù)據(jù)保管:包括正文段用戶數(shù)據(jù)保管:包括正文段TEXTTEXT、數(shù)據(jù)段、堆、數(shù)據(jù)段、堆棧段棧段StackStack和共享內(nèi)存段;和共享

21、內(nèi)存段;l存放器數(shù)據(jù)保管:包括存放器數(shù)據(jù)保管:包括PCPC指向下一條要執(zhí)行的地指向下一條要執(zhí)行的地址址 、PSWPSW處置機(jī)形狀、處置機(jī)形狀、SPSP堆棧指針、堆棧指針、PCBPPCBP進(jìn)程控制塊指針,進(jìn)程控制塊指針,F(xiàn)PFP指向堆棧中一個(gè)函指向堆棧中一個(gè)函數(shù)的數(shù)的LocalLocal變量的地址、變量的地址、APAP指向堆棧中函數(shù)調(diào)用指向堆棧中函數(shù)調(diào)用的實(shí)參位置、的實(shí)參位置、ISPISP中斷堆棧指針及其他通用存中斷堆棧指針及其他通用存放器等。放器等。l系統(tǒng)層次保管:包括虛擬存儲(chǔ)空間管理表格,中斷系統(tǒng)層次保管:包括虛擬存儲(chǔ)空間管理表格,中斷處置堆棧。處置堆棧。l 當(dāng)該進(jìn)程再得到當(dāng)該進(jìn)程再得到CP

22、UCPU時(shí)間片時(shí),可以從時(shí)間片時(shí),可以從“斷點(diǎn)處斷點(diǎn)處開(kāi)場(chǎng)正常地運(yùn)轉(zhuǎn)處置。開(kāi)場(chǎng)正常地運(yùn)轉(zhuǎn)處置。下一頁(yè)上一頁(yè)停止放映停止放映多進(jìn)程程序的特點(diǎn)多進(jìn)程程序的特點(diǎn)l并行化。將一個(gè)大而復(fù)雜的問(wèn)題,劃分為一系列并行化。將一個(gè)大而復(fù)雜的問(wèn)題,劃分為一系列小而簡(jiǎn)單的問(wèn)題進(jìn)展處置。處置時(shí),各個(gè)小處置小而簡(jiǎn)單的問(wèn)題進(jìn)展處置。處置時(shí),各個(gè)小處置可以同時(shí)進(jìn)展,而在一些關(guān)鍵點(diǎn)的處置時(shí),再采可以同時(shí)進(jìn)展,而在一些關(guān)鍵點(diǎn)的處置時(shí),再采用集中式。用集中式。l簡(jiǎn)單有序。經(jīng)并行化分解的程序是簡(jiǎn)單的,可以簡(jiǎn)單有序。經(jīng)并行化分解的程序是簡(jiǎn)單的,可以單獨(dú)處置,但相互之間經(jīng)過(guò)通訊機(jī)制而有機(jī)地結(jié)單獨(dú)處置,但相互之間經(jīng)過(guò)通訊機(jī)制而有機(jī)地結(jié)合

23、成一個(gè)整體。合成一個(gè)整體。l互不干擾。各個(gè)進(jìn)程是獨(dú)立的?;ゲ桓蓴_。各個(gè)進(jìn)程是獨(dú)立的。l事物化。將程序設(shè)計(jì)成一個(gè)進(jìn)程只進(jìn)展一次處置,事物化。將程序設(shè)計(jì)成一個(gè)進(jìn)程只進(jìn)展一次處置,相當(dāng)于完成一個(gè)事物。進(jìn)程處置完相當(dāng)于一次事相當(dāng)于完成一個(gè)事物。進(jìn)程處置完相當(dāng)于一次事物完成。這樣的變成簡(jiǎn)單易行。物完成。這樣的變成簡(jiǎn)單易行。下一頁(yè)上一頁(yè)停止放映停止放映常見(jiàn)進(jìn)程通訊方式常見(jiàn)進(jìn)程通訊方式lUNIXUNIX系統(tǒng)中的進(jìn)程間的通訊有兩層含義:系統(tǒng)中的進(jìn)程間的通訊有兩層含義:l單一進(jìn)程內(nèi)部各個(gè)模塊間的通訊單一進(jìn)程內(nèi)部各個(gè)模塊間的通訊l作為單獨(dú)單位的各個(gè)不同進(jìn)程間的通訊作為單獨(dú)單位的各個(gè)不同進(jìn)程間的通訊l前者沿襲了單義

24、務(wù)操作系統(tǒng)中的模塊通訊方前者沿襲了單義務(wù)操作系統(tǒng)中的模塊通訊方法;法;l后者必需保證各個(gè)進(jìn)程在通訊過(guò)程中互不干后者必需保證各個(gè)進(jìn)程在通訊過(guò)程中互不干擾從而堅(jiān)持其通訊的一致性。擾從而堅(jiān)持其通訊的一致性。l 下一頁(yè)上一頁(yè)停止放映停止放映UNIXUNIX采用的進(jìn)程通訊方式采用的進(jìn)程通訊方式l文件和記錄鎖定。為防止兩個(gè)進(jìn)程間同時(shí)要求訪問(wèn)同一共享資源文件和記錄鎖定。為防止兩個(gè)進(jìn)程間同時(shí)要求訪問(wèn)同一共享資源而引起訪問(wèn)和操作的混亂,在進(jìn)程對(duì)共享資源進(jìn)展訪問(wèn)前必需對(duì)而引起訪問(wèn)和操作的混亂,在進(jìn)程對(duì)共享資源進(jìn)展訪問(wèn)前必需對(duì)其進(jìn)展鎖定,該進(jìn)程訪問(wèn)完后再釋放。這是其進(jìn)展鎖定,該進(jìn)程訪問(wèn)完后再釋放。這是UNIXUNI

25、X為共享資源提供為共享資源提供的互斥性保證。的互斥性保證。l管道。管道普通用于兩個(gè)不同進(jìn)程之間的通訊。當(dāng)一個(gè)進(jìn)程創(chuàng)建管道。管道普通用于兩個(gè)不同進(jìn)程之間的通訊。當(dāng)一個(gè)進(jìn)程創(chuàng)建一個(gè)管道,并調(diào)用一個(gè)管道,并調(diào)用forkfork創(chuàng)建本人的一個(gè)子進(jìn)程后,父進(jìn)程封鎖讀創(chuàng)建本人的一個(gè)子進(jìn)程后,父進(jìn)程封鎖讀管道端,子進(jìn)程封鎖寫管道端,這樣提供了兩個(gè)進(jìn)程之間數(shù)據(jù)流管道端,子進(jìn)程封鎖寫管道端,這樣提供了兩個(gè)進(jìn)程之間數(shù)據(jù)流動(dòng)的一種方式。動(dòng)的一種方式。lFIFOFIFO。FIFOFIFO是一種先進(jìn)先出的隊(duì)列。它類似于一個(gè)管道,只允許是一種先進(jìn)先出的隊(duì)列。它類似于一個(gè)管道,只允許數(shù)據(jù)的單向流動(dòng)。每個(gè)數(shù)據(jù)的單向流動(dòng)。每個(gè)

26、FIFOFIFO都有一個(gè)名字,允許不相關(guān)的進(jìn)程訪都有一個(gè)名字,允許不相關(guān)的進(jìn)程訪問(wèn)同一個(gè)問(wèn)同一個(gè)FIFOFIFO。因此也成為命名管道。因此也成為命名管道。l音訊隊(duì)列。音訊隊(duì)列。UNIXUNIX下不同進(jìn)程之間可實(shí)現(xiàn)共享資源的一種機(jī)制;下不同進(jìn)程之間可實(shí)現(xiàn)共享資源的一種機(jī)制;UNIXUNIX允許不同進(jìn)程將格式化的數(shù)據(jù)流以音訊方式發(fā)送給恣意進(jìn)程。允許不同進(jìn)程將格式化的數(shù)據(jù)流以音訊方式發(fā)送給恣意進(jìn)程。對(duì)音訊隊(duì)列具有操作權(quán)限的進(jìn)程都可以運(yùn)用對(duì)音訊隊(duì)列具有操作權(quán)限的進(jìn)程都可以運(yùn)用msgetmsget完成對(duì)音訊隊(duì)完成對(duì)音訊隊(duì)列的操作控制。經(jīng)過(guò)運(yùn)用音訊類型,進(jìn)程可以按任何順序讀音訊,列的操作控制。經(jīng)過(guò)運(yùn)用音訊

27、類型,進(jìn)程可以按任何順序讀音訊,或?yàn)橐粲嵃才艃?yōu)先級(jí)順序?;?yàn)橐粲嵃才艃?yōu)先級(jí)順序。l信號(hào)燈。作為進(jìn)程間通訊的一種方法,它不是用于交換大批數(shù)據(jù),信號(hào)燈。作為進(jìn)程間通訊的一種方法,它不是用于交換大批數(shù)據(jù),而用于多進(jìn)程之間的同步協(xié)調(diào)對(duì)共享存儲(chǔ)段的存取。而用于多進(jìn)程之間的同步協(xié)調(diào)對(duì)共享存儲(chǔ)段的存取。l共享內(nèi)存。經(jīng)過(guò)信號(hào)燈實(shí)現(xiàn)存儲(chǔ)共享類似共享內(nèi)存。經(jīng)過(guò)信號(hào)燈實(shí)現(xiàn)存儲(chǔ)共享類似“紅燈停、綠燈行紅燈停、綠燈行下一頁(yè)上一頁(yè)停止放映停止放映程序員接口程序員接口lUNIXUNIX提供了在提供了在POSIXPOSIX計(jì)算機(jī)環(huán)境的可移植操作系統(tǒng)計(jì)算機(jī)環(huán)境的可移植操作系統(tǒng)界面的界面的UNIX APIUNIX API,使其成

28、為跨平臺(tái)的編程接口。,使其成為跨平臺(tái)的編程接口。lUNIX UNIX 是一套類庫(kù)中可調(diào)用的函數(shù)集,它的主要函數(shù)是一套類庫(kù)中可調(diào)用的函數(shù)集,它的主要函數(shù)功能包括:規(guī)范功能包括:規(guī)范C C類庫(kù)的類庫(kù)的I/OI/O功能、文件及目錄操作、功能、文件及目錄操作、進(jìn)程的創(chuàng)建與終止、通訊設(shè)備、設(shè)備驅(qū)動(dòng)函數(shù)、系進(jìn)程的創(chuàng)建與終止、通訊設(shè)備、設(shè)備驅(qū)動(dòng)函數(shù)、系統(tǒng)數(shù)據(jù)庫(kù)、數(shù)據(jù)交換格式等。統(tǒng)數(shù)據(jù)庫(kù)、數(shù)據(jù)交換格式等。l由于由于UNIX APIUNIX API是直接與是直接與OSOS及編程言語(yǔ)環(huán)境相關(guān)的,及編程言語(yǔ)環(huán)境相關(guān)的,程序員可根據(jù)詳細(xì)產(chǎn)品查閱相關(guān)技術(shù)資料以更好地程序員可根據(jù)詳細(xì)產(chǎn)品查閱相關(guān)技術(shù)資料以更好地掌握不同的

29、掌握不同的APIAPI接口。接口。l要想更好地掌握要想更好地掌握UNIXUNIX環(huán)境下的運(yùn)用程序開(kāi)發(fā),象環(huán)境下的運(yùn)用程序開(kāi)發(fā),象UNIXUNIX系統(tǒng)的系統(tǒng)的BerkeleyBerkeley套接字、套接字、System VSystem V傳送接口傳送接口TLITLI、其他多線程、其他多線程APIAPI、X X窗口的窗口的MOTIF APIMOTIF API等是等是UNIXUNIX程序員必修的課程。程序員必修的課程。下一頁(yè)上一頁(yè)停止放映停止放映三、三、WindwosWindwos編程方式編程方式lWindowsWindows構(gòu)造構(gòu)造lWOSAWOSA及及Windows DNAWindows DNA

30、l事件及音訊機(jī)制事件及音訊機(jī)制l多線程多線程l編程流程幾開(kāi)發(fā)包編程流程幾開(kāi)發(fā)包l程序員接口程序員接口下一頁(yè)上一頁(yè)停止放映停止放映 根本系統(tǒng)設(shè)備驅(qū)動(dòng)程序虛擬機(jī)管理程序子系統(tǒng)操作系統(tǒng)效力網(wǎng)絡(luò)子系統(tǒng)文件管理子系統(tǒng)WindowsKernelWindowsGDIWindowsUserWindows子系統(tǒng)Windows API 層32位位Windows運(yùn)用程序運(yùn)用程序WindowsKernel外殼外殼16位位Windows運(yùn)用程序運(yùn)用程序 Windows構(gòu)造構(gòu)造系統(tǒng)虛擬機(jī)器共享地址空間MS-DOS虛擬機(jī)虛擬機(jī)下一頁(yè)上一頁(yè)停止放映停止放映WindowsWindows構(gòu)造續(xù)構(gòu)造續(xù)l系統(tǒng)虛擬機(jī)器系統(tǒng)虛擬機(jī)器VM

31、:是系統(tǒng)的環(huán)境名,在這種環(huán)境下,系統(tǒng)將:是系統(tǒng)的環(huán)境名,在這種環(huán)境下,系統(tǒng)將支持一切的支持一切的Windows運(yùn)用程序和運(yùn)用程序和Windows子系統(tǒng)組件。如圖子系統(tǒng)組件。如圖形設(shè)備接口形設(shè)備接口GDI等。等。l32位位Windows運(yùn)用程序:是一種新的運(yùn)用程序:是一種新的Windows運(yùn)用程序,是運(yùn)用程序,是Microsoft Win32運(yùn)用程序編程接口運(yùn)用程序編程接口API的一個(gè)子集。的一個(gè)子集。l外殼:是一種外殼:是一種32位的位的Windows運(yùn)用程序,它為系統(tǒng)提供必需運(yùn)用程序,它為系統(tǒng)提供必需的用戶界面。的用戶界面。l16位位Windows運(yùn)用程序:是在運(yùn)用程序:是在Windwos

32、3.x上運(yùn)用的運(yùn)用程上運(yùn)用的運(yùn)用程序。序。lWindows內(nèi)核:支持內(nèi)核:支持Windows運(yùn)用程序所要求的低級(jí)效力,運(yùn)用程序所要求的低級(jí)效力,如動(dòng)態(tài)內(nèi)存分配。如動(dòng)態(tài)內(nèi)存分配。lGDI:是:是Windows圖形功能的中心。圖形功能的中心。lUser:是:是Windows管理程序。管理程序。lMS-DOS虛擬機(jī)器:支持在虛擬機(jī)器:支持在Windows下的下的MS-DOS運(yùn)用程序。運(yùn)用程序。下一頁(yè)上一頁(yè)停止放映停止放映WOSAlWOSA Windows Open Service ArchitectureWindows開(kāi)放效力開(kāi)放效力 體系構(gòu)造,是體系構(gòu)造,是Windows為實(shí)為實(shí)現(xiàn)分布式計(jì)算而設(shè)計(jì)

33、的一套現(xiàn)分布式計(jì)算而設(shè)計(jì)的一套API。該構(gòu)造模型可以。該構(gòu)造模型可以使不同的提供商提供訪問(wèn)多個(gè)后端的效力程序。使不同的提供商提供訪問(wèn)多個(gè)后端的效力程序。WOSA包括:包括:lMAPI:音訊:音訊API。在不同網(wǎng)絡(luò)類型上,給。在不同網(wǎng)絡(luò)類型上,給Windows程序提供不同類型的透明的音訊效力。程序提供不同類型的透明的音訊效力。lODBC:開(kāi)放數(shù)據(jù)庫(kù)銜接。:開(kāi)放數(shù)據(jù)庫(kù)銜接。ODBC允許不同的允許不同的Windows運(yùn)用程序訪問(wèn)任何企業(yè)網(wǎng)絡(luò)上的、多種運(yùn)用程序訪問(wèn)任何企業(yè)網(wǎng)絡(luò)上的、多種類型數(shù)據(jù)庫(kù)系統(tǒng)。類型數(shù)據(jù)庫(kù)系統(tǒng)。lRPC:遠(yuǎn)程方法調(diào)用。使:遠(yuǎn)程方法調(diào)用。使Windows運(yùn)用程序可以運(yùn)用程序可以跨異

34、質(zhì)的網(wǎng)絡(luò)去調(diào)用遠(yuǎn)程的方法或運(yùn)用??绠愘|(zhì)的網(wǎng)絡(luò)去調(diào)用遠(yuǎn)程的方法或運(yùn)用。下一頁(yè)上一頁(yè)停止放映停止放映WOSA續(xù)續(xù)lWindows SoketS:Windows 套接字。套接字。使網(wǎng)絡(luò)上運(yùn)用不同類型數(shù)據(jù)傳輸協(xié)議的程使網(wǎng)絡(luò)上運(yùn)用不同類型數(shù)據(jù)傳輸協(xié)議的程序經(jīng)過(guò)套接字進(jìn)展透明的操作。序經(jīng)過(guò)套接字進(jìn)展透明的操作。lLicense Services API:驗(yàn)證字效力:驗(yàn)證字效力API。這是一個(gè)軟件驗(yàn)證字的編程接樓,可以實(shí)這是一個(gè)軟件驗(yàn)證字的編程接樓,可以實(shí)行對(duì)不同公司產(chǎn)品的監(jiān)控以及控制網(wǎng)絡(luò)程行對(duì)不同公司產(chǎn)品的監(jiān)控以及控制網(wǎng)絡(luò)程序的運(yùn)用。序的運(yùn)用。lTAPI:提供一個(gè)運(yùn)用的:提供一個(gè)運(yùn)用的API接口。使接口。

35、使Windows運(yùn)用程序可以對(duì)傳統(tǒng)的網(wǎng)絡(luò)及設(shè)運(yùn)用程序可以對(duì)傳統(tǒng)的網(wǎng)絡(luò)及設(shè)備進(jìn)展透明存取。備進(jìn)展透明存取。下一頁(yè)上一頁(yè)停止放映停止放映Windows DNAlWindows DNAWindows Distibuted interNet Applications Architecture。Windows分布式分布式Internet運(yùn)用構(gòu)造。其目的是運(yùn)用構(gòu)造。其目的是創(chuàng)建一個(gè)框架,用以建立基于微軟創(chuàng)建一個(gè)框架,用以建立基于微軟Windows平臺(tái)的各種運(yùn)用程序,平臺(tái)的各種運(yùn)用程序,從而使從而使PC機(jī)和機(jī)和Internet完美結(jié)合。完美結(jié)合。lWindwos DNA建立了一個(gè)計(jì)算模型,它實(shí)現(xiàn)了建立了一個(gè)

36、計(jì)算模型,它實(shí)現(xiàn)了Web和客戶機(jī)和客戶機(jī)/效效力器計(jì)算的集成。力器計(jì)算的集成。l在最高層次上,在最高層次上,Windows DNA交融交融PC機(jī)和機(jī)和Internet是經(jīng)過(guò)兩種是經(jīng)過(guò)兩種途徑:一是使計(jì)算機(jī)之間經(jīng)過(guò)協(xié)作望、公眾網(wǎng)能很好地湖用和共途徑:一是使計(jì)算機(jī)之間經(jīng)過(guò)協(xié)作望、公眾網(wǎng)能很好地湖用和共同運(yùn)作;二是將運(yùn)用的中心效力或同運(yùn)作;二是將運(yùn)用的中心效力或“管道效力更深地綜合于操作管道效力更深地綜合于操作系統(tǒng)。系統(tǒng)。l更重要的是更重要的是Windwos DNA 提供了一個(gè)基于開(kāi)放式協(xié)議和公開(kāi)界提供了一個(gè)基于開(kāi)放式協(xié)議和公開(kāi)界面的互用性框架,這一框架能運(yùn)用戶以新功能面的互用性框架,這一框架能運(yùn)用

37、戶以新功能Web擴(kuò)展現(xiàn)有擴(kuò)展現(xiàn)有系統(tǒng)。系統(tǒng)。lWindows DNA的中心是經(jīng)過(guò)一個(gè)公共對(duì)象模型的中心是經(jīng)過(guò)一個(gè)公共對(duì)象模型COM將將Web和客戶機(jī)和客戶機(jī)/效力器運(yùn)用開(kāi)發(fā)方式結(jié)合起來(lái)。效力器運(yùn)用開(kāi)發(fā)方式結(jié)合起來(lái)。Windows DNA經(jīng)過(guò)構(gòu)經(jīng)過(guò)構(gòu)件對(duì)象模型運(yùn)用一套通用的效力集,如構(gòu)件,動(dòng)態(tài)件對(duì)象模型運(yùn)用一套通用的效力集,如構(gòu)件,動(dòng)態(tài)HTML、網(wǎng)絡(luò)、網(wǎng)絡(luò)閱讀器和效力器、腳本、事物處置、音訊序列、平安性、目錄、閱讀器和效力器、腳本、事物處置、音訊序列、平安性、目錄、DB和數(shù)據(jù)存取、系統(tǒng)管理以及用戶界面。這些效力一一致的方式和數(shù)據(jù)存取、系統(tǒng)管理以及用戶界面。這些效力一一致的方式公開(kāi)于各個(gè)層面,供應(yīng)

38、用程序運(yùn)用。公開(kāi)于各個(gè)層面,供應(yīng)用程序運(yùn)用。下一頁(yè)上一頁(yè)停止放映停止放映Windows DNA體系構(gòu)造體系構(gòu)造1、Windows平臺(tái):平臺(tái):WindowsOS、Win32技術(shù)技術(shù)2、部件對(duì)象模型、部件對(duì)象模型COM:COM、DCOM及與之相關(guān)及與之相關(guān)的技術(shù)的技術(shù)3、Internet技術(shù):技術(shù):MS-IE、動(dòng)態(tài)、動(dòng)態(tài)HTMLDHTML、IIS、MS-Site Server、JAVA4、Windows DNA 效力:包括平安性、目錄、事物效力:包括平安性、目錄、事物處置、音訊隊(duì)列、處置、音訊隊(duì)列、DB管理、數(shù)據(jù)存取、與協(xié)作、管理、數(shù)據(jù)存取、與協(xié)作、腳本、系統(tǒng)管理等;腳本、系統(tǒng)管理等;5、Wind

39、ows DNA的工具:快速運(yùn)用開(kāi)發(fā)工具、組的工具:快速運(yùn)用開(kāi)發(fā)工具、組件的創(chuàng)建、協(xié)同開(kāi)發(fā)、內(nèi)容的創(chuàng)建與發(fā)布、件的創(chuàng)建、協(xié)同開(kāi)發(fā)、內(nèi)容的創(chuàng)建與發(fā)布、Web網(wǎng)站的開(kāi)發(fā)。網(wǎng)站的開(kāi)發(fā)。6、其他、其他Windows DNA 效力器的運(yùn)用。效力器的運(yùn)用。MS-BackOffice等。等。下一頁(yè)上一頁(yè)停止放映停止放映Windows DNA體系構(gòu)造表示圖體系構(gòu)造表示圖 工具集用戶接口用戶接口及閱讀及閱讀事務(wù)處置事務(wù)處置集成化存儲(chǔ)集成化存儲(chǔ)分布式分布式操作系統(tǒng)操作系統(tǒng)DOE下一頁(yè)上一頁(yè)停止放映停止放映事件及音訊機(jī)制事件及音訊機(jī)制lWindows是事件驅(qū)動(dòng)音訊驅(qū)動(dòng)的是事件驅(qū)動(dòng)音訊驅(qū)動(dòng)的OS,也是基于音,也是基于音

40、訊的訊的OS。lWindows 運(yùn)用程序中音訊有兩種送出途徑;直接和排運(yùn)用程序中音訊有兩種送出途徑;直接和排隊(duì)。隊(duì)。Windows或某些運(yùn)轉(zhuǎn)的運(yùn)用程序可直接發(fā)布音訊或某些運(yùn)轉(zhuǎn)的運(yùn)用程序可直接發(fā)布音訊給窗口過(guò)程,或者,音訊可送到音訊隊(duì)列,在運(yùn)用程序給窗口過(guò)程,或者,音訊可送到音訊隊(duì)列,在運(yùn)用程序執(zhí)行期間運(yùn)用程序?qū)ο笱永m(xù)不斷輪詢音訊隊(duì)列的音訊。執(zhí)行期間運(yùn)用程序?qū)ο笱永m(xù)不斷輪詢音訊隊(duì)列的音訊。凡是以排隊(duì)方式送出的音訊都被送到一個(gè)由操作系統(tǒng)提凡是以排隊(duì)方式送出的音訊都被送到一個(gè)由操作系統(tǒng)提供的音訊隊(duì)列的保管區(qū)。在供的音訊隊(duì)列的保管區(qū)。在OS中當(dāng)前執(zhí)行的每個(gè)進(jìn)程中當(dāng)前執(zhí)行的每個(gè)進(jìn)程都有各自的音訊隊(duì)列。都

41、有各自的音訊隊(duì)列。l事件驅(qū)動(dòng)程序不是由事件的順序來(lái)控制,而是由事件的事件驅(qū)動(dòng)程序不是由事件的順序來(lái)控制,而是由事件的發(fā)生來(lái)控制,而事件的發(fā)生是隨機(jī)的、不確定的,這就發(fā)生來(lái)控制,而事件的發(fā)生是隨機(jī)的、不確定的,這就允許程序的用戶用各種合理的順序來(lái)安排程序的流程。允許程序的用戶用各種合理的順序來(lái)安排程序的流程。l事件驅(qū)動(dòng)圍繞音訊的產(chǎn)生與處置展開(kāi),它是靠音訊循環(huán)事件驅(qū)動(dòng)圍繞音訊的產(chǎn)生與處置展開(kāi),它是靠音訊循環(huán)機(jī)制來(lái)實(shí)現(xiàn)的,音訊是一種報(bào)告有關(guān)事件發(fā)生的通知。機(jī)制來(lái)實(shí)現(xiàn)的,音訊是一種報(bào)告有關(guān)事件發(fā)生的通知。下一頁(yè)上一頁(yè)停止放映停止放映Windows運(yùn)用程序的音訊來(lái)源運(yùn)用程序的音訊來(lái)源l輸入音訊:包括鍵盤

42、和鼠標(biāo)的輸入。這類音訊首輸入音訊:包括鍵盤和鼠標(biāo)的輸入。這類音訊首先放在系統(tǒng)音訊隊(duì)列中,然后由先放在系統(tǒng)音訊隊(duì)列中,然后由Windows將它將它們送到運(yùn)用程序的音訊隊(duì)列中,由運(yùn)用程序來(lái)處們送到運(yùn)用程序的音訊隊(duì)列中,由運(yùn)用程序來(lái)處置音訊。置音訊。l控制信息:用來(lái)與控制信息:用來(lái)與Windows的控制對(duì)象列表的控制對(duì)象列表框、按鈕等進(jìn)展雙向通訊。這類信息普通不經(jīng)框、按鈕等進(jìn)展雙向通訊。這類信息普通不經(jīng)過(guò)運(yùn)用程序音訊隊(duì)列,而是直接發(fā)送到控制對(duì)象過(guò)運(yùn)用程序音訊隊(duì)列,而是直接發(fā)送到控制對(duì)象上去。上去。l系統(tǒng)音訊:對(duì)程序化的事件或系統(tǒng)時(shí)鐘中斷作出系統(tǒng)音訊:對(duì)程序化的事件或系統(tǒng)時(shí)鐘中斷作出反映。有些音訊動(dòng)態(tài)

43、數(shù)據(jù)交換音訊反映。有些音訊動(dòng)態(tài)數(shù)據(jù)交換音訊DDE要經(jīng)要經(jīng)過(guò)過(guò)Windows的系統(tǒng)音訊隊(duì)列,而有的那么不經(jīng)的系統(tǒng)音訊隊(duì)列,而有的那么不經(jīng)過(guò)系統(tǒng)音訊隊(duì)列而直接送入運(yùn)用程序的音訊隊(duì)列過(guò)系統(tǒng)音訊隊(duì)列而直接送入運(yùn)用程序的音訊隊(duì)列如創(chuàng)建窗口音訊。如創(chuàng)建窗口音訊。l用戶音訊:這是程序員本人定義并在運(yùn)用程序中用戶音訊:這是程序員本人定義并在運(yùn)用程序中自動(dòng)發(fā)出的音訊,普通由運(yùn)用程序的某一部分內(nèi)自動(dòng)發(fā)出的音訊,普通由運(yùn)用程序的某一部分內(nèi)部處置。部處置。下一頁(yè)上一頁(yè)停止放映停止放映多線程多線程l線程線程ThreadThread是是Win32Win32分配分配CPUCPU的根本單位。線程的根本單位。線程是代碼執(zhí)行的流

44、程,它可以執(zhí)行運(yùn)用程序代碼的任是代碼執(zhí)行的流程,它可以執(zhí)行運(yùn)用程序代碼的任何部分。何部分。l3232位的位的WindowsWindows運(yùn)用程序可包含一個(gè)或多個(gè)進(jìn)程,運(yùn)用程序可包含一個(gè)或多個(gè)進(jìn)程,每個(gè)進(jìn)程由一個(gè)或多個(gè)線程構(gòu)成。每個(gè)進(jìn)程由一個(gè)或多個(gè)線程構(gòu)成。l線程分為兩種類型:線程分為兩種類型:workerworker和和user-interfaceuser-interface;前;前者不處置窗口信息,用于在后臺(tái)執(zhí)行義務(wù),者不處置窗口信息,用于在后臺(tái)執(zhí)行義務(wù),WorkerWorker線程是易用和常用的類型。后者用來(lái)處置用戶輸入線程是易用和常用的類型。后者用來(lái)處置用戶輸入和相應(yīng)由用戶產(chǎn)生的事件和音

45、訊。和相應(yīng)由用戶產(chǎn)生的事件和音訊。lWindowsWindows的多義務(wù)是經(jīng)過(guò)運(yùn)用的多義務(wù)是經(jīng)過(guò)運(yùn)用Win32 APIWin32 API,從而允許,從而允許多進(jìn)程與多線程同時(shí)執(zhí)行。對(duì)于用戶來(lái)說(shuō),多義務(wù)多進(jìn)程與多線程同時(shí)執(zhí)行。對(duì)于用戶來(lái)說(shuō),多義務(wù)和多線程的運(yùn)用程序更易于響運(yùn)用戶的需求。例如,和多線程的運(yùn)用程序更易于響運(yùn)用戶的需求。例如,用戶可同時(shí)打印一個(gè)文件和編輯另一個(gè)文件,甚至用戶可同時(shí)打印一個(gè)文件和編輯另一個(gè)文件,甚至有能夠是在欣賞著有能夠是在欣賞著VCDVCD的同時(shí),做上述任務(wù)的。的同時(shí),做上述任務(wù)的。 下一頁(yè)上一頁(yè)停止放映停止放映編程流程及開(kāi)發(fā)包編程流程及開(kāi)發(fā)包 l傳統(tǒng)的傳統(tǒng)的Windows3.XWindows3.X運(yùn)用開(kāi)發(fā)者必需運(yùn)用運(yùn)用開(kāi)發(fā)者必需運(yùn)用WindowsWindows軟件開(kāi)發(fā)包軟件開(kāi)發(fā)包SDKSDK。lWindows SDKWindows SDK主要包括:主要包括:l描畫描畫WindowsWindows函數(shù)、音訊、構(gòu)造、宏及資料的大量書籍;函數(shù)、音訊、構(gòu)造、宏及資料的大量書籍;l各種工具:對(duì)話編輯器、圖像編輯器;各種工具:對(duì)話編輯器、圖像編輯器;l聯(lián)機(jī)協(xié)助文件聯(lián)機(jī)協(xié)助文件lWindowsWindows庫(kù)及頭文件庫(kù)及頭文件lC C言語(yǔ)編寫的樣本言語(yǔ)編寫的樣本W(wǎng)indowsWindows程序等

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論