版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
操作系統(tǒng)講義西安財(cái)經(jīng)學(xué)院1操作系統(tǒng)概述系統(tǒng)啟動(dòng)及用戶界面進(jìn)程管理與調(diào)度進(jìn)程同步第一章第二章第三章第四章文件管理第七章Contents課程內(nèi)容安排
西安財(cái)經(jīng)學(xué)院設(shè)備管理第六章存儲(chǔ)器管理第五章2第二章系統(tǒng)啟動(dòng)及用戶界面操作系統(tǒng)的接口1操作系統(tǒng)的引導(dǎo)和啟動(dòng)2Linux操作系統(tǒng)的安裝3西安財(cái)經(jīng)學(xué)院Linux操作系統(tǒng)的啟動(dòng)
4Linux操作系統(tǒng)的接口53PC機(jī)系統(tǒng)主板構(gòu)架操作系統(tǒng)在哪里?4操作系統(tǒng)的引導(dǎo)和啟動(dòng)CMOS(ComplementaryMetalOxideSemiconductor),互補(bǔ)金屬氧化物半導(dǎo)體,是組成CMOS數(shù)字集成電路的半導(dǎo)體工藝。在計(jì)算機(jī)中是用來保存計(jì)算機(jī)基本啟動(dòng)信息(如日期、時(shí)間、啟動(dòng)設(shè)置等)的芯片。BIOS(BasicInput-OutputSystem)基本輸入輸出系統(tǒng),其內(nèi)容集成在微機(jī)主板上的一個(gè)ROM芯片上,主要保存著有關(guān)計(jì)算機(jī)系統(tǒng)最重要的基本輸入輸出程序,系統(tǒng)信息設(shè)置、開機(jī)上電自檢程序和系統(tǒng)啟動(dòng)自舉程序等。MBR(MainBootRecord)主引導(dǎo)記錄存放在磁盤的第一個(gè)扇區(qū)里,系統(tǒng)啟動(dòng)時(shí),它自動(dòng)裝入內(nèi)存并由它負(fù)責(zé)裝入操作系統(tǒng)的其他部分。5BIOS功能主要包括以下方面:一是BIOS中斷服務(wù)程序,包括操作系統(tǒng)對(duì)軟盤、硬盤、光驅(qū)、鍵盤、顯示器等外圍設(shè)備的管理,操作人員可以通過訪問INT5、INT13等中斷點(diǎn)而直接調(diào)用BIOS中斷服務(wù)程序。二是BIOS系統(tǒng)設(shè)置程序,在BIOSROM芯片中裝有“系統(tǒng)設(shè)置程序”,主要用來設(shè)置CMOSRAM中的各項(xiàng)參數(shù)。這個(gè)設(shè)置CMOS參數(shù)的過程,習(xí)慣上也稱為“BIOS設(shè)置”。三是POST上電自檢程序,接通電源后,由POST(PowerOnSelfTest,上電自檢)程序來對(duì)內(nèi)部各個(gè)設(shè)備進(jìn)行檢查。通常完整的POST自檢將包括對(duì)CPU、內(nèi)存、ROM、主板、CMOS存貯器、串并口、顯示卡、軟硬盤子系統(tǒng)及鍵盤進(jìn)行測(cè)試,一旦在自檢中發(fā)現(xiàn)問題,系統(tǒng)將給出提示信息或鳴笛警告。第四為BIOS系統(tǒng)啟動(dòng)自舉程序,系統(tǒng)在完成POST自檢后,BIOS就首先按照系統(tǒng)CMOS設(shè)置中保存的啟動(dòng)順序搜尋軟硬盤驅(qū)動(dòng)器及CD—ROM、網(wǎng)絡(luò)服務(wù)器等有效啟動(dòng)驅(qū)動(dòng)器,讀入操作系統(tǒng)引導(dǎo)記錄,然后將系統(tǒng)控制權(quán)交給引導(dǎo)記錄,并由引導(dǎo)記錄來完成系統(tǒng)的順利啟動(dòng)。
672.1用戶工作環(huán)境1用戶環(huán)境用戶工作環(huán)境的形成設(shè)計(jì)合理的操作命令,它允許用戶處理由操作系統(tǒng)支持的各種目標(biāo)。系統(tǒng)要提供各種硬件、軟件資源,并提供關(guān)于操作系統(tǒng)的實(shí)用說明。將操作系統(tǒng)裝入計(jì)算機(jī),并對(duì)系統(tǒng)參數(shù)和控制結(jié)構(gòu)進(jìn)行初始化,使計(jì)算機(jī)系統(tǒng)能夠?yàn)橛脩舴?wù)。82系統(tǒng)生成和系統(tǒng)啟動(dòng)系統(tǒng)生成系統(tǒng)生成就是操作系統(tǒng)的生成過程。是指為了滿足物理設(shè)備的約束和需要的系統(tǒng)功能,通過組裝一批模塊來產(chǎn)生一個(gè)清晰的、使用方便的操作系統(tǒng)的過程。系統(tǒng)生成包括:根據(jù)硬件部件確定系統(tǒng)構(gòu)造的參數(shù),編輯系統(tǒng)模塊的參數(shù),并且連接系統(tǒng)模塊成為一個(gè)可執(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)分為三個(gè)階段:初始引導(dǎo):把系統(tǒng)核心裝入內(nèi)存中的指定位置,并在指定地址啟動(dòng);核心初始化:執(zhí)行系統(tǒng)核心的初啟子程序,初始化系統(tǒng)核心數(shù)據(jù);系統(tǒng)初始化:為用戶使用系統(tǒng)作準(zhǔn)備。如建立文件系統(tǒng)、日歷時(shí)鐘等。系統(tǒng)引導(dǎo)的方式獨(dú)立引導(dǎo)(bootup)輔助下裝(download)102.1用戶工作環(huán)境獨(dú)立引導(dǎo)方式(滾雪球方式)OS核心文件存儲(chǔ)在系統(tǒng)本身的存儲(chǔ)設(shè)備中由系統(tǒng)自己將OS核心程序讀入內(nèi)存并運(yùn)行最后建立一個(gè)操作環(huán)境適用于微機(jī)和大多數(shù)系統(tǒng)。輔助下裝方式OS主要文件不放在系統(tǒng)本身的存儲(chǔ)設(shè)備中,而是在系統(tǒng)啟動(dòng)后,執(zhí)行下裝操作,從另外的計(jì)算機(jī)系統(tǒng)中將操作系統(tǒng)常駐部分傳送到該計(jì)算機(jī)中,使它形成一個(gè)操作環(huán)境。優(yōu)點(diǎn):可節(jié)省較大存儲(chǔ)空間,下裝的OS并非全部代碼,只是常駐或?qū)S貌糠郑?dāng)這部分OS出現(xiàn)問題和故障時(shí),可再請(qǐng)求下裝。適于多計(jì)算機(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ù)就是把核心送入主存并啟動(dòng)它運(yùn)行。系統(tǒng)核心是存放在輔存上的。需要通過引導(dǎo)程序來進(jìn)行裝入。系統(tǒng)加電,硬件電子線路便會(huì)自動(dòng)地把ROM中這段初始引導(dǎo)程序(輔存固定位置)讀入內(nèi)存,并將CPU控制權(quán)交給它;執(zhí)行初始引導(dǎo)程序,對(duì)系統(tǒng)硬件和配置進(jìn)行自檢,保證系統(tǒng)沒有硬件錯(cuò)誤;從硬盤中讀入操作系統(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)
獲得自由存儲(chǔ)空間的容量,建立存儲(chǔ)管理的數(shù)據(jù)結(jié)構(gòu)
建立系統(tǒng)設(shè)備和文件系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)
初始化時(shí)鐘
核心頁表寄存器與核心數(shù)據(jù)初始化建立0號(hào)進(jìn)程。建立1號(hào)進(jìn)程。實(shí)現(xiàn)系統(tǒng)的初始化。(3)系統(tǒng)初始化完善OS的操作環(huán)境,裝載命令處理程序(或圖形用戶界面),并初始化;在多用戶系統(tǒng)中,為每個(gè)終端建立命令解釋進(jìn)程,使系統(tǒng)處于命令接收狀態(tài)。由1號(hào)進(jìn)程執(zhí)行初始化程序,為控制臺(tái)終端建造一個(gè)進(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)存存儲(chǔ)空間及其管理機(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)啟動(dòng)時(shí)要加載核心,讓核心來驅(qū)動(dòng)整個(gè)硬件。
整個(gè)啟動(dòng)過程:
1.
加載BIOS的硬件信息,并獲得第一個(gè)啟動(dòng)設(shè)備的代號(hào)(CMOS中設(shè)定的啟動(dòng)項(xiàng))。
2.
讀取第一個(gè)啟動(dòng)設(shè)備的MBR的引導(dǎo)加載程序(lilo、grub、spfdisk)
3.
加載核心操作系統(tǒng)的核心信息,核心開始解壓縮,并且嘗試驅(qū)動(dòng)所有硬件設(shè)備。
4.
核心執(zhí)行init程序并獲取運(yùn)行信息。
5.
Init執(zhí)行/etc/rc.d/rc.sysinit文件
6.
啟動(dòng)核心的外掛模塊(/etc/modprobe.conf)
7.
Init
執(zhí)行各個(gè)批處理文件(根據(jù)運(yùn)行級(jí)別)。
8.
Init
執(zhí)行/etc/rc.d/rc.local文件
9.
執(zhí)行/bin/login程序,等待用戶登錄。
10.登錄之后開始以shell控制主機(jī)。172.1.3運(yùn)行一個(gè)用戶程序的過程作業(yè)計(jì)算機(jī)系統(tǒng)按指定步驟對(duì)初始數(shù)據(jù)進(jìn)行處理并得到計(jì)算結(jié)果的加工工作。
作業(yè)有其對(duì)應(yīng)的程序和數(shù)據(jù)。將作業(yè)裝入主存,指的就是將該作業(yè)的程序和數(shù)據(jù)裝入主存。
作業(yè)步加工工作中的一個(gè)步驟稱為作業(yè)步。2.1用戶工作環(huán)境作業(yè):是指在一次應(yīng)用業(yè)務(wù)處理過程中,從輸入開始到輸出結(jié)束,用戶要求計(jì)算機(jī)所做的有關(guān)該次業(yè)務(wù)處理的全部過程稱為一個(gè)作業(yè)。批處理系統(tǒng)中作業(yè)是搶占內(nèi)存的基本單位。作業(yè)比程序的概念更廣:它由程序、數(shù)據(jù)、作業(yè)說明書組成。作業(yè)流(JobStream):一批作業(yè)在系統(tǒng)控制下,依次輸入到后援存儲(chǔ)器中等待運(yùn)行,就形成了一個(gè)作業(yè)流。18作業(yè)步:通常一個(gè)作業(yè)又可分為若干個(gè)順序處理的步驟。作業(yè)步就是在一個(gè)作業(yè)處理的過程中計(jì)算機(jī)所做的相對(duì)獨(dú)立的工作.作業(yè)步之間有一定的關(guān)聯(lián)的,其關(guān)聯(lián)關(guān)系:一個(gè)作業(yè)中的各作業(yè)步必須是順序執(zhí)行的;前一個(gè)作業(yè)步的輸出是下一個(gè)作業(yè)步的輸入;一個(gè)作業(yè)步能否正確執(zhí)行,依賴于前一個(gè)作業(yè)步是否成功地完成。1920作業(yè)處理步驟編輯:建立一個(gè)新文件,或?qū)σ延械奈募械腻e(cuò)誤進(jìn)行修改。編譯:將源程序翻譯成目標(biāo)代碼。連接:主程序和其他所需要的子程序和例行程序連接裝配在一起,使之成為一個(gè)可執(zhí)行的、完整的主存映像文件。運(yùn)行:將主存映像文件調(diào)入主存,并啟動(dòng)運(yùn)行,最后得出計(jì)算結(jié)果。作業(yè)步是相互關(guān)聯(lián)、順序地執(zhí)行2.1用戶工作環(huán)境概念功能設(shè)計(jì)結(jié)構(gòu)設(shè)計(jì)建檔詳細(xì)設(shè)計(jì)編輯輸入輸出執(zhí)行鏈接編譯調(diào)試需求分析分析一般編程過程編輯輸入人工完成計(jì)算機(jī)完成作業(yè)的定義21典型的作業(yè)步:編譯連接裝配運(yùn)行目標(biāo)程序段目標(biāo)程序源程序輸入數(shù)據(jù)子程序庫函數(shù)動(dòng)態(tài)庫函數(shù)計(jì)算結(jié)果該作業(yè)的作業(yè)步1該作業(yè)的作業(yè)步2該作業(yè)的作業(yè)步32223作業(yè)步之間的關(guān)系
user.cuser.objuser.exe
編輯—
編譯—
連接—
運(yùn)行
第一個(gè)第二個(gè)第三個(gè)第四個(gè)作業(yè)步作業(yè)步作業(yè)步作業(yè)步每個(gè)作業(yè)步運(yùn)行的結(jié)果產(chǎn)生下一個(gè)作業(yè)步所需要的文件;一個(gè)作業(yè)步能否正確地執(zhí)行,依賴于前一個(gè)作業(yè)步是否成功地完成。2.1用戶工作環(huán)境242.1用戶工作環(huán)境編譯過程中,要為連接裝配工作準(zhǔn)備,形成內(nèi)部符號(hào)表和外部調(diào)用表。內(nèi)部符號(hào)表:本模塊可以被其他程序調(diào)用的入口點(diǎn);外部符號(hào)表:本模塊要調(diào)用的外部的程序模塊名。連接的主要工作是確定本模塊和其他所需要的目標(biāo)模塊之間的調(diào)用關(guān)系,并進(jìn)行地址連接,形成主存映像文件。當(dāng)該程序要進(jìn)入主存運(yùn)行時(shí),由裝載程序負(fù)責(zé)加載。25靜態(tài)連接和動(dòng)態(tài)鏈接
靜態(tài)連接:將所需的外部調(diào)用函數(shù)鏈接到目標(biāo)文件中形成為一個(gè)完整的主存映像文件。靜態(tài)連接的缺點(diǎn)若多個(gè)應(yīng)用程序都調(diào)用了同一個(gè)庫函數(shù),那么,這些應(yīng)用程序的目標(biāo)文件中都包含了這個(gè)外部函數(shù)對(duì)應(yīng)的代碼,造成主存極大的浪費(fèi)。動(dòng)態(tài)連接:不需要將外部函數(shù)代碼從庫中提取出來并連接到目標(biāo)文件中,而是在應(yīng)用程序中需要調(diào)用外部函數(shù)的地方作記錄,并說明要使用的外部函數(shù)名和引用入口號(hào),形成函數(shù)調(diào)用鏈表。所需支持——DLL(動(dòng)態(tài)連接庫)當(dāng)Windows的裝載程序?qū)?yīng)用程序和DLL裝入內(nèi)存后,裝載程序會(huì)遍歷形成函數(shù)調(diào)用鏈表,將DLL中函數(shù)在內(nèi)存的入口(段:偏移)填入鏈表中的每個(gè)結(jié)點(diǎn)。2.1用戶工作環(huán)境262.2操作系統(tǒng)的用戶界面1用戶界面的概念操作系統(tǒng)的用戶界面(或稱接口)是操作系統(tǒng)提供給用戶與計(jì)算機(jī)打交道的外部機(jī)制。用戶能夠借助這種機(jī)制和系統(tǒng)提供的手段來控制用戶所在的系統(tǒng)。操作系統(tǒng)的用戶界面分兩個(gè)方面:操作界面:又稱操作命令,用戶通過這個(gè)操作界面來組織自己的工作流程和控制程序的運(yùn)行。程序界面:又稱系統(tǒng)功能調(diào)用,任何一個(gè)用戶程序在其運(yùn)行過程中,可以使用操作系統(tǒng)提供的功能調(diào)用來請(qǐng)求操作系統(tǒng)的服務(wù)(申請(qǐng)主存、使用外設(shè)、創(chuàng)建進(jìn)程或線程)。272.2操作系統(tǒng)的用戶界面操作系統(tǒng)提供的用戶界面操作命令類型及與操作系統(tǒng)類型的關(guān)系:鍵盤命令——分時(shí)操作系統(tǒng)、個(gè)人計(jì)算機(jī)操作系統(tǒng)圖形化用戶界面——分時(shí)操作系統(tǒng)、個(gè)人計(jì)算機(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)行。鍵盤命令的功能分時(shí)操作系統(tǒng)—用于注冊(cè)、通信、注銷的各類命令。
個(gè)人計(jì)算機(jī)操作系統(tǒng)—用于通信的各類命令。292.2操作系統(tǒng)的用戶界面圖形用戶界面什么是圖形化的用戶界面圖形化用戶界面是良好的用戶交互界面,它將菜單驅(qū)動(dòng)、圖符驅(qū)動(dòng)、面向?qū)ο蠹夹g(shù)等集成在一起,形成一個(gè)圖文并茂的視窗操作環(huán)境。菜單驅(qū)動(dòng)方式是面向屏幕的交互方式,它將鍵盤命令以屏幕方式來體現(xiàn)。命令和系統(tǒng)能完成的操作,用菜單分類分窗口在屏幕上列出。用戶像點(diǎn)菜一樣選擇命令或某種操作,以控制系統(tǒng)去完成指定的工作。菜單系統(tǒng)的類型有多種,如下拉式菜單,上推式菜單和隨機(jī)彈出式菜單。302.2操作系統(tǒng)的用戶界面圖符驅(qū)動(dòng)方式是一種面向屏幕的圖形菜單選擇方式。圖符(Icon)也稱圖標(biāo),是一個(gè)小小的圖符符號(hào)。它代表操作系統(tǒng)中的命令、系統(tǒng)服務(wù)、操作功能、各種資源。圖形化的命令驅(qū)動(dòng)方式:當(dāng)需要啟動(dòng)系統(tǒng)命令、請(qǐng)求系統(tǒng)資源或操作功能時(shí),可以選擇代表它的圖符,并借助標(biāo)記輸入設(shè)備(鼠標(biāo)器),采用鼠標(biāo)器的點(diǎn)擊和拖拽功能,完成命令和操作選擇及執(zhí)行。圖形化用戶界面是良好的用戶交互界面,它將菜單驅(qū)動(dòng)、圖符驅(qū)動(dòng)、面向?qū)ο蠹夹g(shù)等集成在一起,形成一個(gè)圖文并茂的視窗操作環(huán)境。Windows系統(tǒng)就是這種圖形化用戶界面的代表。312.2操作系統(tǒng)的用戶界面圖形化的用戶界面的特點(diǎn)所有程序以統(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è)控制語言是一種命令語言,包括了對(duì)作業(yè)處理的命令和資源請(qǐng)求命令。批處理系統(tǒng)中作業(yè)的組織作業(yè)申請(qǐng):作業(yè)名、需用CPU時(shí)間,最遲完成時(shí)間、資源請(qǐng)求(主存、外部)等。操作說明書:編譯命令、連接命令、運(yùn)行命令等。程序與數(shù)據(jù)332.3系統(tǒng)調(diào)用什么是系統(tǒng)調(diào)用系統(tǒng)調(diào)用是用戶在程序一級(jí)請(qǐng)求操作系統(tǒng)服務(wù)的一種手段,它不是一條簡(jiǎn)單的硬指令,而是帶有一定功能號(hào)的“訪管指令”。它的功能并非由硬件直接提供,而是由操作系統(tǒng)中的一段程序完成的,即由軟件方法實(shí)現(xiàn)的。應(yīng)用程序
i
系統(tǒng)調(diào)用中央處理機(jī)
存儲(chǔ)器應(yīng)用程序外部設(shè)備系統(tǒng)調(diào)用是操作系統(tǒng)提供給編程人員的唯一接口,它通知內(nèi)核為調(diào)用程序做各種操作,并在內(nèi)核與調(diào)用程序之間交換數(shù)據(jù)。對(duì)用戶屏蔽了操作系統(tǒng)的具體動(dòng)作。系統(tǒng)調(diào)用的分類
1.設(shè)備管理:這類系統(tǒng)調(diào)用被用來請(qǐng)求和釋放設(shè)備,以及啟動(dòng)設(shè)備操作等。
2.文件管理:這類系統(tǒng)調(diào)用包括創(chuàng)建、刪除文件,讀、寫文件操作以及移動(dòng)文件指針等。
3.進(jìn)程控制:當(dāng)多個(gè)用戶程序在系統(tǒng)內(nèi)執(zhí)行時(shí)引出了一個(gè)新的概念,稱為進(jìn)程。
4.進(jìn)程通信:進(jìn)程間傳遞消息或信號(hào)的系統(tǒng)調(diào)用。
5.存儲(chǔ)管理:內(nèi)存塊的申請(qǐng)、釋放,獲取作業(yè)占用內(nèi)存塊的首址、大小等。
6.線程管理:包括線程的創(chuàng)建、調(diào)度、執(zhí)行、撤銷等34系統(tǒng)調(diào)用示意圖3536操作系統(tǒng)如何為用戶程序提供服務(wù)操作系統(tǒng)提供實(shí)現(xiàn)各種功能的例行子程序
┇顯示一個(gè)字符串打印一個(gè)字符串
應(yīng)用程序j
┇┇printf();
┇2.3系統(tǒng)調(diào)用37如何調(diào)用操作系統(tǒng)服務(wù)功能?采用統(tǒng)一的方式訪管指令訪管中斷訪管指令(自愿進(jìn)管指令)
svcnsvc表示機(jī)器訪管指令的操作碼記憶符n為地址碼(功能號(hào))訪管中斷當(dāng)處理機(jī)執(zhí)行到訪管指令時(shí)就發(fā)生中斷,該中斷稱為訪管中斷,它表示正在運(yùn)行的程序?qū)Σ僮飨到y(tǒng)的某種需求。
2.3系統(tǒng)功能調(diào)用38操作系統(tǒng)基本服務(wù)是通過系統(tǒng)調(diào)用來處理的,實(shí)現(xiàn)這些服務(wù)是通過系統(tǒng)服務(wù)請(qǐng)求機(jī)構(gòu)提供的。系統(tǒng)服務(wù)請(qǐng)求(SSR)機(jī)構(gòu)本質(zhì)上是一個(gè)自陷門,它的執(zhí)行要發(fā)生訪管中斷。系統(tǒng)功能調(diào)用的格式和功能號(hào)的解釋因機(jī)器的不同而異,但任何不同的機(jī)器都有以下共同的特點(diǎn):每個(gè)系統(tǒng)調(diào)用對(duì)應(yīng)一個(gè)功能號(hào),要調(diào)用操作系統(tǒng)的某一特定例程,必須在訪管時(shí)給出對(duì)應(yīng)的功能號(hào)。按功能號(hào)實(shí)現(xiàn)調(diào)用的過程大體相同,都是由軟件通過對(duì)功能號(hào)的解釋分別轉(zhuǎn)入對(duì)應(yīng)的例行子程序。2.3系統(tǒng)功能調(diào)用系統(tǒng)調(diào)用的處理過程系統(tǒng)調(diào)用的處理過程39參數(shù)傳遞過程問題怎樣實(shí)現(xiàn)用戶程序和系統(tǒng)程序間的參數(shù)傳遞?常用的實(shí)現(xiàn)方法:由陷入指令自帶參數(shù):陷入指令的長(zhǎng)度有限的,且還要攜帶系統(tǒng)調(diào)用功能號(hào),只能自帶有限的參數(shù)通過有關(guān)通用寄存器來傳遞參數(shù):這些寄存器應(yīng)是系統(tǒng)程序和用戶程序都能訪問,由于寄存器長(zhǎ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)行。從時(shí)間片計(jì)時(shí)來看,系統(tǒng)調(diào)用的運(yùn)行屬于內(nèi)核時(shí)間,而庫函數(shù)調(diào)用運(yùn)行屬于用戶時(shí)間。從執(zhí)行過程來看,系統(tǒng)功能調(diào)用需要切換到進(jìn)程上下文的內(nèi)核態(tài),是通過中斷機(jī)構(gòu)來實(shí)現(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)---將整個(gè)機(jī)器安裝成Linux系統(tǒng)。Linux與Windows雙系統(tǒng)---在磁盤的不同分區(qū)分別安裝Linux系統(tǒng)和Windows系統(tǒng)。先安裝Windows系統(tǒng),事先為L(zhǎng)inux系統(tǒng)留出充足的磁盤空間(不含在Windows分區(qū)中)42硬盤的分區(qū)1.一個(gè)硬盤主分區(qū)至少有1個(gè),最多4個(gè),擴(kuò)展分區(qū)可以沒有,最多1個(gè)。且主分區(qū)+擴(kuò)展分區(qū)總共不能超過4個(gè)。邏輯分區(qū)可以有若干個(gè)。2.分出主分區(qū)后,其余的部分可以分成擴(kuò)展分區(qū),一般是剩下的空間全部分成擴(kuò)展分區(qū),也可以不全分,剩余的空間就浪費(fèi)了。3.擴(kuò)展分區(qū)不能直接使用,必須分成若干邏輯分區(qū)。所有的邏輯分區(qū)都是擴(kuò)展分區(qū)的一部分。硬盤的容量=主分區(qū)的容量+擴(kuò)展分區(qū)的容量;擴(kuò)展分區(qū)的容量=各個(gè)邏輯分區(qū)的容量之和。4.由主分區(qū)和邏輯分區(qū)構(gòu)成的邏輯磁盤稱為驅(qū)動(dòng)器(Drive)或卷(Volume)。5.激活的主分區(qū)會(huì)成為“引導(dǎo)分區(qū)”(或稱為“啟動(dòng)分區(qū)”),引導(dǎo)分區(qū)會(huì)被操作系統(tǒng)和主板認(rèn)定為第一個(gè)邏輯磁盤。43GRUBGRUB是一個(gè)多重操作系統(tǒng)啟動(dòng)管理器。用來引導(dǎo)不同系統(tǒng),如windows,linuxGRUB對(duì)LINUX系統(tǒng)的啟動(dòng):Title行:定義名字Root行:表示/boot所在的分區(qū)Kernel行:?jiǎn)?dòng)內(nèi)核文件Intrid行:運(yùn)行初始化模塊44LINUX的系統(tǒng)啟動(dòng)45Linux引導(dǎo)線路圖ROMBIOS→bootsect.S→setup.S→head.S→main.c與Linux的啟動(dòng)部分密切相關(guān)的代碼:三個(gè)匯編語言程序bootsect.S、setup.S和head.Sinit目錄下的main.c啟動(dòng)引導(dǎo)時(shí)內(nèi)核在內(nèi)存中的位置和移動(dòng)后的位置情況見Linux內(nèi)核剖析圖2.146電源開啟后,由機(jī)器的ROMBIOS先上電自檢,然后負(fù)責(zé)將啟動(dòng)盤第一扇區(qū)(bootsector)中的內(nèi)容主引導(dǎo)記錄(MBR)從磁盤裝入地址為0x7C00的內(nèi)存空間,然后跳轉(zhuǎn)至該位置執(zhí)行。由(GRUB或LILO)負(fù)責(zé)啟動(dòng)系統(tǒng)。4748Linux啟動(dòng)裝載程序按照OS標(biāo)簽來選擇安裝對(duì)應(yīng)的OS內(nèi)核。LINUX系統(tǒng)內(nèi)核首先執(zhí)行init程序,它是所有運(yùn)行進(jìn)程的父進(jìn)程。init啟動(dòng)的第一批進(jìn)程按照/etc/rc.d/rc.sysinit腳本來運(yùn)行。LINUX有7個(gè)不同的運(yùn)行級(jí)別0~60:halt,1:?jiǎn)斡脩簦?:多用戶,3:多用戶并啟動(dòng)NFS服務(wù)4:保留,5:運(yùn)行xdm(Xwindow)以圖形界面方式登錄6:reboot49不同的運(yùn)行級(jí)別啟動(dòng)不同的腳本50實(shí)模式與保護(hù)模式開機(jī)后INTELCPU在實(shí)模式(realmode)下工作,只能使用低端64KB內(nèi)存空間。在引導(dǎo)扇區(qū)中的內(nèi)核模塊是壓縮的內(nèi)核模塊zImage。其源代碼為arch/i386/boot/bootsect.S是實(shí)模式下運(yùn)行的匯編程序。將自己從0000:7C00移至9000:0000,并跳至該處繼續(xù)執(zhí)行。在Linux中0x9000代碼段為INITSEG。51系統(tǒng)預(yù)備知識(shí)---as86匯編語言匯編命令的基本格式:as[選項(xiàng)]–o目標(biāo)文件名源文件名選項(xiàng)用來控制編譯過程,以產(chǎn)生指定格式和設(shè)置的目標(biāo)文件。偽操作符語句:以.開始匯編器編譯生成的目標(biāo)文件通常包括三個(gè)段:正文段(.text)、數(shù)據(jù)段(.data)和未初始化數(shù)據(jù)段(.bss).global偽操作符用于定義隨后的標(biāo)號(hào)是外部的或全局的。entry是保留關(guān)鍵字,用于迫使連接器ld86在生成的可執(zhí)行文件中包括進(jìn)其后指定的標(biāo)號(hào)start。jmpigoBOOTSEG是段間跳轉(zhuǎn)語句,跳轉(zhuǎn)后CS:IP=0x07c0:0005。52IntelCPU的寄存器結(jié)構(gòu)段寄存器、專用寄存器、系統(tǒng)地址寄存器、控制寄存器、通用寄存器531、段寄存器可見的6個(gè)段選擇寄存器:CS,DS,SS,ES,FS,GS高13位是索引值d2指明段描述符所在的描述符表d1d0是特權(quán)標(biāo)志另外6個(gè)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個(gè)32位寄存器:CR0~CR3565、通用寄存器4個(gè)數(shù)據(jù)寄存器:AX/EAX/RAX:累加器BX/EBX/RBX:基址索引,如,數(shù)組CX/ECX/RCX:計(jì)數(shù)器DX/EDX/RDX:數(shù)據(jù)或一般用途4個(gè)指針及變址寄存器: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等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 化工合同審批管理
- 食品文化節(jié)采暖系統(tǒng)施工合同
- 水產(chǎn)養(yǎng)殖防水保溫施工協(xié)議
- 藝人演出教育推廣協(xié)議
- 農(nóng)業(yè)科技招投標(biāo)與合同履約分析
- 婚慶策劃公司租賃合同
- 建筑工程水電站施工合同樣本
- 綠色商業(yè)植草磚施工合同
- 電影院干掛石材施工協(xié)議
- 洗衣服務(wù)公司人事經(jīng)理聘用合同
- 加油站-課程設(shè)計(jì)
- 帛書老子道德經(jīng)全文-校注
- 柑橘園的規(guī)劃與設(shè)計(jì)(趙錚)
- 國(guó)家開放大學(xué)電大《中文學(xué)科論文寫作》期末題庫及答案
- 提高地下車庫防水質(zhì)量QC成果
- 物業(yè)消防系統(tǒng)承接查驗(yàn)表
- 俄羅斯聯(lián)邦政府第782號(hào)決議 電梯安全技術(shù)規(guī)程(2009版)
- OPERA系統(tǒng)培訓(xùn)ppt課件
- 110Kv輸變電工程電氣安裝技術(shù)交底
- ASTM_A29/A29M熱鍛及冷加工碳素鋼和合金鋼棒
- 錄屏軟件Camtasia_Studio使用教程
評(píng)論
0/150
提交評(píng)論