版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
操作系統(tǒng)講義西安財經(jīng)學院1操作系統(tǒng)概述系統(tǒng)啟動及用戶界面進程管理與調(diào)度進程同步第一章第二章第三章第四章文件管理第七章Contents課程內(nèi)容安排
西安財經(jīng)學院設備管理第六章存儲器管理第五章2第二章系統(tǒng)啟動及用戶界面操作系統(tǒng)的接口1操作系統(tǒng)的引導和啟動2Linux操作系統(tǒng)的安裝3西安財經(jīng)學院Linux操作系統(tǒng)的啟動
4Linux操作系統(tǒng)的接口53PC機系統(tǒng)主板構(gòu)架操作系統(tǒng)在哪里?4操作系統(tǒng)的引導和啟動CMOS(ComplementaryMetalOxideSemiconductor),互補金屬氧化物半導體,是組成CMOS數(shù)字集成電路的半導體工藝。在計算機中是用來保存計算機基本啟動信息(如日期、時間、啟動設置等)的芯片。BIOS(BasicInput-OutputSystem)基本輸入輸出系統(tǒng),其內(nèi)容集成在微機主板上的一個ROM芯片上,主要保存著有關(guān)計算機系統(tǒng)最重要的基本輸入輸出程序,系統(tǒng)信息設置、開機上電自檢程序和系統(tǒng)啟動自舉程序等。MBR(MainBootRecord)主引導記錄存放在磁盤的第一個扇區(qū)里,系統(tǒng)啟動時,它自動裝入內(nèi)存并由它負責裝入操作系統(tǒng)的其他部分。5BIOS功能主要包括以下方面:一是BIOS中斷服務程序,包括操作系統(tǒng)對軟盤、硬盤、光驅(qū)、鍵盤、顯示器等外圍設備的管理,操作人員可以通過訪問INT5、INT13等中斷點而直接調(diào)用BIOS中斷服務程序。二是BIOS系統(tǒng)設置程序,在BIOSROM芯片中裝有“系統(tǒng)設置程序”,主要用來設置CMOSRAM中的各項參數(shù)。這個設置CMOS參數(shù)的過程,習慣上也稱為“BIOS設置”。三是POST上電自檢程序,接通電源后,由POST(PowerOnSelfTest,上電自檢)程序來對內(nèi)部各個設備進行檢查。通常完整的POST自檢將包括對CPU、內(nèi)存、ROM、主板、CMOS存貯器、串并口、顯示卡、軟硬盤子系統(tǒng)及鍵盤進行測試,一旦在自檢中發(fā)現(xiàn)問題,系統(tǒng)將給出提示信息或鳴笛警告。第四為BIOS系統(tǒng)啟動自舉程序,系統(tǒng)在完成POST自檢后,BIOS就首先按照系統(tǒng)CMOS設置中保存的啟動順序搜尋軟硬盤驅(qū)動器及CD—ROM、網(wǎng)絡服務器等有效啟動驅(qū)動器,讀入操作系統(tǒng)引導記錄,然后將系統(tǒng)控制權(quán)交給引導記錄,并由引導記錄來完成系統(tǒng)的順利啟動。
672.1用戶工作環(huán)境1用戶環(huán)境用戶工作環(huán)境的形成設計合理的操作命令,它允許用戶處理由操作系統(tǒng)支持的各種目標。系統(tǒng)要提供各種硬件、軟件資源,并提供關(guān)于操作系統(tǒng)的實用說明。將操作系統(tǒng)裝入計算機,并對系統(tǒng)參數(shù)和控制結(jié)構(gòu)進行初始化,使計算機系統(tǒng)能夠為用戶服務。82系統(tǒng)生成和系統(tǒng)啟動系統(tǒng)生成系統(tǒng)生成就是操作系統(tǒng)的生成過程。是指為了滿足物理設備的約束和需要的系統(tǒng)功能,通過組裝一批模塊來產(chǎn)生一個清晰的、使用方便的操作系統(tǒng)的過程。系統(tǒng)生成包括:根據(jù)硬件部件確定系統(tǒng)構(gòu)造的參數(shù),編輯系統(tǒng)模塊的參數(shù),并且連接系統(tǒng)模塊成為一個可執(zhí)行程序。
系統(tǒng)初啟系統(tǒng)初啟又叫系統(tǒng)引導。其任務是把操作系統(tǒng)的必要部分裝入主存并使系統(tǒng)進行初始化工作,最終處于命令接收狀態(tài)。
2.1用戶工作環(huán)境92.1用戶工作環(huán)境系統(tǒng)引導分為三個階段:初始引導:把系統(tǒng)核心裝入內(nèi)存中的指定位置,并在指定地址啟動;核心初始化:執(zhí)行系統(tǒng)核心的初啟子程序,初始化系統(tǒng)核心數(shù)據(jù);系統(tǒng)初始化:為用戶使用系統(tǒng)作準備。如建立文件系統(tǒng)、日歷時鐘等。系統(tǒng)引導的方式獨立引導(bootup)輔助下裝(download)102.1用戶工作環(huán)境獨立引導方式(滾雪球方式)OS核心文件存儲在系統(tǒng)本身的存儲設備中由系統(tǒng)自己將OS核心程序讀入內(nèi)存并運行最后建立一個操作環(huán)境適用于微機和大多數(shù)系統(tǒng)。輔助下裝方式OS主要文件不放在系統(tǒng)本身的存儲設備中,而是在系統(tǒng)啟動后,執(zhí)行下裝操作,從另外的計算機系統(tǒng)中將操作系統(tǒng)常駐部分傳送到該計算機中,使它形成一個操作環(huán)境。優(yōu)點:可節(jié)省較大存儲空間,下裝的OS并非全部代碼,只是常駐或?qū)S貌糠?,當這部分OS出現(xiàn)問題和故障時,可再請求下裝。適于多計算機系統(tǒng)、由主控機與前端機構(gòu)成的系統(tǒng)及分布式系統(tǒng)。112.1用戶工作環(huán)境系統(tǒng)引導過程(1)初始引導(也叫自舉)初始引導的任務就是把核心送入主存并啟動它運行。系統(tǒng)核心是存放在輔存上的。需要通過引導程序來進行裝入。系統(tǒng)加電,硬件電子線路便會自動地把ROM中這段初始引導程序(輔存固定位置)讀入內(nèi)存,并將CPU控制權(quán)交給它;執(zhí)行初始引導程序,對系統(tǒng)硬件和配置進行自檢,保證系統(tǒng)沒有硬件錯誤;從硬盤中讀入操作系統(tǒng)引導程序,并將控制權(quán)交給該程序模塊。引導程序執(zhí)行,將操作系統(tǒng)核心文件讀入內(nèi)存,并將控制交給核心的初始化程序。122.1用戶工作環(huán)境(2)核心初始化初始化系統(tǒng)數(shù)據(jù)結(jié)構(gòu)及參數(shù):建立進程有關(guān)的數(shù)據(jù)結(jié)構(gòu)
獲得自由存儲空間的容量,建立存儲管理的數(shù)據(jù)結(jié)構(gòu)
建立系統(tǒng)設備和文件系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)
初始化時鐘
核心頁表寄存器與核心數(shù)據(jù)初始化建立0號進程。建立1號進程。實現(xiàn)系統(tǒng)的初始化。(3)系統(tǒng)初始化完善OS的操作環(huán)境,裝載命令處理程序(或圖形用戶界面),并初始化;在多用戶系統(tǒng)中,為每個終端建立命令解釋進程,使系統(tǒng)處于命令接收狀態(tài)。由1號進程執(zhí)行初始化程序,為控制臺終端建造一個進程,執(zhí)行命令解釋程序,等待接受用戶的命令。1314WINDOWS系統(tǒng)的引導打開機器電源ROM中引導程序運行,裝入系統(tǒng)盤中的主引導程序。主引導塊程序執(zhí)行,讀入操作系統(tǒng)核心程序。系統(tǒng)初始化的工作:包括系統(tǒng)資源初始狀態(tài)的設置、系統(tǒng)主要數(shù)據(jù)結(jié)構(gòu)初始化、引導圖形用戶界面程序。圖形用戶界面運行,生成用戶的圖形用戶界面,系統(tǒng)初啟工作完成。15UNIX系統(tǒng)初啟UNIX操作系統(tǒng)執(zhí)行代碼裝入內(nèi)存存儲空間及其管理機構(gòu)初始化與設備有關(guān)的初始化與文件系統(tǒng)有關(guān)的初始化創(chuàng)建0#和1#進程1#進程創(chuàng)建各終端進程終端進程運行shell各用戶終端上出現(xiàn)login16Linux系統(tǒng)引導啟動時要加載核心,讓核心來驅(qū)動整個硬件。
整個啟動過程:
1.
加載BIOS的硬件信息,并獲得第一個啟動設備的代號(CMOS中設定的啟動項)。
2.
讀取第一個啟動設備的MBR的引導加載程序(lilo、grub、spfdisk)
3.
加載核心操作系統(tǒng)的核心信息,核心開始解壓縮,并且嘗試驅(qū)動所有硬件設備。
4.
核心執(zhí)行init程序并獲取運行信息。
5.
Init執(zhí)行/etc/rc.d/rc.sysinit文件
6.
啟動核心的外掛模塊(/etc/modprobe.conf)
7.
Init
執(zhí)行各個批處理文件(根據(jù)運行級別)。
8.
Init
執(zhí)行/etc/rc.d/rc.local文件
9.
執(zhí)行/bin/login程序,等待用戶登錄。
10.登錄之后開始以shell控制主機。172.1.3運行一個用戶程序的過程作業(yè)計算機系統(tǒng)按指定步驟對初始數(shù)據(jù)進行處理并得到計算結(jié)果的加工工作。
作業(yè)有其對應的程序和數(shù)據(jù)。將作業(yè)裝入主存,指的就是將該作業(yè)的程序和數(shù)據(jù)裝入主存。
作業(yè)步加工工作中的一個步驟稱為作業(yè)步。2.1用戶工作環(huán)境作業(yè):是指在一次應用業(yè)務處理過程中,從輸入開始到輸出結(jié)束,用戶要求計算機所做的有關(guān)該次業(yè)務處理的全部過程稱為一個作業(yè)。批處理系統(tǒng)中作業(yè)是搶占內(nèi)存的基本單位。作業(yè)比程序的概念更廣:它由程序、數(shù)據(jù)、作業(yè)說明書組成。作業(yè)流(JobStream):一批作業(yè)在系統(tǒng)控制下,依次輸入到后援存儲器中等待運行,就形成了一個作業(yè)流。18作業(yè)步:通常一個作業(yè)又可分為若干個順序處理的步驟。作業(yè)步就是在一個作業(yè)處理的過程中計算機所做的相對獨立的工作.作業(yè)步之間有一定的關(guān)聯(lián)的,其關(guān)聯(lián)關(guān)系:一個作業(yè)中的各作業(yè)步必須是順序執(zhí)行的;前一個作業(yè)步的輸出是下一個作業(yè)步的輸入;一個作業(yè)步能否正確執(zhí)行,依賴于前一個作業(yè)步是否成功地完成。1920作業(yè)處理步驟編輯:建立一個新文件,或?qū)σ延械奈募械腻e誤進行修改。編譯:將源程序翻譯成目標代碼。連接:主程序和其他所需要的子程序和例行程序連接裝配在一起,使之成為一個可執(zhí)行的、完整的主存映像文件。運行:將主存映像文件調(diào)入主存,并啟動運行,最后得出計算結(jié)果。作業(yè)步是相互關(guān)聯(lián)、順序地執(zhí)行2.1用戶工作環(huán)境概念功能設計結(jié)構(gòu)設計建檔詳細設計編輯輸入輸出執(zhí)行鏈接編譯調(diào)試需求分析分析一般編程過程編輯輸入人工完成計算機完成作業(yè)的定義21典型的作業(yè)步:編譯連接裝配運行目標程序段目標程序源程序輸入數(shù)據(jù)子程序庫函數(shù)動態(tài)庫函數(shù)計算結(jié)果該作業(yè)的作業(yè)步1該作業(yè)的作業(yè)步2該作業(yè)的作業(yè)步32223作業(yè)步之間的關(guān)系
user.cuser.objuser.exe
編輯—
編譯—
連接—
運行
第一個第二個第三個第四個作業(yè)步作業(yè)步作業(yè)步作業(yè)步每個作業(yè)步運行的結(jié)果產(chǎn)生下一個作業(yè)步所需要的文件;一個作業(yè)步能否正確地執(zhí)行,依賴于前一個作業(yè)步是否成功地完成。2.1用戶工作環(huán)境242.1用戶工作環(huán)境編譯過程中,要為連接裝配工作準備,形成內(nèi)部符號表和外部調(diào)用表。內(nèi)部符號表:本模塊可以被其他程序調(diào)用的入口點;外部符號表:本模塊要調(diào)用的外部的程序模塊名。連接的主要工作是確定本模塊和其他所需要的目標模塊之間的調(diào)用關(guān)系,并進行地址連接,形成主存映像文件。當該程序要進入主存運行時,由裝載程序負責加載。25靜態(tài)連接和動態(tài)鏈接
靜態(tài)連接:將所需的外部調(diào)用函數(shù)鏈接到目標文件中形成為一個完整的主存映像文件。靜態(tài)連接的缺點若多個應用程序都調(diào)用了同一個庫函數(shù),那么,這些應用程序的目標文件中都包含了這個外部函數(shù)對應的代碼,造成主存極大的浪費。動態(tài)連接:不需要將外部函數(shù)代碼從庫中提取出來并連接到目標文件中,而是在應用程序中需要調(diào)用外部函數(shù)的地方作記錄,并說明要使用的外部函數(shù)名和引用入口號,形成函數(shù)調(diào)用鏈表。所需支持——DLL(動態(tài)連接庫)當Windows的裝載程序?qū)贸绦蚝虳LL裝入內(nèi)存后,裝載程序會遍歷形成函數(shù)調(diào)用鏈表,將DLL中函數(shù)在內(nèi)存的入口(段:偏移)填入鏈表中的每個結(jié)點。2.1用戶工作環(huán)境262.2操作系統(tǒng)的用戶界面1用戶界面的概念操作系統(tǒng)的用戶界面(或稱接口)是操作系統(tǒng)提供給用戶與計算機打交道的外部機制。用戶能夠借助這種機制和系統(tǒng)提供的手段來控制用戶所在的系統(tǒng)。操作系統(tǒng)的用戶界面分兩個方面:操作界面:又稱操作命令,用戶通過這個操作界面來組織自己的工作流程和控制程序的運行。程序界面:又稱系統(tǒng)功能調(diào)用,任何一個用戶程序在其運行過程中,可以使用操作系統(tǒng)提供的功能調(diào)用來請求操作系統(tǒng)的服務(申請主存、使用外設、創(chuàng)建進程或線程)。272.2操作系統(tǒng)的用戶界面操作系統(tǒng)提供的用戶界面操作命令類型及與操作系統(tǒng)類型的關(guān)系:鍵盤命令——分時操作系統(tǒng)、個人計算機操作系統(tǒng)圖形化用戶界面——分時操作系統(tǒng)、個人計算機操作系統(tǒng)作業(yè)控制語言——批處理操作系統(tǒng)操作系統(tǒng)系統(tǒng)功能調(diào)用
操作命令:
作業(yè)控制語言鍵盤命令圖形界面282.2操作系統(tǒng)的用戶界面鍵盤命令系統(tǒng)為聯(lián)機用戶(交互作用的用戶)提供鍵盤命令。什么是鍵盤命令是操作系統(tǒng)為聯(lián)機用戶提供的一種操作命令,用戶通過這一組命令直接控制和干預程序的運行。鍵盤命令的功能分時操作系統(tǒng)—用于注冊、通信、注銷的各類命令。
個人計算機操作系統(tǒng)—用于通信的各類命令。292.2操作系統(tǒng)的用戶界面圖形用戶界面什么是圖形化的用戶界面圖形化用戶界面是良好的用戶交互界面,它將菜單驅(qū)動、圖符驅(qū)動、面向?qū)ο蠹夹g(shù)等集成在一起,形成一個圖文并茂的視窗操作環(huán)境。菜單驅(qū)動方式是面向屏幕的交互方式,它將鍵盤命令以屏幕方式來體現(xiàn)。命令和系統(tǒng)能完成的操作,用菜單分類分窗口在屏幕上列出。用戶像點菜一樣選擇命令或某種操作,以控制系統(tǒng)去完成指定的工作。菜單系統(tǒng)的類型有多種,如下拉式菜單,上推式菜單和隨機彈出式菜單。302.2操作系統(tǒng)的用戶界面圖符驅(qū)動方式是一種面向屏幕的圖形菜單選擇方式。圖符(Icon)也稱圖標,是一個小小的圖符符號。它代表操作系統(tǒng)中的命令、系統(tǒng)服務、操作功能、各種資源。圖形化的命令驅(qū)動方式:當需要啟動系統(tǒng)命令、請求系統(tǒng)資源或操作功能時,可以選擇代表它的圖符,并借助標記輸入設備(鼠標器),采用鼠標器的點擊和拖拽功能,完成命令和操作選擇及執(zhí)行。圖形化用戶界面是良好的用戶交互界面,它將菜單驅(qū)動、圖符驅(qū)動、面向?qū)ο蠹夹g(shù)等集成在一起,形成一個圖文并茂的視窗操作環(huán)境。Windows系統(tǒng)就是這種圖形化用戶界面的代表。312.2操作系統(tǒng)的用戶界面圖形化的用戶界面的特點所有程序以統(tǒng)一的窗口形式出現(xiàn)提供統(tǒng)一的菜單格式系統(tǒng)資源、系統(tǒng)命令、操作功能以圖標表示統(tǒng)一的操作方法322.2操作系統(tǒng)的用戶界面作業(yè)控制語言在脫機方式下系統(tǒng)提供作業(yè)控制語言(JCL)。什么是作業(yè)控制語言是一種命令語言,包括了對作業(yè)處理的命令和資源請求命令。批處理系統(tǒng)中作業(yè)的組織作業(yè)申請:作業(yè)名、需用CPU時間,最遲完成時間、資源請求(主存、外部)等。操作說明書:編譯命令、連接命令、運行命令等。程序與數(shù)據(jù)332.3系統(tǒng)調(diào)用什么是系統(tǒng)調(diào)用系統(tǒng)調(diào)用是用戶在程序一級請求操作系統(tǒng)服務的一種手段,它不是一條簡單的硬指令,而是帶有一定功能號的“訪管指令”。它的功能并非由硬件直接提供,而是由操作系統(tǒng)中的一段程序完成的,即由軟件方法實現(xiàn)的。應用程序
i
系統(tǒng)調(diào)用中央處理機
存儲器應用程序外部設備系統(tǒng)調(diào)用是操作系統(tǒng)提供給編程人員的唯一接口,它通知內(nèi)核為調(diào)用程序做各種操作,并在內(nèi)核與調(diào)用程序之間交換數(shù)據(jù)。對用戶屏蔽了操作系統(tǒng)的具體動作。系統(tǒng)調(diào)用的分類
1.設備管理:這類系統(tǒng)調(diào)用被用來請求和釋放設備,以及啟動設備操作等。
2.文件管理:這類系統(tǒng)調(diào)用包括創(chuàng)建、刪除文件,讀、寫文件操作以及移動文件指針等。
3.進程控制:當多個用戶程序在系統(tǒng)內(nèi)執(zhí)行時引出了一個新的概念,稱為進程。
4.進程通信:進程間傳遞消息或信號的系統(tǒng)調(diào)用。
5.存儲管理:內(nèi)存塊的申請、釋放,獲取作業(yè)占用內(nèi)存塊的首址、大小等。
6.線程管理:包括線程的創(chuàng)建、調(diào)度、執(zhí)行、撤銷等34系統(tǒng)調(diào)用示意圖3536操作系統(tǒng)如何為用戶程序提供服務操作系統(tǒng)提供實現(xiàn)各種功能的例行子程序
┇顯示一個字符串打印一個字符串
應用程序j
┇┇printf();
┇2.3系統(tǒng)調(diào)用37如何調(diào)用操作系統(tǒng)服務功能?采用統(tǒng)一的方式訪管指令訪管中斷訪管指令(自愿進管指令)
svcnsvc表示機器訪管指令的操作碼記憶符n為地址碼(功能號)訪管中斷當處理機執(zhí)行到訪管指令時就發(fā)生中斷,該中斷稱為訪管中斷,它表示正在運行的程序?qū)Σ僮飨到y(tǒng)的某種需求。
2.3系統(tǒng)功能調(diào)用38操作系統(tǒng)基本服務是通過系統(tǒng)調(diào)用來處理的,實現(xiàn)這些服務是通過系統(tǒng)服務請求機構(gòu)提供的。系統(tǒng)服務請求(SSR)機構(gòu)本質(zhì)上是一個自陷門,它的執(zhí)行要發(fā)生訪管中斷。系統(tǒng)功能調(diào)用的格式和功能號的解釋因機器的不同而異,但任何不同的機器都有以下共同的特點:每個系統(tǒng)調(diào)用對應一個功能號,要調(diào)用操作系統(tǒng)的某一特定例程,必須在訪管時給出對應的功能號。按功能號實現(xiàn)調(diào)用的過程大體相同,都是由軟件通過對功能號的解釋分別轉(zhuǎn)入對應的例行子程序。2.3系統(tǒng)功能調(diào)用系統(tǒng)調(diào)用的處理過程系統(tǒng)調(diào)用的處理過程39參數(shù)傳遞過程問題怎樣實現(xiàn)用戶程序和系統(tǒng)程序間的參數(shù)傳遞?常用的實現(xiàn)方法:由陷入指令自帶參數(shù):陷入指令的長度有限的,且還要攜帶系統(tǒng)調(diào)用功能號,只能自帶有限的參數(shù)通過有關(guān)通用寄存器來傳遞參數(shù):這些寄存器應是系統(tǒng)程序和用戶程序都能訪問,由于寄存器長度較短,從而無法傳遞較多的參數(shù)大多在內(nèi)存中開辟專用堆棧區(qū)來傳遞參數(shù)40庫函數(shù)和系統(tǒng)調(diào)用的區(qū)別庫函數(shù)可被修改、替換、增加,系統(tǒng)調(diào)用則不能;系統(tǒng)調(diào)用是在管態(tài)模式下執(zhí)行,在內(nèi)核地址空間中運行;庫函數(shù)是在目態(tài)模式下執(zhí)行,在用戶地址空間運行。從時間片計時來看,系統(tǒng)調(diào)用的運行屬于內(nèi)核時間,而庫函數(shù)調(diào)用運行屬于用戶時間。從執(zhí)行過程來看,系統(tǒng)功能調(diào)用需要切換到進程上下文的內(nèi)核態(tài),是通過中斷機構(gòu)來實現(xiàn)的,結(jié)束后再切換回去,安全性好;庫函數(shù)則只是過程調(diào)用而已。412.4Linux用戶界面2.4.1Linux系統(tǒng)安裝方式Linux模擬機—Bochs機Linux虛擬機---在Windows系統(tǒng)下用虛擬機安裝。常用的虛擬機軟件有vmware和virtualpc。Linux單系統(tǒng)---將整個機器安裝成Linux系統(tǒng)。Linux與Windows雙系統(tǒng)---在磁盤的不同分區(qū)分別安裝Linux系統(tǒng)和Windows系統(tǒng)。先安裝Windows系統(tǒng),事先為Linux系統(tǒng)留出充足的磁盤空間(不含在Windows分區(qū)中)42硬盤的分區(qū)1.一個硬盤主分區(qū)至少有1個,最多4個,擴展分區(qū)可以沒有,最多1個。且主分區(qū)+擴展分區(qū)總共不能超過4個。邏輯分區(qū)可以有若干個。2.分出主分區(qū)后,其余的部分可以分成擴展分區(qū),一般是剩下的空間全部分成擴展分區(qū),也可以不全分,剩余的空間就浪費了。3.擴展分區(qū)不能直接使用,必須分成若干邏輯分區(qū)。所有的邏輯分區(qū)都是擴展分區(qū)的一部分。硬盤的容量=主分區(qū)的容量+擴展分區(qū)的容量;擴展分區(qū)的容量=各個邏輯分區(qū)的容量之和。4.由主分區(qū)和邏輯分區(qū)構(gòu)成的邏輯磁盤稱為驅(qū)動器(Drive)或卷(Volume)。5.激活的主分區(qū)會成為“引導分區(qū)”(或稱為“啟動分區(qū)”),引導分區(qū)會被操作系統(tǒng)和主板認定為第一個邏輯磁盤。43GRUBGRUB是一個多重操作系統(tǒng)啟動管理器。用來引導不同系統(tǒng),如windows,linuxGRUB對LINUX系統(tǒng)的啟動:Title行:定義名字Root行:表示/boot所在的分區(qū)Kernel行:啟動內(nèi)核文件Intrid行:運行初始化模塊44LINUX的系統(tǒng)啟動45Linux引導線路圖ROMBIOS→bootsect.S→setup.S→head.S→main.c與Linux的啟動部分密切相關(guān)的代碼:三個匯編語言程序bootsect.S、setup.S和head.Sinit目錄下的main.c啟動引導時內(nèi)核在內(nèi)存中的位置和移動后的位置情況見Linux內(nèi)核剖析圖2.146電源開啟后,由機器的ROMBIOS先上電自檢,然后負責將啟動盤第一扇區(qū)(bootsector)中的內(nèi)容主引導記錄(MBR)從磁盤裝入地址為0x7C00的內(nèi)存空間,然后跳轉(zhuǎn)至該位置執(zhí)行。由(GRUB或LILO)負責啟動系統(tǒng)。4748Linux啟動裝載程序按照OS標簽來選擇安裝對應的OS內(nèi)核。LINUX系統(tǒng)內(nèi)核首先執(zhí)行init程序,它是所有運行進程的父進程。init啟動的第一批進程按照/etc/rc.d/rc.sysinit腳本來運行。LINUX有7個不同的運行級別0~60:halt,1:單用戶,2:多用戶,3:多用戶并啟動NFS服務4:保留,5:運行xdm(Xwindow)以圖形界面方式登錄6:reboot49不同的運行級別啟動不同的腳本50實模式與保護模式開機后INTELCPU在實模式(realmode)下工作,只能使用低端64KB內(nèi)存空間。在引導扇區(qū)中的內(nèi)核模塊是壓縮的內(nèi)核模塊zImage。其源代碼為arch/i386/boot/bootsect.S是實模式下運行的匯編程序。將自己從0000:7C00移至9000:0000,并跳至該處繼續(xù)執(zhí)行。在Linux中0x9000代碼段為INITSEG。51系統(tǒng)預備知識---as86匯編語言匯編命令的基本格式:as[選項]–o目標文件名源文件名選項用來控制編譯過程,以產(chǎn)生指定格式和設置的目標文件。偽操作符語句:以.開始匯編器編譯生成的目標文件通常包括三個段:正文段(.text)、數(shù)據(jù)段(.data)和未初始化數(shù)據(jù)段(.bss).global偽操作符用于定義隨后的標號是外部的或全局的。entry是保留關(guān)鍵字,用于迫使連接器ld86在生成的可執(zhí)行文件中包括進其后指定的標號start。jmpigoBOOTSEG是段間跳轉(zhuǎn)語句,跳轉(zhuǎn)后CS:IP=0x07c0:0005。52IntelCPU的寄存器結(jié)構(gòu)段寄存器、專用寄存器、系統(tǒng)地址寄存器、控制寄存器、通用寄存器531、段寄存器可見的6個段選擇寄存器:CS,DS,SS,ES,FS,GS高13位是索引值d2指明段描述符所在的描述符表d1d0是特權(quán)標志另外6個64位的段描述符高速緩沖寄存器(編程不可見,在保護模式下起作用)32位基址,20位界限,段說明符信息542、專用寄存器EIP/IP可由跳轉(zhuǎn)指令修改EFLAGS/FLAGS包括運算狀態(tài)標志:CF,PF,AF,SF,OF控制狀態(tài)標志:DF,TF,IF,IOPL553、系統(tǒng)地址寄存器GDTR、LDTR、IDTR、TR4、控制寄存器4個32位寄存器:CR0~CR3565、通用寄存器4個數(shù)據(jù)寄存器:AX/EAX/RAX:累加器BX/EBX/RBX:基址索引,如,數(shù)組CX/ECX/RCX:計數(shù)器DX/EDX/RDX:數(shù)據(jù)或一般用途4個指針及變址寄存器:SI/ESI/RSI:用于字符串操作的源索引
DI/EDI/RDI:用于字符串操作的目標索引SP/ESP/RSP:堆棧地址的棧頂指針BP/EBP/RBP:堆棧地址的棧底指針57地址空間內(nèi)存地址空間(顯示內(nèi)存占用0x0B80~0x0BC0)外設地址空間,需要
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 商鋪租賃解除合同法律意見書
- 項目咨詢服務合同條件
- 電子借款合同格式
- 安全評估招標指南
- 房屋買賣合同中契稅繳納的注意事項
- 供應商品質(zhì)保證書
- 商務樓衛(wèi)生維護契約
- 供貨協(xié)議合同模板
- 春運出行完全手冊解析
- 傳遞正能量的保證宣言
- 網(wǎng)絡與信息安全管理員(高級技師)資格理論考試題及答案
- 廣東省肇慶市2023-2024學年高二上學期期末教學質(zhì)量檢測試題 政治試題 附答案
- 街道社區(qū)城管工作目標考核細則
- 國開電大??啤禗reamweaver網(wǎng)頁設計》2023-2024期末試題及答案(試卷號:2445)
- 體育概論(第二版)課件第三章體育目的
- 2024年《中華人民共和國監(jiān)察法》知識測試題庫及答案
- 科學與文化的足跡學習通超星期末考試答案章節(jié)答案2024年
- 2025屆高考語文復習:散文閱讀 課件
- DB5334∕T 12.1-2024 地理標志證明商標 香格里拉藏香豬 第1部分:品種要求
- 《現(xiàn)代漢語》第三章-文字
- 2024年高考英語考前押題密卷(新高考Ⅰ卷)(含答案與解析)
評論
0/150
提交評論