1. windows怎麼進入內核模式
內核模式操作的一種高特權模式,其中的程序代碼能直接訪問所有內存(包括所有的用戶模式進程和應用程序的地址空間)和硬體。也稱為「管理員模式」、「保護模式」或「Ring 0」。 如果再細致地對此進行分類:它又可以被分為單內核模式和微內核模式兩種。單內核模式代碼結構緊湊、執行速度快,但是缺乏層次;微內核正好相反。單內核模式的代表如Linux;微內核模式的代表如Windows用戶模式與內核模式是如何交互的呢 當用戶模式程序需要讀取設備數據時,它就調用Win32 API函數,如ReadFile。Win32子系統模塊(如KERNEL32.DLL)通過調用平台相關的系統服務介面實現該API,而平台相關的系統服務將調用內核模式支持常式。在ReadFile調用中,調用首先到達系統DLL(NTDLL.DLL)中的一個入口點,NtReadFile函數。然後這個用戶模式的NtReadFile函數接著調用系統服務介面,最後由系統服務介面調用內核模式中的服務常式,該常式同樣名為NtReadFile。系統中還有許多與NtReadFile相似的服務常式,它們同樣運行在內核模式中,為應用程序請求提供服務,並以某種方式與設備交互。它們首先檢查傳遞給它們的參數以保護系統安全或防止用戶模式程序非法存取數據,然後創建一個稱為「I/O請求包(IRP)」的數據結構,並把這個數據結構送到某個驅動程序的入口點。在剛才的ReadFile調用中,NtReadFile將創建一個主功能代碼為IRP_MJ_READ(DDK頭文件中的一個常量)的IRP。實際的處理細節可能會有不同,但對於NtReadFile常式,可能的結果是,用戶模式調用者得到一個返回值,表明該IRP代表的操作還沒有完成。用戶模式程序也許會繼續其它工作然後等待操作完成,或者立即進入等待狀態。不論哪種方式,設備驅動程序對該IRP的處理都與應用程序無關。驅動程序完成一個I/O操作後,通過調用一個特殊的內核模式服務常式來完成該IRP。完成操作是處理IRP的最後動作,它使等待的應用程序恢復運行。
2. 寫一個操作系統內核有多難大概的內容,步驟是什麼
「一個好一點兒的計算機碩士畢業的學生。寫一個操作系統的內核絕對是應該辦到而且肯定可以辦到的事兒。」 ------這句話我們可以理解為」一個好的計算機碩士掌握的理論知識足夠他搭建起一個簡單的操作系統框架「。
我上操作系統課(大二)的第一天就問我的老師,學完了這門課可以自己實現一個操作系統了嗎?老師說:」你可以基本掌握操作系統中要處理的主要問題,但是即使實現最簡單的五臟俱全的操作系統還需要掌握很多很多東西,而且前提是你已經有很不錯的代碼能力。「
回到題目上來,我們要實現一個簡單的操作系統,最先需要解決的是哪些問題?這個問題我相信翻開任何一本操作系統書都可以得到答案,一般都是操作系統書的前五,六章內容(第一章基本是操作系統概念及發展歷史)。
包括:
進程管理
存儲管理
文件系統
輸入/輸出
這些大部分是討論理論類的書,比如我們上課用的書是西電湯子瀛老師的《計算機操作系統》,後來自己為了深入學習買了Andrew S. Tanenbaum的《Modern Operating Systems》。
如果想寫個操作系統,除了理論知識外,動手之前最好先看看操作系統源代碼,Linux的代碼都是開源的,可以先學習學習。不過對於我們這種初學者千萬不要看最新的Linux內核代碼,因為那是很多人的傑作,可能一輩子都看不完。最好先看看國內同濟大學趙炯基於0.11的《Linux完全注釋》,即使只看懂30%也至會讓自己懂很多之前不知道的東西。
理論類的書很少有提到Bootload問題的,就是加電之後從哪裡開始執行的部分。僅僅是這個步驟也需要花不少時間去了解CPU知識,匯編語言知識等,相當不容易。不話說回來,這部分如果能處理好之後會發現組成原理,匯編語言,微機原理的知識被自己運用到了,成就感巨大。這部分內容,可以參看MIT的課程6.828 Operating System Engineering的課程,Google一下就能搜到不少大牛關於這門課的博客。如果英語不太好我記得華中科技大學有一個叫32位操作系統實踐的課,資料都放到網上了,看起來很不錯。
過了這一關,用《深入理解計算機系統》加上《現代操作系統》看一下虛擬存儲器的內容,這兩本書這部分說得都很棒。虛擬存儲器的概念貫穿所有,如果能弄懂,對很多方面都有很大的幫助,不僅僅是操作系統這塊。有了虛擬存儲器概念之後對於鏈接,載入等知識理解就會深刻許多。 不過,這部分內容也需要對硬體部分有所了解,又是一坑。
之後回到進程上來之後,終於可以把工作重心從硬體部分轉移過來了。但是我們又將面對進程創建,進程調度,進程通信三大問題,既然是簡單實現,就先不考慮線程的事。演算法書中會給很多,不過這些演算法都是有一定的局限性,比如調度演算法,對應的調度演算法優劣差異很大,至於如何抉擇就看個人需求。不過話說回來,操作系統里的」演算法「和ACM里的演算法在難度上差很多,還是比較容易實現的。
內容太多了,就不完全展開了,後面就看自己「耐力」了,寫操作系統是需要堅持很長實踐+大量知識積累的。有些問題還涉及到哲學的觀點,這里推薦上海交大鄒恆明教授的《操作系統之哲學原理》。除了理論方面的書,現在市面上也有直接教如何實現一個操作系統的,比如《Orange'S:一個操作系統的實現》和《30天自製操作系統》(僅有的幾本「XX天XX」而不是爛書的書),起步階段跟著這些書來還是很不錯的。
總之,實現最最基本的功能也許可以做到。實現功能強大,魯棒性強的操作系統極難。
3. 寫一個操作系統內核有多難大概的內容,步驟是什麼
項目概述和開發環境配置
計算機啟動過程、GRUB 以及 multiboot 標准
裸機上運行的 Hello OS Kernel
字元模式下的顯卡驅動
相關庫函數和調試列印函數
添加全局段描述符表
添加中斷描述符表
完成中斷請求和定時器中斷
物理內存管理的實現
虛擬內存管理的實現
內核堆管理的實現
內核線程的創建與切換
接下來如何繼續學習
------------------------------------------
這個東西很難被稱為「內核」,甚至說它是「玩具內核」都是繆贊了。這只是一個看起來能運行的原理示範性質的小程序。不過不可否認,按照文檔來,你可以寫出一個看起來挺好玩的東西並學到一些基礎知識。
雖然一個真正的內核很難很復雜,但是一個簡單的Demo並不是遙不可及。即使有興趣,學習的過程中也需要樂趣和不斷獲得的成就感,不是嗎?
網路搜索「系統城」會有更多更新的電腦系統下載、電腦教程為您解決電腦相關問題。
4. 如何自己製作一個操作系統
你是一個真正的強人,也許我可以幫你。首先,你需要一個引導扇區(用匯編寫),接下來你需要一個與引導扇區相對應的引導器(比如ntldr、bootmgr、grldr、ieldr,當然這里要你自己寫,可以用匯編或C)。現在你的程序是這樣的:開機通電,BIOS讀取硬碟引導扇區數據,引導扇區載入引導器。接下來你要編寫你的操作系統內核(用匯編或C)並讓你的引導器載入你的系統內核或內核的一個載入模塊。在編寫操作系統內核時,你要考慮清楚如下問題:內存如何管理?是多進程還是單進程?處理器是在實模式還是在保護模式(保護模式要求自己編寫外設驅動)?然後你要編寫你的系統所需的文件系統。總之,問題多多。
更多內容,建議你讀《Orange's一個操作系統的實現》。
5. 什麼是電腦系統 內核
首先要將C盤重要文件拷出來,如自己的文檔、圖片等文件夾,系統文件不需要拷,需要一張系統安裝盤,然後就可以重裝系統了。
以XP為例步驟如下:
第一步,設置光啟:
所謂光啟,意思就是計算機在啟動的時候首先讀光碟機,這樣的話如果光碟機中有具有光啟功能的光碟就可以趕在硬碟啟動之前讀取出來(比如從光碟安裝系統的時候)。
設置方法:
1.啟動計算機,並按住DEL鍵不放,直到出現BIOS設置窗口(通常為藍色背景,黃色英文字)。
2.選擇並進入第二項,「BIOS SETUP」(BIOS設置)。在裡面找到包含BOOT文字的項或組,並找到依次排列的「FIRST」「SECEND」「THIRD」三項,分別代表「第一項啟動」「第二項啟動」和「第三項啟動」。這里我們按順序依次設置為「光碟機」「軟碟機」「硬碟」即可。(如在這一頁沒有見到這三項E文,通常BOOT右邊的選項菜單為「SETUP」,這時按回車進入即可看到了)應該選擇「FIRST」敲回車鍵,在出來的子菜單選擇CD-ROM。再按回車鍵
3.選擇好啟動方式後,按F10鍵,出現E文對話框,按「Y」鍵(可省略),並回車,計算機自動重啟,證明更改的設置生效了。
第二步,從光碟安裝XP系統
在重啟之前放入XP安裝光碟,在看到屏幕底部出現CD字樣的時候,按回車鍵。才能實現光啟,否則計算機開始讀取硬碟,也就是跳過光啟從硬碟啟動了。
XP系統盤光啟之後便是藍色背景的安裝界面,這時系統會自動分析計算機信息,不需要任何操作,直到顯示器屏幕變黑一下,隨後出現藍色背景的中文界面。
這時首先出現的是XP系統的協議,按F8鍵(代表同意此協議),之後可以見到硬碟所有分區的信息列表,並且有中文的操作說明。選擇C盤,按D鍵刪除分區(之前記得先將C盤的有用文件做好備份),C盤的位置變成「未分區」,再在原C盤位置(即「未分區」位置)按C鍵創建分區,分區大小不需要調整。之後原C盤位置變成了「新的未使用」字樣,按回車鍵繼續。
接下來有可能出現格式化分區選項頁面,推薦選擇「用FAT32格式化分區(快)」。按回車鍵繼續。
系統開始格式化C盤,速度很快。格式化之後是分析硬碟和以前的WINDOWS操作系統,速度同樣很快,隨後是復制文件,大約需要8到13分鍾不等(根據機器的配置決定)。
復制文件完成(100%)後,系統會自動重新啟動,這時當再次見到CD-ROM.....的時候,不需要按任何鍵,讓系統從硬碟啟動,因為安裝文件的一部分已經復制到硬碟里了(註:此時光碟不可以取出)。
出現藍色背景的彩色XP安裝界面,左側有安裝進度條和剩餘時間顯示,起始值為39分鍾,也是根據機器的配置決定,通常P4,2.4的機器的安裝時間大約是15到20分鍾。
此時直到安裝結束,計算機自動重啟之前,除了輸入序列號和計算機信息(隨意填寫),以及敲2到3次回車之外,不需要做任何其它操作。系統會自動完成安裝。
第三步,驅動的安裝
1.重啟之後,將光碟取出,讓計算機從硬碟啟動,進入XP的設置窗口。
2.依次按「下一步」,「跳過」,選擇「不注冊」,「完成」。
3.進入XP系統桌面。
4.在桌面上單擊滑鼠右鍵,選擇「屬性」,選擇「顯示」選項卡,點擊「自定義桌面」項,勾選「我的電腦」,選擇「確定」退出。
5.返回桌面,右鍵單擊「我的電腦」,選擇「屬性」,選擇「硬體」選項卡,選擇「設備管理器」,裡面是計算機所有硬體的管理窗口,此中所有前面出現黃色問號+嘆號的選項代表未安裝驅動程序的硬體,雙擊打開其屬性,選擇「重新安裝驅動程序」,放入相應當驅動光碟,選擇「自動安裝」,系統會自動識別對應當驅動程序並安裝完成。(AUDIO為音效卡,VGA為顯卡,SM為主板,需要首先安裝主板驅動,如沒有SM項則代表不用安裝)。安裝好所有驅動之後重新啟動計算機。至此驅動程序安裝完成。
6. 如何自己做以UNIX為內核的操作系統
可以參考lfs,這個基本上就是給了你一個純內核,在此基礎上搭建出一個定製化極高的linux操作系統,這需要對linux有個比較深的理解才能做,如果你還沒從源碼包編譯過軟體並安裝使用,建議先不要這樣。。。如果想挑戰極限,那麼關鍵在於毅力,一般人弄個3-5天一看啥也沒整明白,系統也根本裝不上就煩了,最後不了了之,但是如果你有信心堅持3-4個月的弄lfs,那麼你肯定沒問題的。YLMFOS具體怎麼弄得我不太清楚,但是通過修改ubuntu的部分代碼就可以達到那樣的效果。
7. 寫一個操作系統內核有多難大概的內容,步驟是什麼
太難了,我國科學院也在開發國產操作系統,但內核自己寫不出來,用的內核是Linux系統的內核,谷歌開發安卓系統也用的是Linux內核,可見操作系統內核不容易寫,windows內核就更不要說了,人家系統不是開源的,只有微軟能寫!
8. 什麼是電腦系統 內核
內核是計算機的核心,只有一些基本的功能和驅動,向一個計算機該是框架模塊結構的,方便擴展,核心可以為其他接入的硬體提供驅動,給某種設備供電,劉向發動機提供電源為核心計算機供電,核心計算機帶動雷達,預警設備等正常工作。