windows是視窗硬盤操作系統,如果你想知道功能和原理,你應該從最基本的知識開始學起,應該有很多,WINDOWS分為幾個部分咱們看到的只是UI,也就是殼,他下面還有負責翻譯的,把我們的操作翻譯成機器能識別的指令然后再控制計算機的硬件去做工作,我說的這只是簡單的我給你找了個網站,你可以上面瞅瞅
創新互聯是一家專注于網站設計制作、成都做網站與策劃設計,西安網站建設哪家好?創新互聯做網站,專注于網站建設10年,網設計領域的專業建站公司;建站業務涵蓋:西安等地區。西安做網站價格咨詢:028-86922220
windows系統說白了,就是一款大的軟件,這也適用于所有的系統。系統可以說是溝通硬件和軟件的橋梁,它“教”硬件怎么樣發揮自己的作用,就像CPU教電腦配置的各部分怎么樣發揮它們的作用一樣。當然,詳細的原理遠沒有我說的這么簡單,推薦你看看windows的百科:
這個需要有扎實的計算機知識。
1、首先需要熟練的掌握計算機組成原理和計算機操作系統原理,這是了解一個系統的基礎知識。
2、另外需要理解windows操作系統還需要深入的學習一下windows平臺的編程和起一些內核的東西的,這樣才能深入的理解操作系統原理
我們知道每個Windows進程都擁有4G的地址空間,但是你的機器顯然沒有4G的物理內存。
在多任務環境下,所有進程使用的內存總和可以超過計算機的物理內存。
在特定的情況下,進程的一部分可能會從物理內存中刪除而被暫存在硬盤的文件里(pagefile),當進程試圖訪問這些被交換到pagefile里的內存的時候,系統會產生一個缺頁中斷(page
fault),這時候Windows內存管理器會負責把對應的內存頁重新從硬盤調入物理內存。
注意:
1)在某個時間內,一個進程可以直接訪問到的物理內存(不發生缺頁中斷)叫做這個進程的Working
Set;
2)而一個進程從4G的地址空間當中實際分配(commit)了的、可訪問的內存稱為Committed
Virtual
Memory。
3)Committed
VM可能存在于Page
File當中,WorkingSet則一定位于物理內存。
Mem
Usage這個名字多少有些誤導。它只表示這個進程當前占用的物理內存,也就是WorkingSet。WorkingSet不表示進程當前“占用”的所有虛擬內存,該進程可能還有一部分數據被交換到pagefile當中。這些數據只有在被訪問的時候才會被加載到物理內存。
Task
Manager有另一列數據:VM
Size,表示了一個進程分配的虛存(Committed
Visual
Memory)—實際的定義要比這個復雜一些,但我們可以暫時看成“一個進程分配的虛存”。
當一個Windows程序被最小化的時候,Windows內存管理器把該進程的WorkingSet減到最小(根據先進先出FIFO或者最近最少使用LRU),把大部分數據交換到pagefile里。
這很容易理解:我們通常總是希望為前臺的應用程序留出更多物理內存,從而具有更好的性能。當該程序從最小化恢復的時候,Windows也不會完全加載程序的所有虛存,只是加載了必要的部分。這也很容易理解:程序啟動階段的代碼通常在啟動之后很少訪問(對.NET程序尤其如此,向fusion這樣的模塊在程序正常加載之后如果沒有用到Reflection通常用不到)。
但是在虛存的問題上卻沒這么簡單。如果WorkingSet太小,程序運行過程中會產生很多缺頁中斷,這會嚴重影響程序的性能。另一方面,WorkingSet太大會浪費“寶貴的”物理內存,降低整個系統的性能。
通常情況下(除非是對性能非常敏感的應用程序,并且你對Windows的內存管理了如指掌),建議不要在程序中自己調整WorkingSet的大小,而把這個任務交給Windows內存管理器
我們知道DLL的一個特點是代碼共享,以NTDLL.DLL為例,整個Windows系統的幾乎所有應用程序(具體地說,Win32子系統的所有程序)都需要引用NTDLL.DLL,如果每人一份,光這個文件就的占用幾十兆內存。
Windows地解決辦法是只在物理內存中保存一份NTDLL.DLL的COPY,所有引用這個DLL的程序都把這一份COPY映射到自己的內存空間里面,共享NTDLL.DLL的代碼段(每個進程的數據段仍然是獨立的)。
所以雖然NTDLL.DLL的大小被計算在你的程序的WorkingSet里面,但是從你的程序中去掉對這個DLL的引用并不會真的釋放多少物理內存——你不用,別人還在用呢!
所以,你的程序“獨占”的物理內存遠沒有Mem
Usage所表示的那么多,需要從Mem
Usage里面扣除很多Shared
Code
Page
(vadump里面可以看到)。
重要結論:
不要參考Task
Manager的Mem
Usage數據,那個數據的大小對程序性能沒有直接影響。
微軟Windows 7系統開機加載過程的原理和機制
一個Windows 操作系統用的久了,自然而然的要出很多問題,系統也會明顯的變慢,原因固然很多:注冊表日益龐大、無用字體越來越多、啟動加載的程序越來越多、系統默認開啟的服務越來越多、計劃任務列表中被加入了一些莫名其妙的開機啟動項目、磁盤碎片越來越多、殺毒軟件的開機動作選項沒有合理設置等等。不僅是用久了的系統,就算是一個新安裝好的操作系統,也需要進行一些設置優化,關閉不常用的服務、屏蔽一些壓根無用的開機啟動項目等等。下面,我們一起來看看整個Windows 7系統的完整開機加載過程的原理和機制。
1、開啟電源
計算機系統將進行加電自檢(POST)。如果通過,之后BIOS會讀取主引導記錄(MBR)——被標記為啟動設備的硬盤的首扇區,并傳送被Windows 7建立的控制編碼給MBR。這時,Windows接管啟動過程。接下來,MBR讀取引導扇區-活動分區的第一扇區。此扇區包含用以啟動Windows啟動管理器(Windows Boot Manager)程序Bootmgr exe的代碼。
2、啟動菜單生成
Windows啟動管理器讀取“啟動配置數據存儲(Boot Confi guration Data store)中的'信息。此信息包含已被安裝在計算機上的所有操作系統的配置信息。并且用以生成啟動菜單。
3、當您在啟動菜單中選擇下列動作時:
1 如果您選擇的是Windows 7(或Windows Vista),Windows 啟動管理器(Windows Boot Manager)運行%SystemRoot%\System32文件夾中的OS loader——Winload.exe。
2 如果您選擇的是自休眠狀態恢復Windows 7 或 Vista,那么啟動管理器將裝載Winresume.exe并恢復您先前的使用環境。
3 如果您在啟動菜單中選擇的是早期的Windows版本,啟動管理器將定位系統安裝所在的卷,并且加載Windows NT風格的早期OS loader(Ntldr.exe)——生成一個由boot.ini內容決定的啟動菜單。
4、核心文件加載至登錄畫面
Windows7啟動時,加載其核心文件 Ntoskrnl.exe和hal.dll——從注冊表中讀取設置并加載驅動程序。接下來將運行Windows會話管理器(smss.exe)并且啟動 Windows啟動程序(Wininit exe),本地安全驗證(Lsass.exe)與服務(services.exe)進程,完成后,就可以登錄你的系統了。
5、登陸后的開機加載項目
當你輸入您的用戶名和密碼,登陸進入您的系統那一刻,硬盤發出的聲音和硬盤燈的再次提醒你:系統正在加載您這個賬戶的個人專用設置文件,正在加載當前電腦和當前用戶所指定的一些開機啟動項目內的軟件。這是眾多軟件(包括木馬病毒)最喜歡的地方,包括我們最常用的QQ、MSN、殺毒軟件,因為它們要靠這里來常駐桌面右下角和內存之中,方便進行正當的和不正當的一些工作(此處指的是某些流氓和惡意軟件)。當這些加載完畢,才算真正進入了您的 Windows桌面。
;
文章名稱:包含windows系統原理的詞條
本文來源:http://m.kartarina.com/article8/hddcop.html
成都網站建設公司_創新互聯,為您提供ChatGPT、網站維護、網站設計公司、外貿建站、網站策劃、移動網站建設
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯