第3章 計(jì)算機(jī)系統(tǒng)組成_第1頁
第3章 計(jì)算機(jī)系統(tǒng)組成_第2頁
第3章 計(jì)算機(jī)系統(tǒng)組成_第3頁
第3章 計(jì)算機(jī)系統(tǒng)組成_第4頁
第3章 計(jì)算機(jī)系統(tǒng)組成_第5頁
已閱讀5頁,還剩85頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、第3章 計(jì)算機(jī)系統(tǒng)組成傳統(tǒng)意義的計(jì)算機(jī)是由硬件系統(tǒng)和軟件系統(tǒng)共同組成獨(dú)立的,不同的系統(tǒng)配置可形成功能差異很大的計(jì)算機(jī)系統(tǒng)。近年來,由于網(wǎng)絡(luò)的普及應(yīng)用,對計(jì)算機(jī)概念的內(nèi)涵和外延又有了新的認(rèn)識。本章以常見的微機(jī)為例,主要介紹計(jì)算機(jī)硬件和軟件系統(tǒng)。 n計(jì)算機(jī)硬件硬件是可以感觸到的實(shí)體,主要包括運(yùn)算器、控制器、內(nèi)存儲(chǔ)器、輸入器和輸出器五大部分,當(dāng)然也還包括電源、機(jī)箱等輔助部件。習(xí)慣上把運(yùn)算器、控制器、內(nèi)存儲(chǔ)器和電源稱為主機(jī),把輸入器、輸出器稱為外部設(shè)備。 n計(jì)算機(jī)軟件軟件是有重復(fù)使用價(jià)值的程序和相關(guān)文檔,主要包括操作系統(tǒng)軟件、編譯系統(tǒng)軟件和應(yīng)用軟件等。 n由intel公司的cpu和微軟公司的軟件為主組

2、成的計(jì)算機(jī)系統(tǒng)是目前應(yīng)用最多的微型計(jì)算機(jī)系統(tǒng)。n本章重點(diǎn)介紹軟件系統(tǒng)。 3.1 計(jì)算機(jī)硬件系統(tǒng)介 n計(jì)算機(jī)硬件系統(tǒng)經(jīng)歷了四十多年的發(fā)展歷程,它的高速、自動(dòng)化運(yùn)算特點(diǎn)現(xiàn)已得到充分發(fā)揮。但究其構(gòu)造原理,目前尚未跳出馮諾依曼計(jì)算機(jī)的基本框框,仍是以存儲(chǔ)為中心的計(jì)算機(jī)結(jié)構(gòu)。也就是說,把運(yùn)算器、控制器、輸入器和輸出器通過各種信號線與內(nèi)存儲(chǔ)器聯(lián)系起來就構(gòu)成了一臺計(jì)算機(jī)硬件系統(tǒng)。 3.1.1 cpu介紹n隨著集成電路技術(shù)的進(jìn)步,可以把復(fù)雜的運(yùn)算器、控制器電路集成在一個(gè)芯片中稱為中央處理器(central processing unit,cpu)。多數(shù)微機(jī)具有一個(gè)cpu,也有使用兩個(gè)或更多個(gè)cpu協(xié)調(diào)工作的計(jì)

3、算機(jī)。n1. 運(yùn)算器運(yùn)算器n計(jì)算機(jī)的運(yùn)算功能主要靠算術(shù)邏輯運(yùn)算部件(arithmetic logic unit,alu)完成。最簡單的運(yùn)算器是由若干位組成的加法器。一般來講,加法器的位數(shù)越多,可完成的運(yùn)算就越復(fù)雜;完成加法器運(yùn)算的速度越快,計(jì)算機(jī)整體速度也越快。 n2. 控制器控制器n控制器的功能是按照計(jì)算機(jī)內(nèi)部的時(shí)鐘節(jié)拍,根據(jù)指令(instruction),控制協(xié)調(diào)計(jì)算機(jī)各個(gè)部件工作。它主要由編碼電路和譯碼電路構(gòu)成。n3. 其他電路其他電路ncpu中有各種特殊命名的寄存器,用來存儲(chǔ)運(yùn)算的中間結(jié)果,或正在執(zhí)行的指令代碼;包括各部件之間數(shù)據(jù)交換的通路,即內(nèi)部總線;甚至還包括與內(nèi)存交換數(shù)據(jù)用的高速

4、緩沖存儲(chǔ)器。一些單片機(jī)芯片,例如mcs-51、mcs-96系列,幾乎包括了馮諾依曼計(jì)算機(jī)要求必備的五個(gè)基本部件電路。 3.1.1 內(nèi)存儲(chǔ)器內(nèi)存儲(chǔ)器n內(nèi)存儲(chǔ)器具有記憶功能,它能把各種以二進(jìn)制碼表示的信息存儲(chǔ)起來,是計(jì)算機(jī)的主要工作存儲(chǔ)區(qū)。它可以把要執(zhí)行的程序和數(shù)據(jù)事先存儲(chǔ),然后在cpu的控制下自動(dòng)執(zhí)行程序。ncpu可按照單元編號訪問內(nèi)存儲(chǔ)器中的每個(gè)單元。一個(gè)單元包括8位二進(jìn)制信息,也稱一個(gè)字節(jié)(byte),單元編號從0開始,到2n-1。內(nèi)存容量就是計(jì)算機(jī)可使用內(nèi)存單元的總和,現(xiàn)在生產(chǎn)的微型計(jì)算機(jī)內(nèi)存容量一般在64mb以上。 n微型計(jì)算機(jī)的內(nèi)存儲(chǔ)器包括ram和rom兩部分。rom用于存放內(nèi)容不變的

5、信息,例如計(jì)算機(jī)開始工作的引導(dǎo)程序、自檢程序等。這些程序在計(jì)算機(jī)出廠時(shí)就已裝入rom中。nram用于存放現(xiàn)場程序和數(shù)據(jù)。ram中的信息是由電路的狀態(tài)表示的,所以斷電后信息一般會(huì)立即丟失。由于軟件越來越復(fù)雜,需要內(nèi)存的容量也越來越大。 3.1.1 外存儲(chǔ)器外存儲(chǔ)器n1 硬磁盤n1968年ibm公司首次提出“溫徹斯特(winchester)”技術(shù)。該技術(shù)要求,把整個(gè)磁盤機(jī)密封,使用高速旋轉(zhuǎn)的鍍磁盤片,磁頭沿盤片徑向移動(dòng),磁頭懸浮在高速轉(zhuǎn)動(dòng)的盤片上方,而不與盤片直接接觸,從而避免了磁頭與盤片的摩擦,提高了盤片的轉(zhuǎn)速。以后研發(fā)的提高磁頭靈敏度、盤片轉(zhuǎn)數(shù)、記錄密度等技術(shù)使現(xiàn)在的溫盤容量可達(dá)上百個(gè)gb。

6、n由于硬磁盤的讀寫速度較高、容量大,操作軟件常用部分硬盤存儲(chǔ)器代替內(nèi)存作虛擬內(nèi)存使用。2 磁盤陣列技術(shù)磁盤陣列技術(shù)n隨著網(wǎng)絡(luò)技術(shù)的發(fā)展,程序越來越復(fù)雜,需要存儲(chǔ)的信息量越來越大,對數(shù)據(jù)的安全性要求越來越高,出現(xiàn)了以磁盤為中心的計(jì)算機(jī)系統(tǒng)模式。單個(gè)或少量磁盤同時(shí)工作滿足不了計(jì)算機(jī)對磁盤容量、速度、可靠性的需求,磁盤陣列是解決這些問題的一種新技術(shù)。n磁盤陣列(disk array)是由一個(gè)硬盤控制器來控制多個(gè)硬盤的相互連接,使多個(gè)硬盤的讀寫同步,減少錯(cuò)誤,增加效率和可靠性的技術(shù)。使用此技術(shù)的設(shè)備分0、1、3、5四個(gè)等級。磁盤陣列3.1.1 外部設(shè)備接口與總線外部設(shè)備接口與總線n1. 外部設(shè)備接口功

7、能外部設(shè)備接口功能n計(jì)算機(jī)硬件接口是計(jì)算機(jī)中兩個(gè)相對獨(dú)立子系統(tǒng)之間的連接部分,包括外設(shè)與主機(jī)之間,外設(shè)與外設(shè)之間的連接。有時(shí)接口也稱為界面。n接口主要解決子系統(tǒng)之間傳遞數(shù)據(jù)與控制信號。接口主要解決子系統(tǒng)之間傳遞數(shù)據(jù)與控制信號。pc機(jī)實(shí)現(xiàn)這種傳遞的硬件通常做成獨(dú)立的接口板(卡),插在總線接口插槽里,通過輸出線纜與外部設(shè)備連接。接口卡也稱適配器。 n它的主要功能是如下。n(1) 地址譯碼 外部設(shè)備在計(jì)算機(jī)系統(tǒng)中的名稱如 lpt 、com1等是通用的符號名稱,對它代表的某實(shí)際設(shè)備的控制要由具體接口及控制軟件,即驅(qū)動(dòng)程序完成。外設(shè)與主機(jī)之間交換的二進(jìn)制信息都暫存在接口寄存器中,這些寄存器可能放在外設(shè)(

8、例如鍵盤)上,也可能放在適配器(如顯示器)上。主機(jī)以存取內(nèi)存單元的方式來存取外設(shè)的寄存器。因此要為每個(gè)外設(shè)寄存器設(shè)置地址(端口號),通過地址譯碼電路區(qū)別真正要訪問外設(shè)的寄存器。 n(2) 在主機(jī)與外設(shè)之間交換控制信息 控制信息主要包括設(shè)備“已準(zhǔn)備好”、“忙碌”、“完成”、“申請中斷”、“響應(yīng)中斷”、“啟動(dòng)”、“停止”等信號。n(3) 支持主機(jī)各種中斷處理。n(4) 數(shù)據(jù)類型轉(zhuǎn)換 8位字長與16位字長之間、模擬信號與數(shù)字信號之間的轉(zhuǎn)換。n(5) 支持傳輸過程中的串行/并行轉(zhuǎn)換、錯(cuò)誤校驗(yàn)、協(xié)議等。 n2. usb接口接口nusb( universal serial bus)接口使用特殊的接口線實(shí)現(xiàn)

9、了熱插拔。 n3 總線總線n總線就是信息傳輸?shù)墓簿€路,它由若干可控制門電路及連接的導(dǎo)線組成。在微機(jī)的主板上表現(xiàn)為若干個(gè)可插接各種部件的插槽。計(jì)算機(jī)均采用總線結(jié)構(gòu)將各部件(cpu、存儲(chǔ)器、i/o接口)組成為一個(gè)系統(tǒng)。 3.1.5 計(jì)算機(jī)指令系統(tǒng)計(jì)算機(jī)指令系統(tǒng)ncpu的控制器根據(jù)內(nèi)存中的每一條指令碼控制執(zhí)行部件運(yùn)作,計(jì)算機(jī)才能工作。人們利用指令才可以直接指揮計(jì)算機(jī)工作。 n各種類型計(jì)算機(jī)指令的數(shù)目和形式差別很大,計(jì)算機(jī)可有幾條、幾十條,甚至上百條指令;n一些類型計(jì)算機(jī)指令的長度是固定的,更多類型計(jì)算機(jī)的指令長度是可變的,可用單字節(jié)、雙字節(jié)、三字節(jié),或更多字節(jié)表示一條指令。n一般情況,一條指令一般

10、包括操作方法和操作對象(數(shù)據(jù)或數(shù)據(jù)的地址)兩部分,個(gè)別的指令僅有操作方法而無操作對象。 n cpu執(zhí)行指令例子。n設(shè)數(shù)據(jù)區(qū)的0號單元存有無符號整數(shù)15,1號單元存有無符號整數(shù)23,利用指令把兩個(gè)單元的內(nèi)容對調(diào)。n其操作過程是,先把0單元內(nèi)容存到名為ah寄存器,再把1單元內(nèi)容存到名為al寄存器,然后分別存回1單元和0單元。 3.2 計(jì)算機(jī)軟件系統(tǒng)介紹 n軟件是有重復(fù)使用價(jià)值的程序和相關(guān)文檔。n計(jì)算機(jī)系統(tǒng)由硬件和軟件組成,不同的配置可形成功能差異很大的計(jì)算機(jī)系統(tǒng)。n由英特爾公司的cpu和微軟公司的軟件組成的計(jì)算機(jī)系統(tǒng)是目前應(yīng)用最多的計(jì)算機(jī)系統(tǒng)。n計(jì)算機(jī)軟件主要包括操作系統(tǒng)軟件、編譯系統(tǒng)軟件和應(yīng)用軟

11、件。 n 3.2.1 操作系統(tǒng)n1 用戶工作方式n單機(jī)n分時(shí)n多終端n桌上微機(jī)n微機(jī)網(wǎng)絡(luò)(服務(wù)器/客戶端,服務(wù)器/瀏覽器,對等網(wǎng))n因特網(wǎng)(1)單用戶單任務(wù)方式單用戶單任務(wù)方式n 單用戶單任務(wù)是最典型的計(jì)算機(jī)系統(tǒng)使用環(huán)境,其特點(diǎn)是一人獨(dú)占一臺計(jì)算機(jī),執(zhí)行一個(gè)應(yīng)用程序。在這種環(huán)境下,cpu、內(nèi)存等計(jì)算機(jī)硬資源利用率低。早期的微型計(jì)算機(jī)常采用這種方式。其優(yōu)點(diǎn)是對計(jì)算機(jī)硬件要求低,管理計(jì)算機(jī)的軟件比較簡單,可靠性強(qiáng),易于操作。支持這種使用環(huán)境的微機(jī)操作系統(tǒng)常見的有ms-dos 3.0、cp/m及其各種變化版本等。 (2)單用戶多任務(wù)方式單用戶多任務(wù)方式n 隨著計(jì)算機(jī)硬件的不斷升級,cpu的速度的提高

12、、內(nèi)存容量的加大,用戶希望能同時(shí)(至少用戶感覺是同時(shí))執(zhí)行多個(gè)應(yīng)用程序,即所謂執(zhí)行多任務(wù)。最先在大、中型計(jì)算機(jī)上實(shí)現(xiàn)了這種方式,以后微機(jī)上也實(shí)現(xiàn)了多任務(wù)管理,典型的微機(jī)操作系統(tǒng)有ms-dos 6.0 及windows等。(3)多用戶多任務(wù)方式多用戶多任務(wù)方式n 多用戶多任務(wù)是指在一臺大、中型主機(jī)(主要包括cpu、內(nèi)存)上,同時(shí)(實(shí)際上是分時(shí))為多個(gè)用戶服務(wù)。每個(gè)用戶作為連接到主機(jī)上的終端,執(zhí)行自己的各種任務(wù)。典型的操作系統(tǒng)是unix及其變種xenix、onix、venix等。目前在微機(jī)上流行的linux操作系統(tǒng)也支持多用戶多任務(wù)操作。(4)使用計(jì)算機(jī)網(wǎng)絡(luò)使用計(jì)算機(jī)網(wǎng)絡(luò)n由于網(wǎng)絡(luò)環(huán)境的不同,支持

13、各種環(huán)境的操作系統(tǒng)各異。網(wǎng)絡(luò)操作系統(tǒng)中功能強(qiáng)、資格老當(dāng)屬unix,而在微機(jī)上運(yùn)行最多的是windows nt(包括windows 2000/xp) 以及大有發(fā)展前途的linux操作系統(tǒng)。 2 硬件支撐環(huán)境 n 操作系統(tǒng)是管理計(jì)算機(jī)資源、方便用戶使用計(jì)算機(jī)資源的一套程序。這些程序必須在一定的硬件環(huán)境支持下才能正常工作,硬件環(huán)境越好,操作系統(tǒng)能提供的服務(wù)越多,換句話說,低檔計(jì)算機(jī)只能安裝和使用低版本的操作系統(tǒng)。為了能支持功能較強(qiáng)的操作系統(tǒng),對計(jì)算機(jī)硬件部件提出以下一些功能要求。 (1)中央處理器(中央處理器(cpu)ncpu是計(jì)算機(jī)的硬件核心部件,cpu主要包括運(yùn)算和控制兩部分,控制器中對于程序和

14、中斷的控制能力最為重要。n1)程序狀態(tài)字(psw)。 cpu中一般設(shè)有若干個(gè)寄存器,這些寄存器擔(dān)負(fù)專門的工作。例如指令記數(shù)器中記載下一條要執(zhí)行的指令地址,16位的狀態(tài)寄存器中的每一位則記錄指令執(zhí)行后的狀態(tài)。 nc:算術(shù)運(yùn)算中,最高位產(chǎn)生進(jìn)位時(shí)置1;np:操作結(jié)果低8位為偶數(shù)個(gè)1時(shí)置1;na:算術(shù)運(yùn)算中,低字節(jié)中低4位產(chǎn)生進(jìn)位或錯(cuò)位時(shí)置1;nz:操作結(jié)果為0時(shí)置1;ns:若操作結(jié)果是負(fù)數(shù)時(shí)置1;nt:可由指令設(shè)置,1為可單步執(zhí)行指令;ni:可由指令設(shè)置,1為允許外部中斷請求;nd:可由指令設(shè)置,1為使用串操作指令時(shí)地址指針遞減;no:運(yùn)算結(jié)果以補(bǔ)碼表示超出范圍時(shí)置1。n其他位保留。1514131

15、211 109876543210o d itszapc(2)中斷中斷ncpu要能在適當(dāng)?shù)闹噶钪芷趦?nèi)判斷是否有內(nèi)部或外部中斷請求,當(dāng)判斷有中斷請求并可能接受中斷請求后,自動(dòng)轉(zhuǎn)入中斷服務(wù)程序。n在完成中斷服務(wù)后能自動(dòng)繼續(xù)執(zhí)行被中斷的程序。 n 支持硬件中斷優(yōu)先級別,若有幾個(gè)中斷源同時(shí)申請中斷,cpu首先響應(yīng)級別高的中斷申請,中斷級別高的中斷源可中斷低級別的中斷服務(wù)程序。例如,m68000有七級硬中斷、intel 有二級硬中斷。(3)存儲(chǔ)器存儲(chǔ)器n 存儲(chǔ)器是計(jì)算機(jī)的核心部件,一般采用三級存儲(chǔ)體系以解決對存儲(chǔ)器的容量、速度和價(jià)格的需求矛盾。n 第一級是高速緩沖存儲(chǔ)器(簡稱緩存第一級是高速緩沖存儲(chǔ)器(簡

16、稱緩存cache),也叫隱藏存儲(chǔ)器。它對于用戶是透明的,即操作系統(tǒng)把正在使用的一部分程序或即將要使用的一部分程序由內(nèi)存(主存)復(fù)制到緩存中,cpu直接對緩存讀寫,由于緩存的讀寫速度與cpu的執(zhí)行指令速度相匹配,從而充分發(fā)揮了cpu的高速控制、運(yùn)算能力。目前緩存命中率可達(dá)90%以上。 n 第二級是主存儲(chǔ)器第二級是主存儲(chǔ)器,要執(zhí)行的程序代碼(包括要使用的數(shù)據(jù))必須事先讀入內(nèi)存方可在cpu的控制下自動(dòng)執(zhí)行。主存儲(chǔ)器越大,執(zhí)行程序就越方便。 n第三級是外部存儲(chǔ)器第三級是外部存儲(chǔ)器,一般指軟、硬磁盤、光盤等。這些介質(zhì)存放已編制好的程序或數(shù)據(jù),較小的程序可一次裝(讀)入內(nèi)存,較大的程序需要采用程序覆蓋技術(shù)

17、,分段裝入內(nèi)存,不斷覆蓋掉已經(jīng)執(zhí)行完的程序段。(4) 操作系統(tǒng)的人操作系統(tǒng)的人機(jī)界面機(jī)界面n1) 圖形用戶接口(圖形用戶接口(gui)n支持圖形命令方式的操作系統(tǒng)稱為窗口系統(tǒng),最典型的是微機(jī)上使用的windows(視窗)(windows nt)和unix系統(tǒng)使用的x windows(x 窗口)。 n1998年為gui制定了圖形接口的標(biāo)準(zhǔn)部件,包括:n窗口:終端屏幕上的一個(gè)矩形區(qū)域,由標(biāo)題欄、菜單欄、邊框、控制按鈕、用戶區(qū)等組成。n菜單:一系列可選的命令。n對話框:包括顯示消息和輸入請求信息對話框。n命令按鈕:表示執(zhí)行某個(gè)具體命令的圖標(biāo)。n各種具有g(shù)ui接口形式的操作系統(tǒng)或應(yīng)用軟件都有類似的界面

18、風(fēng)格。 2)終端命令方式終端命令方式n 對于專業(yè)人員來講,使用已經(jīng)熟記的對于專業(yè)人員來講,使用已經(jīng)熟記的終端命令來指揮計(jì)算機(jī)工作效率最高。終端命令來指揮計(jì)算機(jī)工作效率最高。n例如:在dos操作系統(tǒng)中,如下命令代表:ndir 列出當(dāng)前磁盤目錄ncopy x y 把x文件拷貝一份,但文件名改為y3 操作系統(tǒng)軟件功能n操作系統(tǒng)統(tǒng)一管理4類資源:n存儲(chǔ)器存儲(chǔ)器 三級管理三級管理n處理器(處理器(cpu) 解決cpu(或多個(gè)cpu)與內(nèi)存儲(chǔ)器速度間的不匹配的矛盾。 ni/o設(shè)備 n程序和數(shù)據(jù)n操作系統(tǒng)對資源管理的主要功能包括監(jiān)視資源、管理策略、根據(jù)策略實(shí)施分配資源和用畢回收資源。 (1) 進(jìn)程管理進(jìn)程管

19、理n什么是作業(yè)、進(jìn)程 n指令指令(instruction)是計(jì)算機(jī)執(zhí)行動(dòng)作的最小單位,它指揮計(jì)算機(jī)完成一個(gè)簡單的操作 。n程序程序(program)是一系列排列有序的指令和數(shù)據(jù)的集合稱為程序,它可以使計(jì)算機(jī)完成一套完整的功能。n作業(yè)作業(yè)(job) 是用戶交由計(jì)算機(jī)執(zhí)行的一個(gè)或若干個(gè)相互關(guān)聯(lián)的程序。 n進(jìn)程進(jìn)程(process, linux把進(jìn)程也稱為任務(wù)task) 程序調(diào)入內(nèi)存后,必須根據(jù)現(xiàn)有的計(jì)算機(jī)環(huán)境條件決定是否能執(zhí)行,正在運(yùn)行的程序和環(huán)境的結(jié)合構(gòu)成一個(gè)運(yùn)行實(shí)體,該實(shí)體稱為進(jìn)程。n 對于操作系統(tǒng)而言,它在接受并執(zhí)行用戶作業(yè)時(shí)除了啟動(dòng)程序外,還要?jiǎng)?chuàng)造為了執(zhí)行程序所需要的環(huán)境,即執(zhí)行進(jìn)程。程序

20、只要不被刪除就永程序只要不被刪除就永遠(yuǎn)存在,而進(jìn)程是程序執(zhí)行的一個(gè)過程。遠(yuǎn)存在,而進(jìn)程是程序執(zhí)行的一個(gè)過程。一個(gè)進(jìn)程有它的建立、執(zhí)行和撤消過程。操作系統(tǒng)為執(zhí)行同一個(gè)程序所建立的進(jìn)程在不同的資源環(huán)境下有可能不同,當(dāng)然執(zhí)行的最后結(jié)果應(yīng)當(dāng)是一樣的。 1)進(jìn)程狀態(tài))進(jìn)程狀態(tài)n由于進(jìn)程是程序執(zhí)行的過程,因而它的狀態(tài)會(huì)隨著程序的執(zhí)行、資源環(huán)境的變化(其他進(jìn)程的建立肯定會(huì)影響對資源的使用)、各種預(yù)定或突發(fā)事件(隨機(jī)中斷)的發(fā)生等等,使得進(jìn)程狀態(tài)在不斷變化。進(jìn)程基本有四種狀態(tài):n. 運(yùn)行(running)狀態(tài)。 進(jìn)程在處理機(jī)上正在執(zhí)行。n. 就緒(ready)狀態(tài)。 進(jìn)程已獲得一切必要的資源,一旦獲得處理機(jī)即

21、可運(yùn)行。 n. 等待(bloked)狀態(tài)或睡眠狀態(tài)。 當(dāng)進(jìn)程所需的資源不足,或等待輸入/輸出完成的消息時(shí),雖然操作系統(tǒng)可以把處理機(jī)分配給它,但仍不能繼續(xù)執(zhí)行,此時(shí)進(jìn)程處于等待狀態(tài)。n. 僵死(zombie)狀態(tài)。 進(jìn)程終止,但記錄進(jìn)程狀態(tài)的記錄仍存在。2)進(jìn)程控制塊)進(jìn)程控制塊n進(jìn)程中的程序(包括數(shù)據(jù))是靜態(tài)的,整個(gè)進(jìn)程是動(dòng)態(tài)的,因此,操作系統(tǒng)若要控制進(jìn)程的活動(dòng)過程,就必須開辟一部分存儲(chǔ)器空間來記錄有關(guān)進(jìn)程的信息。操作系統(tǒng)把這些信息放在進(jìn)程控制塊(process control block ,簡稱pcb)中。npcb是一種數(shù)據(jù)結(jié)構(gòu),不同的操作系統(tǒng)可是一種數(shù)據(jù)結(jié)構(gòu),不同的操作系統(tǒng)可采用不同結(jié)構(gòu)。

22、采用不同結(jié)構(gòu)。 3)進(jìn)程調(diào)度)進(jìn)程調(diào)度n 進(jìn)程本身沒有啟動(dòng)或終止其他進(jìn)程的功能,切換進(jìn)程是靠操作系統(tǒng)的進(jìn)程調(diào)度程序執(zhí)行的。當(dāng)一個(gè)進(jìn)程的已獲得除cpu之外的所有資源后,調(diào)度程序會(huì)根據(jù)某種算法啟動(dòng)該進(jìn)程。 例如linux 操作系統(tǒng)把cpu中寄存器的現(xiàn)狀保存到task_struct中。限制每個(gè)進(jìn)程每次占用cpu的時(shí)間(200毫秒),這樣即便某進(jìn)程出現(xiàn)死循環(huán)現(xiàn)象,也不會(huì)造成整個(gè)系統(tǒng)陷入死循環(huán)。 (2) 存儲(chǔ)管存儲(chǔ)管理n 所謂實(shí)存實(shí)存即實(shí)際存在的物理內(nèi)存物理內(nèi)存(main memory,主存儲(chǔ)器),管理這部分內(nèi)存時(shí)主要考慮在多任務(wù)情況下如何分配內(nèi)存以及當(dāng)實(shí)際內(nèi)存單元數(shù)量超出可編址范圍后如何管理編址范圍外

23、的內(nèi)存;所謂虛存即非實(shí)際存在的物理內(nèi)存,它是外存儲(chǔ)器(一般是硬磁盤)的一種虛擬映像,利用管理內(nèi)存的方法來管理這些硬盤空間。1)固定分區(qū))固定分區(qū)n 操作系統(tǒng)將內(nèi)存中固定地址的存儲(chǔ)區(qū)存放專門的程序。例如ms dos 操作系統(tǒng)把內(nèi)存的0號單元開始的1k字節(jié)定義為系統(tǒng)的中斷向量區(qū),在這個(gè)區(qū)中存放可用的255個(gè)(有的位置暫時(shí)保留未用)中斷調(diào)用程序的起始地址。 n為了解決如何尋找大于1mb的地址,操作系統(tǒng)把大于1mb的內(nèi)存稱為擴(kuò)充內(nèi)存(extended memory)。擴(kuò)充內(nèi)存最前面的64kb為高內(nèi)存區(qū)hma(high memory area),可以把操作系統(tǒng)調(diào)入hma以增加可用的常規(guī)內(nèi)存使用區(qū)。64m

24、b內(nèi)存的主存儲(chǔ)器劃分方法可下圖。n 2)虛擬內(nèi)存管理)虛擬內(nèi)存管理nwindows 可以在磁盤分區(qū)中由用戶或自動(dòng)選擇一定數(shù)量的磁盤空間作為虛擬內(nèi)存使用。linux則在安裝系統(tǒng)時(shí)由用戶專門劃分一個(gè)磁盤分區(qū)(一般是實(shí)存的2倍)作為交換(swap )分區(qū),來實(shí)現(xiàn)虛擬內(nèi)存。 linux的虛擬內(nèi)存采用分頁機(jī)制 (3) 文件管理文件管理n 不同的操作系統(tǒng)采用了不同的實(shí)際物理存儲(chǔ)格式。建立存儲(chǔ)格式的軟件是對磁盤進(jìn)行分區(qū)和格式化的程序。以linux 為例,它采用ext2格式,這種格式可以兼容dos操作系統(tǒng)的fat、windows的fat32、windows nt的ntfs以及cd-rom的iso9660等格式

25、。反之,多數(shù)其他文件系統(tǒng)不兼容ext2格式,例如dos和windows都不能訪問linux文件系統(tǒng)。1)文件目錄和文件名文件目錄和文件名n 在dos中把軟盤、光盤、硬盤分區(qū)都以盤符表示,其上的文件都各自存放在其根或各級子目錄中。windows把文件都各自存放在其根或文件夾(各級子目錄)中。n而linux中沒有盤符的概念,僅有統(tǒng)一的根目錄/(注意:反斜杠 在linux中用作命令續(xù)行符)和根下的各級子目錄。軟盤、光盤、硬盤分區(qū)都以子目錄表示。2) dos 目錄目錄3) windows 文件夾文件夾4) windows 文件類型(4) 設(shè)備管理n 一般情況下,即使外部設(shè)備硬件上已一般情況下,即使外部

26、設(shè)備硬件上已裝入到計(jì)算機(jī)上,若未安裝其驅(qū)動(dòng)程序,裝入到計(jì)算機(jī)上,若未安裝其驅(qū)動(dòng)程序,操作系統(tǒng)也無法對它管理,因而不能使用。操作系統(tǒng)也無法對它管理,因而不能使用。n 在dos、windows、linux采用不同的方式管理設(shè)備。 n 近來流行的“即插即用”技術(shù),并非不需要驅(qū)動(dòng)程序,只不過是操作系統(tǒng)中預(yù)先安裝了標(biāo)準(zhǔn)的外部設(shè)備驅(qū)動(dòng)程序,許多外部設(shè)備廠依照標(biāo)準(zhǔn)設(shè)計(jì)硬件接口而已。當(dāng)硬件有較大改進(jìn)后,仍需要安裝廠家提供的驅(qū)動(dòng)程序,以便操作系統(tǒng)管理該設(shè)備。4 操作系統(tǒng)的安全操作系統(tǒng)的安全n(1)用戶管理n(2)文件使用權(quán)限n(3)補(bǔ)救操作失誤n(4)防止惡意攻擊 操作系統(tǒng)應(yīng)用舉例n 3.2.2 計(jì)算機(jī)語言編譯

27、系統(tǒng)n 1 低級語言n 用一組易記的符號代表一個(gè)機(jī)器指令,如用“add 1,2”代表一次加法1+2,用“sub 1,2”代表一次減法1-2,匯編語言中的一條指令一般與一條機(jī)器指令相對應(yīng)。機(jī)器語言和匯編語言都是面向具體計(jì)算機(jī)面向具體計(jì)算機(jī)的語言的語言,每一種類型的計(jì)算機(jī)都有自己的機(jī)器語言和匯編語言,不同機(jī)器之間互不相通。由于它們依賴于具體的計(jì)算機(jī),被稱為“低級語言”。n 1 低級語言n真正的機(jī)器指令中,只包含0和1兩個(gè)代碼, 許多個(gè)0,1代碼放在一起,構(gòu)成了多種組合形式,每一種都可以指定一種操作。例如,有的機(jī)器中,讓10110110表示做加法的命令,用10110101表示做減法的命令。在這里做加

28、法還是做減法只指出了做何種操作,大多數(shù)操作還需要操作數(shù)。因此,對操作數(shù)的說明也應(yīng)該反映在指令當(dāng)中。 n 操作碼是用來表示機(jī)器待執(zhí)行的任務(wù)的說明。如加、減、乘、除、移位、傳送、輸出、停機(jī)等操作。地址碼是用來表示操作數(shù)在存儲(chǔ)器中所處的位置。如圖下所示:每個(gè)地址對應(yīng)著一個(gè)存儲(chǔ)單元,存儲(chǔ)單元之中的內(nèi)容就是具體的操作數(shù)值。事時(shí)上,存儲(chǔ)單元中存放的不僅僅是數(shù)據(jù),指令也是存儲(chǔ)在存儲(chǔ)單元中的。不論是數(shù)據(jù)還是指令,它們的位置都是以地址的形式給出的。計(jì)算 f=ax+b n第一步:通過鍵盤或其它輸入方式將上表中的指令及數(shù)據(jù)代碼送入計(jì)算機(jī)09號單元之中。n第二步:啟動(dòng)主機(jī)后,計(jì)算機(jī)便自動(dòng)按照存儲(chǔ)器中存放指令的順序,有

29、序地逐條地執(zhí)行各條指令,完成序列中所有紙令的全部操作。n第三步: 當(dāng)機(jī)器執(zhí)行完最后一條指令后,機(jī)器停止工作。n 對于未經(jīng)過專門訓(xùn)練的用戶而言,用對于未經(jīng)過專門訓(xùn)練的用戶而言,用二進(jìn)制碼表示的指令很難掌握。二進(jìn)制碼表示的指令很難掌握。2 高級語言n20世紀(jì)50年代,出現(xiàn)了“高級語言”。它不依賴于具體的計(jì)算機(jī),而是在各種計(jì)算各種計(jì)算機(jī)上都通用的一種計(jì)算機(jī)語言機(jī)上都通用的一種計(jì)算機(jī)語言。高級語言接近人們習(xí)慣使用的自然語言和數(shù)學(xué)語言,使人們易于學(xué)習(xí)和使用,人們認(rèn)為,高級語言的出現(xiàn)是計(jì)算機(jī)發(fā)展史上一次驚人的成就,使千萬非專業(yè)人員能方便地編寫程序,操縱使用計(jì)算機(jī)按人們的指令進(jìn)行工作。n。3 編譯系統(tǒng)n計(jì)算

30、機(jī)本身是不能直接識別高級語言。必須將高級語言的程序翻譯成計(jì)算機(jī)能識別的機(jī)器指令,計(jì)算機(jī)才能執(zhí)行。這個(gè)翻譯的工作是由“編譯系統(tǒng)編譯系統(tǒng)”軟件軟件來完成的。 n不同類型的計(jì)算機(jī)上使用的翻譯軟件是不同的。因此,在一臺計(jì)算機(jī)上能運(yùn)行某一種高級語言程序的條件是:必須在此計(jì)算機(jī)系統(tǒng)上配有此語言的編譯系統(tǒng)。例如要在一臺微機(jī)上運(yùn)行c語言程序,必須先將為該微機(jī)設(shè)計(jì)的c編譯系統(tǒng)裝入計(jì)算機(jī)內(nèi)。編譯過程n一般編譯分2次進(jìn)行:n 首先編譯器(程序)把用高級語言書寫的源代碼(字符、符號)通讀一遍,然后檢查有無語法錯(cuò)誤,如有錯(cuò)誤,分析出錯(cuò)原因,并給出提示;n然后,對無語法錯(cuò)誤的源程序進(jìn)行代碼轉(zhuǎn)換,包括把符號指令轉(zhuǎn)為二進(jìn)制指

31、令碼,加入一些公用的程序段,分配內(nèi)存資源等工作,最后形成統(tǒng)一的一個(gè)或一組可執(zhí)行的程序,存到磁盤上。 n 有些編譯器不生成可執(zhí)行代碼文件,稱為解釋器,例如basic語言就可一邊解釋源程序,一邊執(zhí)行。n 有些編譯器可把已經(jīng)編譯后的程序反編譯成它的源程序,稱為反編譯器。n 反編譯器多數(shù)用來刨析可執(zhí)行程序,以發(fā)現(xiàn)程序的設(shè)計(jì)機(jī)密。n 4 源程序設(shè)計(jì)步驟n計(jì)算機(jī)的解題過程n無論多么復(fù)雜的應(yīng)用問題,深入到計(jì)算機(jī)硬件一級時(shí),就只有加法和傳遞兩種算術(shù)運(yùn)算(其效果相當(dāng)于加、減、乘、除)和與、或、非等邏輯運(yùn)算了。因此,在此之前,需要做大量的工作。從拿到一個(gè)任務(wù)到得出正確的結(jié)果,要經(jīng)過以下幾個(gè)階段: n(1) 建立數(shù)

32、學(xué)模型n對于一個(gè)實(shí)際問題的解決,首先要將其數(shù)學(xué)化,將一個(gè)物理狀態(tài)或工作過程用數(shù)學(xué)形示表示出來。這部分工作常常由本領(lǐng)域的科技人員來完成。n(2) 確定計(jì)算方法n必須將數(shù)學(xué)模型進(jìn)一步處理將其表示成只包含加、減、乘、除的算術(shù)運(yùn)算和與、或、非邏輯運(yùn)算的近似公式。 n例如,對于 sin(x) 來說只能采用近 似計(jì)算的方法,所以計(jì)算機(jī)是按照下列公式來實(shí)現(xiàn)對 sin ( x ) 的求值 n(3) 編制解題程序n所謂程序就是用計(jì)算機(jī)語言(包括機(jī)器語言和高級語言)寫出的具體的結(jié)題步驟。它告訴計(jì)算機(jī)做什么以及怎樣做。 n程序本身并不是機(jī)器所能識別的形式(或稱指令),程序只是用一些由英文助記符規(guī)定的語句按一定的語法規(guī)則所描述的算法,機(jī)器只能識別機(jī)器指令。因此在執(zhí)行程序之前,還必須經(jīng)過一個(gè)叫編譯的過程,編譯的功能可以比喻成人和機(jī)器之間的翻譯,它把程序翻譯成機(jī)器所能讀懂的機(jī)器指令。運(yùn)算序列的特征n有限性有限性:即序列的項(xiàng)數(shù)有限,且每一運(yùn)算項(xiàng)都可在有限的時(shí)間內(nèi)完成; n確定性確定性:即序列的每一項(xiàng)運(yùn)算都有明確的定義,無二義性; n有輸出運(yùn)算有輸出運(yùn)算:可以沒有輸入運(yùn)算項(xiàng),但一定要有輸出運(yùn)算項(xiàng);

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論