摘要: 我們在深入一點。在下圖中展示了session0的基本組成,其中有個名為Bob的用戶登入。正如你所看到的,Winsta0包含用戶控制臺中的所有進程還有任何被標記為可交互(Interactive)的任何服務。本例中,Winsta0包括winlogon.exe,explorer.exe和其他需要與用戶交互的服務。名為service-0x0-3e7$的Windows station 擁有在Local system帳號下且不與用戶交互的所有服務。本例中service.exe正是這樣的服務。,正如你所看到的連接線,將來自各個不同虛擬session的進程載入到單個windows station。SQL進程被載入到其自身的windows station并且使用自己的證書認證,所有它不屬于其他兩個windows station。
閱讀全文
摘要: session是由代表單個用戶登錄會話的所有進程和系統對象組成的。其中的對象包括所有的窗口,桌面和windows 。。。。。。。。。。。。。。。。。。。。。。。。。。。
閱讀全文
摘要: 一、預備知識—程序的內存分配
一個由c/C++編譯的程序占用的內存分為以下幾個部分
1、棧區(stack)— 由編譯器自動分配釋放 ,存放函數的參數值,局部變量的值等。其操作方式類似于數據結構中的棧。
2、堆區(heap) — 一般由程序員分配釋放, 若程序員不釋放,程序結束時可能由OS回收 。注意它與數據結構中的堆是兩回事,分配方式倒是類似于鏈表,呵呵。
3、全局區(靜態區)(static)—,全局變量和靜態變量的存儲是放在一塊的,初始化的全局變量和靜態變量在一塊區域, 未初始化的全局變量和未初始化的靜態變量在相鄰的另一塊區域。 - 程序結束后有系統釋放
4、文字常量區 —常量字符串就是放在這里的。 程序結束后由系統釋放
5、程序代碼區—存放函數體的二進制代碼。
閱讀全文
摘要: C++中的虛函數的作用主要是實現了多態的機制。關于多態,簡而言之就是用父類型別的指針指向其子類的實例,然后通過父類的指針調用實際子類的成員函數。這種技術可以讓父類的指針有“多種形態”,這是一種泛型技術。所謂泛型技術,說白了就是試圖使用不變的代碼來實現可變的算法。比如:模板技術,RTTI技術,虛函數技術,要么是試圖做到在編譯時決議,要么試圖做到運行時決議。
閱讀全文