操作系統(tǒng)vc編程環(huán)境-artificialintel課件_第1頁(yè)
操作系統(tǒng)vc編程環(huán)境-artificialintel課件_第2頁(yè)
操作系統(tǒng)vc編程環(huán)境-artificialintel課件_第3頁(yè)
操作系統(tǒng)vc編程環(huán)境-artificialintel課件_第4頁(yè)
操作系統(tǒng)vc編程環(huán)境-artificialintel課件_第5頁(yè)
已閱讀5頁(yè),還剩139頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

計(jì)算概論

第六講李文新2004.9–2005.1北大醫(yī)學(xué)部計(jì)算概論

第六講李文新1期中考試11月2日星期二19:00–21:00地點(diǎn):三教401基礎(chǔ)501口腔、臨床1班503臨床2、3班505臨床4班507臨床5班筆試期中考試11月2日星期二19:00–21:002出期中考試題的作業(yè)10月29日前交內(nèi)容包括開(kāi)學(xué)到10月27日課上講過(guò)的全部?jī)?nèi)容可以適當(dāng)發(fā)揮,但不能超過(guò)卷面的10%出期中考試題的作業(yè)10月29日前交3作業(yè)總結(jié)再談邏輯運(yùn)算、算術(shù)運(yùn)算與表達(dá)式邏輯運(yùn)算0和1的運(yùn)算–邏輯值&&、||、!操作數(shù)和結(jié)果均為邏輯值算術(shù)運(yùn)算1,2,3,。。。的數(shù)值運(yùn)算+-*/%操作數(shù)和結(jié)果均為算術(shù)值作業(yè)總結(jié)再談邏輯運(yùn)算、算術(shù)運(yùn)算與表達(dá)式4作業(yè)總結(jié)表達(dá)式由算術(shù)運(yùn)算、邏輯運(yùn)算、關(guān)系運(yùn)算組成的運(yùn)算式每次執(zhí)行一個(gè)運(yùn)算,運(yùn)算結(jié)果與當(dāng)前運(yùn)算符的性質(zhì)有關(guān)執(zhí)行順序由優(yōu)先級(jí)和結(jié)合性確定最后一個(gè)運(yùn)算決定了整個(gè)表達(dá)式的運(yùn)算結(jié)果例:4+3+3*5==16||1>0//*優(yōu)先級(jí)最高4+3+15==16||1>0//+左結(jié)合7+15==16||1>0//+優(yōu)先級(jí)最高22==16||1>0//==左結(jié)合0||1>0//>優(yōu)先級(jí)最高0||1//邏輯運(yùn)算1//結(jié)果為邏輯值作業(yè)總結(jié)表達(dá)式5關(guān)于~運(yùn)算~求補(bǔ)碼原碼、反碼、補(bǔ)碼–為著計(jì)算機(jī)計(jì)算的方便原碼符號(hào)位+數(shù)值1001負(fù)10001正1反碼正數(shù)不變,001-〉001負(fù)數(shù)符號(hào)位不變,數(shù)值按位求反101-〉110補(bǔ)碼正數(shù)不變001-〉001負(fù)數(shù)反碼+1101-〉110+1-〉111例:-1+-2反碼:110+101=1-011=011+1=100(-3)補(bǔ)碼:111+110=101(-3)關(guān)于~運(yùn)算~求補(bǔ)碼6內(nèi)容提要操作系統(tǒng)VC++編程環(huán)境作業(yè)內(nèi)容提要操作系統(tǒng)7操作系統(tǒng)計(jì)算機(jī)系統(tǒng)包括硬件系統(tǒng)軟件系統(tǒng)系統(tǒng)軟件操作系統(tǒng)應(yīng)用軟件操作系統(tǒng)計(jì)算機(jī)系統(tǒng)包括8操作系統(tǒng)操作系統(tǒng)是計(jì)算機(jī)系統(tǒng)最基礎(chǔ)的軟件。如果沒(méi)有它的支持,作為用戶(hù)的人簡(jiǎn)直就沒(méi)有辦法讓計(jì)算機(jī)為自己做任何事情。人使用計(jì)算機(jī)做任何事情都需要與操作系統(tǒng)打交道。操作系統(tǒng)操作系統(tǒng)是計(jì)算機(jī)系統(tǒng)最基礎(chǔ)的軟件。如果沒(méi)有它的支持,9操作系統(tǒng)舉例來(lái)說(shuō),我們?cè)阪I盤(pán)上按了一下字母鍵a,鍵盤(pán)會(huì)把一串二進(jìn)制代碼送入計(jì)算機(jī),隨之可以看到字母a顯示在屏幕上。問(wèn)題是誰(shuí)接收了鍵盤(pán)送去的代碼并處理與之有關(guān)的問(wèn)題?答案是:操作系統(tǒng)。是操作系統(tǒng)在完成了一系列工作后,最終把這個(gè)字母送到顯示器。這個(gè)例子反映出操作系統(tǒng)工作的一些特點(diǎn),當(dāng)然這僅僅是它豐富功能的一個(gè)小側(cè)面。操作系統(tǒng)舉例來(lái)說(shuō),我們?cè)阪I盤(pán)上按了一下字母鍵a,鍵盤(pán)會(huì)把一串10操作系統(tǒng)操作系統(tǒng)軟件的主要任務(wù)是管理計(jì)算機(jī)系統(tǒng)的硬件資源和信息資源(程序和數(shù)據(jù))。此外它還要為計(jì)算機(jī)上各種硬軟件的運(yùn)行及其相互通信提供支持,并為計(jì)算機(jī)的用戶(hù)和管理人員提供各種服務(wù)。操作系統(tǒng)操作系統(tǒng)軟件的主要任務(wù)是管理計(jì)算機(jī)系統(tǒng)的硬件資源和信11操作系統(tǒng)的引導(dǎo)在計(jì)算機(jī)的電源接通,硬件開(kāi)始工作后,首先必須把操作系統(tǒng)的常駐內(nèi)核從磁盤(pán)裝入主存儲(chǔ)器,并且使它進(jìn)入正常工作狀態(tài),這樣的一個(gè)過(guò)程稱(chēng)為操作系統(tǒng)的引導(dǎo)(SystemBooting)。只有操作系統(tǒng)正常工作之后,整個(gè)計(jì)算機(jī)系統(tǒng)的工作才能夠繼續(xù),能夠開(kāi)始接受和執(zhí)行用戶(hù)命令。操作系統(tǒng)的引導(dǎo)在計(jì)算機(jī)的電源接通,硬件開(kāi)始工作后,首先必須把12操作系統(tǒng)的引導(dǎo)引導(dǎo)是個(gè)很復(fù)雜的過(guò)程,其中需要完成許多工作,要注意這時(shí)計(jì)算機(jī)硬件,包括CPU和內(nèi)存儲(chǔ)器上可能沒(méi)有任何程序。我們主要以一臺(tái)普通微機(jī)上DOS系統(tǒng)引導(dǎo)的幾個(gè)主要步驟作為例子,從中可以了解計(jì)算機(jī)的工作是怎樣開(kāi)始的,也能夠幫助讀者理解計(jì)算機(jī)的一些特性。其他計(jì)算機(jī)的引導(dǎo)過(guò)程也類(lèi)似。操作系統(tǒng)的引導(dǎo)引導(dǎo)是個(gè)很復(fù)雜的過(guò)程,其中需要完成許多工作,要13操作系統(tǒng)的引導(dǎo)1)計(jì)算機(jī)的電源接通;2)CPU上電后首先完成復(fù)位操作,使自身處于“就緒”狀態(tài),然后搜尋BIOS,以確定如何繼續(xù)動(dòng)作。BIOS是基本輸入輸出系統(tǒng)(BasicInput/OutputSystem)的簡(jiǎn)稱(chēng),是存儲(chǔ)在一個(gè)只讀存儲(chǔ)芯片(ROM,人們也經(jīng)常把這個(gè)芯片稱(chēng)為BIOS,BOIS芯片安裝在微機(jī)的主板上)里的一組指令,也就是一個(gè)程序。CPU找到BIOS后開(kāi)始執(zhí)行這個(gè)程序。操作系統(tǒng)的引導(dǎo)1)計(jì)算機(jī)的電源接通;14操作系統(tǒng)的引導(dǎo)3)BIOS啟動(dòng)程序的開(kāi)始是一段檢測(cè)程序,依次檢查各硬部件(內(nèi)存、鍵盤(pán)、總線(xiàn)及各個(gè)擴(kuò)展卡等)是否為進(jìn)入正常狀態(tài)。在全部檢測(cè)無(wú)誤之后,BIOS中的啟動(dòng)程序被復(fù)制到內(nèi)存,這是因?yàn)樵趦?nèi)存里程序執(zhí)行速度更快一些。操作系統(tǒng)的引導(dǎo)3)BIOS啟動(dòng)程序的開(kāi)始是一段檢測(cè)程序,依15操作系統(tǒng)的引導(dǎo)4)尋找操作系統(tǒng)的“引導(dǎo)程序”(BOOT程序)?!耙龑?dǎo)程序”是一個(gè)小程序,它的工作就是把操作系統(tǒng)的常駐內(nèi)核由磁盤(pán)復(fù)制到內(nèi)存并安置好。引導(dǎo)程序被找到后即被裝入內(nèi)存。操作系統(tǒng)的引導(dǎo)4)尋找操作系統(tǒng)的“引導(dǎo)程序”(BOOT程序)16操作系統(tǒng)的引導(dǎo)5)引導(dǎo)程序被執(zhí)行。引導(dǎo)程序完成把常駐內(nèi)核裝入內(nèi)存的工作并令其開(kāi)始工作。操作系統(tǒng)的引導(dǎo)5)引導(dǎo)程序被執(zhí)行。引導(dǎo)程序完成把常駐內(nèi)核裝入17操作系統(tǒng)的引導(dǎo)6)進(jìn)行系統(tǒng)配置。操作系統(tǒng)的內(nèi)核按照一個(gè)“系統(tǒng)配置”文件以及這一臺(tái)計(jì)算機(jī)本身的硬件特點(diǎn),裝置各種軟件接口程序和設(shè)定一系列參數(shù)。其主要工作是,裝入各有關(guān)硬件部件的接口驅(qū)動(dòng)程序,它們由磁盤(pán)調(diào)入內(nèi)存的指定位置,設(shè)置文件緩沖區(qū)等等。操作系統(tǒng)的引導(dǎo)6)進(jìn)行系統(tǒng)配置。操作系統(tǒng)的內(nèi)核按照一個(gè)“系統(tǒng)18操作系統(tǒng)的引導(dǎo)7)裝入“命令解釋器”模塊。在這時(shí),系統(tǒng)已經(jīng)能夠執(zhí)行DOS操作命令了。操作系統(tǒng)的引導(dǎo)7)裝入“命令解釋器”模塊。在這時(shí),系統(tǒng)已經(jīng)能19操作系統(tǒng)的引導(dǎo)8)系統(tǒng)自動(dòng)執(zhí)行一個(gè)名為AUTOEXEC.BAT的批處理程序。AUTOEXEC.BAT是位于啟動(dòng)磁盤(pán)根目錄下的一個(gè)文件,其內(nèi)容是一系列DOS命令。當(dāng)這些命令都執(zhí)行完畢后,DOS系統(tǒng)的引導(dǎo)全部完成,進(jìn)入正常的交互式命令執(zhí)行狀態(tài)。應(yīng)該注意的是,在操作系統(tǒng)引導(dǎo)的整個(gè)過(guò)程中,如果在上述的某個(gè)環(huán)節(jié)出現(xiàn)了無(wú)法克服的問(wèn)題,計(jì)算機(jī)就不能正常啟動(dòng)。這時(shí)需要找出問(wèn)題后并排除后,重新啟動(dòng)。操作系統(tǒng)的引導(dǎo)8)系統(tǒng)自動(dòng)執(zhí)行一個(gè)名為AUTOEXEC.B20操作系統(tǒng)的引導(dǎo)以上是DOS操作系統(tǒng)啟動(dòng)過(guò)程的簡(jiǎn)單描述。對(duì)于Windows一類(lèi)具有圖形用戶(hù)界面的操作系統(tǒng),啟動(dòng)過(guò)程后期還需要完成圖形界面的建立等許多操作。操作系統(tǒng)的引導(dǎo)以上是DOS操作系統(tǒng)啟動(dòng)過(guò)程的簡(jiǎn)單描述。對(duì)于21操作系統(tǒng)的功能計(jì)算機(jī)各種硬件資源的管理,其功能主要包括CPU的調(diào)度和管理、主存儲(chǔ)器及虛擬存儲(chǔ)空間(可尋址空間)的分配和管理、輸入/輸出設(shè)備管理及其通信支持等;對(duì)磁盤(pán)存儲(chǔ)的信息資源的管理,其功能主要是實(shí)現(xiàn)計(jì)算機(jī)“文件系統(tǒng)”;保證計(jì)算機(jī)系統(tǒng)的安全性以及計(jì)算機(jī)系統(tǒng)對(duì)它所執(zhí)行的當(dāng)前各項(xiàng)任務(wù)的監(jiān)控等任務(wù)。操作系統(tǒng)的功能計(jì)算機(jī)各種硬件資源的管理,其功能主要包括CPU22操作系統(tǒng)的功能-硬件管理管理和分配系統(tǒng)資源CPU管理存儲(chǔ)管理輸入/輸出(I/O)設(shè)備管理操作系統(tǒng)的功能-硬件管理管理和分配系統(tǒng)資源23操作系統(tǒng)的功能-硬件管理CPU管理–多任務(wù)和多用戶(hù)對(duì)CPU的管理實(shí)際上就是對(duì)CPU工作時(shí)間的管理。CPU時(shí)間是計(jì)算機(jī)中最重要的資源,因?yàn)镃PU是計(jì)算機(jī)里最基本的工作部件。多任務(wù)操作系統(tǒng)就是指那些允許多個(gè)任務(wù)同時(shí)處在執(zhí)行狀態(tài)之中的操作系統(tǒng)。有些操作系統(tǒng)允許同時(shí)有多個(gè)用戶(hù)使用同一臺(tái)計(jì)算機(jī),這種操作系統(tǒng)稱(chēng)為多用戶(hù)操作系統(tǒng)。操作系統(tǒng)的功能-硬件管理CPU管理–多任務(wù)和多用戶(hù)24操作系統(tǒng)的功能-硬件管理CPU管理—獨(dú)占CPU芯片在每個(gè)時(shí)刻只執(zhí)行一條指令,這意味著它在一個(gè)時(shí)刻只能為一個(gè)程序工作,一個(gè)程序要執(zhí)行必須得到CPU的時(shí)間。如果某個(gè)程序占用了CPU進(jìn)行計(jì)算,當(dāng)另一個(gè)程序也要工作時(shí),就必須設(shè)法使前一個(gè)程序讓出CPU的一段時(shí)間。操作系統(tǒng)的功能-硬件管理CPU管理—獨(dú)占25操作系統(tǒng)的功能-硬件管理CPU管理–分時(shí)多任務(wù)操作系統(tǒng)的工作方式允許多個(gè)任務(wù)共享系統(tǒng)資源,這種情況要求CPU“同時(shí)”執(zhí)行多個(gè)程序的任務(wù)。既然CPU每個(gè)時(shí)刻只能執(zhí)行一條指令,它怎么可能同時(shí)執(zhí)行多個(gè)任務(wù)呢?實(shí)際上這時(shí)CPU是在多個(gè)任務(wù)之間跳躍地執(zhí)行。操作系統(tǒng)的功能-硬件管理CPU管理–分時(shí)26操作系統(tǒng)的功能-硬件管理CPU管理–優(yōu)先級(jí)在CPU時(shí)間分配問(wèn)題上,有時(shí)也可以采用為不同類(lèi)別得任務(wù)確定不同優(yōu)先級(jí)別的辦法。分配時(shí)間片時(shí)根據(jù)其優(yōu)先級(jí)別和類(lèi)別特點(diǎn)多分或少分,這樣不同工作的工作進(jìn)展速度也就可能不同。操作系統(tǒng)的功能-硬件管理CPU管理–優(yōu)先級(jí)27操作系統(tǒng)的功能-硬件管理存儲(chǔ)管理存儲(chǔ)管理是操作系統(tǒng)最主要的任務(wù)之一,這是因?yàn)樵谟?jì)算機(jī)中CPU對(duì)主存儲(chǔ)器的訪(fǎng)問(wèn)極其頻繁,主存向CPU提供指令和數(shù)據(jù)的速度在很大程度上決定著整個(gè)系統(tǒng)的工作效率。操作系統(tǒng)的功能-硬件管理存儲(chǔ)管理28操作系統(tǒng)的功能-硬件管理存儲(chǔ)管理–內(nèi)存分配對(duì)于主存儲(chǔ)器,操作系統(tǒng)必須知道這個(gè)物理存儲(chǔ)空間中哪些位置已經(jīng)被占用,哪些位置是空閑的,它必須對(duì)這些情況進(jìn)行登記,在系統(tǒng)中的任務(wù)提出新的存儲(chǔ)要求時(shí)進(jìn)行存儲(chǔ)分配,如果有任務(wù)放棄了某些存儲(chǔ)空間時(shí),就要及時(shí)將其回收。操作系統(tǒng)的功能-硬件管理存儲(chǔ)管理–內(nèi)存分配29操作系統(tǒng)的功能-硬件管理存儲(chǔ)管理–資源分配表操作系統(tǒng)需要記錄各種信息資源(程序或數(shù)據(jù)文件)的名稱(chēng)和它所在的存儲(chǔ)空間位置兩者之間的對(duì)應(yīng)關(guān)系,建立一個(gè)對(duì)應(yīng)關(guān)系表(或稱(chēng)“映射表”),把這個(gè)表管理好,以便于信息資源的查詢(xún)和提取。操作系統(tǒng)的功能-硬件管理存儲(chǔ)管理–資源分配表30操作系統(tǒng)的功能-硬件管理存儲(chǔ)管理–存儲(chǔ)塊操作系統(tǒng)通常把整個(gè)主存的存儲(chǔ)空間劃分為許多固定的具有相同大小的存儲(chǔ)塊。當(dāng)需要分配存儲(chǔ)時(shí),操作系統(tǒng)就根據(jù)信息對(duì)象提出的存儲(chǔ)請(qǐng)求,分配給它一些“存儲(chǔ)塊”。操作系統(tǒng)的功能-硬件管理存儲(chǔ)管理–存儲(chǔ)塊31操作系統(tǒng)的功能-硬件管理存儲(chǔ)管理–虛擬存儲(chǔ)虛擬存儲(chǔ)管理的辦法就是設(shè)法在需要時(shí)自動(dòng)把當(dāng)時(shí)“活躍的”程序和數(shù)據(jù)部分裝入內(nèi)存。當(dāng)然如何自動(dòng)替換掉原來(lái)已經(jīng)不活躍的部分是一件技術(shù)上比較復(fù)雜的工作,操作系統(tǒng)的存儲(chǔ)管理應(yīng)該負(fù)責(zé)這一工作。操作系統(tǒng)的功能-硬件管理存儲(chǔ)管理–虛擬存儲(chǔ)32操作系統(tǒng)的功能-硬件管理存儲(chǔ)管理–頁(yè)交換分頁(yè)技術(shù)的思想與前已討論的高速緩存技術(shù)是相同的。磁盤(pán)上的程序和數(shù)據(jù)以“頁(yè)面”為單位與主存儲(chǔ)器頻繁進(jìn)行交換(頁(yè)面大小為統(tǒng)一而固定的,一般為數(shù)千個(gè)字節(jié))。這種動(dòng)作稱(chēng)為頁(yè)面交換或倒換(Swapping)。操作系統(tǒng)的功能-硬件管理存儲(chǔ)管理–頁(yè)交換33操作系統(tǒng)的功能-硬件管理存儲(chǔ)管理–分段和分頁(yè)現(xiàn)代操作系統(tǒng)還經(jīng)常采用分段(Segmentation)技術(shù)與分頁(yè)技術(shù)配合,這種技術(shù)的主要特點(diǎn)彌補(bǔ)了單純頁(yè)面技術(shù)只提供大小固定頁(yè)面的缺陷。段(segment)的大小是可變的,一個(gè)程序、一張數(shù)據(jù)表格等等都可以自然地被定義為一個(gè)段,每個(gè)段又可以包含多個(gè)頁(yè)面。操作系統(tǒng)的功能-硬件管理存儲(chǔ)管理–分段和分頁(yè)34操作系統(tǒng)的功能-硬件管理輸入/輸出(I/O)設(shè)備管理計(jì)算機(jī)管理輸入/輸出設(shè)備的方式程序控制DMA方式(DMA,DirectMemoryAccess的縮寫(xiě),直接存儲(chǔ)訪(fǎng)問(wèn))輸入輸出設(shè)置專(zhuān)用的處理器,稱(chēng)為I/O處理機(jī)操作系統(tǒng)的功能-硬件管理輸入/輸出(I/O)設(shè)備管理35操作系統(tǒng)的功能-硬件管理輸入/輸出(I/O)設(shè)備管理–驅(qū)動(dòng)程序由于輸入輸出設(shè)備種類(lèi)繁多,而且每類(lèi)設(shè)備都有自己的控制方式和信息傳遞方式,設(shè)備管理工作無(wú)法離開(kāi)具體設(shè)備而實(shí)現(xiàn)。為了使自己的設(shè)備能夠在計(jì)算機(jī)系統(tǒng)中使用,設(shè)備制造廠(chǎng)家通常都針對(duì)各種不同的操作系統(tǒng),提供專(zhuān)門(mén)用于自己設(shè)備的控制和支持通信的程序模塊,這種模塊稱(chēng)為該設(shè)備的驅(qū)動(dòng)程序(devicedriver)。操作系統(tǒng)的功能-硬件管理輸入/輸出(I/O)設(shè)備管理–36操作系統(tǒng)的功能-硬件管理輸入/輸出(I/O)設(shè)備管理–spooling計(jì)算機(jī)工作時(shí)可能有多個(gè)輸入輸出設(shè)備同時(shí)向系統(tǒng)提出請(qǐng)求。操作系統(tǒng)必須協(xié)調(diào)這些事情,通過(guò)各個(gè)設(shè)備的驅(qū)動(dòng)程序?qū)@些輸入輸出操作進(jìn)行管理。首先,操作系統(tǒng)必須記錄所有的請(qǐng)求,對(duì)這些請(qǐng)求進(jìn)行排隊(duì),將有關(guān)任務(wù)放在一個(gè)緩沖區(qū)里,并設(shè)法按順序完成這些工作。操作系統(tǒng)的功能-硬件管理輸入/輸出(I/O)設(shè)備管理–37操作系統(tǒng)的功能–監(jiān)控監(jiān)控功能操作系統(tǒng)對(duì)計(jì)算機(jī)系統(tǒng)進(jìn)行監(jiān)控的目的一方面是為了更好地滿(mǎn)足計(jì)算機(jī)用戶(hù)的需求,另一方面也是為了盡量發(fā)揮整個(gè)系統(tǒng)的能力。操作系統(tǒng)的功能–監(jiān)控監(jiān)控功能38操作系統(tǒng)的功能–監(jiān)控監(jiān)控功能監(jiān)測(cè)計(jì)算任務(wù)的執(zhí)行。檢查用戶(hù)的合法性及其權(quán)限。建立系統(tǒng)運(yùn)行記錄。操作系統(tǒng)的功能–監(jiān)控監(jiān)控功能39操作系統(tǒng)的功能-文件系統(tǒng)文件的概念在計(jì)算機(jī)的術(shù)語(yǔ)中,一個(gè)文件指的是包裝一起的一組信息,這些信息保存在外存儲(chǔ)器中,存儲(chǔ)在一起,作為一個(gè)整體被命名,可以獨(dú)立地被使用、修改、更新和刪除,一個(gè)文件通??偸呛团c它有關(guān)的某些應(yīng)用工作聯(lián)系在一起的。一個(gè)文件的內(nèi)容可以是一個(gè)能運(yùn)行的應(yīng)用程序、一篇文章、一個(gè)圖形、一段數(shù)字化的聲音信號(hào)、或者任何一批相關(guān)的有用數(shù)據(jù),如此等等。文件的大小用這個(gè)文件所包含信息的字節(jié)數(shù)來(lái)計(jì)算。操作系統(tǒng)的功能-文件系統(tǒng)文件的概念40操作系統(tǒng)的功能-文件系統(tǒng)文件分區(qū)表FAT,32位FAT,NTFS

文件的樹(shù)型結(jié)構(gòu)眾多文件被組織成樹(shù)狀結(jié)構(gòu)概念:路徑/目錄/文件夾(path),父目錄,子目錄,文件名操作系統(tǒng)的功能-文件系統(tǒng)文件分區(qū)表41操作系統(tǒng)的功能-文件系統(tǒng)文件的屬性文件名大小類(lèi)型修改時(shí)間操作系統(tǒng)的功能-文件系統(tǒng)文件的屬性42操作系統(tǒng)的功能-文件系統(tǒng)文件的分類(lèi)應(yīng)用程序文本文件圖像文件與應(yīng)用軟件匹配的各種類(lèi)型的數(shù)據(jù)文件例如:Word-*.doc操作系統(tǒng)的功能-文件系統(tǒng)文件的分類(lèi)43操作系統(tǒng)的功能-文件系統(tǒng)文件管理系統(tǒng)的概念文件管理是由計(jì)算機(jī)最基本的系統(tǒng)軟件(稱(chēng)為“操作系統(tǒng)”)的一個(gè)子系統(tǒng)完成的,是操作系統(tǒng)的一項(xiàng)重要工作。計(jì)算機(jī)系統(tǒng)的文件組織結(jié)構(gòu)的整體、以及負(fù)責(zé)管理文件結(jié)構(gòu)的軟件系統(tǒng)兩者的總和,被稱(chēng)為計(jì)算機(jī)的“文件系統(tǒng)”。操作系統(tǒng)的功能-文件系統(tǒng)文件管理系統(tǒng)的概念44操作系統(tǒng)的功能-文件系統(tǒng)文件和文件夾(目錄)操作系統(tǒng)的功能-文件系統(tǒng)文件和文件夾(目錄)45VC++編程環(huán)境VC++編程環(huán)境46VC++編程環(huán)境-基本概念

Project(工程)

在VC編程環(huán)境下,編寫(xiě)程序的工作是以Project為單位。在開(kāi)始一個(gè)新程序時(shí),要先建立一個(gè)Project,之后在程序編寫(xiě)過(guò)程中所有與這個(gè)程序有關(guān)的文件都會(huì)包含在這個(gè)Project中。編制的程序可以有各種不同類(lèi)型,編程環(huán)境為每種類(lèi)型的程序準(zhǔn)備了一個(gè)模版,用來(lái)生成程序的最初框架。在我們這本書(shū)里只介紹編寫(xiě)Win32ConsoleApplication類(lèi)型的程序。這類(lèi)程序的特點(diǎn)是:程序運(yùn)行中會(huì)打開(kāi)一個(gè)類(lèi)似于DOS操作系統(tǒng)的界面,所有鍵盤(pán)輸入都是通過(guò)DOS界面進(jìn)行的,而所有輸出都是輸出到DOS窗口中。

VC++編程環(huán)境-基本概念Project(工程)47VC++編程環(huán)境-基本概念SourceFile(源程序)源程序是我們用高級(jí)程序設(shè)計(jì)語(yǔ)言書(shū)寫(xiě)的程序。源程序必須經(jīng)過(guò)編譯連接變成可執(zhí)行程序(機(jī)器代碼)才能運(yùn)行。在下面的章節(jié)中,我們主要用介紹C語(yǔ)言編寫(xiě)程序。

VC++編程環(huán)境-基本概念SourceFile(源程序48VC++編程環(huán)境-基本概念Compile(編譯)把源程序變成機(jī)器代碼的過(guò)程稱(chēng)為編譯。不同的高級(jí)語(yǔ)言有不同的編譯器。

VC++編程環(huán)境-基本概念Compile(編譯)49VC++編程環(huán)境-基本概念Link(連接)各種高級(jí)語(yǔ)言都會(huì)提供一些常用的功能函數(shù),我們自己編寫(xiě)的程序里會(huì)調(diào)用這些功能函數(shù)。同時(shí)要把我們寫(xiě)的程序裝載到內(nèi)存里運(yùn)行,也需要加載一定的與環(huán)境相關(guān)的信息。所以將我們自己寫(xiě)的與那程序編譯成機(jī)器代碼后,還需要一個(gè)連接的過(guò)程以生成最后的可執(zhí)行程序。VC++編程環(huán)境-基本概念Link(連接)50VC++編程環(huán)境-基本概念Build(編譯并連接)編譯并連接是把源程序編譯,如果沒(méi)有錯(cuò)誤則連接,否則給出編譯錯(cuò)誤信息。

VC++編程環(huán)境-基本概念Build(編譯并連接)51VC++編程環(huán)境-基本概念Debug(調(diào)試)當(dāng)程序出錯(cuò)時(shí),可用調(diào)試工具發(fā)現(xiàn)錯(cuò)處的代碼,進(jìn)行改正。所謂調(diào)試是指逐條執(zhí)行或部分執(zhí)行程序代碼,并在執(zhí)行過(guò)程中查看變量的值。當(dāng)發(fā)現(xiàn)變量的值并非如我們預(yù)期或程序的執(zhí)行邏輯并非我們預(yù)期時(shí),就發(fā)現(xiàn)了錯(cuò)誤,可以進(jìn)行有針對(duì)性的改正。VC++編程環(huán)境-基本概念Debug(調(diào)試)52VC++編程環(huán)境-基本概念Run(運(yùn)行)啟動(dòng)一個(gè)可執(zhí)行程序使其開(kāi)始執(zhí)行稱(chēng)為運(yùn)行。VC++編程環(huán)境-基本概念Run(運(yùn)行)53VC++編程環(huán)境–基本功能創(chuàng)建新工程

編輯源程序

編譯/連接

運(yùn)行

調(diào)試

VC++編程環(huán)境–基本功能創(chuàng)建新工程54VC++編程環(huán)境-創(chuàng)建新工程

VC++編程環(huán)境-創(chuàng)建新工程55VC++編程環(huán)境-創(chuàng)建新工程

VC++編程環(huán)境-創(chuàng)建新工程56VC++編程環(huán)境-創(chuàng)建新工程

VC++編程環(huán)境-創(chuàng)建新工程57VC++編程環(huán)境-創(chuàng)建新工程

VC++編程環(huán)境-創(chuàng)建新工程58VC++編程環(huán)境–編輯源程序VC++編程環(huán)境–編輯源程序59VC++編程環(huán)境–編譯/連接VC++編程環(huán)境–編譯/連接60VC++編程環(huán)境–運(yùn)行VC++編程環(huán)境–運(yùn)行61VC++編程環(huán)境–調(diào)試VC++編程環(huán)境–調(diào)試62VC++編程環(huán)境–調(diào)試VC++編程環(huán)境–調(diào)試63例題任給兩個(gè)整數(shù)a和b,計(jì)算a+b的值

例題任給兩個(gè)整數(shù)a和b,計(jì)算a+b的值64例題2)程序設(shè)計(jì)我們要編寫(xiě)的程序包括如下操作:a.

從鍵盤(pán)讀入坐標(biāo)a和b的值b.

用公式計(jì)算a+b的值c.

將a+b的值輸出到屏幕上例題2)程序設(shè)計(jì)65例題3)編寫(xiě)代碼設(shè)計(jì)好程序之后,我們就來(lái)編寫(xiě)程序,應(yīng)用VisualC++編寫(xiě)這段程序的過(guò)程包括:a.

啟動(dòng)VisualC++6.0變成環(huán)境b.

創(chuàng)建一個(gè)新的工程,將它名字命名為撒start,其類(lèi)型是Win32ConsoleApplication,它是一個(gè)象前面介紹的HelloWorld一樣的程序c.

打開(kāi)start.cppd.

刪除語(yǔ)句:printf(“HelloWorld!”);e.

編輯start.cpp文件,使其由如下語(yǔ)句構(gòu)成(每行//后面的文字是注釋?zhuān)遣粓?zhí)行的):例題3)編寫(xiě)代碼66例題#include

<stdio.h>//將輸入輸出的庫(kù)函數(shù)包含

#include

<math.h>//將用到的庫(kù)函數(shù)包含進(jìn)來(lái)

void

main(){//程序開(kāi)始

int

a,b;//用來(lái)存放讀入的a和b的值

scanf(“%d

%d”,&a,&b);//從鍵盤(pán)讀入a和b的值

printf(“%d\n”,a+b);

//向屏幕輸出a+b的值

} //程序結(jié)束例題#include

<stdio.h>//將輸入輸出的庫(kù)67例題4)運(yùn)行調(diào)試點(diǎn)擊上圖中的紅色“!”按鈕,則程序被編譯和連接。如果沒(méi)有錯(cuò)誤出現(xiàn),則程序正確運(yùn)行。程序運(yùn)行中先等待輸入坐標(biāo)值,然后輸出結(jié)果。。例題4)運(yùn)行調(diào)試68例題5)正確性檢驗(yàn)程序正確定檢驗(yàn)就是指把一些已知正確輸出結(jié)果的輸入值輸入給待檢驗(yàn)的程序,看它是否能給出正確的輸出。對(duì)于上面的程序可輸入11,檢驗(yàn)程序是否輸出正確答案2。還可以輸入25,檢驗(yàn)程序是否輸出正確答案7。例題5)正確性檢驗(yàn)69小結(jié)操作系統(tǒng)VC++編程環(huán)境小結(jié)操作系統(tǒng)70作業(yè)上機(jī)實(shí)現(xiàn)課上的例題在/JudgeOnline/上建立用學(xué)號(hào)建立自己帳戶(hù)并通過(guò)1000題有余力的同學(xué)可以做1648作業(yè)上機(jī)實(shí)現(xiàn)課上的例題71演講完畢,謝謝觀(guān)看!演講完畢,謝謝觀(guān)看!72計(jì)算概論

第六講李文新2004.9–2005.1北大醫(yī)學(xué)部計(jì)算概論

第六講李文新73期中考試11月2日星期二19:00–21:00地點(diǎn):三教401基礎(chǔ)501口腔、臨床1班503臨床2、3班505臨床4班507臨床5班筆試期中考試11月2日星期二19:00–21:0074出期中考試題的作業(yè)10月29日前交內(nèi)容包括開(kāi)學(xué)到10月27日課上講過(guò)的全部?jī)?nèi)容可以適當(dāng)發(fā)揮,但不能超過(guò)卷面的10%出期中考試題的作業(yè)10月29日前交75作業(yè)總結(jié)再談邏輯運(yùn)算、算術(shù)運(yùn)算與表達(dá)式邏輯運(yùn)算0和1的運(yùn)算–邏輯值&&、||、!操作數(shù)和結(jié)果均為邏輯值算術(shù)運(yùn)算1,2,3,。。。的數(shù)值運(yùn)算+-*/%操作數(shù)和結(jié)果均為算術(shù)值作業(yè)總結(jié)再談邏輯運(yùn)算、算術(shù)運(yùn)算與表達(dá)式76作業(yè)總結(jié)表達(dá)式由算術(shù)運(yùn)算、邏輯運(yùn)算、關(guān)系運(yùn)算組成的運(yùn)算式每次執(zhí)行一個(gè)運(yùn)算,運(yùn)算結(jié)果與當(dāng)前運(yùn)算符的性質(zhì)有關(guān)執(zhí)行順序由優(yōu)先級(jí)和結(jié)合性確定最后一個(gè)運(yùn)算決定了整個(gè)表達(dá)式的運(yùn)算結(jié)果例:4+3+3*5==16||1>0//*優(yōu)先級(jí)最高4+3+15==16||1>0//+左結(jié)合7+15==16||1>0//+優(yōu)先級(jí)最高22==16||1>0//==左結(jié)合0||1>0//>優(yōu)先級(jí)最高0||1//邏輯運(yùn)算1//結(jié)果為邏輯值作業(yè)總結(jié)表達(dá)式77關(guān)于~運(yùn)算~求補(bǔ)碼原碼、反碼、補(bǔ)碼–為著計(jì)算機(jī)計(jì)算的方便原碼符號(hào)位+數(shù)值1001負(fù)10001正1反碼正數(shù)不變,001-〉001負(fù)數(shù)符號(hào)位不變,數(shù)值按位求反101-〉110補(bǔ)碼正數(shù)不變001-〉001負(fù)數(shù)反碼+1101-〉110+1-〉111例:-1+-2反碼:110+101=1-011=011+1=100(-3)補(bǔ)碼:111+110=101(-3)關(guān)于~運(yùn)算~求補(bǔ)碼78內(nèi)容提要操作系統(tǒng)VC++編程環(huán)境作業(yè)內(nèi)容提要操作系統(tǒng)79操作系統(tǒng)計(jì)算機(jī)系統(tǒng)包括硬件系統(tǒng)軟件系統(tǒng)系統(tǒng)軟件操作系統(tǒng)應(yīng)用軟件操作系統(tǒng)計(jì)算機(jī)系統(tǒng)包括80操作系統(tǒng)操作系統(tǒng)是計(jì)算機(jī)系統(tǒng)最基礎(chǔ)的軟件。如果沒(méi)有它的支持,作為用戶(hù)的人簡(jiǎn)直就沒(méi)有辦法讓計(jì)算機(jī)為自己做任何事情。人使用計(jì)算機(jī)做任何事情都需要與操作系統(tǒng)打交道。操作系統(tǒng)操作系統(tǒng)是計(jì)算機(jī)系統(tǒng)最基礎(chǔ)的軟件。如果沒(méi)有它的支持,81操作系統(tǒng)舉例來(lái)說(shuō),我們?cè)阪I盤(pán)上按了一下字母鍵a,鍵盤(pán)會(huì)把一串二進(jìn)制代碼送入計(jì)算機(jī),隨之可以看到字母a顯示在屏幕上。問(wèn)題是誰(shuí)接收了鍵盤(pán)送去的代碼并處理與之有關(guān)的問(wèn)題?答案是:操作系統(tǒng)。是操作系統(tǒng)在完成了一系列工作后,最終把這個(gè)字母送到顯示器。這個(gè)例子反映出操作系統(tǒng)工作的一些特點(diǎn),當(dāng)然這僅僅是它豐富功能的一個(gè)小側(cè)面。操作系統(tǒng)舉例來(lái)說(shuō),我們?cè)阪I盤(pán)上按了一下字母鍵a,鍵盤(pán)會(huì)把一串82操作系統(tǒng)操作系統(tǒng)軟件的主要任務(wù)是管理計(jì)算機(jī)系統(tǒng)的硬件資源和信息資源(程序和數(shù)據(jù))。此外它還要為計(jì)算機(jī)上各種硬軟件的運(yùn)行及其相互通信提供支持,并為計(jì)算機(jī)的用戶(hù)和管理人員提供各種服務(wù)。操作系統(tǒng)操作系統(tǒng)軟件的主要任務(wù)是管理計(jì)算機(jī)系統(tǒng)的硬件資源和信83操作系統(tǒng)的引導(dǎo)在計(jì)算機(jī)的電源接通,硬件開(kāi)始工作后,首先必須把操作系統(tǒng)的常駐內(nèi)核從磁盤(pán)裝入主存儲(chǔ)器,并且使它進(jìn)入正常工作狀態(tài),這樣的一個(gè)過(guò)程稱(chēng)為操作系統(tǒng)的引導(dǎo)(SystemBooting)。只有操作系統(tǒng)正常工作之后,整個(gè)計(jì)算機(jī)系統(tǒng)的工作才能夠繼續(xù),能夠開(kāi)始接受和執(zhí)行用戶(hù)命令。操作系統(tǒng)的引導(dǎo)在計(jì)算機(jī)的電源接通,硬件開(kāi)始工作后,首先必須把84操作系統(tǒng)的引導(dǎo)引導(dǎo)是個(gè)很復(fù)雜的過(guò)程,其中需要完成許多工作,要注意這時(shí)計(jì)算機(jī)硬件,包括CPU和內(nèi)存儲(chǔ)器上可能沒(méi)有任何程序。我們主要以一臺(tái)普通微機(jī)上DOS系統(tǒng)引導(dǎo)的幾個(gè)主要步驟作為例子,從中可以了解計(jì)算機(jī)的工作是怎樣開(kāi)始的,也能夠幫助讀者理解計(jì)算機(jī)的一些特性。其他計(jì)算機(jī)的引導(dǎo)過(guò)程也類(lèi)似。操作系統(tǒng)的引導(dǎo)引導(dǎo)是個(gè)很復(fù)雜的過(guò)程,其中需要完成許多工作,要85操作系統(tǒng)的引導(dǎo)1)計(jì)算機(jī)的電源接通;2)CPU上電后首先完成復(fù)位操作,使自身處于“就緒”狀態(tài),然后搜尋BIOS,以確定如何繼續(xù)動(dòng)作。BIOS是基本輸入輸出系統(tǒng)(BasicInput/OutputSystem)的簡(jiǎn)稱(chēng),是存儲(chǔ)在一個(gè)只讀存儲(chǔ)芯片(ROM,人們也經(jīng)常把這個(gè)芯片稱(chēng)為BIOS,BOIS芯片安裝在微機(jī)的主板上)里的一組指令,也就是一個(gè)程序。CPU找到BIOS后開(kāi)始執(zhí)行這個(gè)程序。操作系統(tǒng)的引導(dǎo)1)計(jì)算機(jī)的電源接通;86操作系統(tǒng)的引導(dǎo)3)BIOS啟動(dòng)程序的開(kāi)始是一段檢測(cè)程序,依次檢查各硬部件(內(nèi)存、鍵盤(pán)、總線(xiàn)及各個(gè)擴(kuò)展卡等)是否為進(jìn)入正常狀態(tài)。在全部檢測(cè)無(wú)誤之后,BIOS中的啟動(dòng)程序被復(fù)制到內(nèi)存,這是因?yàn)樵趦?nèi)存里程序執(zhí)行速度更快一些。操作系統(tǒng)的引導(dǎo)3)BIOS啟動(dòng)程序的開(kāi)始是一段檢測(cè)程序,依87操作系統(tǒng)的引導(dǎo)4)尋找操作系統(tǒng)的“引導(dǎo)程序”(BOOT程序)?!耙龑?dǎo)程序”是一個(gè)小程序,它的工作就是把操作系統(tǒng)的常駐內(nèi)核由磁盤(pán)復(fù)制到內(nèi)存并安置好。引導(dǎo)程序被找到后即被裝入內(nèi)存。操作系統(tǒng)的引導(dǎo)4)尋找操作系統(tǒng)的“引導(dǎo)程序”(BOOT程序)88操作系統(tǒng)的引導(dǎo)5)引導(dǎo)程序被執(zhí)行。引導(dǎo)程序完成把常駐內(nèi)核裝入內(nèi)存的工作并令其開(kāi)始工作。操作系統(tǒng)的引導(dǎo)5)引導(dǎo)程序被執(zhí)行。引導(dǎo)程序完成把常駐內(nèi)核裝入89操作系統(tǒng)的引導(dǎo)6)進(jìn)行系統(tǒng)配置。操作系統(tǒng)的內(nèi)核按照一個(gè)“系統(tǒng)配置”文件以及這一臺(tái)計(jì)算機(jī)本身的硬件特點(diǎn),裝置各種軟件接口程序和設(shè)定一系列參數(shù)。其主要工作是,裝入各有關(guān)硬件部件的接口驅(qū)動(dòng)程序,它們由磁盤(pán)調(diào)入內(nèi)存的指定位置,設(shè)置文件緩沖區(qū)等等。操作系統(tǒng)的引導(dǎo)6)進(jìn)行系統(tǒng)配置。操作系統(tǒng)的內(nèi)核按照一個(gè)“系統(tǒng)90操作系統(tǒng)的引導(dǎo)7)裝入“命令解釋器”模塊。在這時(shí),系統(tǒng)已經(jīng)能夠執(zhí)行DOS操作命令了。操作系統(tǒng)的引導(dǎo)7)裝入“命令解釋器”模塊。在這時(shí),系統(tǒng)已經(jīng)能91操作系統(tǒng)的引導(dǎo)8)系統(tǒng)自動(dòng)執(zhí)行一個(gè)名為AUTOEXEC.BAT的批處理程序。AUTOEXEC.BAT是位于啟動(dòng)磁盤(pán)根目錄下的一個(gè)文件,其內(nèi)容是一系列DOS命令。當(dāng)這些命令都執(zhí)行完畢后,DOS系統(tǒng)的引導(dǎo)全部完成,進(jìn)入正常的交互式命令執(zhí)行狀態(tài)。應(yīng)該注意的是,在操作系統(tǒng)引導(dǎo)的整個(gè)過(guò)程中,如果在上述的某個(gè)環(huán)節(jié)出現(xiàn)了無(wú)法克服的問(wèn)題,計(jì)算機(jī)就不能正常啟動(dòng)。這時(shí)需要找出問(wèn)題后并排除后,重新啟動(dòng)。操作系統(tǒng)的引導(dǎo)8)系統(tǒng)自動(dòng)執(zhí)行一個(gè)名為AUTOEXEC.B92操作系統(tǒng)的引導(dǎo)以上是DOS操作系統(tǒng)啟動(dòng)過(guò)程的簡(jiǎn)單描述。對(duì)于Windows一類(lèi)具有圖形用戶(hù)界面的操作系統(tǒng),啟動(dòng)過(guò)程后期還需要完成圖形界面的建立等許多操作。操作系統(tǒng)的引導(dǎo)以上是DOS操作系統(tǒng)啟動(dòng)過(guò)程的簡(jiǎn)單描述。對(duì)于93操作系統(tǒng)的功能計(jì)算機(jī)各種硬件資源的管理,其功能主要包括CPU的調(diào)度和管理、主存儲(chǔ)器及虛擬存儲(chǔ)空間(可尋址空間)的分配和管理、輸入/輸出設(shè)備管理及其通信支持等;對(duì)磁盤(pán)存儲(chǔ)的信息資源的管理,其功能主要是實(shí)現(xiàn)計(jì)算機(jī)“文件系統(tǒng)”;保證計(jì)算機(jī)系統(tǒng)的安全性以及計(jì)算機(jī)系統(tǒng)對(duì)它所執(zhí)行的當(dāng)前各項(xiàng)任務(wù)的監(jiān)控等任務(wù)。操作系統(tǒng)的功能計(jì)算機(jī)各種硬件資源的管理,其功能主要包括CPU94操作系統(tǒng)的功能-硬件管理管理和分配系統(tǒng)資源CPU管理存儲(chǔ)管理輸入/輸出(I/O)設(shè)備管理操作系統(tǒng)的功能-硬件管理管理和分配系統(tǒng)資源95操作系統(tǒng)的功能-硬件管理CPU管理–多任務(wù)和多用戶(hù)對(duì)CPU的管理實(shí)際上就是對(duì)CPU工作時(shí)間的管理。CPU時(shí)間是計(jì)算機(jī)中最重要的資源,因?yàn)镃PU是計(jì)算機(jī)里最基本的工作部件。多任務(wù)操作系統(tǒng)就是指那些允許多個(gè)任務(wù)同時(shí)處在執(zhí)行狀態(tài)之中的操作系統(tǒng)。有些操作系統(tǒng)允許同時(shí)有多個(gè)用戶(hù)使用同一臺(tái)計(jì)算機(jī),這種操作系統(tǒng)稱(chēng)為多用戶(hù)操作系統(tǒng)。操作系統(tǒng)的功能-硬件管理CPU管理–多任務(wù)和多用戶(hù)96操作系統(tǒng)的功能-硬件管理CPU管理—獨(dú)占CPU芯片在每個(gè)時(shí)刻只執(zhí)行一條指令,這意味著它在一個(gè)時(shí)刻只能為一個(gè)程序工作,一個(gè)程序要執(zhí)行必須得到CPU的時(shí)間。如果某個(gè)程序占用了CPU進(jìn)行計(jì)算,當(dāng)另一個(gè)程序也要工作時(shí),就必須設(shè)法使前一個(gè)程序讓出CPU的一段時(shí)間。操作系統(tǒng)的功能-硬件管理CPU管理—獨(dú)占97操作系統(tǒng)的功能-硬件管理CPU管理–分時(shí)多任務(wù)操作系統(tǒng)的工作方式允許多個(gè)任務(wù)共享系統(tǒng)資源,這種情況要求CPU“同時(shí)”執(zhí)行多個(gè)程序的任務(wù)。既然CPU每個(gè)時(shí)刻只能執(zhí)行一條指令,它怎么可能同時(shí)執(zhí)行多個(gè)任務(wù)呢?實(shí)際上這時(shí)CPU是在多個(gè)任務(wù)之間跳躍地執(zhí)行。操作系統(tǒng)的功能-硬件管理CPU管理–分時(shí)98操作系統(tǒng)的功能-硬件管理CPU管理–優(yōu)先級(jí)在CPU時(shí)間分配問(wèn)題上,有時(shí)也可以采用為不同類(lèi)別得任務(wù)確定不同優(yōu)先級(jí)別的辦法。分配時(shí)間片時(shí)根據(jù)其優(yōu)先級(jí)別和類(lèi)別特點(diǎn)多分或少分,這樣不同工作的工作進(jìn)展速度也就可能不同。操作系統(tǒng)的功能-硬件管理CPU管理–優(yōu)先級(jí)99操作系統(tǒng)的功能-硬件管理存儲(chǔ)管理存儲(chǔ)管理是操作系統(tǒng)最主要的任務(wù)之一,這是因?yàn)樵谟?jì)算機(jī)中CPU對(duì)主存儲(chǔ)器的訪(fǎng)問(wèn)極其頻繁,主存向CPU提供指令和數(shù)據(jù)的速度在很大程度上決定著整個(gè)系統(tǒng)的工作效率。操作系統(tǒng)的功能-硬件管理存儲(chǔ)管理100操作系統(tǒng)的功能-硬件管理存儲(chǔ)管理–內(nèi)存分配對(duì)于主存儲(chǔ)器,操作系統(tǒng)必須知道這個(gè)物理存儲(chǔ)空間中哪些位置已經(jīng)被占用,哪些位置是空閑的,它必須對(duì)這些情況進(jìn)行登記,在系統(tǒng)中的任務(wù)提出新的存儲(chǔ)要求時(shí)進(jìn)行存儲(chǔ)分配,如果有任務(wù)放棄了某些存儲(chǔ)空間時(shí),就要及時(shí)將其回收。操作系統(tǒng)的功能-硬件管理存儲(chǔ)管理–內(nèi)存分配101操作系統(tǒng)的功能-硬件管理存儲(chǔ)管理–資源分配表操作系統(tǒng)需要記錄各種信息資源(程序或數(shù)據(jù)文件)的名稱(chēng)和它所在的存儲(chǔ)空間位置兩者之間的對(duì)應(yīng)關(guān)系,建立一個(gè)對(duì)應(yīng)關(guān)系表(或稱(chēng)“映射表”),把這個(gè)表管理好,以便于信息資源的查詢(xún)和提取。操作系統(tǒng)的功能-硬件管理存儲(chǔ)管理–資源分配表102操作系統(tǒng)的功能-硬件管理存儲(chǔ)管理–存儲(chǔ)塊操作系統(tǒng)通常把整個(gè)主存的存儲(chǔ)空間劃分為許多固定的具有相同大小的存儲(chǔ)塊。當(dāng)需要分配存儲(chǔ)時(shí),操作系統(tǒng)就根據(jù)信息對(duì)象提出的存儲(chǔ)請(qǐng)求,分配給它一些“存儲(chǔ)塊”。操作系統(tǒng)的功能-硬件管理存儲(chǔ)管理–存儲(chǔ)塊103操作系統(tǒng)的功能-硬件管理存儲(chǔ)管理–虛擬存儲(chǔ)虛擬存儲(chǔ)管理的辦法就是設(shè)法在需要時(shí)自動(dòng)把當(dāng)時(shí)“活躍的”程序和數(shù)據(jù)部分裝入內(nèi)存。當(dāng)然如何自動(dòng)替換掉原來(lái)已經(jīng)不活躍的部分是一件技術(shù)上比較復(fù)雜的工作,操作系統(tǒng)的存儲(chǔ)管理應(yīng)該負(fù)責(zé)這一工作。操作系統(tǒng)的功能-硬件管理存儲(chǔ)管理–虛擬存儲(chǔ)104操作系統(tǒng)的功能-硬件管理存儲(chǔ)管理–頁(yè)交換分頁(yè)技術(shù)的思想與前已討論的高速緩存技術(shù)是相同的。磁盤(pán)上的程序和數(shù)據(jù)以“頁(yè)面”為單位與主存儲(chǔ)器頻繁進(jìn)行交換(頁(yè)面大小為統(tǒng)一而固定的,一般為數(shù)千個(gè)字節(jié))。這種動(dòng)作稱(chēng)為頁(yè)面交換或倒換(Swapping)。操作系統(tǒng)的功能-硬件管理存儲(chǔ)管理–頁(yè)交換105操作系統(tǒng)的功能-硬件管理存儲(chǔ)管理–分段和分頁(yè)現(xiàn)代操作系統(tǒng)還經(jīng)常采用分段(Segmentation)技術(shù)與分頁(yè)技術(shù)配合,這種技術(shù)的主要特點(diǎn)彌補(bǔ)了單純頁(yè)面技術(shù)只提供大小固定頁(yè)面的缺陷。段(segment)的大小是可變的,一個(gè)程序、一張數(shù)據(jù)表格等等都可以自然地被定義為一個(gè)段,每個(gè)段又可以包含多個(gè)頁(yè)面。操作系統(tǒng)的功能-硬件管理存儲(chǔ)管理–分段和分頁(yè)106操作系統(tǒng)的功能-硬件管理輸入/輸出(I/O)設(shè)備管理計(jì)算機(jī)管理輸入/輸出設(shè)備的方式程序控制DMA方式(DMA,DirectMemoryAccess的縮寫(xiě),直接存儲(chǔ)訪(fǎng)問(wèn))輸入輸出設(shè)置專(zhuān)用的處理器,稱(chēng)為I/O處理機(jī)操作系統(tǒng)的功能-硬件管理輸入/輸出(I/O)設(shè)備管理107操作系統(tǒng)的功能-硬件管理輸入/輸出(I/O)設(shè)備管理–驅(qū)動(dòng)程序由于輸入輸出設(shè)備種類(lèi)繁多,而且每類(lèi)設(shè)備都有自己的控制方式和信息傳遞方式,設(shè)備管理工作無(wú)法離開(kāi)具體設(shè)備而實(shí)現(xiàn)。為了使自己的設(shè)備能夠在計(jì)算機(jī)系統(tǒng)中使用,設(shè)備制造廠(chǎng)家通常都針對(duì)各種不同的操作系統(tǒng),提供專(zhuān)門(mén)用于自己設(shè)備的控制和支持通信的程序模塊,這種模塊稱(chēng)為該設(shè)備的驅(qū)動(dòng)程序(devicedriver)。操作系統(tǒng)的功能-硬件管理輸入/輸出(I/O)設(shè)備管理–108操作系統(tǒng)的功能-硬件管理輸入/輸出(I/O)設(shè)備管理–spooling計(jì)算機(jī)工作時(shí)可能有多個(gè)輸入輸出設(shè)備同時(shí)向系統(tǒng)提出請(qǐng)求。操作系統(tǒng)必須協(xié)調(diào)這些事情,通過(guò)各個(gè)設(shè)備的驅(qū)動(dòng)程序?qū)@些輸入輸出操作進(jìn)行管理。首先,操作系統(tǒng)必須記錄所有的請(qǐng)求,對(duì)這些請(qǐng)求進(jìn)行排隊(duì),將有關(guān)任務(wù)放在一個(gè)緩沖區(qū)里,并設(shè)法按順序完成這些工作。操作系統(tǒng)的功能-硬件管理輸入/輸出(I/O)設(shè)備管理–109操作系統(tǒng)的功能–監(jiān)控監(jiān)控功能操作系統(tǒng)對(duì)計(jì)算機(jī)系統(tǒng)進(jìn)行監(jiān)控的目的一方面是為了更好地滿(mǎn)足計(jì)算機(jī)用戶(hù)的需求,另一方面也是為了盡量發(fā)揮整個(gè)系統(tǒng)的能力。操作系統(tǒng)的功能–監(jiān)控監(jiān)控功能110操作系統(tǒng)的功能–監(jiān)控監(jiān)控功能監(jiān)測(cè)計(jì)算任務(wù)的執(zhí)行。檢查用戶(hù)的合法性及其權(quán)限。建立系統(tǒng)運(yùn)行記錄。操作系統(tǒng)的功能–監(jiān)控監(jiān)控功能111操作系統(tǒng)的功能-文件系統(tǒng)文件的概念在計(jì)算機(jī)的術(shù)語(yǔ)中,一個(gè)文件指的是包裝一起的一組信息,這些信息保存在外存儲(chǔ)器中,存儲(chǔ)在一起,作為一個(gè)整體被命名,可以獨(dú)立地被使用、修改、更新和刪除,一個(gè)文件通常總是和與它有關(guān)的某些應(yīng)用工作聯(lián)系在一起的。一個(gè)文件的內(nèi)容可以是一個(gè)能運(yùn)行的應(yīng)用程序、一篇文章、一個(gè)圖形、一段數(shù)字化的聲音信號(hào)、或者任何一批相關(guān)的有用數(shù)據(jù),如此等等。文件的大小用這個(gè)文件所包含信息的字節(jié)數(shù)來(lái)計(jì)算。操作系統(tǒng)的功能-文件系統(tǒng)文件的概念112操作系統(tǒng)的功能-文件系統(tǒng)文件分區(qū)表FAT,32位FAT,NTFS

文件的樹(shù)型結(jié)構(gòu)眾多文件被組織成樹(shù)狀結(jié)構(gòu)概念:路徑/目錄/文件夾(path),父目錄,子目錄,文件名操作系統(tǒng)的功能-文件系統(tǒng)文件分區(qū)表113操作系統(tǒng)的功能-文件系統(tǒng)文件的屬性文件名大小類(lèi)型修改時(shí)間操作系統(tǒng)的功能-文件系統(tǒng)文件的屬性114操作系統(tǒng)的功能-文件系統(tǒng)文件的分類(lèi)應(yīng)用程序文本文件圖像文件與應(yīng)用軟件匹配的各種類(lèi)型的數(shù)據(jù)文件例如:Word-*.doc操作系統(tǒng)的功能-文件系統(tǒng)文件的分類(lèi)115操作系統(tǒng)的功能-文件系統(tǒng)文件管理系統(tǒng)的概念文件管理是由計(jì)算機(jī)最基本的系統(tǒng)軟件(稱(chēng)為“操作系統(tǒng)”)的一個(gè)子系統(tǒng)完成的,是操作系統(tǒng)的一項(xiàng)重要工作。計(jì)算機(jī)系統(tǒng)的文件組織結(jié)構(gòu)的整體、以及負(fù)責(zé)管理文件結(jié)構(gòu)的軟件系統(tǒng)兩者的總和,被稱(chēng)為計(jì)算機(jī)的“文件系統(tǒng)”。操作系統(tǒng)的功能-文件系統(tǒng)文件管理系統(tǒng)的概念116操作系統(tǒng)的功能-文件系統(tǒng)文件和文件夾(目錄)操作系統(tǒng)的功能-文件系統(tǒng)文件和文件夾(目錄)117VC++編程環(huán)境VC++編程環(huán)境118VC++編程環(huán)境-基本概念

Project(工程)

在VC編程環(huán)境下,編寫(xiě)程序的工作是以Project為單位。在開(kāi)始一個(gè)新程序時(shí),要先建立一個(gè)Project,之后在程序編寫(xiě)過(guò)程中所有與這個(gè)程序有關(guān)的文件都會(huì)包含在這個(gè)Project中。編制的程序可以有各種不同類(lèi)型,編程環(huán)境為每種類(lèi)型的程序準(zhǔn)備了一個(gè)模版,用來(lái)生成程序的最初框架。在我們這本書(shū)里只介紹編寫(xiě)Win32ConsoleApplication類(lèi)型的程序。這類(lèi)程序的特點(diǎn)是:程序運(yùn)行中會(huì)打開(kāi)一個(gè)類(lèi)似于DOS操作系統(tǒng)的界面,所有鍵盤(pán)輸入都是通過(guò)DOS界面進(jìn)行的,而所有輸出都是輸出到DOS窗口中。

VC++編程環(huán)境-基本概念Project(工程)119VC++編程環(huán)境-基本概念SourceFile(源程序)源程序是我們用高級(jí)程序設(shè)計(jì)語(yǔ)言書(shū)寫(xiě)的程序。源程序必須經(jīng)過(guò)編譯連接變成可執(zhí)行程序(機(jī)器代碼)才能運(yùn)行。在下面的章節(jié)中,我們主要用介紹C語(yǔ)言編寫(xiě)程序。

VC++編程環(huán)境-基本概念SourceFile(源程序120VC++編程環(huán)境-基本概念Compile(編譯)把源程序變成機(jī)器代碼的過(guò)程稱(chēng)為編譯。不同的高級(jí)語(yǔ)言有不同的編譯器。

VC++編程環(huán)境-基本概念Compile(編譯)121VC++編程環(huán)境-基本概念Link(連接)各種高級(jí)語(yǔ)言都會(huì)提供一些常用的功能函數(shù),我們自己編寫(xiě)的程序里會(huì)調(diào)用這些功能函數(shù)。同時(shí)要把我們寫(xiě)的程序裝載到內(nèi)存里運(yùn)行,也需要加載一定的與環(huán)境相關(guān)的信息。所以將我們自己寫(xiě)的與那程序編譯成機(jī)器代碼后,還需要一個(gè)連接的過(guò)程以生成最后的可執(zhí)行程序。VC++編程環(huán)境-基本概念Link(連接)122VC++編程環(huán)境-基本概念Build(編譯并連接)編譯

溫馨提示

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

評(píng)論

0/150

提交評(píng)論