學習操作系統是一件復雜的事情,靠的不僅僅是智慧,更關鍵的是堅持不懈,下面是筆者總結的幾個問題,相當于是個
讀書筆記,留作考究。
什么是DOS系統調用?
系統功能調用是DOS為用戶提供的常用函數,大概80多個,可以在匯編語言程序中直接調用,這些程序的主要功能包括:
設備管理,如鍵盤、顯示器、打印機、磁盤等的管理;
文件管理和目錄操作;
其他管理,如內存、時間、日期等。
調用方法:
DOS功能調用程序已按順序編號——功能號(00H~68H)
調用方法是:
功能號——>AH
入口參數——>指定寄存器
INT 21H
什么是BIOS中斷調用?
BIOS的全稱是ROM BASIC I/O SYSTEM,即只讀存儲器基本輸入輸出系統;它是一組固化到微機主板上的一個ROM芯片的子程序,主要功能包括:
驅動系統中所配置的常用外設;
開機自檢,引導裝入;
提供時間、內存容量及設備情況等參數。
什么是MBR?
(來自于維基百科)
主引導記錄(Master Boot Record,縮寫:MBR),又叫做主引導扇區,是計算機開機后訪問硬盤時所必須要讀取的首個扇區,它在硬盤上的三維地址為(柱面,磁頭,扇區)=(0,0,1)。在深入討論主引導扇區內部結構的時候,有時也將其開頭的446字節內容特指為“主引導記錄”(MBR),其后是4個16字節的“磁盤分區表”(DPT),以及2字節的結束標志(55AA)。因此,在使用“主引導記錄”(MBR)這個術語的時候,需要根據具體情況判斷其到底是指整個主引導扇區,還是主引導扇區的前446字節;
主引導扇區記錄著硬盤本身的相關信息以及硬盤各個分區的大小及位置信息,是數據信息的重要入口。如果它受到破壞,硬盤上的基本數據結構信息將會丟失,需要用繁瑣的方式試探性的重建數據結構信息后才可能重新訪問原先的數據。主引導扇區內的信息可以通過任何一種基于某種操作系統的分區工具軟件寫入,但和某種操作系統沒有特定的關系,即只要創建了有效的主引導記錄就可以引導任意一種操作系統(操作系統是創建在高級格式化的硬盤分區之上,是和一定的文件系統相聯系的)。
MBR的組成
啟動代碼
主引導記錄最開頭是第一階段引導代碼。其中的硬盤引導程序的主要作用是檢查分區表是否正確并且在系統硬件完成自檢以后將控制權交給硬盤上的[[引導程序]](如[[GNU GRUB]])。 它不依賴任何操作系統,而且啟動代碼也是可以改變的,從而能夠實現[[多系統引導]]。
硬盤分區表
硬盤分區表占據主引導扇區的64個字節(偏移01BEH--偏移01FDH),可以對四個分區的信息進行描述,其中每個分區的信息占據16個字節。具體每個字節的定義可以百度'''硬盤分區結構信息'''。
結束標志字
''結束標志字'' 55,AA(偏移1FEH-偏移1FFH)是'''主引導扇區'''的最后兩個字節,是檢驗主引導記錄是否有效的標志。
實模式和保護模式?
實模式,又叫實地址模式,CPU完全按照8086的實際尋址方法訪問從00000h--FFFFFh(1MB大小)的地址范圍的內存,在這種模式下,CPU只能做單任務運行;尋址公式為:物理地址=左移4位的段地址+偏移地址,即:物理地址是由16位的段地址和16位的段內偏移地址組成的。
保護模式,又叫內存保護模式,尋址采用32位段和偏移量,最大尋址空間4GB,在這種模式下,系統運行于多任務,設計這種模式的原因和好處是:保護模式增加了尋址空間,增加了對多任務的支持,增加了段頁式尋址機制的內存管理(分段機制使得段具有訪問權限和特權級,各應用程序和操作系統的代碼和核心是被保護的,這也是多任務支持的實現關鍵和保護這個名字的由來)。尋址過程為:物理地址=由段地址查詢全局描述符表中給出的段基址+偏移地址,即:物理地址由影像寄存器中的基址加上16位或者32位的偏移組成。
保護模式與實模式相比:
提供了段間的保護機制,防止程序間胡亂訪問地址帶來的問題;
訪問的內存空間變大。
為什么分段之后還要分頁?
關于內存分頁機制,可以查看http://blog.csdn.net/cuifengqinghan/article/details/17595727中關于分頁機制的部分;
你可能已經知道,分段管理機制已經提供了很好的保護機制,為什么還要引入分頁管理機制呢?其實它的目的在于實現虛擬存儲器。
虛擬內存是計算機系統內存管理的一種技術。它使得應用程序認為它擁有連續的可用的內存(一個連續完整的地址空間),而實際上,它通常是被分隔成多個物理內存碎片,還有部分暫時存儲在外部磁盤存儲器上,在需要時進行數據交換。
這樣有一個直觀的好處就是:物理內存碎片的使用和內存消耗殆盡拿出一部分硬盤空間來充當內存使用,緩解內存的緊張。