計算機(jī)考研復(fù)試題_第1頁
計算機(jī)考研復(fù)試題_第2頁
計算機(jī)考研復(fù)試題_第3頁
計算機(jī)考研復(fù)試題_第4頁
計算機(jī)考研復(fù)試題_第5頁
已閱讀5頁,還剩301頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

計算機(jī)考研復(fù)試題

目錄

刖S

前沿知識

操作系統(tǒng)

操作系統(tǒng)

1.什么是操作系統(tǒng),目標(biāo)和功能是什么,特征是什么?

2.何謂批處理操作系統(tǒng)?

3.什么是單道批處理系統(tǒng),主要特征是什么?

4.什么是多道程序設(shè)計技術(shù)?基本特征是什么?引入技術(shù)哪些好處?

需要解決什么問題?

5.什么是分時技術(shù)?什么是分時系統(tǒng)?最關(guān)鍵的問題?基本特征?

批處理系統(tǒng)和分時系統(tǒng)和實時操作系統(tǒng)各有什么特點?

為什么要處理器為什么要區(qū)分核心態(tài)和用戶態(tài)兩種操作方式?在什

么情況下進(jìn)行兩種方式的切換?用戶態(tài)轉(zhuǎn)向核心態(tài)的例子?

8.試說明訪管指令、特權(quán)指令和原語

9.什么是系統(tǒng)調(diào)用?執(zhí)行過程?與一般調(diào)用有什么區(qū)別?

9.什么是中斷?中斷處理的一般過程分為哪幾個階段?用哪幾種?

10.為什么說直到出現(xiàn)中斷和通道技術(shù)后,多道程序概念才變?yōu)橛杏?/p>

的?

進(jìn)程管理

11.什么是進(jìn)程?為什么引入進(jìn)程?進(jìn)程和程序的區(qū)別?

12.進(jìn)程的最主要的特征有哪些?

13.什么是進(jìn)程實體?什么是PCB?為什么要引入PCB?為什么說PCB

是進(jìn)程唯一存在的標(biāo)志?PCB包含哪些內(nèi)容?

14.說明進(jìn)程在三個基本狀態(tài)之間轉(zhuǎn)換的典型原因。

15.什么是進(jìn)程控制?什么是原語?進(jìn)程控制原語主要有哪些?

16.創(chuàng)建原語過程?終止原語過程?

17.進(jìn)程的切換是什么?過程是怎么樣的?

18.為什么需要系統(tǒng)調(diào)用來實現(xiàn)通信?什么是進(jìn)程的通信?進(jìn)程通信

有哪些?

19.什么是線程?為什么引入線程?線程和進(jìn)程的比較?

10.什么是作業(yè)調(diào)度,進(jìn)程調(diào)度,內(nèi)存調(diào)度?什么是作業(yè)?

典型的調(diào)度算法優(yōu)缺點?

13.為什么說多級反饋隊列能夠較好的滿足要求?

L什么是進(jìn)程的同步與互斥?什么是臨界資源?什么是臨界區(qū)?臨

界資源的訪問過程有哪些?

2.簡述信號量S的物理含義。

3.什么是管程?管程的組成部分?基本特性?為什么引入?

什么是死鎖?死鎖的四個必要條件是什么?以及原因?

7.死鎖的解除有幾種方法?

8.同步機(jī)制應(yīng)遵循哪些準(zhǔn)則?

存儲管理

L在虛擬段式存儲系統(tǒng)中,引入了段的動態(tài)連接。

2.何為靜態(tài)鏈接?何謂裝入時動態(tài)鏈接和運行時動態(tài)鏈接?

3.絕對裝入方式?

4.為什么要引入動態(tài)重定位?如何實現(xiàn)?

5.什么是邏輯地址?什么是物理地址?邏輯地址空間與物理地址空

間?什么是地址重定位?什么是碎片?

6.什么是覆蓋技術(shù)?什么是交換?什么是換入和換出?

7.覆蓋技術(shù)與虛擬存儲技術(shù)有何本質(zhì)不同?交換技術(shù)與虛存中使用

的調(diào)入/調(diào)出技術(shù)有何相同

8.什么是虛擬存儲器?虛擬存儲器基本特征是什么?虛擬存儲器的

容量主要受到什么限制?試著舉一例子?

7.簡述固定分區(qū)和可變分區(qū)在管理方式上的區(qū)別?和優(yōu)缺點?

9.分區(qū)存儲管理中常采用哪些分配策略?比較它們的優(yōu)缺點

10.分段和分頁的主要區(qū)別是什么?

11.為什么說分段系統(tǒng)較之分頁系統(tǒng)更易于實現(xiàn)信息共享和保護(hù)?

12.何為頁表和快表?它們各起什么作用?

13.在有快表的情況下地址轉(zhuǎn)換過程?

13.虛擬存儲器的基本特征是什么?虛擬存儲器的容量主要受到什么

限制?

14.請求頁式存儲管理的優(yōu)缺點

15.什么是缺頁中斷?缺頁中斷之后需要怎么處理?與一般的中斷有

什么區(qū)別?

16試說明改進(jìn)型Clock置換算法的基本原理。

17.什么是抖動?引起抖動的原因有哪些?

什么是固定分配局部置換,可變分配全局置換,可變分配局部置換?

19.什么是預(yù)調(diào)頁策略,請求調(diào)頁策略?

20.什么是分段的共享和保護(hù)?

文件管理

L對目錄管理的主要要求是什么?

3.什么是絕對路徑和相對路徑名和索引節(jié)點

4.什么是文件?什么是文件系統(tǒng)?基本操作有哪些?

為什么在大多數(shù)OS中都引入”打開“這一文件系統(tǒng)調(diào)用?打開的含

義是什么?

什么是文件的邏輯組織和物理組織?文件的邏輯結(jié)構(gòu)有幾種形式?

7.什么是FCB?為什么引入FCB?

8.簡述文件的二級目錄組織形式。欲實現(xiàn)文件共享如何處理?

9.文件目錄和目錄文件各起什麼作用?目前廣泛采用的目錄結(jié)構(gòu)形

式是哪種?它有什麼優(yōu)點?

10.文件物理結(jié)構(gòu)中的順序結(jié)構(gòu)、鏈接結(jié)構(gòu)與索引結(jié)構(gòu)三者之間相比

各有什么優(yōu)缺點?

1L在磁盤上進(jìn)行一次讀寫操作需要那幾部分時間?其中哪部分時間

最長?

12.FCFS,SSTF,SCAN,C-SCAN算法的優(yōu)缺點

13.文件保護(hù)?

設(shè)備管理

L設(shè)備管理的目標(biāo)和功能是什么?

2.什么是塊設(shè)備?什么是字符設(shè)備?

3.程序直接控制方式、I/O中斷方式

4.什么是通道?與DMA方式有什么區(qū)別?

5.什么是DMA方式?它與中斷控制方式的主要區(qū)別是什么?

6.設(shè)備驅(qū)動程序是什么?為什么要有設(shè)備驅(qū)動程序?寫出設(shè)備驅(qū)動

程序的處理過程?

7.什么是設(shè)備獨立性?為什么引入?如何實現(xiàn)?

8.引入緩沖技術(shù)(緩沖區(qū))的主要目的?有哪幾種?

9.設(shè)備分配的總原則是什么?設(shè)備分配時應(yīng)考慮的因素有哪些?分

配方式有哪兩種?

10.用于設(shè)備分配的數(shù)據(jù)結(jié)構(gòu)有哪些?他們之間的關(guān)系是什么?

11.為什么引入SPOOLing技術(shù)?什么是SPOOLing技術(shù)?什么是

SPOOLing系統(tǒng)?其系統(tǒng)由什么組成?它的功能與特點是什么?

12.SPOOLing技術(shù)如何使一臺打印機(jī)虛擬成多臺打印機(jī)?優(yōu)點是?

(對用戶)

13.什么是獨享設(shè)備?共享設(shè)備?設(shè)備分配技術(shù)?設(shè)備管理的主要功

能?

數(shù)據(jù)結(jié)構(gòu)

L邏輯結(jié)構(gòu)和物理結(jié)構(gòu)

2.什么是算法?有幾個特性?目標(biāo)是什么?

Linux常用命令

進(jìn)程管理

內(nèi)存管理

文件管理

計算機(jī)網(wǎng)絡(luò)

物理層

數(shù)據(jù)鏈路層

傳輸層

應(yīng)用層

數(shù)據(jù)結(jié)構(gòu)

前序、中序構(gòu)造二叉樹

中序、后序構(gòu)造二叉樹

哈夫曼樹

波蘭式和逆波蘭式

樹的非遞歸遍歷

完全二叉樹節(jié)點的個數(shù)

線索二叉樹

打印值為X節(jié)點的所有祖先

找指針p和q最近祖先

二叉樹轉(zhuǎn)化為等價的中綴表達(dá)式(自己再推廣下)

二叉排序樹

判斷是不是二叉排序樹

存儲結(jié)構(gòu)

廣度優(yōu)先搜索

廣搜求單源最短路徑

深度優(yōu)先搜索

U到V的所有最短路徑

拓?fù)渑判?/p>

迪杰斯特拉

弗洛伊德

鏈表

復(fù)制帶隨機(jī)指針的鏈表

排序

TOP-K問題

堆排序

判斷是否是小頂堆

歸并排序

快排

希爾排序

其他

背包問題

并查集

線性表

查找

排序

組成原理

第1章:計算機(jī)系統(tǒng)概論

**第三章系統(tǒng)總線**

第四章存儲器

第五章輸入輸出系統(tǒng)

第六章計算機(jī)的運算方法

第七章指令系統(tǒng)

系統(tǒng)概述

數(shù)據(jù)的表示和運算

存儲系統(tǒng)

指令系統(tǒng)

中央處理器

數(shù)據(jù)庫

數(shù)據(jù)庫技術(shù)發(fā)展

大數(shù)據(jù)管理

內(nèi)存數(shù)據(jù)庫系統(tǒng)

數(shù)據(jù)倉庫與聯(lián)機(jī)分析處理技術(shù)

InnoDB

InnoDB存儲引擎

索引與算法

聚焦索引

非聚焦索引(輔助索引)

B+樹索引的管理

軟件工程

編譯原理

編譯器概述

詞法分析

語法分析

系統(tǒng)結(jié)構(gòu)

基礎(chǔ)+并行性開發(fā)

數(shù)據(jù)表示、尋址方式和指令系統(tǒng)

標(biāo)量處理機(jī)

語言和算法基礎(chǔ)

基本認(rèn)知

預(yù)處理和頭文件

C++11

變量

表達(dá)式和語句

函數(shù)

面試題

關(guān)鍵字

auto

decltype

using

C++標(biāo)準(zhǔn)庫

其他

算法

專業(yè)性問題

大數(shù)據(jù)及數(shù)據(jù)挖掘

圖像算法相關(guān)

區(qū)塊鏈

硬件相關(guān)

AI

NLP

決策樹

隨機(jī)森林

數(shù)學(xué)

線代

向量

線性變換以及它和矩陣的關(guān)系

矩陣乘法和線性變換符合

行列式

特征值和特征向量

微積分

概率論

貝葉斯

拉普拉斯方程

傅里葉級數(shù)

邏輯思維

二進(jìn)制問題

先手必勝問題

推理題

概率問題

燒蠟燭問題

賽馬問題

過河/過橋問題

最優(yōu)解問題

數(shù)字問題

重量問題

燈泡開關(guān)問題

藍(lán)眼/瘋狗/耳光問題

三杯水ABC

項目

服務(wù)端

客戶端

線程池

遇見問題

論文

人工智能入門

附錄問題

二氧化碳合成淀粉

前5

本文為博主考研期間準(zhǔn)備的知識點,涵蓋本科大部分內(nèi)容,其中大部

分在復(fù)試期間準(zhǔn)備的。復(fù)試非常非常重要,準(zhǔn)備的越充分越好,希望

大家重視。本文內(nèi)容為本人自己總結(jié)及從其他地方看到的一些資源。

格式凌亂,后續(xù)會慢慢整理,祝各位前程似錦!

前沿知識

你對人工智能有什么了解?強(qiáng)人工智能可能實現(xiàn)嗎?

人工智能的研究領(lǐng)域很寬泛,包括機(jī)器人、圖像識別、專家系統(tǒng)、語

言識別、自然語言處理等。

強(qiáng)人工智能:各方面和人類一樣得心應(yīng)手,可以和人類比擬,目前還

做不到。(人類連自己都不了解自己,又怎么能創(chuàng)造和人類一樣的“生

物”呢)

超人工智能:所有領(lǐng)域都比最聰明的人類聰明的多,這也是總是出現(xiàn)

永生、滅絕危機(jī)的來源。

人工智能是什么?

什么是機(jī)器學(xué)習(xí)?講講具體的算法。

機(jī)器學(xué)習(xí)是人工智能的一個分支。它研究計算機(jī)怎么模擬和實現(xiàn)人類

的學(xué)習(xí)行為,以獲取新的知識和技能,重新組織已有的知識結(jié)構(gòu)(不

斷完善自身的性能,或者達(dá)到操作者特定的要求)

你認(rèn)為本科學(xué)的數(shù)學(xué)有哪些會用到機(jī)器學(xué)習(xí)中?

搞清楚這些數(shù)學(xué)原理,可以幫助我們:選擇正確的算法、選擇參數(shù)設(shè)

置和驗證策略、通過理解偏差-方差權(quán)衡,識別欠擬合和過擬合、估

算正確的置信區(qū)間和不確定性。

統(tǒng)計學(xué)是核心,微積分告訴我們怎樣學(xué)習(xí)和優(yōu)化模型,線性代數(shù)使得

算法能在超大型數(shù)據(jù)集上運行,概率論幫我們預(yù)測某個事件發(fā)生的可

能性。那么我們舉個簡單的栗子來告訴大家這四塊是如何在機(jī)器學(xué)習(xí)

中起作用的。

什么是大數(shù)據(jù)?你接觸到的最大的數(shù)據(jù)有多大?

什么是數(shù)據(jù)挖掘?

大數(shù)據(jù)和機(jī)器學(xué)習(xí)之間有什么聯(lián)系?

可以認(rèn)為大數(shù)據(jù)、數(shù)據(jù)挖掘和機(jī)器學(xué)習(xí)是三個平行的概念。大數(shù)據(jù)側(cè)

重描述數(shù)據(jù),數(shù)據(jù)挖掘側(cè)重描述應(yīng)用,機(jī)器學(xué)習(xí)側(cè)重描述方法。

(1)大數(shù)據(jù)就是許多數(shù)據(jù)的聚合;(2)數(shù)據(jù)挖掘就是把這些數(shù)據(jù)的

價值發(fā)掘出來;(3)數(shù)據(jù)挖掘就是把這些數(shù)據(jù)的價值發(fā)掘出來

什么是云計算?

云計算的道理是簡單的,說白了,就是把計算機(jī)資源集中起來,放在

網(wǎng)絡(luò)上。

阿里云、華為云、騰訊云都是。按需要資源付費,隨時使用。

什么深度學(xué)習(xí)?

深度學(xué)習(xí)的基礎(chǔ),叫做神經(jīng)網(wǎng)絡(luò),這本身就是一種機(jī)器學(xué)習(xí)算法。深

度學(xué)習(xí)的強(qiáng)大是有數(shù)學(xué)原理支撐的,這個原理叫做“萬能近似定理二

這個定理的道理很簡單一一神經(jīng)網(wǎng)絡(luò)可以擬合任何函數(shù),不管這個

函數(shù)的表達(dá)是多么的復(fù)雜。但是,哪有免費的午餐,深度學(xué)習(xí)的強(qiáng)大

也帶來了對應(yīng)的問題一一黑箱化。黑箱的意思是,深度學(xué)習(xí)的中間

過程不可知,深度學(xué)習(xí)產(chǎn)生的結(jié)果不可控。

操作系統(tǒng)

操作系統(tǒng)

1.什么是操作系統(tǒng),目標(biāo)和功能是什么,特征是什么?

操作系統(tǒng)是指控制和管理整個計算機(jī)的硬件和軟件資源,合理的組織

調(diào)度計算機(jī)的工作和資源的分配,提供給用戶和其他軟件方便的接口

和環(huán)境的程序集合。他是一個系統(tǒng)軟件。

目標(biāo):方便性,有效性,可擴(kuò)充性,開放性。

功能:作為計算機(jī)系統(tǒng)資源的管理者(處存文設(shè)),作為用戶和硬件

系統(tǒng)之間的接口(命令接口和程序接口),用作擴(kuò)充機(jī)器。

特征:并發(fā),共享,虛擬,異步,其中并發(fā)和共享是最兩個基本的特

征。

并發(fā)是兩個或多個事件在同一時間間隔內(nèi)發(fā)生。

共享即資源共享,是指系統(tǒng)的資源可供內(nèi)存中多個并發(fā)執(zhí)行的進(jìn)程共

同使用。

虛擬是把一個物理上的實體變?yōu)槿舾蓚€邏輯上的對應(yīng)物。

異步是指進(jìn)程的執(zhí)行不是一貫到底的,而是走走停停,以不可預(yù)知的

速度向前推進(jìn)。

2.何謂批處理操作系統(tǒng)?

批處理系統(tǒng)指用戶的作業(yè)成批的處理,作業(yè)建立、處理、完成都自動

由系統(tǒng)成批完成。引入批處理系統(tǒng)的目的是要解決人機(jī)矛盾及CPU

與I/O設(shè)備之間速度不匹配,提高設(shè)備的利用率,提高系統(tǒng)吞吐量。

3.什么是單道批處理系統(tǒng),主要特征是什么?

單道批處理系統(tǒng):系統(tǒng)對作業(yè)的處理是成批進(jìn)行的,但內(nèi)存中始終保

持一道作業(yè)

自動性:磁帶上的一批作業(yè)能自動的逐個依次運行,而無需人工干預(yù)。

順序性:磁道上的各道作業(yè)是順序地進(jìn)入內(nèi)存,各道作業(yè)的完成時間

與他們進(jìn)入內(nèi)存的順序基本一致

單道性:內(nèi)存中僅有一道程序運行。

4.什么是多道程序設(shè)計技術(shù)?基本特征是什么?引入技術(shù)哪些好處?

需要解決什么問題?

多道程序技術(shù)就是同時把多個程序放入內(nèi)存,允許它們交替在CPU

中運行,共享系統(tǒng)資源。當(dāng)一道程序因I/O請求而暫停運行時,CPU

便立即轉(zhuǎn)向運行另一道程序。

多道程序運行的特征(特點)

多道:計算機(jī)內(nèi)存中同時存放多道相互獨立的程序。

宏觀上并行:同時進(jìn)入系統(tǒng)的多道程序都處于運行過程中,即先后開

始了各自的運行,但都未運行完畢。

微觀上串行:內(nèi)存中的多道程序輪流占有CPU,交替執(zhí)行。

優(yōu)點是:資源利用率高(多道程序共享計算機(jī)資源,從而使各種資源

得到充分利用),系統(tǒng)吞吐量大(CPU和其他資源保持忙碌狀態(tài))。

需要解決處理機(jī),內(nèi)存,設(shè)備分配情況,如何組織和存放大量的程序

和數(shù)據(jù),以便用戶使用和保證其安全性與一致性。

5.什么是分時技術(shù)?什么是分時系統(tǒng)?最關(guān)鍵的問題?基本特征?

分時技術(shù):處理器的運行時間分成很短的時間片,按時間片輪流把處

理器分配給各聯(lián)機(jī)作業(yè)使用。

分時系統(tǒng):多個用戶通過終端同時共享一臺主機(jī),這些終端連接在主

機(jī)上,用戶可以同時與主機(jī)進(jìn)行交互操作而不互相干擾。

最關(guān)鍵的問題:是如何使用戶能與自己的作業(yè)進(jìn)行交互,即當(dāng)用戶在

自己的終端上輸入命令時,系統(tǒng)應(yīng)能及時接收并及時處理該命令,再

將結(jié)果返回用戶。

同時性:也叫多路性,指允許多終端用戶同時使用一臺計算機(jī)。

交互性:用戶能方便地與系統(tǒng)進(jìn)行人機(jī)交互。

獨立性:系統(tǒng)中的多個用戶可以彼此獨立的進(jìn)行操作,互不干擾。

及時性:用戶請求能在很短時間內(nèi)獲得響應(yīng)。

批處理系統(tǒng)和分時系統(tǒng)和實時操作系統(tǒng)各有什么特點?

批處理操作系統(tǒng):用戶脫機(jī)使用計算機(jī),作業(yè)是成批處理的,系統(tǒng)內(nèi)

多道程序并發(fā)執(zhí)行,交互能力差,系統(tǒng)響應(yīng)時間長。

分時操作系統(tǒng):多個用戶同時使用計算機(jī),人機(jī)交互能力強(qiáng),具有每

個用戶獨立地使用計算機(jī)的獨占性,系統(tǒng)響應(yīng)時間及時,

實時操作系統(tǒng):能對控制對象作出及時反應(yīng),可靠性高,響應(yīng)及時,

但是資源利用率低。

為什么要處理器為什么要區(qū)分核心態(tài)和用戶態(tài)兩種操作方式?在什

么情況下進(jìn)行兩種方式的切換?用戶態(tài)轉(zhuǎn)向核心態(tài)的例子?

管態(tài):當(dāng)執(zhí)行操作系統(tǒng)程序時,處理機(jī)所處的狀態(tài)

目態(tài):當(dāng)執(zhí)行普通用戶程序時,處理機(jī)所處的狀態(tài)

區(qū)分執(zhí)行態(tài)的主要目的是保護(hù)系統(tǒng)程序。用戶態(tài)到和核心態(tài)的轉(zhuǎn)換發(fā)

生在中斷產(chǎn)生時而核心態(tài)到用戶態(tài)的轉(zhuǎn)換則發(fā)生在中斷返回到用戶

程序時O

系統(tǒng)調(diào)用,發(fā)生一次中斷,用戶程序產(chǎn)生錯誤狀態(tài)和企圖執(zhí)行以條特

權(quán)指令,執(zhí)行特權(quán)指令。

8.試說明訪管指令、特權(quán)指令和原語

訪管指令是一類機(jī)器指令,執(zhí)行訪管指令可以引起訪管中斷

特權(quán)指令是計算機(jī)中不允許用戶直接使用的指令。

系統(tǒng)調(diào)用是用戶在程序中調(diào)用操作系統(tǒng)所提供的一些子功能,是提供

編程人員的接口。

原語是指由若干條機(jī)器指令構(gòu)成,并用于完成特定功能的一段程序,

在執(zhí)行期間不可分割。主要特點是不可分割性?;咎攸c:最底層最

接近硬件的部分,具有原子性一一其操作只能一氣呵成,運行時間短

和調(diào)用頻繁。

9.什么是系統(tǒng)調(diào)用?執(zhí)行過程?與一般調(diào)用有什么區(qū)別?

所謂系統(tǒng)調(diào)用是用戶在程序中調(diào)用操作系統(tǒng)所提供的一些子功能,是

提供編程人員的接口。

通過系統(tǒng)調(diào)用命令,中斷現(xiàn)行程序而轉(zhuǎn)去執(zhí)行相應(yīng)的子程序,以完成

特定的系統(tǒng)功能。完成后,又返回到發(fā)出系統(tǒng)調(diào)用命令之后的一條指

令,被中斷的程序?qū)⒗^續(xù)執(zhí)行下去。

系統(tǒng)調(diào)用與一般過程調(diào)用不同,其主要區(qū)別是:

運行的狀態(tài)不同。在程序中的過程一般或者都是用戶程序,或者都是

系統(tǒng)程序,即都是運行在同一個系統(tǒng)狀態(tài)的(用戶態(tài)或系統(tǒng)態(tài))。進(jìn)

入的方式不同。一般的過程調(diào)用可以直接由調(diào)用過程轉(zhuǎn)向被調(diào)用的過

程。而執(zhí)行系統(tǒng)調(diào)用時一,由于調(diào)用過程與被調(diào)用過程是處于不同的狀

態(tài),因而不允許由調(diào)用過程直接轉(zhuǎn)向被調(diào)用過程,通常是通過訪問管

中斷(即軟中斷)進(jìn)入,先進(jìn)入操作系統(tǒng),經(jīng)分析后,才能轉(zhuǎn)向相應(yīng)

的命令處理程序。返回方式的不同。代碼層次不同。一般過程調(diào)用中

的被調(diào)用程序是用戶級程序,而系統(tǒng)調(diào)用是操作系統(tǒng)中的代碼程序,

是系統(tǒng)級程序。

9.什么是中斷?中斷處理的一般過程分為哪幾個階段?用哪幾種?

所謂中斷是指CPU對系統(tǒng)發(fā)生的某個事件(中斷源)作出的一種反

應(yīng):CPU暫停正在執(zhí)行的程序,保留現(xiàn)場后自動地轉(zhuǎn)去執(zhí)行相應(yīng)的處

理程序,處理完該事件后再返回斷點繼續(xù)執(zhí)行被“打斷”的程序。中

斷處理的一般過程分為以下階段:保存現(xiàn)場,分析原因,處理中斷,

返回斷點。

中斷:也稱外中斷,指來自于CPU執(zhí)行指令以外的事件發(fā)生,如設(shè)

備發(fā)出的I/O結(jié)束中斷。

異常:也稱內(nèi)中斷,例外或陷入,指來自于CPU執(zhí)行指令內(nèi)部的事

件發(fā)生。

10.為什么說直到出現(xiàn)中斷和通道技術(shù)后,多道程序概念才變?yōu)橛杏?/p>

的?

道程序并發(fā)執(zhí)行是指有的程序正在CPU上執(zhí)行,而另一些程序正在

I/O設(shè)備上進(jìn)行傳輸。在時間上的重疊必須有中斷和通道技術(shù)支持其

原因如下:1.通道是一種控制一臺或多臺外部設(shè)備的硬件機(jī)構(gòu),它一

旦被啟動就獨立于CPU運行,因而做到了I/O設(shè)備與CPU并行工作。

但早期CPU通過向通道發(fā)出詢問指令來了解通道工作是否完成。若

未完成則主機(jī)就循環(huán)詢問直到通道工作結(jié)束為止。因此這種詢問方式

是無法真正做到并行工作的。2)在硬件上引入了中斷技術(shù)。所謂中

斷是指CPU對系統(tǒng)發(fā)生的某個事件(中斷源)作出的一種反應(yīng):CPU

暫停正在執(zhí)行的程序,保留現(xiàn)場后自動地轉(zhuǎn)去執(zhí)行相應(yīng)的處理程序,

處理完該事件后再返回斷點繼續(xù)執(zhí)行被“打斷”的程序。因此通道

技術(shù)和中斷技術(shù)結(jié)合起來就可以實現(xiàn)并行工作。即CPU啟動通道傳

輸數(shù)據(jù)后便去執(zhí)行其他程序的計算工作而通道則進(jìn)行輸入/輸出操作;

當(dāng)通道工作結(jié)束時再通過中斷機(jī)構(gòu)向CPU發(fā)出中斷請求CPU則暫停

正在執(zhí)行的操作對出現(xiàn)的中斷進(jìn)行處理處理完后再繼續(xù)原來的工作。

這樣就真正做到了CPU與I/O設(shè)備并行工作。此時多道程序的概念才

變?yōu)楝F(xiàn)實。

進(jìn)程管理

11.什么是進(jìn)程?為什么引入進(jìn)程?進(jìn)程和程序的區(qū)別?

答:進(jìn)程是具有獨立功能的程序在一個數(shù)據(jù)集合上運行的過程,他是

系統(tǒng)進(jìn)行資源分配和調(diào)度的一個獨立單位。在多道程序環(huán)境下,允許

多個程序并發(fā)執(zhí)行,此時他們將失去封閉性,并具有間斷性和不可再

現(xiàn)性的特征。為此引入了進(jìn)程的概念,以便更好地描述和控制程序的

并發(fā)執(zhí)行,實現(xiàn)操作系統(tǒng)的并發(fā)性和共享性。引入進(jìn)程的目的就是為

了是程序能與去其他進(jìn)程的程序并發(fā)執(zhí)行,以提高資源利用率。

進(jìn)程是動態(tài),程序是靜態(tài)的;

進(jìn)程是獨立運行的單位,程序不能作為運行單位;

進(jìn)程間在并發(fā)執(zhí)行過程中會產(chǎn)生相互制約關(guān)系,而程序由于是靜態(tài)的,

所以不存在異步特征。

12.進(jìn)程的最主要的特征有哪些?

動態(tài)性:進(jìn)程是程序的一次執(zhí)行,他有著創(chuàng)建、活動、暫停、終止

等過程,具有一定的生命周期,是動態(tài)的產(chǎn)生、變化和消亡的。動

態(tài)性是進(jìn)程最基本的特征

并發(fā)性:多個進(jìn)程實體,同存于內(nèi)存中,能在一段時間內(nèi)同時運行

獨立性:指進(jìn)程實體是一個能獨立運行、獨立獲得資源和獨立接收調(diào)

度的基本單位。

異步性:每個進(jìn)程都以其相對獨立、不可預(yù)知的速度向前推進(jìn)

結(jié)構(gòu)性:每個進(jìn)程有一個控制塊PCB

13.什么是進(jìn)程實體?什么是PCB?為什么要引入PCB?為什么說PCB

是進(jìn)程唯一存在的標(biāo)志?PCB包含哪些內(nèi)容?

進(jìn)程實體由程序段、相關(guān)數(shù)據(jù)段和PCB三部分組成。

進(jìn)程控制塊(PCB)是記錄進(jìn)程的動態(tài)執(zhí)行情況的一種數(shù)據(jù)結(jié)構(gòu)。為了

使參與并發(fā)執(zhí)行的程序能獨立的運行,必須為之配置一個專門的數(shù)據(jù)

結(jié)構(gòu)。

每個被創(chuàng)建的進(jìn)程都由惟一的PCB來標(biāo)識,操作系統(tǒng)根據(jù)PCB對進(jìn)

程實施控制和管理;當(dāng)一個進(jìn)程完成它的工作被系統(tǒng)撤銷時一,它的

PCB也被撤銷。因此,PCB是進(jìn)程存在的惟一標(biāo)志,進(jìn)程的動態(tài)、

并發(fā)等特征都是通過PCB表現(xiàn)出來的。

PCB主要包括:進(jìn)程描述信息、進(jìn)程控制和管理信息、資源分配清單

和處理器相關(guān)信息等。

14.說明進(jìn)程在三個基本狀態(tài)之間轉(zhuǎn)換的典型原因。

A.處于就緒狀態(tài)的進(jìn)程,當(dāng)進(jìn)程調(diào)度程序為之分配了處理機(jī)后,該進(jìn)

程便由就緒狀態(tài)變?yōu)閳?zhí)行狀態(tài).

B.當(dāng)前進(jìn)程因發(fā)生某事件而無法執(zhí)行,如訪問已被占用的臨界資源,

就會使進(jìn)程由執(zhí)行狀態(tài)轉(zhuǎn)變?yōu)樽枞麪顟B(tài).

C.當(dāng)前進(jìn)程因時間片用完而被暫停執(zhí)行,該進(jìn)程便由執(zhí)行狀態(tài)轉(zhuǎn)變?yōu)?/p>

就緒狀態(tài).

15.什么是進(jìn)程控制?什么是原語?進(jìn)程控制原語主要有哪些?

進(jìn)程控制的主要功能是對系統(tǒng)中所有進(jìn)程實施有效地管理,她具有創(chuàng)

建新進(jìn)程、撤銷已有進(jìn)程、實現(xiàn)進(jìn)程狀態(tài)轉(zhuǎn)換等功能。原語是指由若

干條機(jī)器指令構(gòu)成,并用于完成特定功能的一段程序,在執(zhí)行期間不

可分割。主要特點是不可分割性?;咎攸c:最底層最接近硬件的部

分,具有原子性一一其操作只能一氣呵成,運行時間短和調(diào)用頻繁。

創(chuàng)建原語,撤銷原語,掛起原語,激活原語,阻塞原語,喚醒原語。

16.創(chuàng)建原語過程?終止原語過程?

創(chuàng)建原語:為新進(jìn)程分配一個唯一的進(jìn)程標(biāo)識號,并申請一個空白的

PCBo

為進(jìn)程分配資源。為新進(jìn)程的程序和數(shù)據(jù),以及用戶棧分配必要的空

間。

初始化PCBo主要包括初始化標(biāo)志信息、初始化處理器狀態(tài)信息和初

始化處理器控制信息,以及設(shè)置進(jìn)程的優(yōu)先級。

1)如果進(jìn)程就緒隊列能夠接納新進(jìn)程,就將新進(jìn)程插入到就緒隊列,

等待被調(diào)度運行。

終止原語:據(jù)被終止進(jìn)程的標(biāo)識符,檢索PCB,從中讀出該進(jìn)程的

狀態(tài)。

2)若被終止進(jìn)程處于執(zhí)行狀態(tài),立即終止該進(jìn)程的執(zhí)行,將處理

器資源分配給其他進(jìn)程。

3)若該進(jìn)程還有子進(jìn)程,則應(yīng)將其所有子進(jìn)程終止。

4)將該進(jìn)程所擁有的資源、或歸還給父進(jìn)程或歸還給操作系統(tǒng)。

5)將該PCB從所在隊列(鏈表)中刪除。

17.進(jìn)程的切換是什么?過程是怎么樣的?

進(jìn)程切換是指處理機(jī)從一個進(jìn)程的運行轉(zhuǎn)到另一個進(jìn)程運行。

保存處理器上下文,包括程序計數(shù)器和其他寄存器。更新PCB信息。

把進(jìn)程的PCB移入相應(yīng)的隊列,如就緒、在某時間阻塞等隊列。選

擇另一個進(jìn)程執(zhí)行,并更新其PCB。更新內(nèi)存管理的數(shù)據(jù)結(jié)構(gòu)。恢

復(fù)處理器的上下文。

18.為什么需要系統(tǒng)調(diào)用來實現(xiàn)通信?什么是進(jìn)程的通信?進(jìn)程通信

有哪些?

每個進(jìn)程有自己相互獨立的地址空間。在操作系統(tǒng)和硬件的地址機(jī)構(gòu)

保護(hù)機(jī)制下,進(jìn)程無法訪問其他進(jìn)程的地址空間,所以必須借助于操

作系統(tǒng)的系統(tǒng)調(diào)用函數(shù)實現(xiàn)進(jìn)程之間的通信。

進(jìn)程通信就是進(jìn)程之間的數(shù)據(jù)交換。低級通信方法和高級通信方法。

高級通信方法可分為共享存儲、消息傳遞和管道

共享存儲:在通信的進(jìn)程之間存在一塊可直接訪問的共享空間,通過

對這片共享空間進(jìn)行讀/寫操作實現(xiàn)進(jìn)程之間的信息交換。在對共享

空間進(jìn)行操作時,需要使用同步互斥工具(如P操作、V操作)共享

存儲又分為兩種:低級方式的共享是基于數(shù)據(jù)結(jié)構(gòu)的共享;高級方式

則是基于存儲區(qū)的共享。

消息傳遞:在消息傳遞系統(tǒng)中,進(jìn)程間的數(shù)據(jù)交換是以格式化的消息

(Message)為單位的。進(jìn)程通過系統(tǒng)提供的發(fā)送消息和接收消息兩個

原語進(jìn)行數(shù)據(jù)交換。

直接通信方式:發(fā)送進(jìn)程直接把消息發(fā)送給接收進(jìn)程,并將它掛在接

收進(jìn)程的消息緩沖隊列上,接收進(jìn)程從消息緩沖隊列中取得消息。

間接通信方式:發(fā)送進(jìn)程把消息發(fā)送到某個中間實體中,接收進(jìn)程從

中間實體中取得消息、。這種中間實體一般稱為信箱。

管道:消息傳遞的一種特殊方式。所謂“管道”,是指用于連接一個

讀進(jìn)程和一個寫進(jìn)程以實現(xiàn)它們之間通信的一個共享文件,又名pipe

文件。向管道提供輸入的寫進(jìn)程,以字符流形式將大量的數(shù)據(jù)送入管

道;而接收管道輸出的讀進(jìn)程,則從管道中讀數(shù)據(jù)。為了協(xié)調(diào)雙方的

通信,管道機(jī)制必須提供以下三方面的協(xié)調(diào)能力:互斥、同步和確定

對方的存在。

19.什么是線程?為什么引入線程?線程和進(jìn)程的比較?

線程是進(jìn)程的一個實體,是系統(tǒng)獨立調(diào)度和分派的基本單位,線程自

己不擁有系統(tǒng)資源(只擁有一點在運行中必不可少的資源)但線程可

以訪問其隸屬進(jìn)程的系統(tǒng)資源。

而引入線程,則是為了減小程序在并發(fā)執(zhí)行時所付出的時空開銷,提

高操作系統(tǒng)的并發(fā)性能。

調(diào)度性。傳統(tǒng)操作系統(tǒng)中,擁有資源和調(diào)度的基本單位是進(jìn)程。在引

入線程的OS中,進(jìn)程是擁有資源的基本單位,線程是調(diào)度的基本單

位。

并發(fā)性。引入線程的OS中,進(jìn)程可以并發(fā),一個進(jìn)程的多個線程也

可以并發(fā),不同進(jìn)程的線程也可以并發(fā)。

擁有資源。不管傳統(tǒng)操作系統(tǒng)還是有線程的操作系統(tǒng)進(jìn)程都是擁有資

源的基本單位,線程不擁有系統(tǒng)資源(只擁有一點在運行中必不可

少的資源),但線程可以訪問其隸屬進(jìn)程的系統(tǒng)資源。

開銷。創(chuàng)建和撤消進(jìn)程時,必須為之分配和回收資源,因而付出的開

銷要明顯大于線程

10.什么是作業(yè)調(diào)度,進(jìn)程調(diào)度,內(nèi)存調(diào)度?什么是作業(yè)?

作業(yè)調(diào)度:用于決定把外存上處于后備隊列中的哪些作業(yè)調(diào)入內(nèi)存,

并為它們創(chuàng)建進(jìn)程、分配必要的資源,再將新創(chuàng)建的進(jìn)程排在就緒隊

列上,準(zhǔn)備執(zhí)行

進(jìn)程調(diào)度:用來決定就緒隊列中的哪個進(jìn)程應(yīng)獲得處理機(jī)。

內(nèi)存調(diào)度:又稱中級調(diào)度,主要任務(wù)是按照給定的原則和策略,將處

于外存對換區(qū)中的重新具備運行條件的進(jìn)程調(diào)入內(nèi)存,或?qū)?nèi)存中暫

時不能運行的進(jìn)程交換到外存對換區(qū)。

作業(yè):用戶在一次上機(jī)過程中要求計算機(jī)系統(tǒng)所做工作的集合

引起進(jìn)程調(diào)度:有進(jìn)程運行完畢,進(jìn)程調(diào)用阻塞原語,P操作時資源

不足,v操作激活等待隊列的進(jìn)程,時間片用完(分時系統(tǒng)),優(yōu)先

級跟高的進(jìn)程到來(搶占式調(diào)度)

非搶占式和可搶占式高優(yōu)先級調(diào)度算法的區(qū)別是什么?調(diào)度的準(zhǔn)則

是什么?

最高優(yōu)先級調(diào)度算法原則上總是調(diào)度就緒隊列中優(yōu)先級最高的那個

進(jìn)程。采用非搶占式最高優(yōu)先級調(diào)度算法,當(dāng)就緒隊列中某進(jìn)程的最

高優(yōu)先級高于正在處理器中運行的進(jìn)程的最高優(yōu)先級時并不會讓正

在運行的進(jìn)程退出處理器,而是將高優(yōu)先數(shù)的排在就緒隊列的首部。

而采用搶占式最高優(yōu)先級進(jìn)程調(diào)度算法,則高優(yōu)先數(shù)的進(jìn)程會搶占處

理器,讓正在處理的進(jìn)程處于就緒隊列。

CPU利用率

系統(tǒng)吞吐量(表示單位時間內(nèi)CPU完成作業(yè)的數(shù)量)

周轉(zhuǎn)時間(是指從作業(yè)提交到作業(yè)完成所經(jīng)歷的時間)

等待時間(進(jìn)程處于等處理器狀態(tài)時間之和)

響應(yīng)時間(指從用戶提交請求到系統(tǒng)首次產(chǎn)生響應(yīng)所需的時間)

典型的調(diào)度算法優(yōu)缺點?

先來先服務(wù)(FCFS):是一種最簡單的調(diào)度算法,即可用于作業(yè)調(diào)度,

也可用于進(jìn)程調(diào)度。按照作業(yè)/進(jìn)程進(jìn)入系統(tǒng)的先后次序進(jìn)行調(diào)度,

先進(jìn)入系統(tǒng)者先調(diào)度。算法簡單,但效率低。比較有利于長作業(yè),而

不利于短作業(yè)。有利于CPU繁忙型作業(yè),而不利于I/O繁忙型作業(yè)。

短作業(yè)優(yōu)先調(diào)度算法(SJF)是從隊列中選出一個估計運行時間最短

的作業(yè)優(yōu)先調(diào)度,即可用于作業(yè)調(diào)度,也可用于進(jìn)程調(diào)度。對長作業(yè)

不利。嚴(yán)重的是,若一長作業(yè)進(jìn)入系統(tǒng)的后備隊列,由于調(diào)度程序總

是優(yōu)先調(diào)度那些短作業(yè),將導(dǎo)致長作業(yè)長期不被調(diào)度一一饑餓。完

全未考慮作業(yè)的緊迫程度,因而不能保證緊迫性作業(yè)會被及時處理。

由于作業(yè)的長短只是根據(jù)用戶所提供的估計執(zhí)行時間而定的,而用戶

又可能會有意或無意地縮短其作業(yè)的估計運行時間,致使該算法不一

定能真正做到短作業(yè)優(yōu)先調(diào)度。

非搶占式和可搶占式高優(yōu)先級調(diào)度算法

靜態(tài)優(yōu)先權(quán)是在創(chuàng)建進(jìn)程時確定,且在進(jìn)程的整個運行期間保持不變。

動態(tài)優(yōu)先權(quán)是在進(jìn)程運行過程中根據(jù)進(jìn)程的情況變化的動態(tài)調(diào)整優(yōu)

先級。

高響應(yīng)比優(yōu)先調(diào)度算法:既考慮作業(yè)的執(zhí)行時間也考慮作業(yè)的等待時

間,綜合了先來先服務(wù)和最短作業(yè)優(yōu)先兩種算法的特點。優(yōu)點是等待

時間相同的作業(yè),則要求服務(wù)的時間愈短,其優(yōu)先權(quán)愈高,對短作業(yè)

有利。要求服務(wù)的時間相同的作業(yè),則等待時間愈長,其優(yōu)先權(quán)愈高,

是先來先服務(wù)。長作業(yè)優(yōu)先權(quán)隨等待時間的增加而提高,其等待時間

足夠長時,其優(yōu)先權(quán)便可升到很高,從而也可獲得處理機(jī),對長作

業(yè)有利。是一種折中,既照顧了短作業(yè),又考慮了作業(yè)到達(dá)的先后次

序,又不會使長作業(yè)長期得不到服務(wù)。缺點:要進(jìn)行響應(yīng)比計算,

增加了系統(tǒng)開銷

簡單的時間片輪轉(zhuǎn)法:系統(tǒng)將所有的就緒進(jìn)程按先來先服務(wù)的原則排

成一個隊列,每次調(diào)度時,把CPU分配給隊首進(jìn)程,并令其執(zhí)行一

個時間片;當(dāng)執(zhí)行的時間片用完時一,由一個計時器發(fā)出時鐘中斷請求,

調(diào)度程序便停止該進(jìn)程的執(zhí)行,并將其放就緒隊列尾;然后,再把處

理機(jī)分配給就緒隊列中新的隊首;時間片的大小從幾ms到幾百ms

缺點:緊迫任務(wù)響應(yīng)慢。時間片選取太小,會頻繁發(fā)生中斷、進(jìn)程

上下文切換,增加系統(tǒng)開銷,但利于短作業(yè)。太大,退化成FCFSo

13.為什么說多級反饋隊列能夠較好的滿足要求?

對于終端型用戶來說,提交的大多數(shù)都是較小的交互型,通??稍诘?/p>

一隊列規(guī)定的時間片內(nèi)讓其完成工作,使終端型用戶都感到滿意;對

短批處理作業(yè)用戶來說,在第一隊列執(zhí)行一個時間片或至多只在第二

隊列和第三隊列各執(zhí)行一個時間片即可完成,周轉(zhuǎn)時間仍然很短。對

長批處理作業(yè)用戶,只要將作業(yè)依次在第1,2…n隊列中運行,然后

按輪轉(zhuǎn)方式運行,用戶不必?fù)?dān)心作業(yè)長期得不到處理。

L什么是進(jìn)程的同步與互斥?什么是臨界資源?什么是臨界區(qū)?臨

界資源的訪問過程有哪些?

進(jìn)程互斥:也稱間接制約關(guān)系。當(dāng)一個進(jìn)程進(jìn)入臨界區(qū)使用臨界資源

時,另一個進(jìn)程必須等待,當(dāng)占用臨界資源的進(jìn)程退出臨界區(qū)后,另

一個進(jìn)程才允許去訪問此臨界資源。

進(jìn)程同步:也稱相互制約關(guān)系,指多個相關(guān)進(jìn)程在協(xié)調(diào)他們的工作次

序上而產(chǎn)生的制約關(guān)系。

臨界資源是在一段時間內(nèi),只允許一個進(jìn)程訪問的資源。每個進(jìn)程中

訪問臨界資源的那段程序稱為臨界區(qū)。

臨界資源的訪問過程分為四個部分。進(jìn)入?yún)^(qū),臨界區(qū),退出區(qū),剩余

區(qū)。

2.簡述信號量S的物理含義。

S>0時-,S表示可使用的資源數(shù);或表示可使用資源的進(jìn)程數(shù);

S=0時-,表示無資源可供使用;或表示不允許進(jìn)程再進(jìn)入臨界區(qū);

S<0時一,-S表示等待使用資源的進(jìn)程個數(shù);或表示等待進(jìn)入臨界區(qū)

的進(jìn)程個數(shù);

當(dāng)S>0時,調(diào)用P(S)的進(jìn)程不會等待;調(diào)用V(S)后使可用資源

數(shù)加1或使可用資源的進(jìn)程數(shù)加1;

1

2

3

4

5

6

7

當(dāng)SVO時,調(diào)用P(S)的進(jìn)程必須等待;調(diào)用V(S)后將釋放一個

等待使用資源者或釋放一個等待進(jìn)入臨界區(qū)者。

3.什么是管程?管程的組成部分?基本特性?為什么引入?

管程是一組數(shù)據(jù)以及定義在這組數(shù)據(jù)之上的對這組數(shù)據(jù)的操作組成

的軟件模塊

1)局部與管程的共享結(jié)構(gòu)數(shù)據(jù)說明

2)對該數(shù)據(jù)結(jié)構(gòu)進(jìn)行操作的一組過程

3)對局部于管程的共享數(shù)據(jù)設(shè)置初始值的語句

管程的基本特性

1)局部于管程的數(shù)據(jù)只能被局部于管程內(nèi)的過程訪問。

2)一個進(jìn)程只有通過調(diào)用管程內(nèi)的過程才能進(jìn)入管程訪問共享數(shù)據(jù)。

3)每次僅允許一個進(jìn)程在管程內(nèi)執(zhí)行某個內(nèi)部過程。

解決臨界區(qū)分散所帶來的管理和控制問題。

什么是死鎖?死鎖的四個必要條件是什么?以及原因?

死鎖是指多個進(jìn)程由于競爭資源而造成的一種僵局(互相等待),若

無外力作用,它們都將無法推進(jìn)下去。

原因:系統(tǒng)資源的競爭和進(jìn)程推進(jìn)順序非法。

必要條件:互斥條件,不剝奪條件,請求和保持條件,循環(huán)等待條件。

進(jìn)程對所分配到的資源進(jìn)行排它性的使用,即在一段時間內(nèi)某資源僅

為一個進(jìn)程使用

進(jìn)程已獲得的資源在未使用完之前不能被剝奪

進(jìn)程已經(jīng)至少保持了一個資源,但又提出了新的資源請求,而該資源

又已被其他進(jìn)程占有

在發(fā)生死鎖時,必然存在一個進(jìn)程資源的循環(huán)等待鏈,已獲得的資源

被下一個進(jìn)程所請求。5.簡述解決死鎖問題的三種方法。

①死鎖的預(yù)防。系統(tǒng)按預(yù)定的策略為進(jìn)程分配資源,這些分配策略

能使死鎖的四個必要條件之一不成立,從而使系統(tǒng)不產(chǎn)生死鎖。

②死鎖的避免。系統(tǒng)動態(tài)地測試資源分配情況,僅當(dāng)能確保系統(tǒng)安

全時才給進(jìn)程分配資源。

(安全狀態(tài)是指系統(tǒng)能按某種進(jìn)程推進(jìn)順序,為每個進(jìn)程分配其所需

的資源,直至滿足每個進(jìn)程對資源的最大需求,使每個進(jìn)程都可以順

序的完成)

③死鎖的檢測與解除。對資源的申請和分配不加限制,只要有剩余

的資源就呆把資源分配給申請者,操作系統(tǒng)要定時判斷系統(tǒng)是否出現(xiàn)

了死鎖,當(dāng)有死鎖發(fā)生時設(shè)法解除死鎖。

6.死鎖的預(yù)防四個方法?

破壞互斥條件:允許系統(tǒng)資源都能共享使用。

破壞不剝奪條件:當(dāng)一個以已保持了某些不可剝奪資源的進(jìn)程,請求

新的資源時得不到滿足,必須釋放已經(jīng)保持的所有資源,待以后需要

時再重新申請。

破壞請求和保持條件:使用預(yù)先靜態(tài)分配方法,即進(jìn)程在運行前一

次申請完他所需要的全部資源,在他的資源未滿足前,不把它投入運

行。一旦運行后,這些資源就一直歸它所有,也不再提出其他資源請

求,不會發(fā)生死鎖,但是系統(tǒng)資源嚴(yán)重浪費,而且還會導(dǎo)致“饑餓”

現(xiàn)象。

破壞循環(huán)等待條件:使用順序資源分配法。首先給系統(tǒng)中的資源編號,

規(guī)定每個進(jìn)程,必須按編號遞增的順序請求資源,同類資源一次申請

7Uo

7.死鎖的解除有幾種方法?

資源剝奪法。掛起某些死鎖進(jìn)程,并搶占它的資源,將這些資源分

配給其他的死鎖進(jìn)程。但應(yīng)防止被掛起的進(jìn)程長時間得不到資源時,

而處于資源匱乏的狀態(tài)。

進(jìn)程撤銷法。強(qiáng)制撤銷一個或一部分進(jìn)程并剝奪這些進(jìn)程的資源。撤

銷的原則可以按進(jìn)程的優(yōu)先級和撤銷進(jìn)程代價的高低進(jìn)行。

進(jìn)程回退法。讓一個或多個進(jìn)程回退到足以回避死鎖的地步,進(jìn)程回

退時資源釋放資源而不是被剝奪。要求系統(tǒng)保持進(jìn)程的歷史信息,設(shè)

置還原點。

8.同步機(jī)制應(yīng)遵循哪些準(zhǔn)則?

空閑讓進(jìn):臨界區(qū)空閑時',可以允許一個請求進(jìn)入臨界區(qū)的進(jìn)程進(jìn)入

臨界區(qū)。

忙則等待:當(dāng)已有進(jìn)程進(jìn)入臨界區(qū),其他試圖進(jìn)入臨界區(qū)的進(jìn)程必須

等待。

有限等待:對請求訪問的進(jìn)程,應(yīng)保證能在有限時間內(nèi)進(jìn)入臨界區(qū)。

讓權(quán)等待:當(dāng)進(jìn)程不能進(jìn)入臨界區(qū)時應(yīng)立即釋放處理機(jī),防止進(jìn)程忙

等待。

9.何謂用戶級線程和內(nèi)核支持線程?有有什么區(qū)別?

答:(1)用戶級線程:僅存在于用戶空間中的線程,無須內(nèi)核支持。

(2)內(nèi)核支持線程:在內(nèi)核支持下運行的線程。

系統(tǒng)型線程依賴內(nèi)核;用戶型線程不依賴內(nèi)核。

系統(tǒng)型線程是由操作系統(tǒng)內(nèi)核完成創(chuàng)建和撤銷的線程;用戶型線程是

由應(yīng)用程序利用線程庫提供創(chuàng)建,同步,調(diào)度和管理線程函數(shù)來控制

的線程。

當(dāng)一個系統(tǒng)型線程因I/O操作阻塞時,不會影響其他進(jìn)程的運行;由

于操作系統(tǒng)不了解用戶級線程的存在,所以當(dāng)一個線程阻塞時,整個

進(jìn)程必須等待。

存儲管理

1.在虛擬段式存儲系統(tǒng)中,引入了段的動態(tài)連接。

a試說明為什么引入段的動態(tài)鏈接。

b請給出動態(tài)連接的一種實現(xiàn)方法。

⑴在程序運行之前,先將各目標(biāo)模塊及它們所需的庫函數(shù)鏈接成一個

完整的可執(zhí)行程序,以后不再拆開。稱為靜態(tài)鏈接。靜態(tài)鏈接常常

因為目標(biāo)模塊個數(shù)多而花費大量的CPU時間,而實際運行時又常常

只用到其中的部分模塊,因而也造成了存儲空間的浪費。動態(tài)鏈接是

作業(yè)運行時先裝入主程序,運行過程中需要某模塊時,再將該模塊的

目標(biāo)程序調(diào)入內(nèi)存并進(jìn)行鏈接,它克服了靜態(tài)鏈接的不足。

⑵分段存儲管理就是最典型的動態(tài)鏈接。分段管理允許用戶將作業(yè)

按邏輯關(guān)系進(jìn)行自然分段,各段的大小可以不同。邏輯段內(nèi)的地址是

由兩部分組成的(S:段號,d:段內(nèi)位移量),即分段地址空間是用

戶定義的二維空間。內(nèi)存分配以段為單位,段可以在作業(yè)運行過程

中根據(jù)請求而動態(tài)鏈接和裝入。

2.何為靜態(tài)鏈接?何謂裝入時動態(tài)鏈接和運行時動態(tài)鏈接?

靜態(tài)鏈接:在程序運行之前,先將各目標(biāo)模塊及它們所需的庫函數(shù)鏈

接成一個完整的可執(zhí)行程序,以后不再拆開。

裝入時動態(tài)鏈接:將用戶源程序編譯后所得到的一組目標(biāo)模塊,再裝

入內(nèi)存時,采用邊裝入變鏈接的方式。

運行時動態(tài)鏈接:對某些目標(biāo)模塊的連接,是在程序執(zhí)行中需要該

目標(biāo)模塊時,才對她進(jìn)行鏈接。其優(yōu)點是便于修改和更新,便于實現(xiàn)

對目標(biāo)模塊的共享。

3.絕對裝入方式?

絕對裝入:在編譯時,如果知道程序?qū)Ⅰv留在內(nèi)存的某個位置,編

譯程序?qū)a(chǎn)生絕對地址的目標(biāo)代碼。絕對裝入程序按照裝入模塊的地

址,將程序和數(shù)據(jù)裝入內(nèi)存。裝入模塊被裝入內(nèi)存后,由于程序中的

邏輯地址與實際地址完全相同,故不需對程序和數(shù)據(jù)的地址進(jìn)行修改。

絕對裝入方式只適用于單道程序環(huán)境。另外,程序中所使用的絕對地

址,可在編譯或匯編時給出,也可由程序員直接賦予。

4.為什么要引入動態(tài)重定位?如何實現(xiàn)?

答:靜態(tài)重定位是地址變換在鏈接裝入時一次完成的,但它要求連續(xù)

的一片區(qū)域,且重定位后不能移動,不利于內(nèi)存空間的有效使用,所

以要引入動態(tài)重定位。動態(tài)重定位是在程序運行過程中要訪問數(shù)據(jù)時

再進(jìn)行邏輯地址與物理地址的變換它是靠硬件地址變換部分實現(xiàn)的,

通常采用重定位寄存器等實現(xiàn)

5.什么是邏輯地址?什么是物理地址?邏輯地址空間與物理地址空

間?什么是地址重定位?什么是碎片?

邏輯地址指由程序產(chǎn)生的與段相關(guān)的偏移地址部分。

物理地址是在存儲器里以字節(jié)為單位存儲信息,為正確地存放或取得

信息,每一個字節(jié)

地址重定位:把邏輯地址轉(zhuǎn)變?yōu)閮?nèi)存的物理地址的過程。在裝入時對

目標(biāo)程序中指令和數(shù)據(jù)的修改過程O

邏輯地址空間:一個目標(biāo)程序所限定的地址范圍。

物理地址空間實質(zhì)內(nèi)存中物理單位的集合,它是地址轉(zhuǎn)換的最終地址。

碎片是指內(nèi)存中很多容量太小、無法被利用的空閑塊。

6.什么是覆蓋技術(shù)?什么是交換?什么是換入和換出?

覆蓋技術(shù)是指一個程序的若干程序段或幾個程序的某些部分共享某

一個存儲空間。

交換的基本思想是:把處于等待狀態(tài)的進(jìn)程從內(nèi)存移到輔存,把內(nèi)存

空間騰出來,這一過程又叫換出;把準(zhǔn)備好競爭CPU運行的進(jìn)程從

輔存移到內(nèi)存,這一過程又稱為換入。

交換技術(shù)主要是在不同進(jìn)程之間進(jìn)行,而覆蓋則用于同一個程序中。

7.覆蓋技術(shù)與虛擬存儲技術(shù)有何本質(zhì)不同?交換技術(shù)與虛存中使用

的調(diào)入/調(diào)出技術(shù)有何相同

覆蓋技術(shù)與虛擬存儲技術(shù)最本質(zhì)的不同在于覆蓋的程序段的最大長

度要受到物理內(nèi)存容量的限制,而虛擬存儲器的最大長度不受物理

內(nèi)存容量的限制,只受計算機(jī)地址結(jié)構(gòu)的限制。交換技術(shù)與虛存中

使用的調(diào)入/調(diào)出技術(shù)的主要區(qū)別在于:交換技術(shù)換進(jìn)換出整個進(jìn)程,

因此一個進(jìn)程的大小受物理存儲器的限制:而虛存中使用的調(diào)入/調(diào)

出技術(shù)在內(nèi)存和外存之間來回傳遞的是存儲頁或存儲段,而不是整

個進(jìn)程,從而使得進(jìn)程的地址映射具有了更大的靈活性,且允許進(jìn)

程的大小比可用的物理存儲空間大得多。

8.什么是虛擬存儲器?虛擬存儲器基本特征是什么?虛擬存儲器的

容量主要受到什么限制?試著舉一例子?

虛擬存儲器是指具有請求調(diào)入功能和置換功能,能從邏輯上對內(nèi)存容

量加以擴(kuò)充的一種存儲器系統(tǒng)。

基本特征:多次性(作業(yè)無需一次裝入內(nèi)存,分為多次調(diào)入內(nèi)存運行),

對換性(作業(yè)運行時不必一直常駐內(nèi)存,允許換入和換出。),

虛擬性(邏輯上擴(kuò)充了容量,使用戶看到的內(nèi)存容量,遠(yuǎn)大于實際的

內(nèi)存容量。)

虛擬存儲器的容量與物理主存大小無關(guān),而受限于計算機(jī)的地址結(jié)構(gòu)。

例如在請求分頁存儲管理系統(tǒng)中,用戶作業(yè)的所有頁面并不一定都在

實存,在作業(yè)運行過程中再請求調(diào)入所用的虛頁。為了實現(xiàn)從邏輯地

址空間到物理地址空間的變換,在硬件上必須提供一套地址變換機(jī)

構(gòu),動態(tài)地址變換機(jī)構(gòu)自動地將所有的邏輯地址劃分為頁號和頁內(nèi)

地址兩部分,并利用頁表將頁號代之以塊號,把塊號和頁內(nèi)地址拼接

就得到了內(nèi)存的物理地址,從而實現(xiàn)了虛擬存儲器。

7.簡述固定分區(qū)和可變分區(qū)在管理方式上的區(qū)別?和優(yōu)缺點?

答:單一連續(xù)分配方式:將內(nèi)存分為系統(tǒng)區(qū)和用戶區(qū),系統(tǒng)區(qū)供操作

系統(tǒng)使用,用戶區(qū)供用戶使用,是最簡單的一種存儲方式,但只能用

于單用戶單任務(wù)的操作系統(tǒng)中

固定分區(qū)是一種最簡單的多道程序存儲管理方式,它將用戶內(nèi)存空間

劃分為若干個固定大小的區(qū)域,每個分區(qū)只裝入一道作業(yè)。程序可能

太大而放不進(jìn)任何一個分區(qū)中,這時用戶不得不使用覆蓋技術(shù)使用內(nèi)

存空間。主存利用率低,當(dāng)程序小于固定分區(qū)大小時,也占用了一個

完整的內(nèi)存空間,會有內(nèi)部碎片。

可變分區(qū)是一種動態(tài)劃分內(nèi)存的分區(qū)方法。不預(yù)先將內(nèi)存劃分,而是

在作業(yè)裝入內(nèi)存時,根據(jù)作業(yè)的大小動態(tài)的建立分區(qū),并使分區(qū)的大

小正好適合作業(yè)的需要。分區(qū)的大小數(shù)目可變

引入可變分區(qū)方法,使內(nèi)存分配有較大的靈活性,也提高了內(nèi)存利用

率。但是可變分區(qū)會引起碎片的產(chǎn)生。

9.分區(qū)存儲管理中常采用哪些分配策略?比較它們的優(yōu)缺點

分區(qū)存儲管理中常采用的分配策略有:首次適應(yīng)算法、循環(huán)首次適應(yīng)

算法、最佳適應(yīng)算法、最壞適應(yīng)算法。

首次適應(yīng)算法的優(yōu)缺點:保留了高址部分的大空閑區(qū),有利于后到來

的大型作業(yè)的分配;低址部分不斷被劃分,留下許多難以利用的、小

的空閑區(qū),且每次分區(qū)分配查找時都是從低址部分開始,會增加查找

時的系統(tǒng)開銷。

循環(huán)首次適應(yīng)算法的優(yōu)缺點:使內(nèi)存中的空閑分區(qū)分布得更為均勻,

減少了查找時的系統(tǒng)開銷;缺乏大的空閑分區(qū),從而導(dǎo)致不能裝入大

型作業(yè)。

最佳適應(yīng)算法的優(yōu)缺點:每次分配給文件的都是最適合該文件大小的

分區(qū);內(nèi)存中留下許多難以利用的小的空閑區(qū)。

最壞適應(yīng)算法的優(yōu)缺點:給文件分配分區(qū)后剩下的的空閑區(qū)不至于太

小,產(chǎn)生碎片的幾率最小,對中小型文件分配分區(qū)操作有利;使存儲

器中缺乏大的空閑區(qū),對大型文件的分區(qū)分配不利。

10.分段和分頁的主要區(qū)別是什么?

頁是信息的物理單位;而段是信息的邏輯單位;

頁的大小固定且由系統(tǒng)決定;而段的長度卻不固定,段含有一組意義

相對完整的信息,決定于用戶所編寫的程序。

分頁的作業(yè)地址空間是一維的;而分段的作業(yè)地址空間是二維的。

分頁是出于系統(tǒng)管理的需要,分段是為了滿足用戶的需要

分頁中有內(nèi)碎片,無外碎片。分段無內(nèi)碎片,有外碎片。

1L為什么說分段系統(tǒng)較之分頁系統(tǒng)更易于實現(xiàn)信息共享和保護(hù)?

a.對于分頁系統(tǒng),每個頁面是分散存儲的,為了實現(xiàn)信息共享和保護(hù),

則頁面之間需要對應(yīng)起來,為此需要建立大量的頁表項;

b.而對于分段系統(tǒng),每個段都從。開始編址,并采用一段連續(xù)的地址

空間,這樣在實現(xiàn)共享和保護(hù)時,只需為所要共享和保護(hù)的程序設(shè)置

一個段表項,將其中的基址與內(nèi)存地址一一對應(yīng)起來即可。

12.何為頁表和快表?它們各起什么作用?

頁表指出邏輯地址中的頁號與所占主存塊號的對應(yīng)關(guān)系。快表是具有

并行查找能力的高速緩沖存儲器,又稱聯(lián)想寄存器TLB,用以存放

當(dāng)前訪問的若干頁表項。

作用:頁式存儲管理在用動態(tài)重定位方式裝入作業(yè)時,要利用頁表做

地址轉(zhuǎn)換工作。

由于采用頁表做地址轉(zhuǎn)換,讀寫內(nèi)存數(shù)據(jù)時CPU要訪問兩次主存。

有了快表,有時只要訪問一次高速緩沖存儲器,一次主存,這樣可加

速查找并提高指令執(zhí)行速度。

補充:段頁式存儲器管理存取一次數(shù)據(jù)須經(jīng)過3次對內(nèi)存的訪問?

首先通過段表查到頁表起始地址,然后通過頁表找到幀號,最后形成

物理地址。

13.在有快表的情況下地址轉(zhuǎn)換過程?

在具有快表的分頁機(jī)制中,地址的變換過程:CPU給出有效地址后,

由硬件進(jìn)行地址轉(zhuǎn)換,并將頁號送入高速緩存寄存器,并將此頁號與

快表中的所有頁號同時進(jìn)行比較。

如果有找到匹配的頁號,說明索要訪問的頁表項在快表中,則可以直

接從中讀出該頁對應(yīng)的頁框號,送到屋里地址寄存器。這樣存取數(shù)據(jù)

可以直接一次訪存實現(xiàn)。

如果沒有找到,則需要訪問主存中的頁表,在讀出頁表項后,應(yīng)同時

將其存入快表中,以供后面可能的再次訪問。但是如果快表已滿,

就必須按照一定的算法對其中舊的頁表項進(jìn)行替換。注意,有些處

理器設(shè)計為快表和主存同時查找,如果在快表中匹配成功則終止主存

中的查找

13.虛擬存儲器的基本特征是什么?虛擬存儲器的容量主要受到什么

限制?

虛擬存儲器是指具有請求調(diào)入功能和置換功能,能從邏輯上對內(nèi)存容

量加以擴(kuò)充的一種存儲器系統(tǒng)。

基本特征:多次性(作業(yè)無需一次裝入內(nèi)存,分為多次調(diào)入內(nèi)存運行),

對換性(作業(yè)運行時不必一直常駐內(nèi)存,允許換入和換出。),

虛擬性(邏輯上擴(kuò)充了容量,使用戶看到的內(nèi)存容量,遠(yuǎn)大于實際的

內(nèi)存容量。)

虛擬存儲器的容量與物理主存大小無關(guān),而受限于計算機(jī)的地址結(jié)構(gòu)

和可用磁盤容量。

14.請求頁式存儲管理的優(yōu)缺點

答:優(yōu)點:

⑴虛存量大,適合多道程序運行,用戶不必?fù)?dān)心內(nèi)存不夠的調(diào)度操作。

動態(tài)頁式管理提供了內(nèi)存與外存統(tǒng)一管理的虛存實現(xiàn)方式。

⑵內(nèi)存利用率高,不常用的頁面盡量不留在內(nèi)存。

⑶不要求作業(yè)連續(xù)存放,有效地解決了“碎片”問題。與分區(qū)式比,

不需移動作業(yè);與多重分區(qū)比,無零星碎片產(chǎn)生。注:分區(qū)式分配包

括:固定式分配,可變分區(qū)分配,可重定位分區(qū)分配和多重分區(qū)分配四

種。

缺點:

⑴要處理頁面中斷、缺頁中斷處理等,系統(tǒng)開銷較大。

⑵有可能產(chǎn)生“抖動二注:剛剛換出的頁面馬上又換入內(nèi)存,剛剛

換入的頁面馬上又換出內(nèi)存,這種頻繁的調(diào)度行為叫做抖動

⑶地址變換機(jī)構(gòu)復(fù)雜,為提高速度采用硬件實現(xiàn),增加了機(jī)器成本。

15.什么是缺頁中斷?缺頁中斷之后需要怎么處理?與一般的中斷有

什么區(qū)別?

在請求分頁系統(tǒng)中,每當(dāng)所要訪問的頁面不在內(nèi)存時;便產(chǎn)生一個缺

頁中斷,請求操作系統(tǒng)將所缺的頁調(diào)入內(nèi)存。

過程:缺頁中斷處理程序根據(jù)頁面在外存的位置將其調(diào)入內(nèi)存。在此

過程中,內(nèi)存中如果有空閑空間,則缺頁中斷處理程序會將該頁面調(diào)

入任一空閑存儲快,還需對頁表的其他表項做修改,如物理塊號等。

如果沒有空閑空間,必須淘汰某些頁面,如果被淘汰的頁面之前被修

改過,要將其寫回內(nèi)存。

區(qū)別:在指令執(zhí)行期間產(chǎn)生和處理中斷信號,而非一條指令執(zhí)行完后。

一條指令在執(zhí)行期間,可能產(chǎn)生多次缺頁中斷。

16試說明改進(jìn)型Clock置換算法的基本原理。

基本原理:在將一個頁面換出時、如果該頁已被修改過,便須將該頁

重新寫回到磁盤上;但如果該頁未被修改過,則不必將它寫回磁盤上。

在改進(jìn)型算法中,除需考慮頁面的使用情況外,還須再增加一個因素,

即置換代價,這樣,選擇頁面換出時一,既要是未使用過的頁面,又要

是未被修改過的頁面。

17.什么是抖動?引起抖動的原因有哪些?

剛剛換出的頁面馬上又換入內(nèi)存,剛剛換入的頁面馬上又換出內(nèi)存,

這種頻繁的調(diào)度行為叫做抖動。產(chǎn)生抖動的原因是由于CPU的利用

率和多道程序度的對立統(tǒng)一矛盾關(guān)系引起的,為了提高CPU利用率,

可提高多道程序度,但單純提高多道程序度又會造成缺頁率的急劇上

升,導(dǎo)致CPU的利用率下降,而系統(tǒng)的調(diào)度程序又會為了提高CPU

利用率而繼續(xù)提高多道程序度,形成惡性循環(huán),我們稱這時的進(jìn)程是

處于"抖動"狀態(tài)。

什么是固定分配局部置換,可變分配全局置換,可變分配局部置換?

固定分配局部置換它為每個進(jìn)程分配一定數(shù)量的物理塊,在整個運行

期間都不改變。若進(jìn)程在運行中發(fā)現(xiàn)缺頁,則只能從該進(jìn)程在內(nèi)存的

頁面中選出一個換出,然后再調(diào)入需要的頁面。實現(xiàn)這種策略難以確

定為每個進(jìn)程應(yīng)分配的物理塊數(shù)量:太少會頻繁出現(xiàn)缺頁中斷,太

多又會使CPU和其他資源利用率下降。

可變分配全局置換。這是最易于實現(xiàn)的物理塊分配和置換策略,為

系統(tǒng)中的每個進(jìn)程分配一定數(shù)量的物理塊,操作系統(tǒng)自身也保持一個

空閑物理塊隊列。當(dāng)某進(jìn)程發(fā)現(xiàn)缺頁時一,系統(tǒng)從空閑物理塊隊列中取

出物理塊分配給該進(jìn)程,并將于調(diào)入的頁裝入其中。

可變分配局部置換。它為每個進(jìn)程分配一定數(shù)目的物理塊,當(dāng)某進(jìn)

程發(fā)現(xiàn)缺頁時一,只允許從該進(jìn)程在內(nèi)存的頁面中選出一頁換出,這樣

就不會影響其他進(jìn)程的運行。如果進(jìn)程在運行中頻繁的換頁,系統(tǒng)需

再為該進(jìn)程分配若干附加物理塊,直至該進(jìn)程缺頁率趨于適當(dāng)程度為

止;反之,若一個進(jìn)程在運行過程中缺頁率特別低,則此時可適當(dāng)減

少該進(jìn)程的物理塊。

19.什么是預(yù)調(diào)頁策略,請求調(diào)頁策略?

預(yù)調(diào)頁策略。根據(jù)局部性原理,一次調(diào)入若干個相鄰的頁可能比一次

調(diào)入一頁更高效。但如果調(diào)入的一批頁面中大廈多數(shù)都未被訪問,則

又是低效的。所以就需要采用以預(yù)測為基礎(chǔ)的預(yù)調(diào)頁策略,將預(yù)計在

不久之后便會被訪問的頁面預(yù)先調(diào)入內(nèi)存。但目前預(yù)調(diào)頁的成功率

僅約50%o股這種策略主要用于進(jìn)程的首次調(diào)入時,有程序員指出

應(yīng)該先調(diào)入哪些頁。

請求調(diào)頁策略。進(jìn)程在運行中需要訪問的頁面不在內(nèi)存而提出的請求,

由系統(tǒng)將所需頁面調(diào)入內(nèi)存。這種策略調(diào)入的頁一定會被訪問,且這

種策略比較易于實現(xiàn),故在目前的虛擬存儲器中大多采用此策略。它

的缺點在于每次調(diào)入一頁,會花費過多的10開銷。

20.什么是分段的共享和保護(hù)?

分段的共享通過共享段來實現(xiàn),每一個表項都是共享段的信息,記錄

了共享此段的每個進(jìn)程情況。

分段的保護(hù)越界檢查:短號超過段表長度或段內(nèi)偏移超過段長時越界

中斷處理。存取控制檢查:段表項中存取控制字段規(guī)定了對該段的訪

問方式,比如只讀、讀寫等。環(huán)保護(hù)機(jī)構(gòu):一個程序可以訪問駐留在

相同環(huán)或較高特權(quán)環(huán)中的數(shù)據(jù);一個程序可以調(diào)用駐留在相同環(huán)或較

高特權(quán)環(huán)中的服務(wù)。

文件管理

1.對目錄管理的主要要求是什么?

實現(xiàn)“按名存取”;提高對目錄的檢索速度;文件共享;允許文件重

名。

2.什么是按名存???

按名存取即用戶不必考慮文件存儲在哪里,怎樣組織輸入、輸出等工

作,只要使用文件名,操作系統(tǒng)通過查找目錄,就能對存儲介質(zhì)上的

信息進(jìn)行相應(yīng)的操作。

3.什么是絕對路徑和相對路徑名和索引節(jié)點

絕對路徑:從根目錄出發(fā)的路徑。

相對路徑:進(jìn)程對各文件的訪問都是相對于當(dāng)前目錄進(jìn)行的。

索引節(jié)點:在檢索文件時只用到文件名,也就是說,在檢索目錄的時,

文件的其他信息時不會被用到的,也不會被調(diào)入內(nèi)存。因此有些系統(tǒng)

采用了文件名和文件描述信息分開的方法,將文件的描述信息單獨形

成一個索引節(jié)點。

磁盤高速緩存是利用內(nèi)存中的部分存儲空間來暫存從磁盤中讀出的

盤快內(nèi)容。物理上是駐留在內(nèi)存的盤快,邏輯上屬于磁盤。

4.什么是文件?什么是文件系統(tǒng)?基本操作有哪些?

文件是以計算機(jī)硬盤為載體存儲在計算機(jī)的信息的集合,文件可以是

文本文檔,圖片,程序等等。操作系統(tǒng)負(fù)責(zé)管理和存儲文件信息的軟

件機(jī)構(gòu)成為文件管理系統(tǒng),簡稱文件系統(tǒng)。文件系統(tǒng)由三部分組成:

與文件管理有關(guān)軟件,被管理文件以及實施文件管理所需的數(shù)據(jù)結(jié)構(gòu)。

最基本的文件操作包括創(chuàng)建文件,刪除文件,讀文件,寫文件,截斷

文件,文件重定位

文件重定位:按某條件搜索目錄,將當(dāng)前文件位置設(shè)為給定值,并且

不會讀寫文件。

截斷文件:允許文件所有屬性不變,并刪除文件內(nèi)容,即將長度設(shè)為

0并釋放空間。

補充:記錄是一組相關(guān)的數(shù)據(jù)項集合,用于描述一個對象在某方面的

屬性,如一個考生報名記錄包括考生姓名、出生日期、報考學(xué)校代

號、身份證號等一系列域。

為什么在大多數(shù)OS中都引入”打開“這一文件系統(tǒng)調(diào)用?打開的含

義是什么?

當(dāng)用戶要求對一個文件實施多次讀/寫或者其他操作時,每次都要從

檢索目錄開始。為了避免多次重復(fù)檢索目錄,在大多數(shù)OS中都引入

了”打開“這一文件系統(tǒng)調(diào)用,當(dāng)用戶第一次請求對某文件進(jìn)行操作

時,須先利用。pen系統(tǒng)調(diào)用將該文件打開。所謂”打開“,是指系

統(tǒng)將指名文件的屬性(包括該文件在外存上的物理位置),從外存拷

貝到內(nèi)存打開文件表的一個表目中,并將該表目的編號(或稱索引號)

返回給用戶。換而言之,”打開“,就是在用戶和指定文件之間建立

起一個連接。此后,用戶通過該連接直接得到文件信息,從而避免了

再次通過目錄檢索文件,即當(dāng)用戶再次向系統(tǒng)發(fā)出文件操作請求時,

系統(tǒng)根據(jù)用戶提供的索引號可以直接在打開文件表中查找到文件信

息。這樣不僅節(jié)省了大量的檢索開銷,也顯著提高了對文件的操作速

度。如果用戶已不再想要對該文件實施相應(yīng)的操作,可利用”關(guān)閉“系

統(tǒng)調(diào)用來關(guān)閉此文件,即斷開此連接,OS將會把該文件從打開文件

表中的表目上刪除掉。

什么是文件的邏輯組織和物理組織?文件的邏輯結(jié)構(gòu)有幾種形式?

文件的邏輯結(jié)構(gòu)是從用戶的觀點出發(fā),所觀察到的文件組織形式,是

用戶可以直接處理的數(shù)據(jù)及其結(jié)構(gòu),它獨立于物理特性。文件的物理

結(jié)構(gòu),又稱為文件的存儲結(jié)構(gòu),是指文件在外存上的存儲組織形式。

這不僅與存儲介質(zhì)的存儲性能有關(guān),而且與所在外存的分配方式有關(guān)。

按邏輯結(jié)構(gòu),文件有無結(jié)構(gòu)文件和有結(jié)構(gòu)文件兩種類型,文件的有結(jié)

構(gòu)文件有順序文件、索引文件、索引順序文件,散列文件。

7.什么是FCB?為什么引入FCB?

為了能對一個文件進(jìn)行正確的存取,操作系統(tǒng)必須為文件設(shè)置用于描

述和控制文件的數(shù)據(jù)結(jié)構(gòu),稱之為“文件控制塊(FCB)”。為實現(xiàn)目

錄管理,操作系統(tǒng)中引入了文件控制塊的數(shù)據(jù)結(jié)構(gòu)。

8.簡述文件的二級目錄組織形式。欲實現(xiàn)文件共享如何處理?

把記錄文件的目錄分成主文件目錄和由其主管的若干個子目錄,各子

目錄的位置由主目錄中的一項指出。應(yīng)用中常設(shè)一個主文件目錄,而

為系統(tǒng)中每一個用戶設(shè)立一張主文件目錄MFD,每個用戶的所有文

件均設(shè)立一個用戶文件目錄UFD,作為MFD中的一項。用以描述UFD

的文件名和物理位置,即UFD是用戶全部文件的文件控制塊的全體。

在二級文件目錄中,欲共享文件需給出一個文件的全路徑名。由系統(tǒng)

從根目錄開始檢索;或者用戶將其當(dāng)前目錄指向另一用戶的子目錄上,

以實現(xiàn)共享訪問。

9.文件目錄和目錄文件各起什麼作用?目前廣泛采用的目錄結(jié)構(gòu)形

式是哪種?它有什麼優(yōu)點?

文件目錄記錄文件的名字、文件長度、文件存放在外存上的物理地址,

以及文件屬性和文件建立時間、日期等信息也稱之為文件控制塊。目

錄文件是文件系統(tǒng)把同一卷上的若干文件的文件目錄組成一個獨立

的文件,這個全部由文件目錄組成的文件稱目錄文件。文件目錄和目

錄文件是兩個不同的概念,文件目錄記錄文件的管理信息,它用于對

單個文件的控制;目錄文件是由全部文件目錄組成的文件,它用于整

個文件系統(tǒng)的管理。目前廣泛采用的目錄結(jié)構(gòu)是樹形目錄結(jié)構(gòu),它的

主要優(yōu)點是:檢索效率高,允許文件重名,確切反映了信息的層次結(jié)

構(gòu),并且可以利用層次結(jié)構(gòu)實現(xiàn)文件共享和保護(hù)

10.文件物理結(jié)構(gòu)中的順序結(jié)構(gòu)、鏈接結(jié)構(gòu)與索引結(jié)構(gòu)三者之間相比

各有什么優(yōu)缺點?

順序結(jié)構(gòu)優(yōu)點:存儲管理簡單,且容易實現(xiàn)。支持順序存取和隨機(jī)存

取。順序存取速度快。所需的磁盤尋道次數(shù)和尋道時間最少。缺點不

利于文件的動態(tài)增長,需要為每個文件預(yù)留連續(xù)的空間以滿足文件動

態(tài)增長。

鏈?zhǔn)浇Y(jié)構(gòu)優(yōu)點是提高了磁盤利用率,不需要為每個文件預(yù)留物理塊。

有利于文件插入和刪除。有利于文件動態(tài)增長。缺點存取速度慢,不

適于隨機(jī)存取,當(dāng)物理塊間的連接指針出錯時,數(shù)據(jù)丟失。更多的尋

道次數(shù)和尋道時間。鏈接指針占用一定的空間,降低了空間利用率。

索引結(jié)構(gòu)優(yōu)點是不需要為每個文件預(yù)留物理塊。既能順序存取,又能

隨機(jī)存取。滿足了文件動態(tài)增長需要。

缺點較多的尋道次數(shù)和尋道時間。索引表本身帶來了系統(tǒng)開銷。如內(nèi)

存空間,存取時間等

1L在磁盤上進(jìn)行一次讀寫操作需要那幾部分時間?其中哪部分時間

最長?

尋道時間:磁頭移動到指定磁道所需要的時間

延遲時間:磁頭定位到某磁道的扇區(qū)(塊號)所需要的時間

傳輸時間:從磁盤讀出或向磁盤寫入數(shù)據(jù)所需要的時間。

一般來說,尋道時間因為要移動磁臂,所以占用時間最長。

12.FCFS,SSTF,SCAN,C-SCAN算法的優(yōu)缺點

FCFS-優(yōu)點:公平,簡單缺點:平均尋道時間長,僅應(yīng)用在磁盤I/O

較少的場合

SSTF一優(yōu)點:性能比“先來先服務(wù)”好,減少了平均尋道時間缺點:

不能保證平均尋道時間最短,可能會出現(xiàn)“饑餓”現(xiàn)象

SCAN一優(yōu)點:尋道性能較好,可避免“饑餓”現(xiàn)象。缺點:不利于

遠(yuǎn)離磁頭一端的訪問請求

C-SCAN-優(yōu)點:消除了兩端磁道請求的不公平。缺點:無

13.文件保護(hù)?

文件保護(hù)通過口令保護(hù)、加密保護(hù)和訪問控制等方式實現(xiàn)。其中,口

令保護(hù)和加密保護(hù)是為了方式用戶文件被他人存取或盜取,而訪問控

制則用于控制用戶對文件的訪問方式

解決訪問控制最常用的方法是根據(jù)用戶身份進(jìn)行控制。最普通的方法

是為每個文件和目錄增加一個訪問控制列表,以規(guī)定每個用戶名及其

所允許訪問的類型。這種方法的優(yōu)點是可以使用復(fù)雜的訪問方法。其

缺點是長度無法預(yù)期并且可能導(dǎo)致復(fù)雜的空間管理,使用精簡的訪問

列表可以解決這個問題。

精簡的訪問列表采用擁有者、組合其他三種用戶類型。

1)擁有者:創(chuàng)建文件的用戶。

2)組:一組需要共享文件且具有類似訪問的用戶。

3)其他:系統(tǒng)內(nèi)的所有其他用戶。

設(shè)備管理

1.設(shè)備管理的目標(biāo)和功能是什么?

設(shè)備管理的目標(biāo):

⑴向用戶提供外部設(shè)備的方便、統(tǒng)一的接口,控制設(shè)備工作,完成

用戶的輸入輸出請求;

(2)充分利用中斷技術(shù)、通道技術(shù)和緩沖技術(shù),提高CPU與設(shè)備、設(shè)

備與設(shè)備之間的并行工作能力,以充分利用設(shè)備資源,提高外部設(shè)備

的使用效率;

⑶設(shè)備管理就是要保證在多道程序環(huán)境下,當(dāng)多個進(jìn)程競爭使用設(shè)

備時,按照一定的策略分配和管理設(shè)備,以使系統(tǒng)能有條不紊地工作。

設(shè)備管理的功能:

⑴設(shè)備分配和回收;

(2)管理輸入/輸出緩沖區(qū);

(3)設(shè)備驅(qū)動,實現(xiàn)物理I/O操作;

(4)外部設(shè)備中斷處理;

⑸虛擬設(shè)備及其實現(xiàn)。

2.什么是塊設(shè)備?什么是字符設(shè)備?

塊設(shè)備由于信息的存取總是以數(shù)據(jù)塊為單位,所以存儲信息的設(shè)備稱

為塊設(shè)備。它屬于有結(jié)構(gòu)設(shè)備,如磁盤等。磁盤設(shè)備的基本特征是傳

輸速率高,以及可尋址,即對它可隨機(jī)地讀寫任意塊。

用于數(shù)據(jù)輸入輸出的設(shè)備為字符設(shè)備,因為其傳輸?shù)幕締挝皇亲址?/p>

它屬于無結(jié)構(gòu)類型,如打印機(jī)等。他們的傳輸速率低、不可尋址、并

且在輸入輸出時常采用中斷驅(qū)動方式。

3.程序直接控制方式、I/O中斷方式

(1)程序直接控制方式。其特點是主機(jī)與I/O串行工作。CPU啟動

I/O后,時刻查詢I/O是否準(zhǔn)備好,若設(shè)備準(zhǔn)備就緒,CPU便轉(zhuǎn)入處

理I/O與主機(jī)間傳送信息的程序;若設(shè)備未做好準(zhǔn)備,則CPU反復(fù)查

詢,“踏步”等待直到I/O準(zhǔn)備就緒為止??梢娺@種方式CPU效率很

(2)程序中斷方式。其特點是主機(jī)與I/O并行工作。CPU啟動I/O后,

不必時刻查詢I/O是否準(zhǔn)備好,而是繼續(xù)執(zhí)行程序,當(dāng)I/O準(zhǔn)備就緒

時。向CPU發(fā)中斷請求信號,CPU在適當(dāng)時候響應(yīng)I/O的中斷請求,

暫?,F(xiàn)行程序為I/O服務(wù)。這種方式消除了“踏步”現(xiàn)象,提高了CPU

效率

4.什么是通道?與DMA方式有什么區(qū)別?

通道是專門負(fù)責(zé)輸入/輸出的處理機(jī)。進(jìn)一步減少對CPU的干預(yù),即

把對一個數(shù)據(jù)塊的讀或?qū)憺閱挝坏母深A(yù),減少為對一組數(shù)據(jù)塊的讀或

寫及有關(guān)的控制和管理為單位的干預(yù)。同時一,又可以實現(xiàn)CPU、通

道和10設(shè)備三者的并行操作,從而更有效的提高整個系統(tǒng)的資源利

用率。

10通道和一般處理器的區(qū)別是:通道指令的類型單一,沒有自己的

內(nèi)存,通道所執(zhí)行的通道程

溫馨提示

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

評論

0/150

提交評論