系統(tǒng)啟動及用戶界面_第1頁
系統(tǒng)啟動及用戶界面_第2頁
系統(tǒng)啟動及用戶界面_第3頁
系統(tǒng)啟動及用戶界面_第4頁
系統(tǒng)啟動及用戶界面_第5頁
已閱讀5頁,還剩63頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

操作系統(tǒng)講義西安財經(jīng)學(xué)院1操作系統(tǒng)概述系統(tǒng)啟動及用戶界面進(jìn)程管理與調(diào)度進(jìn)程同步第一章第二章第三章第四章文件管理第七章Contents課程內(nèi)容安排

西安財經(jīng)學(xué)院設(shè)備管理第六章存儲器管理第五章2第二章系統(tǒng)啟動及用戶界面操作系統(tǒng)的接口1操作系統(tǒng)的引導(dǎo)和啟動2Linux操作系統(tǒng)的安裝3西安財經(jīng)學(xué)院Linux操作系統(tǒng)的啟動

4Linux操作系統(tǒng)的接口53PC機(jī)系統(tǒng)主板構(gòu)架操作系統(tǒng)在哪里?4操作系統(tǒng)的引導(dǎo)和啟動CMOS(ComplementaryMetalOxideSemiconductor),互補(bǔ)金屬氧化物半導(dǎo)體,是組成CMOS數(shù)字集成電路的半導(dǎo)體工藝。在計算機(jī)中是用來保存計算機(jī)基本啟動信息(如日期、時間、啟動設(shè)置等)的芯片。BIOS(BasicInput-OutputSystem)基本輸入輸出系統(tǒng),其內(nèi)容集成在微機(jī)主板上的一個ROM芯片上,主要保存著有關(guān)計算機(jī)系統(tǒng)最重要的基本輸入輸出程序,系統(tǒng)信息設(shè)置、開機(jī)上電自檢程序和系統(tǒng)啟動自舉程序等。MBR(MainBootRecord)主引導(dǎo)記錄存放在磁盤的第一個扇區(qū)里,系統(tǒng)啟動時,它自動裝入內(nèi)存并由它負(fù)責(zé)裝入操作系統(tǒng)的其他部分。5BIOS功能主要包括以下方面:一是BIOS中斷服務(wù)程序,包括操作系統(tǒng)對軟盤、硬盤、光驅(qū)、鍵盤、顯示器等外圍設(shè)備的管理,操作人員可以通過訪問INT5、INT13等中斷點而直接調(diào)用BIOS中斷服務(wù)程序。二是BIOS系統(tǒng)設(shè)置程序,在BIOSROM芯片中裝有“系統(tǒng)設(shè)置程序”,主要用來設(shè)置CMOSRAM中的各項參數(shù)。這個設(shè)置CMOS參數(shù)的過程,習(xí)慣上也稱為“BIOS設(shè)置”。三是POST上電自檢程序,接通電源后,由POST(PowerOnSelfTest,上電自檢)程序來對內(nèi)部各個設(shè)備進(jìn)行檢查。通常完整的POST自檢將包括對CPU、內(nèi)存、ROM、主板、CMOS存貯器、串并口、顯示卡、軟硬盤子系統(tǒng)及鍵盤進(jìn)行測試,一旦在自檢中發(fā)現(xiàn)問題,系統(tǒng)將給出提示信息或鳴笛警告。第四為BIOS系統(tǒng)啟動自舉程序,系統(tǒng)在完成POST自檢后,BIOS就首先按照系統(tǒng)CMOS設(shè)置中保存的啟動順序搜尋軟硬盤驅(qū)動器及CD—ROM、網(wǎng)絡(luò)服務(wù)器等有效啟動驅(qū)動器,讀入操作系統(tǒng)引導(dǎo)記錄,然后將系統(tǒng)控制權(quán)交給引導(dǎo)記錄,并由引導(dǎo)記錄來完成系統(tǒng)的順利啟動。

672.1用戶工作環(huán)境1用戶環(huán)境用戶工作環(huán)境的形成設(shè)計合理的操作命令,它允許用戶處理由操作系統(tǒng)支持的各種目標(biāo)。系統(tǒng)要提供各種硬件、軟件資源,并提供關(guān)于操作系統(tǒng)的實用說明。將操作系統(tǒng)裝入計算機(jī),并對系統(tǒng)參數(shù)和控制結(jié)構(gòu)進(jìn)行初始化,使計算機(jī)系統(tǒng)能夠為用戶服務(wù)。82系統(tǒng)生成和系統(tǒng)啟動系統(tǒng)生成系統(tǒng)生成就是操作系統(tǒng)的生成過程。是指為了滿足物理設(shè)備的約束和需要的系統(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)引導(dǎo)。其任務(wù)是把操作系統(tǒng)的必要部分裝入主存并使系統(tǒng)進(jìn)行初始化工作,最終處于命令接收狀態(tài)。

2.1用戶工作環(huán)境92.1用戶工作環(huán)境系統(tǒng)引導(dǎo)分為三個階段:初始引導(dǎo):把系統(tǒng)核心裝入內(nèi)存中的指定位置,并在指定地址啟動;核心初始化:執(zhí)行系統(tǒng)核心的初啟子程序,初始化系統(tǒng)核心數(shù)據(jù);系統(tǒng)初始化:為用戶使用系統(tǒng)作準(zhǔn)備。如建立文件系統(tǒng)、日歷時鐘等。系統(tǒng)引導(dǎo)的方式獨立引導(dǎo)(bootup)輔助下裝(download)102.1用戶工作環(huán)境獨立引導(dǎo)方式(滾雪球方式)OS核心文件存儲在系統(tǒng)本身的存儲設(shè)備中由系統(tǒng)自己將OS核心程序讀入內(nèi)存并運(yùn)行最后建立一個操作環(huán)境適用于微機(jī)和大多數(shù)系統(tǒng)。輔助下裝方式OS主要文件不放在系統(tǒng)本身的存儲設(shè)備中,而是在系統(tǒng)啟動后,執(zhí)行下裝操作,從另外的計算機(jī)系統(tǒng)中將操作系統(tǒng)常駐部分傳送到該計算機(jī)中,使它形成一個操作環(huán)境。優(yōu)點:可節(jié)省較大存儲空間,下裝的OS并非全部代碼,只是常駐或?qū)S貌糠郑?dāng)這部分OS出現(xiàn)問題和故障時,可再請求下裝。適于多計算機(jī)系統(tǒng)、由主控機(jī)與前端機(jī)構(gòu)成的系統(tǒng)及分布式系統(tǒng)。112.1用戶工作環(huán)境系統(tǒng)引導(dǎo)過程(1)初始引導(dǎo)(也叫自舉)初始引導(dǎo)的任務(wù)就是把核心送入主存并啟動它運(yùn)行。系統(tǒng)核心是存放在輔存上的。需要通過引導(dǎo)程序來進(jìn)行裝入。系統(tǒng)加電,硬件電子線路便會自動地把ROM中這段初始引導(dǎo)程序(輔存固定位置)讀入內(nèi)存,并將CPU控制權(quán)交給它;執(zhí)行初始引導(dǎo)程序,對系統(tǒng)硬件和配置進(jìn)行自檢,保證系統(tǒng)沒有硬件錯誤;從硬盤中讀入操作系統(tǒng)引導(dǎo)程序,并將控制權(quán)交給該程序模塊。引導(dǎo)程序執(zhí)行,將操作系統(tǒng)核心文件讀入內(nèi)存,并將控制交給核心的初始化程序。122.1用戶工作環(huán)境(2)核心初始化初始化系統(tǒng)數(shù)據(jù)結(jié)構(gòu)及參數(shù):建立進(jìn)程有關(guān)的數(shù)據(jù)結(jié)構(gòu)

獲得自由存儲空間的容量,建立存儲管理的數(shù)據(jù)結(jié)構(gòu)

建立系統(tǒng)設(shè)備和文件系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)

初始化時鐘

核心頁表寄存器與核心數(shù)據(jù)初始化建立0號進(jìn)程。建立1號進(jìn)程。實現(xiàn)系統(tǒng)的初始化。(3)系統(tǒng)初始化完善OS的操作環(huán)境,裝載命令處理程序(或圖形用戶界面),并初始化;在多用戶系統(tǒng)中,為每個終端建立命令解釋進(jìn)程,使系統(tǒng)處于命令接收狀態(tài)。由1號進(jìn)程執(zhí)行初始化程序,為控制臺終端建造一個進(jìn)程,執(zhí)行命令解釋程序,等待接受用戶的命令。1314WINDOWS系統(tǒng)的引導(dǎo)打開機(jī)器電源ROM中引導(dǎo)程序運(yùn)行,裝入系統(tǒng)盤中的主引導(dǎo)程序。主引導(dǎo)塊程序執(zhí)行,讀入操作系統(tǒng)核心程序。系統(tǒng)初始化的工作:包括系統(tǒng)資源初始狀態(tài)的設(shè)置、系統(tǒng)主要數(shù)據(jù)結(jié)構(gòu)初始化、引導(dǎo)圖形用戶界面程序。圖形用戶界面運(yùn)行,生成用戶的圖形用戶界面,系統(tǒng)初啟工作完成。15UNIX系統(tǒng)初啟UNIX操作系統(tǒng)執(zhí)行代碼裝入內(nèi)存存儲空間及其管理機(jī)構(gòu)初始化與設(shè)備有關(guān)的初始化與文件系統(tǒng)有關(guān)的初始化創(chuàng)建0#和1#進(jìn)程1#進(jìn)程創(chuàng)建各終端進(jìn)程終端進(jìn)程運(yùn)行shell各用戶終端上出現(xiàn)login16Linux系統(tǒng)引導(dǎo)啟動時要加載核心,讓核心來驅(qū)動整個硬件。

整個啟動過程:

1.

加載BIOS的硬件信息,并獲得第一個啟動設(shè)備的代號(CMOS中設(shè)定的啟動項)。

2.

讀取第一個啟動設(shè)備的MBR的引導(dǎo)加載程序(lilo、grub、spfdisk)

3.

加載核心操作系統(tǒng)的核心信息,核心開始解壓縮,并且嘗試驅(qū)動所有硬件設(shè)備。

4.

核心執(zhí)行init程序并獲取運(yùn)行信息。

5.

Init執(zhí)行/etc/rc.d/rc.sysinit文件

6.

啟動核心的外掛模塊(/etc/modprobe.conf)

7.

Init

執(zhí)行各個批處理文件(根據(jù)運(yùn)行級別)。

8.

Init

執(zhí)行/etc/rc.d/rc.local文件

9.

執(zhí)行/bin/login程序,等待用戶登錄。

10.登錄之后開始以shell控制主機(jī)。172.1.3運(yùn)行一個用戶程序的過程作業(yè)計算機(jī)系統(tǒng)按指定步驟對初始數(shù)據(jù)進(jìn)行處理并得到計算結(jié)果的加工工作。

作業(yè)有其對應(yīng)的程序和數(shù)據(jù)。將作業(yè)裝入主存,指的就是將該作業(yè)的程序和數(shù)據(jù)裝入主存。

作業(yè)步加工工作中的一個步驟稱為作業(yè)步。2.1用戶工作環(huán)境作業(yè):是指在一次應(yīng)用業(yè)務(wù)處理過程中,從輸入開始到輸出結(jié)束,用戶要求計算機(jī)所做的有關(guān)該次業(yè)務(wù)處理的全部過程稱為一個作業(yè)。批處理系統(tǒng)中作業(yè)是搶占內(nèi)存的基本單位。作業(yè)比程序的概念更廣:它由程序、數(shù)據(jù)、作業(yè)說明書組成。作業(yè)流(JobStream):一批作業(yè)在系統(tǒng)控制下,依次輸入到后援存儲器中等待運(yùn)行,就形成了一個作業(yè)流。18作業(yè)步:通常一個作業(yè)又可分為若干個順序處理的步驟。作業(yè)步就是在一個作業(yè)處理的過程中計算機(jī)所做的相對獨立的工作.作業(yè)步之間有一定的關(guān)聯(lián)的,其關(guān)聯(lián)關(guān)系:一個作業(yè)中的各作業(yè)步必須是順序執(zhí)行的;前一個作業(yè)步的輸出是下一個作業(yè)步的輸入;一個作業(yè)步能否正確執(zhí)行,依賴于前一個作業(yè)步是否成功地完成。1920作業(yè)處理步驟編輯:建立一個新文件,或?qū)σ延械奈募械腻e誤進(jìn)行修改。編譯:將源程序翻譯成目標(biāo)代碼。連接:主程序和其他所需要的子程序和例行程序連接裝配在一起,使之成為一個可執(zhí)行的、完整的主存映像文件。運(yùn)行:將主存映像文件調(diào)入主存,并啟動運(yùn)行,最后得出計算結(jié)果。作業(yè)步是相互關(guān)聯(lián)、順序地執(zhí)行2.1用戶工作環(huán)境概念功能設(shè)計結(jié)構(gòu)設(shè)計建檔詳細(xì)設(shè)計編輯輸入輸出執(zhí)行鏈接編譯調(diào)試需求分析分析一般編程過程編輯輸入人工完成計算機(jī)完成作業(yè)的定義21典型的作業(yè)步:編譯連接裝配運(yùn)行目標(biāo)程序段目標(biāo)程序源程序輸入數(shù)據(jù)子程序庫函數(shù)動態(tài)庫函數(shù)計算結(jié)果該作業(yè)的作業(yè)步1該作業(yè)的作業(yè)步2該作業(yè)的作業(yè)步32223作業(yè)步之間的關(guān)系

user.cuser.objuser.exe

編輯—

編譯—

連接—

運(yùn)行

第一個第二個第三個第四個作業(yè)步作業(yè)步作業(yè)步作業(yè)步每個作業(yè)步運(yùn)行的結(jié)果產(chǎn)生下一個作業(yè)步所需要的文件;一個作業(yè)步能否正確地執(zhí)行,依賴于前一個作業(yè)步是否成功地完成。2.1用戶工作環(huán)境242.1用戶工作環(huán)境編譯過程中,要為連接裝配工作準(zhǔn)備,形成內(nèi)部符號表和外部調(diào)用表。內(nèi)部符號表:本模塊可以被其他程序調(diào)用的入口點;外部符號表:本模塊要調(diào)用的外部的程序模塊名。連接的主要工作是確定本模塊和其他所需要的目標(biāo)模塊之間的調(diào)用關(guān)系,并進(jìn)行地址連接,形成主存映像文件。當(dāng)該程序要進(jìn)入主存運(yùn)行時,由裝載程序負(fù)責(zé)加載。25靜態(tài)連接和動態(tài)鏈接

靜態(tài)連接:將所需的外部調(diào)用函數(shù)鏈接到目標(biāo)文件中形成為一個完整的主存映像文件。靜態(tài)連接的缺點若多個應(yīng)用程序都調(diào)用了同一個庫函數(shù),那么,這些應(yīng)用程序的目標(biāo)文件中都包含了這個外部函數(shù)對應(yīng)的代碼,造成主存極大的浪費(fèi)。動態(tài)連接:不需要將外部函數(shù)代碼從庫中提取出來并連接到目標(biāo)文件中,而是在應(yīng)用程序中需要調(diào)用外部函數(shù)的地方作記錄,并說明要使用的外部函數(shù)名和引用入口號,形成函數(shù)調(diào)用鏈表。所需支持——DLL(動態(tài)連接庫)當(dāng)Windows的裝載程序?qū)?yīng)用程序和DLL裝入內(nèi)存后,裝載程序會遍歷形成函數(shù)調(diào)用鏈表,將DLL中函數(shù)在內(nèi)存的入口(段:偏移)填入鏈表中的每個結(jié)點。2.1用戶工作環(huán)境262.2操作系統(tǒng)的用戶界面1用戶界面的概念操作系統(tǒng)的用戶界面(或稱接口)是操作系統(tǒng)提供給用戶與計算機(jī)打交道的外部機(jī)制。用戶能夠借助這種機(jī)制和系統(tǒng)提供的手段來控制用戶所在的系統(tǒng)。操作系統(tǒng)的用戶界面分兩個方面:操作界面:又稱操作命令,用戶通過這個操作界面來組織自己的工作流程和控制程序的運(yùn)行。程序界面:又稱系統(tǒng)功能調(diào)用,任何一個用戶程序在其運(yùn)行過程中,可以使用操作系統(tǒng)提供的功能調(diào)用來請求操作系統(tǒng)的服務(wù)(申請主存、使用外設(shè)、創(chuàng)建進(jìn)程或線程)。272.2操作系統(tǒng)的用戶界面操作系統(tǒng)提供的用戶界面操作命令類型及與操作系統(tǒng)類型的關(guān)系:鍵盤命令——分時操作系統(tǒng)、個人計算機(jī)操作系統(tǒng)圖形化用戶界面——分時操作系統(tǒng)、個人計算機(jī)操作系統(tǒng)作業(yè)控制語言——批處理操作系統(tǒng)操作系統(tǒng)系統(tǒng)功能調(diào)用

操作命令:

作業(yè)控制語言鍵盤命令圖形界面282.2操作系統(tǒng)的用戶界面鍵盤命令系統(tǒng)為聯(lián)機(jī)用戶(交互作用的用戶)提供鍵盤命令。什么是鍵盤命令是操作系統(tǒng)為聯(lián)機(jī)用戶提供的一種操作命令,用戶通過這一組命令直接控制和干預(yù)程序的運(yùn)行。鍵盤命令的功能分時操作系統(tǒng)—用于注冊、通信、注銷的各類命令。

個人計算機(jī)操作系統(tǒng)—用于通信的各類命令。292.2操作系統(tǒng)的用戶界面圖形用戶界面什么是圖形化的用戶界面圖形化用戶界面是良好的用戶交互界面,它將菜單驅(qū)動、圖符驅(qū)動、面向?qū)ο蠹夹g(shù)等集成在一起,形成一個圖文并茂的視窗操作環(huán)境。菜單驅(qū)動方式是面向屏幕的交互方式,它將鍵盤命令以屏幕方式來體現(xiàn)。命令和系統(tǒng)能完成的操作,用菜單分類分窗口在屏幕上列出。用戶像點菜一樣選擇命令或某種操作,以控制系統(tǒng)去完成指定的工作。菜單系統(tǒng)的類型有多種,如下拉式菜單,上推式菜單和隨機(jī)彈出式菜單。302.2操作系統(tǒng)的用戶界面圖符驅(qū)動方式是一種面向屏幕的圖形菜單選擇方式。圖符(Icon)也稱圖標(biāo),是一個小小的圖符符號。它代表操作系統(tǒng)中的命令、系統(tǒng)服務(wù)、操作功能、各種資源。圖形化的命令驅(qū)動方式:當(dāng)需要啟動系統(tǒng)命令、請求系統(tǒng)資源或操作功能時,可以選擇代表它的圖符,并借助標(biāo)記輸入設(shè)備(鼠標(biāo)器),采用鼠標(biāo)器的點擊和拖拽功能,完成命令和操作選擇及執(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)命令、操作功能以圖標(biāo)表示統(tǒng)一的操作方法322.2操作系統(tǒng)的用戶界面作業(yè)控制語言在脫機(jī)方式下系統(tǒng)提供作業(yè)控制語言(JCL)。什么是作業(yè)控制語言是一種命令語言,包括了對作業(yè)處理的命令和資源請求命令。批處理系統(tǒng)中作業(yè)的組織作業(yè)申請:作業(yè)名、需用CPU時間,最遲完成時間、資源請求(主存、外部)等。操作說明書:編譯命令、連接命令、運(yùn)行命令等。程序與數(shù)據(jù)332.3系統(tǒng)調(diào)用什么是系統(tǒng)調(diào)用系統(tǒng)調(diào)用是用戶在程序一級請求操作系統(tǒng)服務(wù)的一種手段,它不是一條簡單的硬指令,而是帶有一定功能號的“訪管指令”。它的功能并非由硬件直接提供,而是由操作系統(tǒng)中的一段程序完成的,即由軟件方法實現(xiàn)的。應(yīng)用程序

i

系統(tǒng)調(diào)用中央處理機(jī)

存儲器應(yīng)用程序外部設(shè)備系統(tǒng)調(diào)用是操作系統(tǒng)提供給編程人員的唯一接口,它通知內(nèi)核為調(diào)用程序做各種操作,并在內(nèi)核與調(diào)用程序之間交換數(shù)據(jù)。對用戶屏蔽了操作系統(tǒng)的具體動作。系統(tǒng)調(diào)用的分類

1.設(shè)備管理:這類系統(tǒng)調(diào)用被用來請求和釋放設(shè)備,以及啟動設(shè)備操作等。

2.文件管理:這類系統(tǒng)調(diào)用包括創(chuàng)建、刪除文件,讀、寫文件操作以及移動文件指針等。

3.進(jìn)程控制:當(dāng)多個用戶程序在系統(tǒng)內(nèi)執(zhí)行時引出了一個新的概念,稱為進(jìn)程。

4.進(jìn)程通信:進(jìn)程間傳遞消息或信號的系統(tǒng)調(diào)用。

5.存儲管理:內(nèi)存塊的申請、釋放,獲取作業(yè)占用內(nèi)存塊的首址、大小等。

6.線程管理:包括線程的創(chuàng)建、調(diào)度、執(zhí)行、撤銷等34系統(tǒng)調(diào)用示意圖3536操作系統(tǒng)如何為用戶程序提供服務(wù)操作系統(tǒng)提供實現(xiàn)各種功能的例行子程序

┇顯示一個字符串打印一個字符串

應(yīng)用程序j

┇┇printf();

┇2.3系統(tǒng)調(diào)用37如何調(diào)用操作系統(tǒng)服務(wù)功能?采用統(tǒng)一的方式訪管指令訪管中斷訪管指令(自愿進(jìn)管指令)

svcnsvc表示機(jī)器訪管指令的操作碼記憶符n為地址碼(功能號)訪管中斷當(dāng)處理機(jī)執(zhí)行到訪管指令時就發(fā)生中斷,該中斷稱為訪管中斷,它表示正在運(yùn)行的程序?qū)Σ僮飨到y(tǒng)的某種需求。

2.3系統(tǒng)功能調(diào)用38操作系統(tǒng)基本服務(wù)是通過系統(tǒng)調(diào)用來處理的,實現(xiàn)這些服務(wù)是通過系統(tǒng)服務(wù)請求機(jī)構(gòu)提供的。系統(tǒng)服務(wù)請求(SSR)機(jī)構(gòu)本質(zhì)上是一個自陷門,它的執(zhí)行要發(fā)生訪管中斷。系統(tǒng)功能調(diào)用的格式和功能號的解釋因機(jī)器的不同而異,但任何不同的機(jī)器都有以下共同的特點:每個系統(tǒng)調(diào)用對應(yīng)一個功能號,要調(diào)用操作系統(tǒng)的某一特定例程,必須在訪管時給出對應(yīng)的功能號。按功能號實現(xiàn)調(diào)用的過程大體相同,都是由軟件通過對功能號的解釋分別轉(zhuǎn)入對應(yīng)的例行子程序。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ù):這些寄存器應(yīng)是系統(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)核地址空間中運(yùn)行;庫函數(shù)是在目態(tài)模式下執(zhí)行,在用戶地址空間運(yùn)行。從時間片計時來看,系統(tǒng)調(diào)用的運(yùn)行屬于內(nèi)核時間,而庫函數(shù)調(diào)用運(yùn)行屬于用戶時間。從執(zhí)行過程來看,系統(tǒng)功能調(diào)用需要切換到進(jìn)程上下文的內(nèi)核態(tài),是通過中斷機(jī)構(gòu)來實現(xiàn)的,結(jié)束后再切換回去,安全性好;庫函數(shù)則只是過程調(diào)用而已。412.4Linux用戶界面2.4.1Linux系統(tǒng)安裝方式Linux模擬機(jī)—Bochs機(jī)Linux虛擬機(jī)---在Windows系統(tǒng)下用虛擬機(jī)安裝。常用的虛擬機(jī)軟件有vmware和virtualpc。Linux單系統(tǒng)---將整個機(jī)器安裝成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個,擴(kuò)展分區(qū)可以沒有,最多1個。且主分區(qū)+擴(kuò)展分區(qū)總共不能超過4個。邏輯分區(qū)可以有若干個。2.分出主分區(qū)后,其余的部分可以分成擴(kuò)展分區(qū),一般是剩下的空間全部分成擴(kuò)展分區(qū),也可以不全分,剩余的空間就浪費(fèi)了。3.擴(kuò)展分區(qū)不能直接使用,必須分成若干邏輯分區(qū)。所有的邏輯分區(qū)都是擴(kuò)展分區(qū)的一部分。硬盤的容量=主分區(qū)的容量+擴(kuò)展分區(qū)的容量;擴(kuò)展分區(qū)的容量=各個邏輯分區(qū)的容量之和。4.由主分區(qū)和邏輯分區(qū)構(gòu)成的邏輯磁盤稱為驅(qū)動器(Drive)或卷(Volume)。5.激活的主分區(qū)會成為“引導(dǎo)分區(qū)”(或稱為“啟動分區(qū)”),引導(dǎo)分區(qū)會被操作系統(tǒng)和主板認(rèn)定為第一個邏輯磁盤。43GRUBGRUB是一個多重操作系統(tǒng)啟動管理器。用來引導(dǎo)不同系統(tǒng),如windows,linuxGRUB對LINUX系統(tǒng)的啟動:Title行:定義名字Root行:表示/boot所在的分區(qū)Kernel行:啟動內(nèi)核文件Intrid行:運(yùn)行初始化模塊44LINUX的系統(tǒng)啟動45Linux引導(dǎo)線路圖ROMBIOS→bootsect.S→setup.S→head.S→main.c與Linux的啟動部分密切相關(guān)的代碼:三個匯編語言程序bootsect.S、setup.S和head.Sinit目錄下的main.c啟動引導(dǎo)時內(nèi)核在內(nèi)存中的位置和移動后的位置情況見Linux內(nèi)核剖析圖2.146電源開啟后,由機(jī)器的ROMBIOS先上電自檢,然后負(fù)責(zé)將啟動盤第一扇區(qū)(bootsector)中的內(nèi)容主引導(dǎo)記錄(MBR)從磁盤裝入地址為0x7C00的內(nèi)存空間,然后跳轉(zhuǎn)至該位置執(zhí)行。由(GRUB或LILO)負(fù)責(zé)啟動系統(tǒng)。4748Linux啟動裝載程序按照OS標(biāo)簽來選擇安裝對應(yīng)的OS內(nèi)核。LINUX系統(tǒng)內(nèi)核首先執(zhí)行init程序,它是所有運(yùn)行進(jìn)程的父進(jìn)程。init啟動的第一批進(jìn)程按照/etc/rc.d/rc.sysinit腳本來運(yùn)行。LINUX有7個不同的運(yùn)行級別0~60:halt,1:單用戶,2:多用戶,3:多用戶并啟動NFS服務(wù)4:保留,5:運(yùn)行xdm(Xwindow)以圖形界面方式登錄6:reboot49不同的運(yùn)行級別啟動不同的腳本50實模式與保護(hù)模式開機(jī)后INTELCPU在實模式(realmode)下工作,只能使用低端64KB內(nèi)存空間。在引導(dǎo)扇區(qū)中的內(nèi)核模塊是壓縮的內(nèi)核模塊zImage。其源代碼為arch/i386/boot/bootsect.S是實模式下運(yùn)行的匯編程序。將自己從0000:7C00移至9000:0000,并跳至該處繼續(xù)執(zhí)行。在Linux中0x9000代碼段為INITSEG。51系統(tǒng)預(yù)備知識---as86匯編語言匯編命令的基本格式:as[選項]–o目標(biāo)文件名源文件名選項用來控制編譯過程,以產(chǎn)生指定格式和設(shè)置的目標(biāo)文件。偽操作符語句:以.開始匯編器編譯生成的目標(biāo)文件通常包括三個段:正文段(.text)、數(shù)據(jù)段(.data)和未初始化數(shù)據(jù)段(.bss).global偽操作符用于定義隨后的標(biāo)號是外部的或全局的。entry是保留關(guān)鍵字,用于迫使連接器ld86在生成的可執(zhí)行文件中包括進(jìn)其后指定的標(biāo)號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)標(biāo)志另外6個64位的段描述符高速緩沖寄存器(編程不可見,在保護(hù)模式下起作用)32位基址,20位界限,段說明符信息542、專用寄存器EIP/IP可由跳轉(zhuǎn)指令修改EFLAGS/FLAGS包括運(yùn)算狀態(tài)標(biāo)志:CF,PF,AF,SF,OF控制狀態(tài)標(biāo)志: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:用于字符串操作的目標(biāo)索引SP/ESP/RSP:堆棧地址的棧頂指針BP/EBP/RBP:堆棧地址的棧底指針57地址空間內(nèi)存地址空間(顯示內(nèi)存占用0x0B80~0x0BC0)外設(shè)地址空間,需要

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論