1、操作系統(tǒng)的分類
按照操作系統(tǒng)提供的服務(wù),大致可以把操作系統(tǒng)分為有單道和多道之分的批處理系統(tǒng),有同時性和獨(dú)立性的分時系統(tǒng),有嚴(yán)格時間規(guī)定的實時系統(tǒng),可實現(xiàn)資源共享的網(wǎng)絡(luò)系統(tǒng),可協(xié)調(diào)多個計算機(jī)以完成一個共同任務(wù)的分布式系統(tǒng)。我們使有的windows是網(wǎng)絡(luò)式系統(tǒng)。
2、操作系統(tǒng)的結(jié)構(gòu)
操作系統(tǒng)具有層次結(jié)構(gòu)……
層次結(jié)構(gòu)最大特點(diǎn)是整體問題局部化來優(yōu)化系統(tǒng),提高系統(tǒng)的正確性、高效性使系統(tǒng)可維護(hù)、可移植。
主要優(yōu)點(diǎn)是有利于系統(tǒng)設(shè)計和調(diào)試;主要困難在于層次的劃分和安排。
3、操作系統(tǒng)與用戶
(1)作業(yè)執(zhí)行步驟
操作系統(tǒng)提供給用戶表示作業(yè)執(zhí)行步驟的手段有兩種:作業(yè)控制語言和操作控制命令。
作業(yè)控制語言形成批處理作業(yè)。操作控制命令進(jìn)行交互處理。
(2)系統(tǒng)調(diào)用
操作系統(tǒng)提供的系統(tǒng)調(diào)用主要有:文件操作類,資源申請類,控制類,信息維護(hù)類系統(tǒng)調(diào)用往往在管態(tài)下執(zhí)行。
當(dāng)操作系統(tǒng)完成了用戶請求的“系統(tǒng)調(diào)用”功能后,應(yīng)使中央處理器從管態(tài)轉(zhuǎn)換到目態(tài)工作。
4、移動技術(shù)
移動技術(shù)是把某個作業(yè)移到另一處主存空間去(在磁盤整理中我們應(yīng)用的也是類似的移動技術(shù))。最大好處是可以合并一些空閑區(qū)。
處理器管理
一、 多道程序設(shè)計系統(tǒng)
“多道程序設(shè)計系統(tǒng)” 簡稱“多道系統(tǒng)”,即多個作業(yè)可同時裝入主存儲器進(jìn)行運(yùn)行的系統(tǒng)。在多道系統(tǒng)中一點(diǎn)必須的是系統(tǒng)須能進(jìn)行程序浮動。所謂程序浮動是指程序可以隨機(jī)地從主存的一個區(qū)域移動到另一個區(qū)域,程序被移動后仍不影響它的執(zhí)行。多道系統(tǒng)的好處在于提高了處理器的利用率;充分利用外圍設(shè)備資源;發(fā)揮了處理器與外圍設(shè)備以及外圍設(shè)備之間的并行工作能力。可以有效地提高系統(tǒng)中資源的利用率,增加單位時間內(nèi)的算題量,從而提高了吞吐率。(關(guān)鍵詞:處理器,外圍設(shè)備,資源利用率,單位算題量,吞吐率),但要注意對每個計算問題來說所需要的時間可能延長,另外由于系統(tǒng)的資源有限,會產(chǎn)生飽和,因此并行工作道數(shù)與系統(tǒng)效率不成正比。
二、進(jìn)程
1、概念
進(jìn)程是一個程序在一個數(shù)據(jù)集上的一次執(zhí)行。由定義知進(jìn)程關(guān)鍵組成是程序、數(shù)據(jù)集。
進(jìn)程通過一個控制塊來被系統(tǒng)所指揮,因此進(jìn)程由程序、數(shù)據(jù)集和進(jìn)程控制塊三部分組成。進(jìn)程控制塊是進(jìn)程存在的唯一標(biāo)志 .進(jìn)程是要執(zhí)行的,據(jù)這點(diǎn)可分將進(jìn)程的狀態(tài)分為等待態(tài)然后是就緒態(tài)最后是運(yùn)行態(tài)。
進(jìn)程的基本隊列也就是就緒隊列和等待隊列,(因為進(jìn)程運(yùn)行了,也就用不上排隊了,也就沒有運(yùn)行隊列了。)
如果進(jìn)程由一所在隊列退出的操作稱為出隊,排入到一個指定的隊列的操作稱為入隊。系統(tǒng)中負(fù)責(zé)進(jìn)程入隊和出隊的工作稱為隊列管理。
2、進(jìn)程的調(diào)度
我們使用不同的調(diào)度是為了優(yōu)化,具體說來是提高處理器利用率,增大吞吐量,減少等待時間,縮短響應(yīng)時間。常用的算法有先來先服務(wù)、優(yōu)先數(shù)調(diào)度法、時間片輪轉(zhuǎn)調(diào)度法、分級調(diào)度(分級調(diào)度法可理解為多隊列法)。顧名思義來先服務(wù)調(diào)度是先來者,先服務(wù);優(yōu)先數(shù)算法是對每個進(jìn)程確定一個優(yōu)先數(shù),以決定先后。時間片輪轉(zhuǎn)法是把規(guī)定進(jìn)程一次使用處理器的最長時間稱為“時間片”。讓就緒進(jìn)程按就緒的先后次序排成隊列,依次運(yùn)行。分級調(diào)度算法是由系統(tǒng)設(shè)置多個就緒隊列,每個就緒隊列中的進(jìn)程按時間片輪轉(zhuǎn)法占用處理器,這就是分級調(diào)度算法。
3、進(jìn)程的切換
進(jìn)程切換指一個進(jìn)程進(jìn)處理器,另一個進(jìn)程出處理器的過程。
若有一個進(jìn)程從運(yùn)行態(tài)變成等待態(tài),或完成工作后就撤消,則必定會發(fā)生進(jìn)程切換。
4、進(jìn)程同步和通信
進(jìn)程同步實際上是指并發(fā)進(jìn)程之間的制約關(guān)系。即一個進(jìn)程的執(zhí)行依賴另一個進(jìn)程的消息。沒有消息時等待,有消息進(jìn)被喚醒。
進(jìn)程通信是進(jìn)程之大量信息的方式。
5、進(jìn)程和死鎖(詳細(xì)見后)
三、可再入程序
一個能被多個用戶同時調(diào)用的程序稱做“可再入”的程序。
可再入程序必須是純代碼,即在執(zhí)行時自身不改變。
編譯程序和操作系統(tǒng)程序通常都是“可再入”程序。
存儲管理
一、中央處理器存儲下列中信息的速度依次為:寄存器最快;通過系統(tǒng)總線存取主存儲器的速度居中;輔助存儲器最慢。
寄存器用來存放臨時的工作信息和系統(tǒng)必須的控制信息。
主存儲器是CPU能直接訪問的惟一的存儲空間。
主存儲器中存放操作系統(tǒng)的核心部分,以及當(dāng)前需執(zhí)行的程序和數(shù)據(jù)。
主存儲器以“字節(jié)(BYTE)”為單位進(jìn)行編址
輔助存儲器是存放操作下的非核心部分和其他程序和數(shù)據(jù)。容量大且能永久保存信息
磁盤的信息可隨機(jī)存取,磁帶上的信息只能順序存取。
二、儲器的地址:
主存儲器以字節(jié)為編址單位
1、物理地址與邏輯地址。
物理地址(絕對地址):128MB的主存器有128×1024×1024=134217728 字節(jié),所以它的內(nèi)存絕對地址就是從0到134217727。
邏輯地址: 用戶程序中使用的從“0”地址開始的連續(xù)地址。
三、重定位
重定位即把邏輯地址轉(zhuǎn)換成絕對地址。
重定位的方式有“靜態(tài)重定位”和“動態(tài)重定位”兩種。
(1)靜態(tài)重定位
在裝入一個作業(yè)時,把作業(yè)中的指令地址和數(shù)據(jù)地址全部轉(zhuǎn)換成絕對地址。這種轉(zhuǎn)換工作是在作業(yè)開始前集中完成的,在作業(yè)執(zhí)行過程中無需再進(jìn)行地址轉(zhuǎn)換。所以稱為“靜態(tài)重定位”。
(2)動態(tài)重定位
在裝入一個作業(yè)時,不進(jìn)行地址轉(zhuǎn)換,而是直接把作業(yè)裝到分配的主區(qū)域中。在作業(yè)執(zhí)行過程中,每當(dāng)執(zhí)行一條指令時都由硬件的地址轉(zhuǎn)換機(jī)構(gòu)轉(zhuǎn)換成絕對地址。這種方式的地址轉(zhuǎn)換是在作業(yè)執(zhí)行時動態(tài)完成的,所以稱為動態(tài)重定位。
動態(tài)重定位由軟件(操作系統(tǒng))和硬件(地址轉(zhuǎn)換機(jī)構(gòu))相互配合來實現(xiàn)。動態(tài)重定位的系統(tǒng)支持“程序浮動”,而靜態(tài)重定位則不能。
頁式管理
(1)采用頁式管理,使主存空間充分利用,頁不必為了得到連續(xù)空間而進(jìn)行移動。可以提高系統(tǒng)效率。
(2)頁式存儲管理中為什么要設(shè)置頁表和快表?
在頁式存儲管理中,主存被分成大小相等的若干塊,同時程序邏輯地址也分成與塊大小一致的若干頁,這樣就可以按頁面為單位把作業(yè)的信息放入主存,并且可以不連續(xù)存放,為了表示邏輯地址中的頁號與主存中塊號的對應(yīng)關(guān)系,就需要為每個作業(yè)建立一張頁表。
頁表一般存放在主存中,當(dāng)要按給定的邏輯地址訪問主存時,要先訪問頁表,計算出絕對地址,這樣兩次訪主存延長了指令執(zhí)行周期,降低了執(zhí)行速度,而設(shè)置一個高速緩沖寄存器將頁表中的一部分存放進(jìn)去,這部分頁表就是快表,訪問主存時二者同時進(jìn)行,由于快表存放的是經(jīng)常使用的頁表內(nèi)容,訪問速度很快,這樣可以大大加快查找速度和指令執(zhí)行速度。