freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[理學(xué)]windows程序設(shè)計(jì)-文庫吧

2024-12-20 17:30 本頁面


【正文】 終會(huì)調(diào)用Windows內(nèi)部的從文件中讀取數(shù)據(jù)的程序代碼,因?yàn)檫@些代碼訪問了系統(tǒng)內(nèi)部的數(shù)據(jù),所以他們必須運(yùn)行在內(nèi)核模式下。 內(nèi)核模式: 研究 WDM( Windows Driver Model) 設(shè)備驅(qū)動(dòng)類 用戶模式: SDK程序設(shè)計(jì) 兩種模式下的程序設(shè)計(jì) 內(nèi)核對(duì)象是系統(tǒng)提供的用戶模式下代碼與內(nèi)核模式下代碼進(jìn)行交互的基本接口。軟件開發(fā)人員會(huì)經(jīng)常的創(chuàng)建、打開和操作內(nèi)核對(duì)象。 ? 內(nèi)核對(duì)象 為了管理應(yīng)用程序,系統(tǒng)有必要維護(hù)一些不允許用戶應(yīng)用程序直接訪問的數(shù)據(jù)。一個(gè)內(nèi)核對(duì)象就是一塊內(nèi)核分配的內(nèi)存,它只能被運(yùn)行在內(nèi)核模式下的代碼訪問。內(nèi)核對(duì)象記錄的數(shù)據(jù)在整個(gè)系統(tǒng)中只有一份,故也稱系統(tǒng)資源。 內(nèi)核對(duì)象和普通的數(shù)據(jù)結(jié)構(gòu)間的最大區(qū)別是其內(nèi)部數(shù)據(jù)結(jié)構(gòu)是隱藏的,必須調(diào)用一個(gè)對(duì)象服務(wù)才能從此對(duì)象中得到數(shù)據(jù),或者是向其輸入數(shù)據(jù),而不能直接讀或者改變對(duì)象的內(nèi)部數(shù)據(jù)。增加這些限制來保證內(nèi)核對(duì)象包含一致的狀態(tài)。 引入內(nèi)核對(duì)象,系統(tǒng)可方便的完成以下任務(wù): 1)為系統(tǒng)資源提供可識(shí)別的名字。 2)在進(jìn)程之間共享資源和數(shù)據(jù)。 3)保護(hù)資源不被未經(jīng)認(rèn)可的代碼訪問。 4)跟蹤對(duì)象的引用情況。在不被使用時(shí),釋放占有空間。 內(nèi)核對(duì)象的數(shù)據(jù)結(jié)構(gòu)僅能從內(nèi)核模式訪問,所以直接在內(nèi)存中定位這些數(shù)據(jù)結(jié)構(gòu)對(duì)應(yīng)用程序來說是不可能的。應(yīng)用程序必須使用 API函數(shù)訪問內(nèi)核對(duì)象。調(diào)用函數(shù)創(chuàng)建內(nèi)核對(duì)象時(shí),函數(shù)會(huì)返回標(biāo)識(shí)此內(nèi)核對(duì)象的句柄。 為了使系統(tǒng)穩(wěn)定,這些句柄和進(jìn)程有關(guān),就是僅對(duì)創(chuàng)建該內(nèi)核對(duì)象的進(jìn)程有效。 若要多個(gè)進(jìn)程共享一個(gè)內(nèi)核對(duì)象,要調(diào)用DuplicateHandle函數(shù)復(fù)制一個(gè)進(jìn)程句柄傳給其他進(jìn)程即可。 ?對(duì)象句柄 內(nèi)核對(duì)象是進(jìn)程內(nèi)的資源,使用計(jì)數(shù)屬性指明進(jìn)程對(duì)特定內(nèi)核對(duì)象的引用次數(shù),第一次創(chuàng)建內(nèi)核對(duì)象時(shí),系統(tǒng)為進(jìn)程分配內(nèi)核對(duì)象資源,并將該內(nèi)核對(duì)象的使用計(jì)數(shù)屬性初始化為1。打開一次使用計(jì)數(shù)加 1,關(guān)閉,系統(tǒng)將使用計(jì)數(shù)減 1,當(dāng)系統(tǒng)發(fā)現(xiàn)引用次數(shù)是 0時(shí),它就會(huì)自動(dòng)關(guān)閉資源。 ?使用計(jì)數(shù) ? 進(jìn)程的創(chuàng)建 ?進(jìn)程和線程 進(jìn)程是一個(gè)正在運(yùn)行的程序,它擁有自己的虛擬地址空間,擁有自己的代碼、數(shù)據(jù)和其他系統(tǒng)資源,如進(jìn)程創(chuàng)建的文件、管道、同步對(duì)象等。一個(gè)進(jìn)程也包含了一個(gè)或者多個(gè)運(yùn)行在此進(jìn)程內(nèi)的線程。 線程是進(jìn)程內(nèi)執(zhí)行代碼的獨(dú)立實(shí)體。沒有它,進(jìn)程中的程序代碼是不可能執(zhí)行的。操作系統(tǒng)創(chuàng)建進(jìn)行后會(huì)創(chuàng)建一個(gè)線程執(zhí)行進(jìn)程中的代碼,稱主線程,它在運(yùn)行過程中創(chuàng)建其他線程,一般將主線程創(chuàng)建的線程稱為該進(jìn)程的輔助線程。 進(jìn)程是不活潑的,一個(gè)進(jìn)程要完成任何事情,必須有一個(gè)運(yùn)行在它的地址空間中的線程。此線程負(fù)責(zé)執(zhí)行該進(jìn)程地址空間的代碼。每個(gè)進(jìn)程至少擁有一個(gè)在它的地址空間中運(yùn)行的線程。對(duì)一個(gè)不包含任何線程的進(jìn)程來說,它是沒有理由繼續(xù)存在下去的,系統(tǒng)會(huì)自動(dòng)銷毀該進(jìn)程和它的地址空間。 ?進(jìn)程和程序 程序:一連串靜態(tài)的指令 進(jìn)程:一個(gè)容器,它包含一系列運(yùn)行在這個(gè)程序?qū)嵗舷挛闹械木€程使用的資源。 ?Win32進(jìn)程的兩個(gè)組成部分 進(jìn)程內(nèi)核對(duì)象:操作系統(tǒng)使用此內(nèi)核對(duì)象來管理該進(jìn)程。這個(gè)內(nèi)核對(duì)象也是操作系統(tǒng)存放進(jìn)程統(tǒng)計(jì)信息的地方。 私有的虛擬地址空間:此地址空間包含了所有可執(zhí)行的或者是 DLL模塊的代碼和數(shù)據(jù),它也是程序動(dòng)態(tài)申請(qǐng)內(nèi)存的地方,比如說線程堆棧和進(jìn)程堆。 應(yīng)用程序必須有一個(gè)入口函數(shù),它在程序開始運(yùn)行時(shí)被調(diào)用??刂婆_(tái)應(yīng)用程序入口函數(shù)是 main。 int main(int argc,char* argv[]) ?應(yīng)用程序的啟動(dòng)過程 開始 主線程調(diào)用 C/C++運(yùn)行期啟動(dòng)函數(shù) N 操作系統(tǒng)調(diào)用 CreateProcess函數(shù)創(chuàng)建新的進(jìn)程 系統(tǒng)創(chuàng)建一個(gè)進(jìn)程內(nèi)核對(duì)象,使用計(jì)數(shù)初始化為 1 系統(tǒng)為進(jìn)程創(chuàng)建主線程 成功 調(diào)用程序入口函數(shù) main Y 結(jié)束
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1