0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

計(jì)算機(jī)操作系統(tǒng)知識(shí)點(diǎn)合集(下)

jf_78858299 ? 來源:土豆居士 ? 作者:土豆居士 ? 2023-05-09 16:51 ? 次閱讀

四、存儲(chǔ)管理

存儲(chǔ)管理為了確保計(jì)算機(jī)有足夠的內(nèi)存處理數(shù)據(jù);確保程序可以從可用內(nèi)存中獲取一部分內(nèi)存使用;確保程序可以歸還使用后的內(nèi)存以供其他程序使用。

4.1 存儲(chǔ)管理之內(nèi)存分配與回收

內(nèi)存分配的過程:單一連續(xù)分配(已經(jīng)過時(shí))、固定分區(qū)分配、動(dòng)態(tài)分區(qū)分配(根據(jù)實(shí)際需要,動(dòng)態(tài)的分配內(nèi)存)。 動(dòng)態(tài)分區(qū)分配算法

  1. 首次適應(yīng)算法:分配內(nèi)存時(shí),從開始順序查找適合內(nèi)存區(qū),若無合適內(nèi)存區(qū),則分配失敗,每次從頭部開始,使得頭部地址空間不斷被劃分;
  2. 最佳適應(yīng)算法:要求空閑區(qū)鏈表按照容量大小排序,遍歷以找到最佳適合的空閑區(qū)(會(huì)留下越來越多的內(nèi)部碎片)。
  3. 快速適應(yīng)算法:要求有多個(gè)空閑區(qū)鏈表,每個(gè)空閑區(qū)鏈表存儲(chǔ)一種容量的空閑區(qū)。

內(nèi)存回收的過程:

  1. 回收區(qū)在空閑區(qū)下方:不需要新建空閑鏈表節(jié)點(diǎn);只需要把空閑區(qū)1的容量增大即可;
  2. 回收區(qū)在空閑區(qū)上方:將回收區(qū)與空閑區(qū)合并;新的空閑區(qū)使用回收區(qū)的地址;
  3. 回收區(qū)在空閑區(qū)中間方:將空閑區(qū)1、空閑區(qū)2和回收區(qū)合并;新的空閑區(qū)使用空閑區(qū)1的地址;
  4. 僅僅剩余回收區(qū):為回收區(qū)創(chuàng)建新的空閑節(jié)點(diǎn);插入到相應(yīng)的空閑區(qū)鏈表中去;

4.2 存儲(chǔ)管理之段頁式存儲(chǔ)管理

頁式存儲(chǔ)管理:將進(jìn)程邏輯空間等分成若干大小的頁面,相應(yīng)的把物理內(nèi)存空間分成與頁面大小的物理塊,以頁面為單位把進(jìn)程空間裝進(jìn)物理內(nèi)存中分散的物理塊。

頁面大小應(yīng)該適中,過大難以分配,過小內(nèi)存碎片過多;頁面大小通常是512B~8K;

現(xiàn)代計(jì)算機(jī)系統(tǒng)中,可以支持非常大的邏輯地址空間(232~264),具有32位邏輯地址空間的分頁系統(tǒng),規(guī)定頁面大小為4KB,則在每個(gè)進(jìn)程頁表中的頁表項(xiàng)可達(dá)1M(2個(gè)20)個(gè),如果每個(gè)頁表項(xiàng)占用1Byte,故每個(gè)進(jìn)程僅僅頁表就要占用1MB的內(nèi)存空間。

圖片

段式存儲(chǔ)管理:將進(jìn)程邏輯空間分成若干段(不等分),段的長度由連續(xù)邏輯的長度決定。

頁式和者段式存儲(chǔ)管理相比:

  1. 段式存儲(chǔ)和頁式存儲(chǔ)都離散地管理了進(jìn)程的邏輯空間;
  2. 頁是物理單位,段是邏輯單位;
  3. 分頁是為了合理利用空間,分段是滿足用戶要求頁大小由硬件固定,段長度可動(dòng)態(tài)變化;
  4. 頁表信息是一維的,段表信息是二維的;

段頁式存儲(chǔ)管理:現(xiàn)將邏輯空間按照段式管理分成若干段,再將內(nèi)存空間按照頁式管理分成若干頁,分頁可以有效提高內(nèi)存利用率,分段可以更好的滿足用戶需求。

圖片

4.3 存儲(chǔ)管理之虛擬內(nèi)存

虛擬內(nèi)存概述:是操作系統(tǒng)內(nèi)存管理的關(guān)鍵技術(shù),使得多道程序運(yùn)行和大程序運(yùn)行成為現(xiàn)實(shí),把程序使用內(nèi)存劃分,將部分暫時(shí)不使用的內(nèi)存放置在輔存,實(shí)際是對物理內(nèi)存的擴(kuò)充。

局部性原理:指CPU訪問存儲(chǔ)器時(shí),無論是存取指令還是存取數(shù)據(jù),所訪問的存儲(chǔ)單元都趨于聚集在一個(gè)較小的連續(xù)區(qū)域中。

虛擬內(nèi)存的置換算法:先進(jìn)先出(FIFO)、最不經(jīng)常使用(LFU)、最近最少使用(LRU)

虛擬內(nèi)存的特征:

  • 多次性:無需再作業(yè)運(yùn)行時(shí)一次性全部裝入內(nèi)存,而是允許被分成多次調(diào)入內(nèi)存;
  • 對換性:無需在作業(yè)運(yùn)行時(shí)一直常駐內(nèi)存,而是允許在作業(yè)運(yùn)行過程中,將作業(yè)換入、換出;
  • 虛擬性:從邏輯上擴(kuò)充了內(nèi)存的容量,使用戶看到的內(nèi)存用來,遠(yuǎn)大于實(shí)際的容量;

4.4 Linux的存儲(chǔ)管理

Buddy內(nèi)存管理算法:經(jīng)典的內(nèi)存管理算法,為解決內(nèi)存外碎片的問題,算法基于計(jì)算機(jī)處理二進(jìn)制的優(yōu)勢具有極高的效率。

Linux交換空間:交換空間(Swap)是磁盤的一個(gè)分區(qū),Linux內(nèi)存滿時(shí),會(huì)把一些內(nèi)存交換至Swap空間,Swap空間是初始化系統(tǒng)時(shí)配置的。

Swap空間與虛擬內(nèi)存的對比:

圖片

五、文件管理

5.1 操作系統(tǒng)的文件管理

文件的邏輯結(jié)構(gòu):

  • 邏輯結(jié)構(gòu)的文件類型:有結(jié)構(gòu)文件(文本文件,文檔,媒體文件)、無結(jié)構(gòu)文件(二進(jìn)制文件、鏈接庫)。
  • 順序文件:按順序放在存儲(chǔ)介質(zhì)中的文件,在邏輯文件當(dāng)中存儲(chǔ)效率最高,但不適合存儲(chǔ)可變長文件。
  • 索引文件:為解決可變長文件存儲(chǔ)而發(fā)明,需要配合索引表存儲(chǔ)。

輔存的存儲(chǔ)空間分配:

  • 輔存的分配方式:連續(xù)分配(讀取文件容易,速度快)、鏈接分配(隱式鏈接和顯式鏈接)、索引分配
  • 輔存的存儲(chǔ)空間管理:空閑表、空閑鏈表、位示圖。

目錄樹:使得任何文件或目錄都有唯一的路徑。

圖片

Linux文件的基本操作:參考鏈接

圖片

圖片

圖片

Linux的文件系統(tǒng):FAT、NTFS(對FAT進(jìn)行改進(jìn))、EXT2/3/4(擴(kuò)展文件系統(tǒng),Linux的文件系統(tǒng))

六、設(shè)備管理

I/O設(shè)備的基本概念:將數(shù)據(jù)輸入輸出計(jì)算機(jī)的外部設(shè)備;

廣義的IO設(shè)備:

  • 按照使用特性分類:存儲(chǔ)設(shè)備(內(nèi)存、磁盤、U盤)和交互IO設(shè)備(鍵盤、顯示器、鼠標(biāo));
  • 按照信息交換分類:塊設(shè)備(磁盤、SD卡)和字符設(shè)備(打印機(jī)、shell終端);
  • 按照設(shè)備共享屬性分類:獨(dú)占設(shè)備,共享設(shè)備,虛擬設(shè)備;
  • 按照傳輸速率分類:低速設(shè)備,高速設(shè)備;

IO設(shè)備的緩沖區(qū):減少CPU處理IO請求的頻率,提高CPU與IO設(shè)備之間的并行性。

SPOOLing技術(shù):虛擬設(shè)備技術(shù),把同步調(diào)用低速設(shè)備改為異步調(diào)用,在輸入、輸出之間增加了排隊(duì)轉(zhuǎn)儲(chǔ)環(huán)節(jié)(輸入井、輸出井),SPoOLing負(fù)責(zé)輸入(出)井與低速設(shè)備之間的調(diào)度,邏輯上,進(jìn)程直接與高速設(shè)備交互,減少了進(jìn)程的等待時(shí)間。

七、實(shí)現(xiàn)支持異步任務(wù)的線程池

線程池:線程池是存放多個(gè)線程的容器,CPU調(diào)度線程執(zhí)行后不會(huì)銷毀線程,將線程放回線程池重新利用。

使用線程池的原因:

  1. 線程是稀缺資源 ,不應(yīng)該頻繁創(chuàng)建和銷毀;
  2. 架構(gòu)解耦,業(yè)務(wù)創(chuàng)建和業(yè)務(wù)處理解耦,更加優(yōu)雅;
  3. 線程池是使用線程的最佳實(shí)踐。

實(shí)現(xiàn)線程安全的隊(duì)列Queue

  • 隊(duì)列:用于存放多個(gè)元素,是存放各種元素的“池”。
  • 實(shí)現(xiàn)的基本功能:獲取當(dāng)前隊(duì)列元素?cái)?shù)量,往隊(duì)列放入元素,往隊(duì)列取出元素。
  • 注意:隊(duì)列可能有多個(gè)線程同時(shí)操作,因此需要保證線程安全,如下兩種情況:

圖片

實(shí)現(xiàn)基本任務(wù)對象Task

實(shí)現(xiàn)的基本功能:任務(wù)參數(shù),任務(wù)唯一標(biāo)記(UUID),任務(wù)具體的執(zhí)行邏輯

實(shí)現(xiàn)任務(wù)處理線程ProcessThread:任務(wù)處理線程需要不斷地從任務(wù)隊(duì)列里取任務(wù)執(zhí)行,任務(wù)處理線程需要有一個(gè)標(biāo)記,標(biāo)記線程什么時(shí)候應(yīng)該停止。

實(shí)現(xiàn)的基本功能:基本屬性(任務(wù)隊(duì)列、標(biāo)記),線程執(zhí)行的邏輯(run),線程停止(stop)。

實(shí)現(xiàn)任務(wù)處理線程池Pool:存放多個(gè)任務(wù)處理線程,負(fù)責(zé)多個(gè)線程的啟停,管理向線程池的提交任務(wù),下發(fā)給線程去執(zhí)行。

實(shí)現(xiàn)的基本過程:基本屬性,提交任務(wù)(put,batch_put),線程啟停(start,join),線程池大?。╯ize)。

實(shí)現(xiàn)異步任務(wù)處理AsyncTask:給任務(wù)添加一個(gè)標(biāo)記,任務(wù)完成后,則標(biāo)記為完成;任務(wù)完成時(shí)可直接獲取任務(wù)運(yùn)行結(jié)果;任務(wù)未完成時(shí),獲取任務(wù)結(jié)果,會(huì)阻塞獲取線程。

主要實(shí)現(xiàn)的兩個(gè)函數(shù):設(shè)置運(yùn)行結(jié)果(set_result),獲取運(yùn)行結(jié)果(get_result)

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
收藏 人收藏

    評論

    相關(guān)推薦

    計(jì)算機(jī)操作系統(tǒng)學(xué)習(xí)指南

    在講解操作系統(tǒng)之前,我們先從整體上講一計(jì)算機(jī),再從硬件講到軟件,最后再講操作系統(tǒng)。
    發(fā)表于 09-22 09:07 ?593次閱讀

    計(jì)算機(jī)操作系統(tǒng)PPT

    計(jì)算機(jī)操作系統(tǒng)PPT操作系統(tǒng)引論(1章)進(jìn)程管理(2-3章)存儲(chǔ)管理(4章)設(shè)備管理(5章)文件管理(6章)操作系統(tǒng)接口(7章)系統(tǒng)安全性(
    發(fā)表于 11-07 11:19

    計(jì)算機(jī)操作系統(tǒng)

    計(jì)算機(jī)操作系統(tǒng)-進(jìn)程(2)進(jìn)程的狀態(tài)與轉(zhuǎn)換
    發(fā)表于 05-25 16:45

    在ARM中計(jì)算機(jī)技術(shù)和知識(shí)的分享

    1.相關(guān)資料的分享,c/c++語言面試寶典,從面試的角度看待編程語言應(yīng)該如何學(xué)習(xí)2.計(jì)算機(jī)基礎(chǔ)和操作系統(tǒng)資料分享,在應(yīng)用的計(jì)算機(jī)底層的時(shí)候必須得掌握的知識(shí)3.高性能的mysql語言正確
    發(fā)表于 10-21 14:27

    微型計(jì)算機(jī)原理及應(yīng)用知識(shí)點(diǎn)總結(jié)

    微型計(jì)算機(jī)原理及應(yīng)用知識(shí)點(diǎn)總結(jié)
    發(fā)表于 07-16 07:51

    什么是計(jì)算機(jī)操作系統(tǒng)?

    什么是計(jì)算機(jī)操作系統(tǒng)操作系統(tǒng)是一種為應(yīng)用程序提供服務(wù)的系統(tǒng)軟件,是一個(gè)完整的計(jì)算機(jī)系統(tǒng)的有機(jī)組成部分。從層次上來看,
    發(fā)表于 12-14 06:50

    計(jì)算機(jī)操作系統(tǒng)課件

    計(jì)算機(jī)操作系統(tǒng)課件內(nèi)容如下第1章  計(jì)算機(jī)操作系統(tǒng)概述.ppt1.1  存儲(chǔ)程序式計(jì)算機(jī)模型1.2 
    發(fā)表于 11-07 09:43 ?0次下載
    <b class='flag-5'>計(jì)算機(jī)</b><b class='flag-5'>操作系統(tǒng)</b>課件

    計(jì)算機(jī)組成原理考研知識(shí)點(diǎn)歸納

    計(jì)算機(jī)組成原理考研知識(shí)點(diǎn)歸納 寫在前面的話:理科知識(shí)重在于理解知識(shí)點(diǎn)本身,對于每一個(gè)知識(shí)點(diǎn),大家都有自己理解的方式。這篇
    發(fā)表于 04-13 14:06 ?1916次閱讀

    計(jì)算機(jī)操作系統(tǒng)》課程教學(xué)探討

    計(jì)算機(jī)操作系統(tǒng)課是一門涉及知識(shí)面廣的專業(yè)基礎(chǔ)課程,該課程的教學(xué)一直在計(jì)算機(jī)專業(yè)教學(xué)計(jì)劃中居重要位置.本文在分析了目前國內(nèi)計(jì)算機(jī)
    發(fā)表于 04-18 21:12 ?48次下載

    計(jì)算機(jī)測控系統(tǒng)操作系統(tǒng)概述集合【labview基礎(chǔ)知識(shí)

    計(jì)算機(jī)測控系統(tǒng)操作系統(tǒng)概述集合,labview基礎(chǔ)知識(shí)
    發(fā)表于 01-12 11:13 ?19次下載

    計(jì)算機(jī)通信與網(wǎng)絡(luò)_知識(shí)點(diǎn)_大家看看

    計(jì)算機(jī)通信與網(wǎng)絡(luò)_知識(shí)點(diǎn)_大家看看,網(wǎng)絡(luò)通信學(xué)習(xí)的好資料,值得下載哦。
    發(fā)表于 03-21 16:51 ?20次下載

    計(jì)算機(jī)操作系統(tǒng)原理與設(shè)計(jì)

    計(jì)算機(jī)操作系統(tǒng)原理與設(shè)計(jì)算機(jī)操作系統(tǒng)原理與設(shè)計(jì) 計(jì)算機(jī)操作系統(tǒng)原理與設(shè)計(jì)
    發(fā)表于 06-03 14:30 ?42次下載

    計(jì)算機(jī)控制技術(shù)的基礎(chǔ)知識(shí)點(diǎn)說明

    本文檔的主要內(nèi)容詳細(xì)介紹的是計(jì)算機(jī)控制技術(shù)的基礎(chǔ)知識(shí)點(diǎn)說明包括了:1 計(jì)算機(jī)控制系統(tǒng)的概念,2 計(jì)算機(jī)控制系統(tǒng)的組成,3 計(jì)算機(jī)控制系統(tǒng)的分
    發(fā)表于 04-27 08:00 ?5次下載
    <b class='flag-5'>計(jì)算機(jī)</b>控制技術(shù)的基礎(chǔ)<b class='flag-5'>知識(shí)點(diǎn)</b>說明

    計(jì)算機(jī)操作系統(tǒng)的最基本特征是什么_計(jì)算機(jī)操作系統(tǒng)是什么的接口

    計(jì)算機(jī)操作系統(tǒng)是用戶與計(jì)算機(jī)的接口,在計(jì)算機(jī)中,操作系統(tǒng)是其最基本也是最重要的基礎(chǔ)性系統(tǒng)軟件;
    發(fā)表于 09-03 15:36 ?1.5w次閱讀

    計(jì)算機(jī)操作系統(tǒng)知識(shí)點(diǎn)合集(上)

    定義:操作系統(tǒng)是控制管理計(jì)算機(jī)系統(tǒng)的硬軟件,分配調(diào)度資源的系統(tǒng)軟件。 目標(biāo):方便性,有效性(提高系統(tǒng)資源的利用率、提高系統(tǒng)的吞吐量),
    的頭像 發(fā)表于 05-09 16:51 ?544次閱讀
    <b class='flag-5'>計(jì)算機(jī)</b><b class='flag-5'>操作系統(tǒng)</b><b class='flag-5'>知識(shí)點(diǎn)</b><b class='flag-5'>合集</b>(上)