四級網(wǎng)絡工程師 操作系統(tǒng) 第一章 操作系統(tǒng)概論
第一章 操作系統(tǒng)概論
1、用—個專門的寄存器來指示處理器狀態(tài)稱為程序狀態(tài)字(PSW):
①??? CF:進位標志位。
②??? ZF:結(jié)果為零標志位。
③??? SF:符號標志位。
④??? OF:溢出標志位。
幾乎所有的微型計算機的PSW中都有與這四個標志位類似的標志位。有時稱這四種標志位為標準條件位。
?
①??? TF:陷阱標志位。
②??? IF:中斷使能(中斷屏蔽)標志位。
③??? VIF:虛擬中斷標志位。
④??? VIP:虛擬中斷待決標志位。
這里VIF和VIP用于支持對一類可屏蔽的硬件中斷處理。
?
①??? IOPL:IO特權級別,它的作用在前面已有敘述。
?
?
2、特權指令包括翰入翰出指令、停機指令等,只有在監(jiān)控程序才能執(zhí)行特權指令,只能在內(nèi)核態(tài)下運行;用戶只能執(zhí)行一股指令,在用戶態(tài)下運行。
(1)屏蔽中斷、置程序計數(shù)器、清指令寄存器、清溢出標志關中斷指令屬于特權指令,只能是在系統(tǒng)內(nèi)核態(tài)下運行。
(2)置移位方向標志位、讀時鐘指令、取數(shù)指令、移位指令屬于非特權指令,可以在內(nèi)核態(tài)下運行又可以在用戶態(tài)下運行。
機器處于核心態(tài)是可以執(zhí)行硬件所提供的全部指令,包括特權指令和非特權指令。
在核心態(tài)時可利用特權指令修改程序狀態(tài)字轉(zhuǎn)換為用戶態(tài)。
用戶態(tài)轉(zhuǎn)換為核心態(tài)的唯一的途徑是訪管中斷。
用戶程序不能直接使用持權指令。如果用戶程序在用戶態(tài)下執(zhí)行了特權指令,則引起訪管中斷,這也是CPU由用戶態(tài)向核心態(tài)轉(zhuǎn)換的方法。
當用戶程序需要調(diào)用操作系統(tǒng)所提供的文件讀寫功能時,該功能首先執(zhí)行的指令是訪管指令。
?
3、常見的操作系統(tǒng)體系結(jié)構有:
(1)整體式結(jié)構
(2)層次式結(jié)構
(3)微內(nèi)核(客戶機/服務器)結(jié)構,優(yōu)點:
①高可靠性:系統(tǒng)服務或者設備驅(qū)動故障和與它們有關的運行任務是隔絕的;
②高靈活性:當運行一個應用程序時,只需把選定的系統(tǒng)服務加載到系統(tǒng)中即可;
③適臺分布式處理:一個精煉的微內(nèi)核接口能夠有演繹成更多模塊的系統(tǒng)結(jié)構。
?
4、操作系統(tǒng)作為系統(tǒng)軟件,位于軟件系統(tǒng)的硬件之上和支撐軟件之下的層面,集中了資源管理功能和控制程序執(zhí)行功能。
?
5、操作系絨提供了3類型的接口供用戶使用:
①命令接口:
提供一組命令供用戶直接或間接操作。根據(jù)作業(yè)的方式不同,命令接口又分為聯(lián)機命令接口和脫機命令接口。
②程序接口:
程序接口由一組系統(tǒng)調(diào)用命令組成,提供一組系統(tǒng)調(diào)用命令供用戶程序使用。
fork()創(chuàng)建進程采用了系統(tǒng)調(diào)用命令接口。
③圖形界面接口:
通過圖標、窗口、菜單、對話框及其他元素和文字組合,在桌面上形成一個直觀易懂,使用方便的計算機操作環(huán)境。
操作系統(tǒng)為用戶提供了多種使用接口,它們是:圖標和菜單、命令行、系統(tǒng)調(diào)用。
?
6、操作系統(tǒng)的功能主要可以分為:
(1)進程管理(處理器管理)
①進程控制
②進程同步
③進程間通信
④調(diào)度
?
(2)存儲管理
存儲管理的任務是管理計算機內(nèi)存的資源。
存儲管理有三個方面的功能:完成虛擬地址到物理地址的轉(zhuǎn)換、管理內(nèi)存分配表、檢查進程地址空間是否出現(xiàn)地址越界問題、將磁盤上的代碼調(diào)入內(nèi)存、內(nèi)存擴充
①內(nèi)存的分配與回收:操作系統(tǒng)要為每個進程所占據(jù)的內(nèi)存空間,在分配的過程中,還要盡可能提高內(nèi)存資源的使用效能。
②存儲保護:必須考慮程序可能發(fā)生越界的情況,保護整個用戶及計算機系統(tǒng)的程序運行。
③內(nèi)存擴充:借助于虛擬技術在邏輯上增加進程運行空間的大小,這個大小比實際的物理內(nèi)存大得多。操作系統(tǒng)把正在使用的頁面保持在內(nèi)存中即將使用的頁面調(diào)入到內(nèi)存中,用戶就感受不到空間使用的限制。
?
(3)文件管理
文件管理的任務是有效的支持文件的存儲、檢索和修改等操作,解決文件的共享、保密和保護問題,以使用戶方便、安全地訪問文件,主要涉及3個方面: 管理磁盤空間、磁盤碎片整理、建立文件目錄、設置文件的存取權限。
①文件存儲空間的管理:管理磁盤空間和磁盤碎片整理。
②目錄管理:給出組織文件的方法,為每個文件建立目錄項,并對眾多的目錄項加以有效的組織,以便為用戶提供方便的按名存取。
③文件系統(tǒng)的安全性:文件的讀寫權限以及存取控制。
?
(4)用戶接口(作業(yè)管理)
接口管理的任務是為用戶提供一個使用系統(tǒng)良好環(huán)境,為用戶程序提供系統(tǒng)調(diào)用接口。
為用戶程序提供系統(tǒng)調(diào)用接口
(5)設備管理
設備管理是指計算機系統(tǒng)中除了CPU和內(nèi)存以外的所有輸入、輸出設備的管理。
由操作系統(tǒng)的設備管理功能負責外部設備的分配,啟動和故障處理。
在操作系統(tǒng)中,為了提高設備的使用效率和整個系統(tǒng)的運行速度,需要采用一系列的技術,包括中斷技術、通道技術、虛擬設備技術和緩沖技術等,盡可能發(fā)揮設備和主機的并行工作能力。
提供緩沖技術
管理通道、網(wǎng)卡等相關的數(shù)據(jù)結(jié)構
提供虛設備技術
?
?
?
7、內(nèi)核提供所有操作系統(tǒng)基本都具有的那些操作,如:線程調(diào)度、虛擬存儲、消息傳遞、設備驅(qū)動以及內(nèi)核原語操作集和中斷處理等。而用戶應用程序?qū)儆诓僮飨到y(tǒng)用戶程序。
?
8、(1)操作系統(tǒng):Ubuntu、Windows、UNIX、BSD、DOS
(2)網(wǎng)絡協(xié)議:TCP/IP2
(3)簡單網(wǎng)絡郵件協(xié)議:SNMP
(4)Tivoli是管理大型軟件的管理環(huán)境,屬于應用軟件,不是操作系統(tǒng)
(5)Eclipse一種是Java語言集成開發(fā)工具,不是操作系統(tǒng)。
?
9、進程管理實質(zhì)是對中央處理器進行管理。進程管理主要包括進程控制、進程同步、進程通信和進程調(diào)度。
(1)進程控制的主要任務是創(chuàng)建進程、撤銷結(jié)束的進程以及控制進程運行時候的各種狀態(tài)轉(zhuǎn)換。
(2)進程同步主要處理進程之間的關系,包括進程的同步和互斥;進程間通信主要處理相互協(xié)作進程之間信息的交換問題。
(3)進程調(diào)度則是按照一定的算法從就緒隊列中挑選一個進程在處理器中真正執(zhí)行它
中斷服務程序是固定在某個地址的代碼段,沒有進程的概念。
能作為進程來管理:內(nèi)存換頁程序、打印程序、用戶應用程序。
?
10、write()會把參數(shù)buf所指的內(nèi)存寫入count個字節(jié)到參數(shù)fd所指的文件內(nèi)。當然,文件讀寫位置也會隨之移動。若用戶編程需要打印輸出,需要系統(tǒng)調(diào)用write()。
?
11、按照用戶界面的使用環(huán)境和功能持征的不同,一般可以把操作系統(tǒng)分為3種基本類型:
(1)批處理系統(tǒng)(Batch Processing Operating System):
①優(yōu)點:是作業(yè)流程自動化較高,資源利用率較高,作業(yè)吞吐量大,從而提高了整個系統(tǒng)效率。成批處理用戶提交的作業(yè)、作業(yè)吞吐率高。
②缺點:是用戶不能直接與計算機交互,不臺適調(diào)試程序。用戶無法干預作業(yè)的運行、缺少交互性。
?
(2)分時系統(tǒng)(time-sharing system):
總體上看,分時操作系統(tǒng)具有多路性、交互性、獨占性和及時性的特點。
①多路性:指有多個用戶在同時使用一臺計算機。從宏觀上看是多個人同時使用一個處理器,從微觀上看是多個人在不同時刻輪流使用一個處理器。
②交互性:用戶根據(jù)系統(tǒng)響應的結(jié)果提出下一個請求,方便調(diào)試程序。用戶直接干預操作每一步的進行。
③獨占性:每個用戶感覺不到計算機為其他人服務,好像整個系統(tǒng)為他個人所獨占一樣。
④及時性:指系統(tǒng)能夠?qū)τ脩籼岢龅恼埱蠹皶r給予響應。
?
(3)實時系統(tǒng)(Real-time system,RTS):
實時操作系統(tǒng)是指使計算機能在規(guī)定的時間內(nèi)及時響應外部事件的請求,同時完成對該事件的處理,并能夠控制所有實時設備和實時任務協(xié)調(diào)—致地工作的操作系統(tǒng),它的特點有:
①在嚴格的時間范圍內(nèi),實時響應用戶的請求
②過載防護能力
③高可靠性
?
隨著計算機體系結(jié)構的發(fā)展,又出現(xiàn)了許多類型的操作系統(tǒng):個人計算機操作系統(tǒng)、網(wǎng)絡操作系統(tǒng)、嵌入式操作系統(tǒng)、分布式操作系統(tǒng)(distributed)和嵌入式操作系統(tǒng)。
交互式操作系統(tǒng)(interactive)是指能為用戶提供交互式操作支持的操作系統(tǒng)。
沒有工業(yè)操作系統(tǒng)。
?
(4)分布式操作系統(tǒng)的主要特點有:
(1)分布式操作系統(tǒng)是一個統(tǒng)一的操作系統(tǒng),系統(tǒng)內(nèi)所有主機使用同—個操作系統(tǒng)
(2)實現(xiàn)系統(tǒng)內(nèi)資源的深度共享
(3)透明性:用戶無需了解系統(tǒng)內(nèi)本地主機或異地主機的差異
(4)自治性:各個主機關系都處于平等的地位,沒有主從關系,不分主次
(5)具有較高的可靠性。
?
12、操作系統(tǒng)是計算機系統(tǒng)中的一個系統(tǒng)軟件,它是這樣一些程序模塊的集合——它們能有效地組織和管理計算機系統(tǒng)中的硬件和軟件資源,合理地組織計算機的工作流程,控制程序的執(zhí)行,并向用戶提供各種服務功能,使用戶能夠靈活、方便、有效地使用計算機,并使整個計算機系統(tǒng)能高效地運行?!昂侠?#34;是指操作系統(tǒng)要“公平"對待不同的用戶程序,保證系統(tǒng)不發(fā)生"死鎖""和"饑餓"的現(xiàn)象。
操作系統(tǒng)作為系統(tǒng)軟件,為用戶提供了高效使用計算機的接口
(1)從軟件設計和開發(fā)角度來看,操作系統(tǒng)是軟件開發(fā)基礎平臺,是一個基礎軟件和工具軟件,是一個大型軟件。屏蔽了管理和控制計算機硬件與軟件資源的底層操作,并提供了高層次軟件調(diào)用的接口。操作系統(tǒng)是最基本的系統(tǒng)軟件,它控制著計算機所有的資源并提供應用程序開發(fā)的接口。
(2)從安全保護角度來看,操作系統(tǒng)的主要作用是提供第—道安全防線。
(3)從黑客和網(wǎng)絡攻擊角度來看,操作系統(tǒng)是首先要突破的防線。
(4)從用戶的觀點看,操作系統(tǒng)是用戶與計算機系統(tǒng)之間的接口,提供給用戶的接口是命令輸入和系統(tǒng)調(diào)用。
(4)從應用角度來看,操作系統(tǒng)的主要作用是提供人機交互接口,是一個系統(tǒng)軟件。操作系統(tǒng)管理和控制計算機硬件與軟件資源的計算機程序,是用戶和計算機的接口,同時也是計算機硬件和其他軟件的接口。操作系統(tǒng)是—種管理計算機系統(tǒng)資源,控制程序執(zhí)行,改善人機界面和為其他軟件提供支持的系統(tǒng)軟件。從應用角度看,對于網(wǎng)絡攻擊者來說,操作系統(tǒng)就成了首先要突破的防線。
(6)從計算機系統(tǒng)發(fā)展角度來看,操作系統(tǒng)的主要作用是提供虛擬機和擴展機。操作系統(tǒng)是在原來計算機(裸機)擴充成為功能強、使用方便的計算機系統(tǒng),這種計算機系統(tǒng)稱為虛擬計算機。
(7)從擴展角度來看,操作系統(tǒng)為用戶提供了一臺虛擬機。將操作系統(tǒng)功能分成若干層次,每一個層次完成特定的功能,從而構成一個虛擬機。
?
13、Android是一種基于Linux的自由及開放源代碼的操作系統(tǒng),主要使用于移動設備,如智能手機和平板電腦,由Google公司和開放手機聯(lián)盟領導及開發(fā)。由于其移動設備的特性,其特點就是支持移動應用和支持網(wǎng)絡。
?
14、操作系統(tǒng)的共享性是指操作系統(tǒng)程序與多個用戶程序共用系統(tǒng)中的各種資源,這種共享性并不是隨時隨地的,而是在一定的策略控制下按不同資源類型共同占有使用。它分為互斥共享和同時共享兩種形式。
①系統(tǒng)中有一類資源,在同一時間內(nèi)可以被訪問多個程序同時訪問被稱“同時共享"。硬盤則可以由不同程序共同使用,稱為同時共享。
②系統(tǒng)中的有些資源雖然可以供多個用戶程序同時使用,但是在一段特定的時間內(nèi)只能由某一個用戶程序使用。當這個資源正在被使用的時候,其他請求該資源的程序必須等待,并且在這個資源被使用完了以后才由操作系統(tǒng)根據(jù)一定的策略再選擇一個用戶程序占有該資源。資源“互斥共享"是指當這資源正在被使用的時候,其他請求該資源的程序必須等待,并且在這個資源被使用完了以后才由操作系統(tǒng)根據(jù)一定的策略在選擇一個用戶程序占有該資源。中央處理器以及存儲器的所有進程都是允許不同程序交替輪流占用它,可互斥共享的。打印機,不同程序只能交替輪流占用它,稱為互斥共享。
(1)硬盤、可以重入的操作系統(tǒng)代碼、SPOOLing系統(tǒng)、log()函數(shù)的子程序、內(nèi)存儲器、外存儲器是共享設備,可以被共享。(同時共享)
(2)磁帶機、投影儀和掃描儀都是獨占設備,無法被同時共享,只能被互斥共享。
(3)臨界區(qū)、中斷服務程序、內(nèi)存分配模塊、打印機、臨界資源、中央處理器、存儲器都是屬于互斥共享。
內(nèi)存分配模塊只能有一個用戶程序使用,并且只有這個資源被使用完了以后才由操作系統(tǒng)根據(jù)一定的策略在選擇一個用戶程序占有該資源,通常這種資源被稱為臨界資源,只能被互斥共享。
(4)內(nèi)核調(diào)度模塊屬于軟件級別,不存在同時共享和互斥共享。
?
15、研究操作系統(tǒng)的觀點:
(1)? 軟件的觀點
(2)? 資源管理的觀點
(3)? 進程的觀點
(4)? 虛機器觀點
(5)? 服務提供者觀點
?
16、在處理器的存儲保護中,主要有兩種權限狀態(tài),一種是核心態(tài)(管態(tài)),也被稱為特權態(tài);一種是用戶態(tài)(目態(tài))。多數(shù)系統(tǒng)將處理器工作狀態(tài)劃分為管態(tài)和目態(tài)。
前者一般指操作系統(tǒng)管理程序運行的狀態(tài),具有較高的特權級別,又稱為特權態(tài)(特態(tài))、系統(tǒng)態(tài);后者一般指用戶程序運行時的狀態(tài),具有較低的特權級別,又稱為普通態(tài)(普態(tài))、用戶態(tài)。
(1)核心態(tài)(管態(tài)):操作系統(tǒng)內(nèi)核所運行的模式,運行在該模式的代碼,可以無限制地對系統(tǒng)存儲、外部設備進行訪問。操作系統(tǒng)管理程序運行的狀態(tài),具有較高的特權級別。
(2)用戶態(tài)(目態(tài)、普通態(tài)):用戶程序運行時的狀態(tài),具有較低的特權級別。
(3)系統(tǒng)調(diào)用在本質(zhì)上是應用程序請求操作系統(tǒng)核心完成某一特定功能的一種過程調(diào)用,是一種特殊的過程調(diào)用,它與一般過程調(diào)用有以下幾方面的區(qū)別:
①運行在不同的系統(tǒng)狀態(tài):
a)一般過程調(diào)用,其調(diào)用程序和被調(diào)用程序都運行在相同的狀態(tài):核心態(tài)或用戶態(tài);
b)在系統(tǒng)調(diào)用中,調(diào)用程序運行在用戶態(tài),而被調(diào)用程序則運行在系統(tǒng)態(tài)。
②狀態(tài)的轉(zhuǎn)換:
a)一般過程調(diào)用不涉及系統(tǒng)狀態(tài)的轉(zhuǎn)換,可直接由調(diào)用過程轉(zhuǎn)向被調(diào)用過程;
b)但在運行系統(tǒng)調(diào)用時,是通過軟中斷機制(陷入機制),從調(diào)用程序所在的用戶態(tài)轉(zhuǎn)到被調(diào)用程序的核心態(tài)。用戶態(tài)轉(zhuǎn)換為核心態(tài)唯—的途徑是訪管中斷。
③返回問題:a)一般過程調(diào)用在被調(diào)用過程執(zhí)行完后,將返回到調(diào)用過程繼續(xù)執(zhí)行。b)嵌套調(diào)用像一般過程調(diào)用一樣,系統(tǒng)調(diào)用也允許嵌套調(diào)用。
?
17、
八進制:7 3 6
十進制:4 7 8
二進制:1 1 1? 0 1 1? 1 1 0
?
18、在設備分配算法中,常采用的數(shù)據(jù)結(jié)構主要含4張表:
①?? 系統(tǒng)設備表SDT
②?? 設備控制表DCT
③?? 控制器控制表COCT
④?? 通道控制表CHCT
?
19、并發(fā)性是指在計算機系統(tǒng)中同時存在若干個運行著的程序,指兩個或者多個事件在同一時間的間隔內(nèi)發(fā)生。
從宏觀上看,這些程序在同時運行。
從微觀上看,這些程序是輪流占用CPU,交替運行。
在單處理機情況下,計算進程與磁盤讀寫進程微觀上占用CPU交替執(zhí)行,但宏觀上計算進程與讀寫進程是在同一時間間隔內(nèi)都活動著的。
(單CPU系統(tǒng)交替運行積分計算和磁盤讀寫的進程)
(在單處理器環(huán)境下,兩個程序交替在CPU上運行)
?
20、站在資源管理的觀點看,操作系統(tǒng)就是負責記錄誰在使用什么樣的資源,系統(tǒng)中還有哪些資源空閑,當前響應了誰對資源的要求,以及回收哪些不再使用的資源等,從而對這些資源進行有效的組織和管理,而記錄這些信息是通過各種數(shù)據(jù)結(jié)構來實現(xiàn)的。
在操作系統(tǒng)中建立了用于記錄各種軟硬件資源信息的數(shù)據(jù)結(jié)構,該數(shù)據(jù)結(jié)構的用途是:了解用戶需求和當前資源使用情況,對資源進行有效組織、管理。
?
21、隨機性是操作系統(tǒng)的特征之一,操作系統(tǒng)的運行是在一種隨機的環(huán)境下進行的,這種隨機環(huán)境的含義是,操作系統(tǒng)不能對所運行的程序的行為以及硬件設備的情況作出任何事先的假定。
一般來說,操作系統(tǒng)正處于什么樣的狀態(tài)之中是無法確切知道的,這就是隨機性的含義。所以操作系統(tǒng)內(nèi)核進行進程切換這—現(xiàn)象具有隨機性,操作系統(tǒng)內(nèi)核進行進程切換具有隨機性。
?
22、用戶可見寄存器通常對所有程序都是可用的,由機器語言直接使用。
它一般包括數(shù)據(jù)寄存器、地址寄存器以及條件碼寄存器。
?
23、在操作系統(tǒng)內(nèi)部,為了掌握整個計算機系統(tǒng)的硬件和軟件資源,設計了各種不同類型的表格或數(shù)據(jù)結(jié)構,將所有的硬件和軟件資源—一加以登記。
資源的名稱、類型、數(shù)量、用途、完好狀態(tài)以及目前使用狀態(tài)等信息,均在有關數(shù)據(jù)結(jié)構中保存,并動態(tài)、實時地不斷更新著,可以由系統(tǒng)動態(tài)更新。
操作系統(tǒng)的任務之一是組織和管理計算機系統(tǒng)中的硬件及軟件資源,為此在操作系統(tǒng)內(nèi)部設計了各種數(shù)據(jù)結(jié)構。這些數(shù)據(jù)結(jié)構在操作系統(tǒng)運行中可以由系統(tǒng)動態(tài)更新。
?
24、操作系統(tǒng)的另一項重要任務,是向用戶提供各種服務功能。一方面,向程序開發(fā)和設計人員提供高效的程序設計接口;另一方面,向使用計算機系統(tǒng)的用戶提供接口,使用戶能夠靈活、方便、有效地使用計算機。
操作系統(tǒng)的任務之一是向用戶提供各種服務功能,所謂服務功能是指提供人機交互接口。
向開發(fā)人員提供高效的編程接口。