




版權(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 水產(chǎn)養(yǎng)殖基地土地使用權(quán)合同
- 公司技術(shù)服務(wù)采購合同
- 豪華酒店廚師服務(wù)合同
- 電子產(chǎn)品購銷合同標(biāo)準(zhǔn)版
- 房地產(chǎn)投資專項法律服務(wù)合同
- (完整版)農(nóng)村土地租賃合同書
- 光學(xué)玻璃的紫外光固化涂層技術(shù)考核試卷
- 醫(yī)療用品行業(yè)服務(wù)平臺拓展考核試卷
- 搪瓷原材料市場動態(tài)與價格趨勢考核試卷
- 數(shù)字出版物的長期保存與數(shù)字遺產(chǎn)考核試卷
- GB/T 18913-2002船舶和航海技術(shù)航海氣象圖傳真接收機(jī)
- 高中教師先進(jìn)事跡材料范文六篇
- 烹飪專業(yè)英語課件
- 3d3s基本操作命令教程課件分析
- 人教版三年級語文下冊晨讀課件
- 傳染病防治法培訓(xùn)講義課件
- 河南大學(xué)版(2020)信息技術(shù)六年級下冊全冊教案
- 法律方法階梯實用版課件
- DB32T 4353-2022 房屋建筑和市政基礎(chǔ)設(shè)施工程檔案資料管理規(guī)程
- 白描課件講義整理
- 實驗 探究彈簧彈力與形變量的關(guān)系2022-2023學(xué)年高一物理(人教版2019必修第一冊)
評論
0/150
提交評論