




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
典型OS平臺下編程模式
2本單元涉及的內(nèi)容第5章5.1DOS操作系統(tǒng)編程模式5.2UNIX操作系統(tǒng)編程模式5.3Windows操作系統(tǒng)編程模式P156~P183
3一、DOS編程模式DOS是微機系統(tǒng)配備的主流操作系統(tǒng)之一,是單用戶、單任務的磁盤操作系統(tǒng)。DOS提供功能服務的兩種方式:鍵盤命令程序執(zhí)行方式
4DOS的主要功能:管理各種設備管理CPU管理各種文件管理內(nèi)存支持用戶的各種命令和程序支持shell操作和Windows支持網(wǎng)絡環(huán)境
5⒈DOS系統(tǒng)結(jié)構(gòu)DOS由4個模塊構(gòu)成:引導模塊(BOOT引導區(qū))用于啟動DOS時自動引導、裝入DOS系統(tǒng)到內(nèi)存。DOS內(nèi)核模塊(MSDOS.SYS)由兩部分組成:內(nèi)核初始化程序DOS-INIT和DOS中斷服務程序。前者僅用于啟動DOS;后者則是真正DOS的內(nèi)核,提供系統(tǒng)的中斷服務功能。DOSI/O接口模塊(IO.SYS)是DOS的I/O設備處理程序.它與ROM-BIOS一起組成I/O處理的服務體系,完成所有的I/O操作.命令管理模塊(Command)主要負責接受并處理各種輸入命令.它是直接面向用戶操作的
6DOS模塊結(jié)構(gòu)圖
DOS系統(tǒng)BOOT模塊Command模塊MD-DOS模塊IO模塊Command常駐部分Command暫駐部分COM-INIT初始化程序內(nèi)核初始化程序DOS-INITDOS中斷服務程序IO初始化程序SYS-INIT標準設備驅(qū)動程序
7DOS的層次結(jié)構(gòu)
ROM-BIOS硬件系統(tǒng)IO.SYS設備驅(qū)動MSDOS.SYS系統(tǒng)功能Command用戶程序鍵盤命令用戶的操作
8⒉DOS編程流程確定程序目標設計程序編碼編譯運行測試與調(diào)試維護與修改確定程序的目標,算法、語言、處理技巧等系統(tǒng)設計;包括用戶界面、數(shù)據(jù)結(jié)構(gòu)等系統(tǒng)編程;用指定程序設計語言編寫源程序編譯產(chǎn)生可執(zhí)行文件運行可執(zhí)行文件對運行的程序進行正確性測試,修改錯誤對程序不斷進行建設性維護,使其完善
9DOS編程開發(fā)工具DOS環(huán)境下的程序設計語言,包括:Fortran、BASIC、Pascal、C、C++、匯編語言等。不同的語言有其各自的適用領(lǐng)域和特點。如果是科學計算應用,選Fortran語言比其它語言和合適。C和C++是比較流行的程序設計語言,但它們也不是萬能的。在C語言中做不到的,在C++語言中也做不到。但用C++編寫程序,比用C寫程序更容易閱讀和交流,編程效率更高、更好。
10匯編語言適合對硬件接口類快速響應的應用,但匯編語言編寫、調(diào)試、維護很困難,也不便于閱讀。具體使用哪一種語言,還是要具體情況具體分析,根據(jù)實際情況和需要進行選用。
11⒊DOS內(nèi)存分配圖DOS內(nèi)存可以劃分為四種類型:(1)基本內(nèi)存主板上640KB以下的存儲空間。DOS的系統(tǒng)程序和用戶的應用程序都要使用這片空間。(2)擴展內(nèi)存(Extended)主板上640KB以上的存儲空間。這部分空間DOS不能直接管理,而是要通過擴展內(nèi)存管理程序HIMEM.SYS來使用這部分內(nèi)存。
12(3)擴充內(nèi)存(Expanded)插在計算機主板的擴充槽中的內(nèi)存擴充板上的那部分存儲器,它們是通過EMS.SYS程序來管理的。(4)保留內(nèi)存(Reserved)這是給計算機留做存儲I/O系統(tǒng)數(shù)據(jù)及各種接口驅(qū)動程序使用的存儲器,也稱適配器內(nèi)存。
13⒋操作系統(tǒng)程序員接口在DOS平臺下,通過DOS、BIOS和應用程序都可以實現(xiàn)對計算機硬、軟件資源的操作。(1)BIOS提供最接近硬件的低層接口,操作最直接;DOS提供的是高層次的功能服務;而高級語言則是通過對DOS和BIOS功能的調(diào)用來實現(xiàn)對計算機硬件設備的操作。操作是間接的。
14(2)高級語言優(yōu)點:編程效率高、可移植性好、便于交流缺點:執(zhí)行效率較低(不如DOS、BIOS功能),不能直接對硬件進行操作在開發(fā)程序過程中,使用什么語言,采用何種編程方式,都要視具體情況和需要來選擇。
15二、UNIXOS編程模式UNIX結(jié)構(gòu)UNIX編程流程及開發(fā)包多進程編程特點常見進程通信方式程序員接口
16⒈UNIX結(jié)構(gòu)UNIX系統(tǒng)分為三層:(1)內(nèi)層:核心層UNIX內(nèi)核,是OS管理和控制中心,常駐內(nèi)存。(2)中間層:系統(tǒng)調(diào)用層界于核心層和應用層(外層)之間,是供程序員設計、開發(fā)應用程序時調(diào)用的。UNIX系統(tǒng)調(diào)用包括:進程管理、文件管理、終端狀態(tài)等。
17(3)外層:應用層包括各種開發(fā)工具、高級語言編譯器、網(wǎng)絡通訊處理程序等。所有應用層程序都是在shell(命令語言解釋程序)的管理和控制下為用戶服務的,是面向用戶操作的界面。
18UNIX系統(tǒng)結(jié)構(gòu)圖
裸機存儲程序、進程管理、文件管理、I/O設備管理系統(tǒng)調(diào)用應用程序、各種語言處理程序Shell命令解釋程序系統(tǒng)程序員終端機用戶n用戶n用戶n應用層系統(tǒng)調(diào)用層內(nèi)核層
19⒉UNIX編程流程及開發(fā)包UNIX編程流程:(1)源代碼編輯UNIX的編輯器是vi、ed。(2)編譯對源程序文件進行編譯,產(chǎn)生目標程序。UNIC的C編譯命令是cc,創(chuàng)建類庫的命令是ar,編譯大的應用程序用make命令。
20(3)調(diào)式三種調(diào)試工具Lint:檢查源代碼的錯誤;Prof:分析程序運行花費的時間;Sdb:符號診錯器,也提供斷點支持及編程環(huán)境中的交互式的程序調(diào)用。(4)鏈接將目標程序和庫函數(shù)等鏈接、裝配成可直接執(zhí)行的程序。(5)執(zhí)行程序運行可執(zhí)行程序。
21創(chuàng)建可執(zhí)行C程序的操作步驟1)預處理程序替換符號名,接受來自用戶源文件中的指令、用戶程序中命名文件的內(nèi)容等。2)編譯程序把用戶源代碼文件中的c語言代碼翻譯成匯編語言代碼。
223)匯編程序把匯編語言代碼翻譯為目標機器的機器指令,并將這些指令保存在目標文件中。4)鏈接程序把目標文件、用戶程序中調(diào)用的庫函數(shù)進行鏈接,生成可執(zhí)行程序。
23UNIX開發(fā)包(1)MOTIFAPI提供一致性外觀和用戶接口的窗口部件的集合;(2)TCL/TK一種解釋性語言,也是一套C的函數(shù)庫,可提供基本的命令與控制結(jié)構(gòu);而TK是一個XWindow的工具包,是TCL在XWindow系統(tǒng)的應用。
24(3)GTK(GIMPToolKit)開發(fā)工具,基本是面向?qū)ο蟮膽贸绦蛟O計的一套API,有些類似于Microsoft的MFC編程。(4)開發(fā)語言包括:C、C++、Fortran、Ada、Pascal、Lisp、SmallTalk等。
25⒊多進程編程特點UNIX是分時多用戶系統(tǒng)。由于每個進程都有各自的運行環(huán)境,在進程狀態(tài)轉(zhuǎn)換控制過程中要考慮處理不同的內(nèi)容數(shù)據(jù):用戶數(shù)據(jù)保存:包括正文段、數(shù)據(jù)段、堆棧段和共享內(nèi)存段;寄存器數(shù)據(jù)保存:PC(指向下一條要執(zhí)行的地址)PSW(處理機狀態(tài))SP(堆棧指針)PCBP(進程控制塊指針)
26FP(指向堆棧中一個函數(shù)的Local變量的地址)AP(指向堆棧中函數(shù)調(diào)用的實參位置)ISP(中斷堆棧指針)及其他通用寄存器。系統(tǒng)層次保存:包括虛擬存儲空間管理表格,中斷處理堆棧。當該進程再得到CPU時間片時,能夠從“斷點”處開始正常地運行處理。
27多進程程序的特點(1)并行化將一個大而復雜的問題,劃分為一系列小而簡單的問題進行處理。處理時,各個小處理可以同時進行,而在一些關(guān)鍵點的處理時,再采用集中式。(2)簡單有序經(jīng)并行化分解的程序是簡單的,可以單獨處理,但相互之間通過通訊機制而有機地結(jié)合成一個整體。
28(3)互不干擾各個進程是獨立的。(4)事物化將程序設計成一個進程只進行一次處理,相當于完成一個事物。進程處理完相當于一次事物完成。這樣的變成簡單易行。
29⒋常見進程通信方式UNIX系統(tǒng)中的進程間的通訊有兩層含義:單一進程內(nèi)部各個模塊間的通訊作為單獨單位的各個不同進程間的通訊前者沿襲了單任務操作系統(tǒng)中的模塊通訊方法;后者必須保證各個進程在通訊過程中互不干擾從而保持其通信的一致性。
30UNIX采用的進程通信方式(1)文件和記錄鎖定為避免兩個進程間同時要求訪問同一共享資源而引起訪問和操作的混亂,在進程對共享資源進行訪問前必須對其進行鎖定,該進程訪問完后再釋放。這是UNIX為共享資源提供的互斥性保障。(2)管道管道一般用于兩個不同進程之間的通信。當一個進程創(chuàng)建一個管道,并調(diào)用fork創(chuàng)建自己的一個子進程后,父進程關(guān)閉讀管道端,子進程關(guān)閉寫管道端,這樣提供了兩個進程之間數(shù)據(jù)流動的一種方式。
31(3)FIFOFIFO是一種先進先出的隊列。它類似于一個管道,只允許數(shù)據(jù)的單向流動。每個FIFO都有一個名字,允許不相關(guān)的進程訪問同一個FIFO。因此也成為命名管道。(4)消息隊列UNIX下不同進程之間可實現(xiàn)共享資源的一種機制;UNIX允許不同進程將格式化的數(shù)據(jù)流以消息形式發(fā)送給任意進程。對消息隊列具有操作權(quán)限的進程都可以使用msget完成對消息隊列的操作控制。通過使用消息類型,進程可以按任何順序讀消息,或為消息安排優(yōu)先級順序。
32(5)信號燈作為進程間通訊的一種方法,它不是用于交換大批數(shù)據(jù),而用于多進程之間的同步(協(xié)調(diào)對共享存儲段的存取)。(6)共享內(nèi)存通過信號燈實現(xiàn)存儲共享(類似“紅燈停、綠燈行”)
33⒌程序員接口UNIX提供了在POSIX(計算機環(huán)境的可移植操作系統(tǒng)界面)的UNIXAPI,使其成為跨平臺的編程接口。UNIX是一套類庫中可調(diào)用的函數(shù)集,它的主要函數(shù)功能包括:標準C類庫的I/O功能、文件及目錄操作、進程的創(chuàng)建與終止、通信設施、設備驅(qū)動函數(shù)、系統(tǒng)數(shù)據(jù)庫、數(shù)據(jù)交換格式等。
34三、Windwos編程模式Windows結(jié)構(gòu)WOSA及WindowsDNA事件及消息機制多線程編程流程幾開發(fā)包程序員接口
35⒈Windows結(jié)構(gòu)
基本系統(tǒng)設備驅(qū)動程序虛擬機管理程序子系統(tǒng)操作系統(tǒng)服務網(wǎng)絡子系統(tǒng)文件管理子系統(tǒng)WindowsKernelWindowsGDIWindowsUserWindows子系統(tǒng)WindowsAPI層32位Windows應用程序WindowsKernel外殼16位Windows應用程序系統(tǒng)虛擬機器共享地址空間MS-DOS虛擬機
36Windows結(jié)構(gòu)(續(xù))(1)系統(tǒng)虛擬機器VM是系統(tǒng)的環(huán)境名,在這種環(huán)境下,系統(tǒng)將支持所有的Windows應用程序和Windows子系統(tǒng)組件。如圖形設備接口(GDI)等。(2)32位Windows應用程序是一種新的Windows應用程序,是MicrosoftWin32應用程序編程接口API的一個子集。
37(3)外殼是一種32位的Windows應用程序,它為系統(tǒng)提供必須的用戶界面。(4)16位Windows應用程序在Windwos3.x上使用的應用程序。(5)Windows內(nèi)核支持Windows應用程序所要求的低級服務,如動態(tài)內(nèi)存分配。
38(6)GDI是Windows圖形功能的核心。(7)User是Windows管理程序。(8)MS-DOS虛擬機器支持在Windows下的MS-DOS應用程序。
39⒉WOSAWOSA(開放服務體系結(jié)構(gòu)WindowsOpenServiceArchitecture)是Windows為實現(xiàn)分布式計算而設計的一套API。該結(jié)構(gòu)模型可以使不同的提供商提供訪問多個后端的服務程序。WOSA包括:(1)MAPI:消息API。在不同網(wǎng)絡類型上,給Windows程序提供不同類型的透明的消息服務。
40(2)ODBC:開放數(shù)據(jù)庫連接。ODBC允許不同的Windows應用程序訪問任何企業(yè)網(wǎng)絡上的、多種類型數(shù)據(jù)庫系統(tǒng)。(3)RPC:遠程方法調(diào)用。使Windows應用程序可以跨異質(zhì)的網(wǎng)絡去調(diào)用遠程的方法或應用。
41WOSA(續(xù))(4)WindowsSoketS:Windows套接字。使網(wǎng)絡上使用不同類型數(shù)據(jù)傳輸協(xié)議的程序通過套接字進行透明的操作。(5)LicenseServicesAPI:驗證字服務API。這是一個軟件驗證字的編程接樓,可以實行對不同公司產(chǎn)品的監(jiān)控以及控制網(wǎng)絡程序的應用。(6)TAPI:提供一個應用的API接口。使Windows應用程序可以對傳統(tǒng)的網(wǎng)絡及設備進行透明存取。
42⒊WindowsDNAWindowsDNA(WindowsDistibutedinterNetApplicationsArchitecture)。Windows分布式Internet應用結(jié)構(gòu)。目的是創(chuàng)建一個框架,用以建立基于微軟Windows平臺的各種應用程序,從而使PC機和Internet完美結(jié)合。WindwosDNA建立了一個計算模型,它實現(xiàn)了Web和客戶機/服務器計算的集成。
43在最高層次上,WindowsDNA融合PC機和Internet是通過兩種途徑:一是使計算機之間通過協(xié)作望、公眾網(wǎng)能很好地湖用和共同運作;二是將應用的核心服務或“管道”服務更深地綜合于操作系統(tǒng)。更重要的是WindwosDNA提供了一個基于開放式協(xié)議和公開界面的互用性框架,這一框架能使用戶以新功能(Web)擴展現(xiàn)有系統(tǒng)。
44WindowsDNA的核心是通過一個公共對象模型(COM)將Web和客戶機/服務器應用開發(fā)模式結(jié)合起來。WindowsDNA通過構(gòu)件對象模型使用一套通用的服務集,如構(gòu)件,動態(tài)HTML、網(wǎng)絡瀏覽器和服務器、腳本、事物處理、消息序列、安全性、目錄、DB和數(shù)據(jù)存取、系統(tǒng)管理以及用戶界面。這些服務一統(tǒng)一的方式公開于各個層面,供應用程序使用。
45WindowsDNA體系結(jié)構(gòu)1、Windows平臺:WindowsOS、Win32技術(shù)2、部件對象模型COM:COM、DCOM及與之相關(guān)的技術(shù)3、Internet技術(shù):MS-IE、動態(tài)HTML(DHTML)、IIS、MS-SiteServer、JAVA
464、WindowsDNA服務:包括安全性、目錄、事物處理、消息隊列、DB管理、數(shù)據(jù)存取、E-mail與協(xié)作、腳本、系統(tǒng)管理等;5、WindowsDNA的工具:快速應用開發(fā)工具、組件的創(chuàng)建、協(xié)同開發(fā)、內(nèi)容的創(chuàng)建與發(fā)布、Web網(wǎng)站的開發(fā)。6、其他WindowsDNA服務器的應用。MS-BackOffice等。
47WindowsDNA體系結(jié)構(gòu)示意圖
工具集用戶接口及瀏覽事務處理集成化存儲分布式操作系統(tǒng)(DOE)
48⒋事件及消息機制Windows是事件驅(qū)動(消息驅(qū)動)的OS,也是基于消息的OS。Windows應用程序中消息有兩種送出途徑;直接和排隊。Windows或某些運行的應用程序可直接發(fā)布消息給窗口過程,或者,消息可送到消息隊列,在應用程序執(zhí)行期間應用程序?qū)ο筮B續(xù)不斷輪詢消息隊列的消息。凡是以排隊方式送出的消息都被送到一個由操作系統(tǒng)提供的消息隊列的保留區(qū)。在OS中當前執(zhí)行的每個進程都有各自的消息隊列。
49事件驅(qū)動程序不是由事件的順序來控制,而是由事件的發(fā)生來控制,而事件的發(fā)生是隨機的、不確定的,這就允許程序的用戶用各種合理的順序來安排程序的流程。事件驅(qū)動圍繞消息的產(chǎn)生與處理展開,它是靠消息循環(huán)機制來實現(xiàn)的,消息是一種報告有關(guān)事件發(fā)生的通知。
50Windows應用程序的消息來源(1)輸入消息包括鍵盤和鼠標的輸入。這類消息首先放在系統(tǒng)消息隊列中,然后由Windows將它們送到應用程序的消息隊列中,由應用程序來處理消息。(2)控制信息用來與Windows的控制對象(列表框、按鈕等)進行雙向通信。這類信息一般不經(jīng)過應用程序消息隊列,而是直接發(fā)送到控制對象上去。
51(3)系統(tǒng)消息對程序化的事件或系統(tǒng)時鐘中斷作出反映。有些消息(動態(tài)數(shù)據(jù)交換消息DDE)要通過Windows的系統(tǒng)消息隊列,而有的則不通過系統(tǒng)消息隊列而直接送入應用程序的消息隊列(如創(chuàng)建窗口消息)。(4)用戶消息這是程序員自己定義并在應用程序中主動發(fā)出的消息,一般由應用程序的某一部分內(nèi)部處理。
52⒌多線程(1)Win32分配CPU的基本單位。是代碼執(zhí)行的流程,它可以執(zhí)行應用程序代碼的任何部分。(2)32位的Windows應用程序可包含一個或多個進程,每個進程由一個或多個線程構(gòu)成。(3)線
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 項目監(jiān)控管理協(xié)議書(2篇)
- 項目成果驗收管理協(xié)議書(2篇)
- 2025年耐磨球段合作協(xié)議書
- 二零二五年度抵頂房屋租賃合同續(xù)簽及抵頂條款修訂協(xié)議
- 二零二五年度非婚生子女撫養(yǎng)費及成長規(guī)劃合同
- 二零二五年度環(huán)保項目實習生就業(yè)協(xié)議
- 2025年度離職財務人員保密協(xié)議及離職后保密責任書
- 捂曬紅煙企業(yè)縣域市場拓展與下沉戰(zhàn)略研究報告
- 二零二五年度房地產(chǎn)交易傭金返還及權(quán)益保障合同
- 海洋旅游運輸企業(yè)縣域市場拓展與下沉戰(zhàn)略研究報告
- 公司綠色可持續(xù)發(fā)展規(guī)劃報告
- 盆底康復治療新進展
- 2024年青海省中考生物地理合卷試題(含答案解析)
- 2024年江西旅游商貿(mào)職業(yè)學院單招職業(yè)適應性測試題庫及參考答案
- 《護士條例》全文
- 鐵嶺衛(wèi)生職業(yè)學院單招參考試題庫(含答案)
- 湘美版小學美術(shù)五年級下冊第5課《圖畫文章》PPT課件
- 跟莊理論趨勢計算圖(自動計算)
- 印刷生產(chǎn)日報表
- VG2605A程控匝間沖擊耐壓測試儀使用說明書
- 生物與環(huán)境思維導圖PPT課件
評論
0/150
提交評論