windows的管理機制
一.核心態和使用者態
1.為了保證作業系統的穩定性和安全性,windows將處理器的執行模式分為核心態和使用者態。
2.使用者的應用程式執行在使用者態,而作業系統的核心**和裝置驅動程式執行在核心態
3.處在使用者態的應用程式不能直接對作業系統的核心資料直接訪問,必要時只能通過作業系統提供的系統呼叫,將請求轉到核心態系統服務
4.乙個使用者執行緒在執行時,往往一部分時間執行在使用者態,另外一部分時間通過系統呼叫執行在核心態
5.執行於核心態的作業系統服務可以訪問所有的系統記憶體和所有cpu
指令,可以利用所有的計算機資源來完成複雜的系統管理
6.所有執行於核心態的系統服務和裝置驅動程式都共享同一系統位址空間,這樣可以減少資料交換的中間環節,從而提高系統效率
二.windows作業系統的體系結構
1.windows作業系統是由執行在使用者態和核心態的一些構件組成的,一般執行於核心態的構件成為核心系統服務,而將執行於使用者態的為使用者程序
2.windows的使用者程序一般包括:作業系統支援程序,服務程序,應用程序,環境子系統服務程序
3.windows的核心系統服務一般包括:
1. windows
執行體:它執行在核心態的系統服務,用於管理程序和執行緒,管理記憶體,管理裝置,提供系統安全,網路以及程序間通訊等服務
2. windows
核心:它為執行體提供底層系統服務,管理執行緒排程,中斷和意外處理,多處理器同步等
3. 裝置驅動程式:它執行在核心態,管理硬體裝置和處理io請求
4. 硬體抽象層:它對不同的計算機環境(主要是主機板上的硬體)提供標準的系統封裝,使得其他的系統服務在設計時實現和硬體無關
5. 視窗和圖形系統:為了實現高效的使用者互動,windows的視窗管理和圖形功能也執行在核心態
三.系統呼叫,中斷和陷阱
1. 處理器通過陷阱機制捕獲當前執行執行緒,並將控制轉到某一特定的處理過程。在陷阱處理前,系統會記錄當前執行執行緒的核心棧,以便處理完後返回該執行緒繼續執行。
2. windows利用系統服務陷阱來實現使用者程式對系統服務呼叫,當使用者執行緒呼叫系統服務時會觸發系統服務陷阱,並將服務轉到系統服務入口,切換到核心態進行執行。
3. windows利用中斷陷阱機制來管理硬體裝置。通過裝置驅動程式設定硬體中斷陷阱,當進行i/o請求時,系統通過硬體中斷處理完成設定的操作。作業系統核心還通過設定軟中斷陷阱來進行啟動執行緒排程,超時處理,進行非同步的i/o操作,非同步呼叫其他執行緒的功能等
4. windows利用意外陷阱機制來管理系統的出錯狀態,當發生意外處理事件時,系統會根據意外事件的條件轉到意外處理例程
四.利用物件來共享系統資源
1. windows對只在系統服務內部使用的資料往往用簡單的結構資料來表示,以便提高系統效率。對於需求被使用者態程式訪問的系統資料,windows都是用物件來表示如:執行緒,程序,檔案,事件等。
2. 物件的特點:必須通過物件服務來訪問和修改物件封裝的資料。
3. 在使用者態的程序訪問系統物件時,往往使用物件控制代碼。物件控制代碼是可以引用物件的間接指標(以免直接訪問系統資料結構)
4. 在嚴格意義上,windows不是乙個物件導向實現的作業系統,大部分作業系統的**是使用c語言來編寫,單windows作業系統在系統設計上採用了物件導向的一些思想,這樣有利於提高系統效率的同時增強系統可移植性
記憶體管理機制
記憶體管理 jvm將記憶體分成三大主要區域 堆,棧,方法區,用來儲存資料。堆 堆中主要儲存引用型別物件,給成員變數分配空間。棧 jvm在執行程式時,在棧中會為每乙個方法都提供儲存空間叫棧幀,用來儲存方法中的區域性變數。方法區 用來儲存jvm載入的位元組碼檔案的資訊 類的資訊 包含類的方法,方法只有乙...
記憶體管理機制
記憶體管理是乙個作業系統必不可少 並且 非常重要的一環 linux 的成功 和它優秀的記憶體管理聯絡非常密切 因為乙個系統的高效性慾穩定性往往決定於它的記憶體管理機制 我項很多人吃過 dos 下 640k 的苦吧 前面我們介紹了 386 保護模式 從今天起我們將在此基礎上 分析 linux 的虛擬儲...
Redux管理機制
redux是乙個獨立專門用於做狀態管理的js庫,不是react外掛程式。作用 集中式管理react應用中多個元件共享的狀態和從後台獲取的資料。使用react redux簡化redux的編碼 使用redux thunk實現redux的非同步編碼 使用redux devtools實現chrome中red...