第10單元典型OS平臺下程模式_第1頁
第10單元典型OS平臺下程模式_第2頁
第10單元典型OS平臺下程模式_第3頁
第10單元典型OS平臺下程模式_第4頁
第10單元典型OS平臺下程模式_第5頁
已閱讀5頁,還剩54頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、 1第第10單元單元 典型典型os平臺下編程模式平臺下編程模式l教學目標教學目標l了解在三種了解在三種os平臺上平臺上 軟件編程模式軟件編程模式 開發(fā)流程開發(fā)流程 開發(fā)工具的基本知識開發(fā)工具的基本知識 2本單元涉及的內容本單元涉及的內容l第第5章章 5.1 dos操作系統(tǒng)編程模式操作系統(tǒng)編程模式 5.2 unix 操作系統(tǒng)編程模式操作系統(tǒng)編程模式 5.3 windows操作系統(tǒng)編程模式操作系統(tǒng)編程模式lp156p183 3一、一、dos 編程模式編程模式ldos是微機系統(tǒng)配備的主流操作系統(tǒng)是微機系統(tǒng)配備的主流操作系統(tǒng)之一,是單用戶、單任務的磁盤操作之一,是單用戶、單任務的磁盤操作系統(tǒng)。系統(tǒng)。l

2、dos提供功能服務的兩種方式:提供功能服務的兩種方式: 鍵盤命令鍵盤命令 程序執(zhí)行方式程序執(zhí)行方式 4ldos的主要功能:的主要功能: 管理各種設備管理各種設備 管理管理cpu 管理各種文件管理各種文件 管理內存管理內存 支持用戶的各種命令和程序支持用戶的各種命令和程序 支持支持shell操作和操作和windows 支持網(wǎng)絡環(huán)境支持網(wǎng)絡環(huán)境 5dos系統(tǒng)結構系統(tǒng)結構 ldos由由4個模塊構成:個模塊構成: 引導模塊(引導模塊(boot引導區(qū))用于啟動引導區(qū))用于啟動dos時自時自動引導、裝入動引導、裝入dos系統(tǒng)到內存。系統(tǒng)到內存。 dos內核模塊(內核模塊(msdos.sys)由兩部分組成由

3、兩部分組成:內核初始化程序內核初始化程序dos-init和和dos中斷服務程序。中斷服務程序。前者僅用于啟動前者僅用于啟動dos;后者則是真正;后者則是真正dos的內的內核,提供系統(tǒng)的中斷服務功能。核,提供系統(tǒng)的中斷服務功能。 dos i/o接口模塊(接口模塊(io.sys)是是dos的的i/o設備設備處理程序處理程序.它與它與rom-bios一起組成一起組成i/o處理的處理的服務體系服務體系,完成所有的完成所有的i/o操作操作. 命令管理模塊命令管理模塊(c)主要負責接受主要負責接受并處理各種輸入命令并處理各種輸入命令.它是直接面向用戶操作的它是直接面向用戶操作的 6dos模塊結構圖模塊結構

4、圖 l dos系系統(tǒng)統(tǒng)boot模塊模塊command模塊模塊md-dos模塊模塊io模塊模塊command常駐部分常駐部分command暫駐部分暫駐部分com-init初始化初始化程序程序內核初始化程序內核初始化程序dos-initdos中斷服務程序中斷服務程序io初始化程序初始化程序sys-init標準設備驅動程序標準設備驅動程序 7 dos的層次結構的層次結構l rom-bios硬件系統(tǒng)硬件系統(tǒng)io.sys 設備驅動設備驅動msdos.sys系統(tǒng)功能系統(tǒng)功能c用戶程序用戶程序鍵盤命令鍵盤命令用戶的操作用戶的操作 8 dos編程流程編程流程確定程序目標確定程序目標設計程序設計程序編碼編碼編譯

5、編譯運行運行測試與調試測試與調試維護與修改維護與修改確定程序的目標,算法、語言、處理技巧等系統(tǒng)設計;包括用戶界面、數(shù)據(jù)結構等系統(tǒng)編程;用指定程序設計語言編寫源程序編譯產生可執(zhí)行文件運行可執(zhí)行文件對運行的程序進行正確性測試,修改錯誤對程序不斷進行建設性維護,使其完善 9dos編程開發(fā)工具編程開發(fā)工具ldos環(huán)境下的程序設計語言,包括:環(huán)境下的程序設計語言,包括:fortran、basic、pascal、c、c+、匯、匯編語言等。編語言等。l不同的語言有其各自的適用領域和特點。不同的語言有其各自的適用領域和特點。如果是科學計算應用,選如果是科學計算應用,選fortran語言比其語言比其它語言和合適

6、。它語言和合適。lc和和c+是比較流行的程序設計語言,但它是比較流行的程序設計語言,但它們也不是萬能的。在們也不是萬能的。在c語言中做不到的,在語言中做不到的,在c+語言中也做不到。但用語言中也做不到。但用c+編寫程序,編寫程序,比用比用c寫程序更容易閱讀和交流,編程效率寫程序更容易閱讀和交流,編程效率更高、更好。更高、更好。 10l匯編語言適合對硬件接口類快速響應匯編語言適合對硬件接口類快速響應的應用,但匯編語言編寫、調試、維的應用,但匯編語言編寫、調試、維護很困難,也不便于閱讀。護很困難,也不便于閱讀。l具體使用哪一種語言,還是要具體情具體使用哪一種語言,還是要具體情況具體分析,根據(jù)實際情

7、況和需要進況具體分析,根據(jù)實際情況和需要進行選用。行選用。 11 dos內存分配圖內存分配圖ldos內存可以劃分為四種類型:內存可以劃分為四種類型:l(1)基本內存基本內存 主板上主板上640kb以下的存儲空間。以下的存儲空間。dos的的系統(tǒng)程序和用戶的應用程序都要使用這系統(tǒng)程序和用戶的應用程序都要使用這片空間。片空間。l(2) 擴展內存(擴展內存(extended) 主板上主板上640kb以上的存儲空間。這部分以上的存儲空間。這部分空間空間dos不能直接管理,而是要通過擴不能直接管理,而是要通過擴展內存管理程序展內存管理程序himem.sys來使用這部來使用這部分內存。分內存。 12l(3)

8、 擴充內存(擴充內存(expanded) 插在計算機主板的擴充槽中的內存擴充插在計算機主板的擴充槽中的內存擴充板上的那部分存儲器,它們是通過板上的那部分存儲器,它們是通過ems.sys程序來管理的。程序來管理的。l(4) 保留內存(保留內存(reserved) 這是給計算機留做存儲這是給計算機留做存儲i/o系統(tǒng)數(shù)據(jù)及各系統(tǒng)數(shù)據(jù)及各種接口驅動程序使用的存儲器,也稱適種接口驅動程序使用的存儲器,也稱適配器內存。配器內存。 13操作系統(tǒng)程序員接口操作系統(tǒng)程序員接口 l在在dos平臺下平臺下,通過通過dos、bios和應和應用程序都可以實現(xiàn)對計算機硬、軟件用程序都可以實現(xiàn)對計算機硬、軟件資源的操作。資

9、源的操作。l(1) bios 提供最接近硬件的低層接口,操作最直提供最接近硬件的低層接口,操作最直接;接;dos提供的是高層次的功能服務;提供的是高層次的功能服務;而高級語言則是通過對而高級語言則是通過對dos和和bios功能功能的調用來實現(xiàn)對計算機硬件設備的操作。的調用來實現(xiàn)對計算機硬件設備的操作。操作是間接的。操作是間接的。 14l(2) 高級語言高級語言 優(yōu)點優(yōu)點: 編程效率高、可移植性好、便于交編程效率高、可移植性好、便于交流流 缺點缺點: 執(zhí)行效率較低(不如執(zhí)行效率較低(不如dos、bios功能),不能直接對硬件進行操作功能),不能直接對硬件進行操作l在開發(fā)程序過程中,使用什么語言,

10、在開發(fā)程序過程中,使用什么語言,采用何種編程方式,都要視具體情況采用何種編程方式,都要視具體情況和需要來選擇。和需要來選擇。 15二、二、unix os編程模式編程模式 lunix 結構結構lunix編程流程及開發(fā)包編程流程及開發(fā)包l多進程編程特點多進程編程特點l常見進程通信方式常見進程通信方式l程序員接口程序員接口 16unix 結構結構lunix系統(tǒng)分為三層:系統(tǒng)分為三層:l(1) 內層:核心層內層:核心層 unix內核,是內核,是os管理和控制中心,常管理和控制中心,常駐內存。駐內存。l(2) 中間層:系統(tǒng)調用層中間層:系統(tǒng)調用層 界于核心層和應用層(外層)之間,是界于核心層和應用層(外

11、層)之間,是供程序員設計、開發(fā)應用程序時調用的。供程序員設計、開發(fā)應用程序時調用的。unix系統(tǒng)調用包括:進程管理、文件管系統(tǒng)調用包括:進程管理、文件管理、終端狀態(tài)等。理、終端狀態(tài)等。 17l(3) 外層:應用層外層:應用層 包括各種開發(fā)工具、高級語言編譯器、包括各種開發(fā)工具、高級語言編譯器、網(wǎng)絡通訊處理程序等。所有應用層程序網(wǎng)絡通訊處理程序等。所有應用層程序都是在都是在shell(命令語言解釋程序)的管(命令語言解釋程序)的管理和控制下為用戶服務的,是面向用戶理和控制下為用戶服務的,是面向用戶操作的界面。操作的界面。 18unix系統(tǒng)結構圖系統(tǒng)結構圖l 裸機裸機存儲程序、進程管理、文件管理、

12、存儲程序、進程管理、文件管理、i/o設備管理設備管理系統(tǒng)調用系統(tǒng)調用應用程序、各種語言處理程序應用程序、各種語言處理程序shell命令解釋程序命令解釋程序系系統(tǒng)統(tǒng)程程序序員員終端機終端機用戶用戶n用戶用戶n用戶用戶n應用層應用層系統(tǒng)調用層系統(tǒng)調用層內核層內核層 19 unix編程流程及開發(fā)包編程流程及開發(fā)包lunix編程流程:編程流程:l(1) 源代碼編輯源代碼編輯 unix的編輯器是的編輯器是vi、ed。l(2) 編譯編譯 對源程序文件進行編譯,產生目標程序。對源程序文件進行編譯,產生目標程序。unic的的c編譯命令是編譯命令是cc,創(chuàng)建類庫的命,創(chuàng)建類庫的命令是令是ar,編譯大的應用程序用

13、,編譯大的應用程序用make命令。命令。 20l(3) 調式調式 三種調試工具三種調試工具 lint :檢查源代碼的錯誤;檢查源代碼的錯誤; prof :分析程序運行花費的時間;分析程序運行花費的時間; sdb: 符號診錯器,也提供斷點支持及編符號診錯器,也提供斷點支持及編程環(huán)境中的交互式的程序調用。程環(huán)境中的交互式的程序調用。l(4) 鏈接鏈接 將目標程序和庫函數(shù)等鏈接、裝配成可將目標程序和庫函數(shù)等鏈接、裝配成可直接執(zhí)行的程序。直接執(zhí)行的程序。l(5) 執(zhí)行程序執(zhí)行程序 運行可執(zhí)行程序。運行可執(zhí)行程序。 21創(chuàng)建可執(zhí)行創(chuàng)建可執(zhí)行c程序的操作步驟程序的操作步驟l1) 預處理程序預處理程序 替換

14、符號名替換符號名,接受來自用戶源文件中的指接受來自用戶源文件中的指令、用戶程序中命名文件的內容等。令、用戶程序中命名文件的內容等。l2) 編譯程序編譯程序 把用戶源代碼文件中的把用戶源代碼文件中的c語言代碼翻譯成語言代碼翻譯成匯編語言代碼。匯編語言代碼。 22l3) 匯編程序匯編程序 把匯編語言代碼翻譯為目標機器的機器把匯編語言代碼翻譯為目標機器的機器指令,并將這些指令保存在目標文件中。指令,并將這些指令保存在目標文件中。l4) 鏈接程序鏈接程序 把目標文件、用戶程序中調用的庫函數(shù)把目標文件、用戶程序中調用的庫函數(shù)進行鏈接,生成可執(zhí)行程序。進行鏈接,生成可執(zhí)行程序。 23unix開發(fā)包開發(fā)包l

15、(1) motif api 提供一致性外觀和用戶接口的窗口部件提供一致性外觀和用戶接口的窗口部件的集合;的集合;l(2) tcl/tk 一種解釋性語言,也是一套一種解釋性語言,也是一套c的函數(shù)庫,的函數(shù)庫,可提供基本的命令與控制結構;而可提供基本的命令與控制結構;而tk是是一個一個x window的工具包,是的工具包,是tcl在在x window 系統(tǒng)的應用。系統(tǒng)的應用。 24l(3)gtk(gimp toolkit) 開發(fā)工具,基本是面向對象的應用程序開發(fā)工具,基本是面向對象的應用程序設計的一套設計的一套api,有些類似于,有些類似于microsoft的的mfc編程。編程。l(4) 開發(fā)語言

16、開發(fā)語言 包括:包括:c、c+、fortran、ada、pascal、lisp、small talk等。等。 25 多進程編程特點多進程編程特點lunix是分時多用戶系統(tǒng)。由于每個進程都是分時多用戶系統(tǒng)。由于每個進程都有各自的運行環(huán)境,在進程狀態(tài)轉換控制有各自的運行環(huán)境,在進程狀態(tài)轉換控制過程中要考慮處理不同的內容數(shù)據(jù):過程中要考慮處理不同的內容數(shù)據(jù): 用戶數(shù)據(jù)保存:包括正文段、數(shù)據(jù)段、堆棧段用戶數(shù)據(jù)保存:包括正文段、數(shù)據(jù)段、堆棧段和共享內存段;和共享內存段; 寄存器數(shù)據(jù)保存:寄存器數(shù)據(jù)保存: pc(指向下一條要執(zhí)行的地址(指向下一條要執(zhí)行的地址 ) psw(處理機狀態(tài))(處理機狀態(tài)) sp(

17、堆棧指針)(堆棧指針) pcbp(進程控制塊指針)(進程控制塊指針) 26 fp(指向堆棧中一個函數(shù)的(指向堆棧中一個函數(shù)的local變量變量的地址)的地址) ap(指向堆棧中函數(shù)調用的實參位置)(指向堆棧中函數(shù)調用的實參位置) isp(中斷堆棧指針)及其他通用寄存器。(中斷堆棧指針)及其他通用寄存器。 系統(tǒng)層次保存:包括虛擬存儲空間管理系統(tǒng)層次保存:包括虛擬存儲空間管理表格,中斷處理堆棧。表格,中斷處理堆棧。l 當該進程再得到當該進程再得到cpu時間片時,能時間片時,能夠從夠從“斷點斷點”處開始正常地運行處理。處開始正常地運行處理。 27多進程程序的特點多進程程序的特點l(1) 并行化并行化

18、 將一個大而復雜的問題,劃分為一系列將一個大而復雜的問題,劃分為一系列小而簡單的問題進行處理。處理時,各小而簡單的問題進行處理。處理時,各個小處理可以同時進行,而在一些關鍵個小處理可以同時進行,而在一些關鍵點的處理時,再采用集中式。點的處理時,再采用集中式。l(2) 簡單有序簡單有序 經(jīng)并行化分解的程序是簡單的,可以單經(jīng)并行化分解的程序是簡單的,可以單獨處理,但相互之間通過通訊機制而有獨處理,但相互之間通過通訊機制而有機地結合成一個整體。機地結合成一個整體。 28l(3) 互不干擾互不干擾 各個進程是獨立的。各個進程是獨立的。l(4) 事物化事物化 將程序設計成一個進程只進行一次處理,將程序設

19、計成一個進程只進行一次處理,相當于完成一個事物。進程處理完相當相當于完成一個事物。進程處理完相當于一次事物完成。這樣的變成簡單易行。于一次事物完成。這樣的變成簡單易行。 29常見進程通信方式常見進程通信方式lunix系統(tǒng)中的進程間的通訊有兩層含系統(tǒng)中的進程間的通訊有兩層含義:義: 單一進程內部各個模塊間的通訊單一進程內部各個模塊間的通訊 作為單獨單位的各個不同進程間的通訊作為單獨單位的各個不同進程間的通訊l前者沿襲了單任務操作系統(tǒng)中的模塊前者沿襲了單任務操作系統(tǒng)中的模塊通訊方法;通訊方法;l后者必須保證各個進程在通訊過程中后者必須保證各個進程在通訊過程中互不干擾從而保持其通信的一致性。互不干擾

20、從而保持其通信的一致性。l 30unix采用的進程通信方式采用的進程通信方式l(1) 文件和記錄鎖定文件和記錄鎖定 為避免兩個進程間同時要求訪問同一共享資源為避免兩個進程間同時要求訪問同一共享資源而引起訪問和操作的混亂,在進程對共享資源而引起訪問和操作的混亂,在進程對共享資源進行訪問前必須對其進行鎖定,該進程訪問完進行訪問前必須對其進行鎖定,該進程訪問完后再釋放。這是后再釋放。這是unix為共享資源提供的互斥性為共享資源提供的互斥性保障。保障。l(2) 管道管道 管道一般用于兩個不同進程之間的通信。當一管道一般用于兩個不同進程之間的通信。當一個進程創(chuàng)建一個管道,并調用個進程創(chuàng)建一個管道,并調用

21、fork創(chuàng)建自己的創(chuàng)建自己的一個子進程后,父進程關閉讀管道端,子進程一個子進程后,父進程關閉讀管道端,子進程關閉寫管道端,這樣提供了兩個進程之間數(shù)據(jù)關閉寫管道端,這樣提供了兩個進程之間數(shù)據(jù)流動的一種方式。流動的一種方式。 31l(3) fifo fifo是一種先進先出的隊列。它類似于一個管是一種先進先出的隊列。它類似于一個管道,只允許數(shù)據(jù)的單向流動。每個道,只允許數(shù)據(jù)的單向流動。每個fifo都有一都有一個名字,允許不相關的進程訪問同一個個名字,允許不相關的進程訪問同一個fifo。因此也成為命名管道。因此也成為命名管道。l(4) 消息隊列消息隊列 unix下不同進程之間可實現(xiàn)共享資源的一種機下不

22、同進程之間可實現(xiàn)共享資源的一種機制;制;unix允許不同進程將格式化的數(shù)據(jù)流以消允許不同進程將格式化的數(shù)據(jù)流以消息形式發(fā)送給任意進程。對消息隊列具有操作息形式發(fā)送給任意進程。對消息隊列具有操作權限的進程都可以使用權限的進程都可以使用msget完成對消息隊列完成對消息隊列的操作控制。通過使用消息類型,進程可以按的操作控制。通過使用消息類型,進程可以按任何順序讀消息,或為消息安排優(yōu)先級順序。任何順序讀消息,或為消息安排優(yōu)先級順序。 32l(5) 信號燈信號燈 作為進程間通訊的一種方法,它不是用作為進程間通訊的一種方法,它不是用于交換大批數(shù)據(jù),而用于多進程之間的于交換大批數(shù)據(jù),而用于多進程之間的同步

23、(協(xié)調對共享存儲段的存?。M剑▍f(xié)調對共享存儲段的存?。(6) 共享內存共享內存 通過信號燈實現(xiàn)存儲共享(類似通過信號燈實現(xiàn)存儲共享(類似“紅燈紅燈停、綠燈行停、綠燈行”) 33程序員接口程序員接口lunix提供了在提供了在posix(計算機環(huán)境的(計算機環(huán)境的可移植操作系統(tǒng)界面)的可移植操作系統(tǒng)界面)的unix api,使其成為跨平臺的編程接口。使其成為跨平臺的編程接口。lunix 是一套類庫中可調用的函數(shù)集,是一套類庫中可調用的函數(shù)集,它的主要函數(shù)功能包括:標準它的主要函數(shù)功能包括:標準c類庫類庫的的i/o功能、文件及目錄操作、進程的功能、文件及目錄操作、進程的創(chuàng)建與終止、通信設施、

24、設備驅動函創(chuàng)建與終止、通信設施、設備驅動函數(shù)、系統(tǒng)數(shù)據(jù)庫、數(shù)據(jù)交換格式等。數(shù)、系統(tǒng)數(shù)據(jù)庫、數(shù)據(jù)交換格式等。 34三、三、windwos編程模式編程模式lwindows結構結構lwosa及及windows dnal事件及消息機制事件及消息機制l多線程多線程l編程流程幾開發(fā)包編程流程幾開發(fā)包l程序員接口程序員接口 35 windows結構結構l 基本系統(tǒng)設備驅動程序虛擬機管理程序子系統(tǒng)操作系統(tǒng)服務網(wǎng)絡子系統(tǒng)文件管理子系統(tǒng)windowskernelwindowsgdiwindowsuserwindows子系統(tǒng)windows api 層32位位windows應用程序應用程序windowskernel外

25、殼外殼16位位windows應用程序應用程序系統(tǒng)虛擬機器共享地址空間ms-dos虛擬機虛擬機 36windows結構(續(xù))結構(續(xù))l(1) 系統(tǒng)虛擬機器系統(tǒng)虛擬機器vm 是系統(tǒng)的環(huán)境名,在這種環(huán)境下,系統(tǒng)是系統(tǒng)的環(huán)境名,在這種環(huán)境下,系統(tǒng)將支持所有的將支持所有的windows應用程序和應用程序和windows子系統(tǒng)組件。如圖形設備接口子系統(tǒng)組件。如圖形設備接口(gdi)等。)等。l(2) 32位位windows應用程序應用程序 是一種新的是一種新的windows應用程序,是應用程序,是microsoft win32應用程序編程接口應用程序編程接口api的一個子集。的一個子集。 37l(3)

26、外殼外殼 是一種是一種32位的位的windows應用程序,它為應用程序,它為系統(tǒng)提供必須的用戶界面。系統(tǒng)提供必須的用戶界面。l(4) 16位位windows應用程序應用程序 在在windwos 3.x上使用的應用程序。上使用的應用程序。l(5) windows內核內核 支持支持windows應用程序所要求的低級服應用程序所要求的低級服務,如動態(tài)內存分配。務,如動態(tài)內存分配。 38l(6) gdi 是是windows圖形功能的核心。圖形功能的核心。l(7) user 是是windows管理程序。管理程序。l(8) ms-dos虛擬機器虛擬機器 支持在支持在windows下的下的ms-dos應用程

27、序。應用程序。 39wosalwosa(開放服務(開放服務 體系結構體系結構 windows open service architecture) 是是windows為實現(xiàn)分布式計算而設計的為實現(xiàn)分布式計算而設計的一套一套api。該結構模型可以使不同的提。該結構模型可以使不同的提供商提供訪問多個后端的服務程序。供商提供訪問多個后端的服務程序。lwosa包括:包括:l(1) mapi:消息:消息api。 在不同網(wǎng)絡類型上,給在不同網(wǎng)絡類型上,給windows程序提程序提供不同類型的透明的消息服務。供不同類型的透明的消息服務。 40l(2) odbc:開放數(shù)據(jù)庫連接。:開放數(shù)據(jù)庫連接。 odbc允

28、許不同的允許不同的windows應用程序訪應用程序訪問任何企業(yè)網(wǎng)絡上的、多種類型數(shù)據(jù)庫問任何企業(yè)網(wǎng)絡上的、多種類型數(shù)據(jù)庫系統(tǒng)。系統(tǒng)。l(3) rpc:遠程方法調用。:遠程方法調用。 使使windows應用程序可以跨異質的網(wǎng)絡應用程序可以跨異質的網(wǎng)絡去調用遠程的方法或應用。去調用遠程的方法或應用。 41wosa(續(xù))(續(xù))l(4) windows sokets:windows 套接字。套接字。 使網(wǎng)絡上使用不同類型數(shù)據(jù)傳輸協(xié)議的程序通使網(wǎng)絡上使用不同類型數(shù)據(jù)傳輸協(xié)議的程序通過套接字進行透明的操作。過套接字進行透明的操作。l(5) license services api:驗證字服務:驗證字服務a

29、pi。 這是一個軟件驗證字的編程接樓,可以實行對這是一個軟件驗證字的編程接樓,可以實行對不同公司產品的監(jiān)控以及控制網(wǎng)絡程序的應用。不同公司產品的監(jiān)控以及控制網(wǎng)絡程序的應用。l(6) tapi:提供一個電話應用的:提供一個電話應用的api接口。接口。 使使windows應用程序可以對傳統(tǒng)的電話網(wǎng)絡及應用程序可以對傳統(tǒng)的電話網(wǎng)絡及設備進行透明存取。設備進行透明存取。 42windows dnalwindows dna(windows distibuted internet applications architecture)。)。windows分布式分布式internet應用結構。應用結構。l目的

30、是創(chuàng)建一個框架,用以建立基于微軟目的是創(chuàng)建一個框架,用以建立基于微軟windows平臺的各種應用程序,從而使平臺的各種應用程序,從而使pc機和機和internet完美結合。完美結合。lwindwos dna建立了一個計算模型,它建立了一個計算模型,它實現(xiàn)了實現(xiàn)了web和客戶機和客戶機/服務器計算的集成。服務器計算的集成。 43l在最高層次上,在最高層次上,windows dna融合融合pc機和機和internet是通過兩種途徑:一是通過兩種途徑:一是使計算機之間通過協(xié)作望、公眾網(wǎng)是使計算機之間通過協(xié)作望、公眾網(wǎng)能很好地湖用和共同運作;二是將應能很好地湖用和共同運作;二是將應用的核心服務或用的核

31、心服務或“管道管道”服務更深地服務更深地綜合于操作系統(tǒng)。綜合于操作系統(tǒng)。l更重要的是更重要的是windwos dna 提供了一提供了一個基于開放式協(xié)議和公開界面的互用個基于開放式協(xié)議和公開界面的互用性框架,這一框架能使用戶以新功能性框架,這一框架能使用戶以新功能(web)擴展現(xiàn)有系統(tǒng)。)擴展現(xiàn)有系統(tǒng)。 44lwindows dna的核心是通過一個公的核心是通過一個公共對象模型(共對象模型(com)將)將web和客戶機和客戶機/服務器應用開發(fā)模式結合起來。服務器應用開發(fā)模式結合起來。windows dna通過構件對象模型使通過構件對象模型使用一套通用的服務集,如構件,動態(tài)用一套通用的服務集,如構

32、件,動態(tài)html、網(wǎng)絡瀏覽器和服務器、腳本、網(wǎng)絡瀏覽器和服務器、腳本、事物處理、消息序列、安全性、目錄、事物處理、消息序列、安全性、目錄、db和數(shù)據(jù)存取、系統(tǒng)管理以及用戶界和數(shù)據(jù)存取、系統(tǒng)管理以及用戶界面。這些服務一統(tǒng)一的方式公開于各面。這些服務一統(tǒng)一的方式公開于各個層面,供應用程序使用。個層面,供應用程序使用。 45windows dna體系結構體系結構l1、windows平臺:平臺:windowsos、win32技術技術l2、部件對象模型、部件對象模型com:com、dcom及與之相關的技術及與之相關的技術l3、internet技術:技術:ms-ie、動態(tài)、動態(tài)html(dhtml)、)、

33、iis、ms-site server、java 46l4、windows dna 服務:包括安全服務:包括安全性、目錄、事物處理、消息隊列、性、目錄、事物處理、消息隊列、db管理、數(shù)據(jù)存取、管理、數(shù)據(jù)存取、e-mail與協(xié)作、腳與協(xié)作、腳本、系統(tǒng)管理等;本、系統(tǒng)管理等;l5、windows dna的工具:快速應用的工具:快速應用開發(fā)工具、組件的創(chuàng)建、協(xié)同開發(fā)、開發(fā)工具、組件的創(chuàng)建、協(xié)同開發(fā)、內容的創(chuàng)建與發(fā)布、內容的創(chuàng)建與發(fā)布、web網(wǎng)站的開發(fā)。網(wǎng)站的開發(fā)。l6、其他、其他windows dna 服務器的應服務器的應用。用。ms-backoffice等。等。 47windows dna體系結構示

34、意圖體系結構示意圖l 工具集用戶接口用戶接口及瀏覽及瀏覽事務處理事務處理集成化存儲集成化存儲分布式分布式操作系統(tǒng)操作系統(tǒng)(doe) 48事件及消息機制事件及消息機制lwindows是事件驅動(消息驅動)的是事件驅動(消息驅動)的os,也是基于消息的也是基于消息的os。lwindows 應用程序中消息有兩種送出途徑;應用程序中消息有兩種送出途徑;直接和排隊。直接和排隊。windows或某些運行的應用或某些運行的應用程序可直接發(fā)布消息給窗口過程,或者,程序可直接發(fā)布消息給窗口過程,或者,消息可送到消息隊列,在應用程序執(zhí)行期消息可送到消息隊列,在應用程序執(zhí)行期間應用程序對象連續(xù)不斷輪詢消息隊列的間應

35、用程序對象連續(xù)不斷輪詢消息隊列的消息。凡是以排隊方式送出的消息都被送消息。凡是以排隊方式送出的消息都被送到一個由操作系統(tǒng)提供的消息隊列的保留到一個由操作系統(tǒng)提供的消息隊列的保留區(qū)。在區(qū)。在os中當前執(zhí)行的每個進程都有各自中當前執(zhí)行的每個進程都有各自的消息隊列。的消息隊列。 49l事件驅動程序不是由事件的順序來控事件驅動程序不是由事件的順序來控制,而是由事件的發(fā)生來控制,而事制,而是由事件的發(fā)生來控制,而事件的發(fā)生是隨機的、不確定的,這就件的發(fā)生是隨機的、不確定的,這就允許程序的用戶用各種合理的順序來允許程序的用戶用各種合理的順序來安排程序的流程。安排程序的流程。l事件驅動圍繞消息的產生與處理展

36、開,事件驅動圍繞消息的產生與處理展開,它是靠消息循環(huán)機制來實現(xiàn)的,消息它是靠消息循環(huán)機制來實現(xiàn)的,消息是一種報告有關事件發(fā)生的通知。是一種報告有關事件發(fā)生的通知。 50windows應用程序的消息來源應用程序的消息來源l(1) 輸入消息輸入消息 包括鍵盤和鼠標的輸入。這類消息首先包括鍵盤和鼠標的輸入。這類消息首先放在系統(tǒng)消息隊列中,然后由放在系統(tǒng)消息隊列中,然后由windows將它們送到應用程序的消息隊列中,由將它們送到應用程序的消息隊列中,由應用程序來處理消息。應用程序來處理消息。l(2) 控制信息控制信息 用來與用來與windows的控制對象(列表框、的控制對象(列表框、按鈕等)進行雙向通

37、信。這類信息一般按鈕等)進行雙向通信。這類信息一般不經(jīng)過應用程序消息隊列,而是直接發(fā)不經(jīng)過應用程序消息隊列,而是直接發(fā)送到控制對象上去。送到控制對象上去。 51l(3) 系統(tǒng)消息系統(tǒng)消息 對程序化的事件或系統(tǒng)時鐘中斷作出反對程序化的事件或系統(tǒng)時鐘中斷作出反映。有些消息(動態(tài)數(shù)據(jù)交換消息映。有些消息(動態(tài)數(shù)據(jù)交換消息dde)要通過要通過windows的系統(tǒng)消息隊列,而有的系統(tǒng)消息隊列,而有的則不通過系統(tǒng)消息隊列而直接送入應的則不通過系統(tǒng)消息隊列而直接送入應用程序的消息隊列(如創(chuàng)建窗口消息)。用程序的消息隊列(如創(chuàng)建窗口消息)。l(4) 用戶消息用戶消息 這是程序員自己定義并在應用程序中主這是程序

38、員自己定義并在應用程序中主動發(fā)出的消息,一般由應用程序的某一動發(fā)出的消息,一般由應用程序的某一部分內部處理。部分內部處理。 52多線程多線程l(1) win32分配分配cpu的基本單位。是代碼執(zhí)的基本單位。是代碼執(zhí)行的流程,它可以執(zhí)行應用程序代碼的任行的流程,它可以執(zhí)行應用程序代碼的任何部分。何部分。l(2) 32位的位的windows應用程序可包含一個應用程序可包含一個或多個進程,每個進程由一個或多個線程或多個進程,每個進程由一個或多個線程構成。構成。l(3) 線程分為兩種類型:線程分為兩種類型:worker和和user-interface;前者不處理窗口信息,用于在;前者不處理窗口信息,用于在后臺執(zhí)行任務,后臺執(zhí)行任務,worker線程是易用和常用線程是易用和常用的類型。后者用來處理用戶輸入和相應由的類型。后者用來處理用戶輸入和相應由用戶產生的事件和消息。用戶產生的事件和消息。 53l(4) windows的多任務是通過

溫馨提示

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

評論

0/150

提交評論