Java、數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)、Linux等筆試總結(jié)(day01)

1、字符串中任意個(gè)連續(xù)的字符組成的子序列成為該串的子串??沾捅旧矶妓阕鞅咀址淖哟?。下列選項(xiàng)A錯(cuò)在沒(méi)有加雙引號(hào)

題1

2、extern聲明多文件共享變量的方法:1)在一個(gè)源文件中定義,在其他需要使用的源文件中用extern聲明。(僅一處定義,多處extern)2)在一個(gè)源文件中定義,在其對(duì)應(yīng)的都文件中extern聲明,在其他需要使用該共享變量的源文件中包含該頭文件即可。(更加標(biāo)準(zhǔn)的做法)下題考察的是第一種做法

題2

3、C++對(duì)象生成時(shí)的構(gòu)造順序,先構(gòu)造繼承過(guò)來(lái)的父類(lèi),然后同級(jí)順序構(gòu)造。虛繼承解決繼承二義性問(wèn)題。如下分別為不加virtual和加virtual的繼承關(guān)系示例。

不加virtual的繼承關(guān)系
加virtual的繼承關(guān)系
題3

4、進(jìn)程之間的特性:

動(dòng)態(tài)性:進(jìn)程的實(shí)質(zhì)是程序在多道程序系統(tǒng)中的一次執(zhí)行過(guò)程,進(jìn)程是動(dòng)態(tài)產(chǎn)生,動(dòng)態(tài)消亡的。

并發(fā)性:任何進(jìn)程都可以同其他進(jìn)程一起并發(fā)執(zhí)行。

獨(dú)立性:進(jìn)程是一個(gè)能獨(dú)立運(yùn)行的基本單位,同時(shí)也是系統(tǒng)分配資源和調(diào)度的獨(dú)立單位。

異步性:由于進(jìn)程間的相互制約,使進(jìn)程具有執(zhí)行的間斷性,即進(jìn)程各自按獨(dú)立的、不可預(yù)知的速度向前推進(jìn)。

5、系統(tǒng)調(diào)用是用戶軟件和硬件系統(tǒng)的中間部分,所以不是最靠近硬件。最靠近硬件的應(yīng)該是驅(qū)動(dòng)程序。

6、常見(jiàn)的批處理作業(yè)調(diào)度算法

1)先來(lái)先服務(wù)調(diào)度算法(FCFS):就是按照各個(gè)作業(yè)進(jìn)入系統(tǒng)的自然次序來(lái)調(diào)度作業(yè)。這種調(diào)度算法的有點(diǎn)是實(shí)現(xiàn)簡(jiǎn)單,公平。其缺點(diǎn)是沒(méi)有考慮到系統(tǒng)中各種資源的綜合使用情況,往往短作業(yè)的用戶不滿意,因?yàn)槎套鳂I(yè)的等待處理時(shí)間可能比實(shí)際運(yùn)行時(shí)間長(zhǎng)的多。

2)短作業(yè)優(yōu)先調(diào)度算法(SPF):就是優(yōu)先調(diào)度并處理短作業(yè),所謂短是指作業(yè)的運(yùn)行時(shí)間短。而在作業(yè)未投入運(yùn)行時(shí),并不知道它實(shí)際的運(yùn)行時(shí)間長(zhǎng)短,因此需要在用于提交作業(yè)同時(shí)提交作業(yè)運(yùn)行時(shí)間的估計(jì)值。

3)最高響應(yīng)比優(yōu)先算法(HRN):FCFS可能造成短作業(yè)用戶不滿,SPF可能是長(zhǎng)作業(yè)用戶不滿,于是提出HRN,選擇響應(yīng)比最高的作業(yè)運(yùn)行。響應(yīng)比=(等待時(shí)間+運(yùn)行時(shí)間)/運(yùn)行時(shí)間

4)基于優(yōu)先數(shù)調(diào)度算法(HPF):每一個(gè)作業(yè)規(guī)定一個(gè)表示該作業(yè)優(yōu)先級(jí)別的整數(shù),當(dāng)需要將新的作業(yè)由輸入井調(diào)入內(nèi)存處理時(shí),優(yōu)先選擇優(yōu)先數(shù)最高的作業(yè)。

5)均衡調(diào)度算法:即多級(jí)隊(duì)列調(diào)度算法(混合以上四種調(diào)度算法)

基本概念:

作業(yè)周轉(zhuǎn)時(shí)間(Ti)=完成時(shí)間(Tei)-提交時(shí)間(Tsi)

作業(yè)平均周轉(zhuǎn)時(shí)間(T)=周轉(zhuǎn)時(shí)間/作業(yè)個(gè)數(shù)

作業(yè)帶權(quán)周轉(zhuǎn)時(shí)間(Wi)=周轉(zhuǎn)時(shí)間/運(yùn)行時(shí)間

響應(yīng)比=(等待時(shí)間+運(yùn)行時(shí)間)/運(yùn)行時(shí)間

常見(jiàn)的進(jìn)程調(diào)度算法

1)先進(jìn)先出算法(FIFO):按照進(jìn)程進(jìn)入就緒隊(duì)列的先后次序來(lái)選擇。即每當(dāng)進(jìn)入進(jìn)程調(diào)度,總是把就緒隊(duì)列的隊(duì)首進(jìn)程投入運(yùn)行。

2)時(shí)間片輪轉(zhuǎn)算法(RR):分時(shí)系統(tǒng)的一種調(diào)度算法。輪轉(zhuǎn)的基本思想是,將CPU的處理時(shí)間劃分成一個(gè)個(gè)的時(shí)間片,就緒隊(duì)列中的進(jìn)程輪流運(yùn)行一個(gè)時(shí)間片。當(dāng)時(shí)間片結(jié)束時(shí),就強(qiáng)迫進(jìn)程讓出CPU,該進(jìn)程進(jìn)入就緒隊(duì)列,等待下一次調(diào)度,同時(shí),進(jìn)程調(diào)度又去選擇就緒隊(duì)列中的一個(gè)進(jìn)程,分配給它一個(gè)時(shí)間片,以投入運(yùn)行。

3、最高優(yōu)先級(jí)算法(HPF):進(jìn)程調(diào)度每次將處理機(jī)分配給具有最高優(yōu)先級(jí)的就緒進(jìn)程。最高優(yōu)先級(jí)算法可與不同的CPU方式結(jié)合形成可搶占式最高優(yōu)先級(jí)算法和不可搶占級(jí)最高優(yōu)先級(jí)算法。

4、多級(jí)隊(duì)列反饋法:集中調(diào)度算法的結(jié)合形式多級(jí)隊(duì)列方式。

空閑分區(qū)分配算法:

1、首先適應(yīng)算法:當(dāng)接到內(nèi)存申請(qǐng)時(shí),查找分區(qū)說(shuō)明表,找到第一個(gè)滿足申請(qǐng)長(zhǎng)度的空閑區(qū),將其分割并分配。此算法很簡(jiǎn)單,可以快速做出分配決定。

2、最佳適應(yīng)算法:當(dāng)接到內(nèi)存申請(qǐng)時(shí),查找分區(qū)說(shuō)明表,找到第一個(gè)能滿足申請(qǐng)長(zhǎng)度的最小空閑區(qū),將其進(jìn)行分割并分配。此算法最節(jié)約空間,因?yàn)樗M量不分割到大的空閑區(qū),其缺點(diǎn)是可能會(huì)形成很多很小的空閑分區(qū),稱(chēng)為碎片。

3、最壞適應(yīng)算法:當(dāng)接到內(nèi)存申請(qǐng)時(shí),查找分區(qū)說(shuō)明表,找到能滿足申請(qǐng)的最大空閑區(qū)。該算法的優(yōu)點(diǎn)是避免形成碎片,而缺點(diǎn)是分割了答案的空閑區(qū)后,再遇到較大的程序申請(qǐng)內(nèi)存時(shí),無(wú)法滿足的可能性較大。

虛擬頁(yè)式存儲(chǔ)管理中的頁(yè)面置換算法

1、理想頁(yè)面置換算法(OPT):這是一種理想的算法,在實(shí)際中不可能實(shí)現(xiàn)。該算法的思路是:發(fā)生缺頁(yè)時(shí),選擇以后永不使用或在最長(zhǎng)時(shí)間內(nèi)不再被訪問(wèn)的內(nèi)存頁(yè)面予以淘汰。

2、先進(jìn)先出頁(yè)面置換算法(FIFO):選擇最先進(jìn)去內(nèi)存的頁(yè)面予以淘汰。

3、最近最久未使用算法(LRU):選擇在最近一段時(shí)間內(nèi)最久沒(méi)有使用過(guò)的也,把它淘汰。

4、最少使用算法(LFU):選擇到當(dāng)前時(shí)間為止被訪問(wèn)次數(shù)最少的頁(yè)轉(zhuǎn)換。

磁盤(pán)調(diào)度算法

1、先來(lái)先服務(wù)(FCFS)

2、最短尋道時(shí)間優(yōu)先(SSTF):讓離當(dāng)前磁道最近的請(qǐng)求訪問(wèn)者啟動(dòng)磁盤(pán)驅(qū)動(dòng)器,即是讓查找時(shí)間最短的那個(gè)作業(yè)先執(zhí)行,而不考慮請(qǐng)求訪問(wèn)者到來(lái)的先后次序,這樣就克服了先來(lái)先服務(wù)調(diào)度算法中磁臂移動(dòng)過(guò)大的問(wèn)題。

3、掃描算法(SCAN)或電梯調(diào)度算法:總是從磁臂當(dāng)前位置開(kāi)始,沿磁臂的移動(dòng)方向去選擇離當(dāng)前磁臂最近的那個(gè)柱面的訪問(wèn)者。如果沿磁臂的訪問(wèn)無(wú)法請(qǐng)求訪問(wèn)時(shí),就改變磁臂的移動(dòng)方向。在這種調(diào)度方法下磁臂的移動(dòng)類(lèi)似于電梯的調(diào)度,所以它也稱(chēng)為電梯調(diào)度算法。

4、循環(huán)掃描算法(CSCAN):循環(huán)掃描調(diào)度算法是在掃描算法的基礎(chǔ)上改進(jìn)的。磁臂改為單向移動(dòng),由外向里。當(dāng)前位置開(kāi)始沿磁臂的移動(dòng)方向去選擇離當(dāng)前磁臂最近的那個(gè)柱面的訪問(wèn)者。如果沿磁臂的方向無(wú)請(qǐng)求訪問(wèn)時(shí),再回到最外,訪問(wèn)柱面號(hào)最小的作業(yè)請(qǐng)求。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容