Iis
IIS、應用程序域、池、程序和執行緒,高級理解
希望是否有人可以對我來說所有這些事情。
這是為了更好地理解作業系統,但也特別是它如何應用於 IIS。
應用程序域、應用程序池、程序和執行緒如何在 Web 應用程序中發揮作用?
是不是這樣:
一個應用程序池可以有多個應用程序域。
一個域可以有多個程序,每個程序管理一個執行緒池。執行緒在程序中共享記憶體空間。
我也對 linxu (ubuntu) 伺服器感興趣,所以如果它是相似的或不同的,有興趣知道。
一個應用程序池可以包含多個 IIS 應用程序。
IIS 應用程序是一組共享相同狀態的相關頁面 - 例如,應用程序和會話變數是共享的。您可以通過 UI 應用程序化或取消應用程序化。
一個 IIS 應用程序可能有零個或多個 AppDomain。AppDomain 就像一個程序中的輕量級程序,但它是一個特定於 .Net 的概念;ASP 應用程序沒有 AppDomains,而 ASP.Net 應用程序有。
應用程序池在一個或多個工作程序 (w3wp.exe) 中執行。程序本質上是一個記憶體容器,並具有與之關聯的身份(令牌)以及一個或多個執行緒。
執行緒是“執行執行緒”——一組不同的 CPU 狀態和在程序內的記憶體上執行的操作鏈。執行緒可以有一個與之關聯的令牌(例如,當它們模擬使用者時),它會覆蓋該執行緒操作的程序標識,直到執行緒停止模擬。如果執行緒“失去”它的令牌,它就充當程序標識。
您應該閱讀的書名為“Windows Internals” http://technet.microsoft.com/en-us/sysinternals/bb963901.aspx,作者是 Solomon、Russinovich 和 Ionescu。