国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

從操作系統(tǒng)角度了解內(nèi)存管理

這篇具有很好參考價(jià)值的文章主要介紹了從操作系統(tǒng)角度了解內(nèi)存管理。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

一.內(nèi)存管理

1.主要功能

內(nèi)存管理的主要功能有:

  • 內(nèi)存空間的分配與回收。由操作系統(tǒng)完成主存儲(chǔ)器空間的分配和管理,使程序員擺脫存儲(chǔ)分配的麻煩,提高編程效率。
  • 地址轉(zhuǎn)換。在多道程序環(huán)境下,程序中的邏輯地址與內(nèi)存中的物理地址不可能一致, 因此存儲(chǔ)管理必須提供地址變換功能,把邏輯地址轉(zhuǎn)換成相應(yīng)的物理地址。
  • 內(nèi)存空間的擴(kuò)充。利用虛擬存儲(chǔ)技術(shù)或自動(dòng)覆蓋技術(shù),從邏輯上擴(kuò)充內(nèi)存。
  • 內(nèi)存共享。指允許多個(gè)進(jìn)程訪問(wèn)內(nèi)存的同一部分。例如,多個(gè)合作進(jìn)程可能需要訪問(wèn)同一塊數(shù)據(jù),因此必須支持對(duì)內(nèi)存共享區(qū)域進(jìn)行受控訪問(wèn)。
  • 存儲(chǔ)保護(hù)。保證各道作業(yè)在各自的存儲(chǔ)空間內(nèi)運(yùn)行,互不干擾。

在進(jìn)行具體的內(nèi)存管理之前,需要了解進(jìn)程運(yùn)行的基本原理和要求。

2.補(bǔ)充

內(nèi)存管理就是就是圍繞這五個(gè)方面展開(kāi)的。

從操作系統(tǒng)角度了解內(nèi)存管理

二.程序運(yùn)行的過(guò)程

1.過(guò)程

創(chuàng)建進(jìn)程首先要將程序和數(shù)據(jù)裝入內(nèi)存。將用戶源程序變?yōu)榭稍趦?nèi)存中執(zhí)行的程序,通常需
要以下幾個(gè)步驟:
編譯。由編譯程序?qū)⒂脩粼创a編譯成若干目標(biāo)模塊。
鏈接。由鏈接程序?qū)⒕幾g后形成的- -組目標(biāo)模塊及它們所需的庫(kù)函數(shù)鏈接在- -起,形成一個(gè)完整的裝入模塊。
裝入。由裝入程序?qū)⒀b入模塊裝入內(nèi)存運(yùn)行。

2.個(gè)人理解

  • 編譯:把你寫(xiě)的代碼各模塊編譯成對(duì)應(yīng)的機(jī)器語(yǔ)言。
  • 鏈接:把各個(gè)模塊鏈接到一起形成一個(gè)裝入模塊,在這個(gè)時(shí)候形成邏輯地址。
  • 裝入:裝入模塊(可執(zhí)行文件)進(jìn)入內(nèi)存,這個(gè)時(shí)候邏輯地址變成物理地址。

3.鏈接方式

程序的鏈接有三種方式:

  • (1)靜態(tài)鏈接:
    在程序運(yùn)行之前,先將各目標(biāo)模塊及它們所需的庫(kù)函數(shù)鏈接成-一個(gè)完整的裝配模塊,以后不再拆開(kāi)。將幾個(gè)目標(biāo)模塊裝配成一個(gè)裝入模塊時(shí),需要解決兩個(gè)問(wèn)題:①修改相對(duì)地址,編譯后的所有目標(biāo)模塊都是從0開(kāi)始的相對(duì)地址,當(dāng)鏈接成- -個(gè)裝入模塊時(shí)要修改相對(duì)地址。②變換外部調(diào)用符號(hào),將每個(gè)模塊中所用的外部調(diào)用符號(hào)也都變換為相對(duì)地址。
  • (2)裝入時(shí)動(dòng)態(tài)鏈接:
    將用戶源程序編譯后所得到的- -組目標(biāo)模塊,在裝入內(nèi)存時(shí),采用邊裝入邊鏈接的方式。其優(yōu)點(diǎn)是便于修改和更新,便于實(shí)現(xiàn)對(duì)目標(biāo)模塊的共享。
  • (3)運(yùn)行時(shí)動(dòng)態(tài)鏈接:
    對(duì)某些目標(biāo)模塊的鏈接,是在程序執(zhí)行中需要該目標(biāo)模塊時(shí)才進(jìn)行的。凡在執(zhí)行過(guò)程中未被用到的目標(biāo)模塊,都不會(huì)被調(diào)入內(nèi)存和被鏈接到裝入模塊上。其優(yōu)點(diǎn)是能加快程序的裝入過(guò)程,還可節(jié)省大量的內(nèi)存空間。

4.裝入方式

內(nèi)存的裝入模塊在裝入內(nèi)存時(shí),同樣有以下三種方式:

  • (1)絕對(duì)裝入
    絕對(duì)裝入方式只適用于單道程序環(huán)境。在編譯時(shí),若知道程序?qū)Ⅰv留在內(nèi)存的某個(gè)位置,則編譯程序?qū)a(chǎn)生絕對(duì)地址的目標(biāo)代碼。絕對(duì)裝入程序按照裝入模塊中的地址,將程序和數(shù)據(jù)裝入內(nèi)存。由于程序中的邏輯地址與實(shí)際內(nèi)存地址完全相同,因此不需對(duì)程序和數(shù)據(jù)的地址進(jìn)行修改。另外,程序中所用的絕對(duì)地址,可在編譯或匯編時(shí)給出,也可由程序員直接賦予。而通常情況下在程序中采用的是符號(hào)地址,編譯或匯編時(shí)再轉(zhuǎn)換為絕對(duì)地址。

  • (2)可重定位裝入
    在多道程序環(huán)境下,多個(gè)目標(biāo)模塊的起始地址通常都從0開(kāi)始,程序中的其他地址都是相對(duì)于起始地址的,此時(shí)應(yīng)采用可重定位裝入方式。根據(jù)內(nèi)存的當(dāng)前情況,將裝入模塊裝入內(nèi)存的適當(dāng)位置。在裝入時(shí)對(duì)目標(biāo)程序中指令和數(shù)據(jù)地址的修改過(guò)程稱為重定位,又因?yàn)榈刂纷儞Q通常是在進(jìn)程裝入時(shí)一次完成的,故稱為靜態(tài)重定位。

    當(dāng)一個(gè)作業(yè)裝入內(nèi)存時(shí),必須給它分配要求的全部?jī)?nèi)存空間,若沒(méi)有足夠的內(nèi)存,則無(wú)法裝
    入。此外,作業(yè)一旦進(jìn)入內(nèi)存,整個(gè)運(yùn)行期間就不能在內(nèi)存中移動(dòng),也不能再申請(qǐng)內(nèi)存空間。

  • (3)動(dòng)態(tài)運(yùn)行時(shí)裝入
    也稱動(dòng)態(tài)重定位。程序在內(nèi)存中若發(fā)生移動(dòng),則需要采用動(dòng)態(tài)的裝入方式。裝入程序把裝入模塊裝入內(nèi)存后,并不立即把裝入模塊中的相對(duì)地址轉(zhuǎn)換為絕對(duì)地址,而是把這種地址轉(zhuǎn)換推遲到程序真正要執(zhí)行時(shí)才進(jìn)行。因此,裝入內(nèi)存后的所有地址均為相對(duì)地址。這種方式需要一個(gè)重定位寄存器的支持。

動(dòng)態(tài)重定位的優(yōu)點(diǎn):可以將程序分配到不連續(xù)的存儲(chǔ)區(qū);在程序運(yùn)行之前可以只裝入部分代
碼即可投入運(yùn)行,然后在程序運(yùn)行期間,根據(jù)需要?jiǎng)討B(tài)申請(qǐng)分配內(nèi)存;便于程序段的共享。

三.其他功能

1.內(nèi)存保護(hù)

確保每個(gè)進(jìn)程都有一個(gè)單獨(dú)的內(nèi)存空間。內(nèi)存分配前,需要保護(hù)操作系統(tǒng)不受用戶進(jìn)程的影.響,同時(shí)保護(hù)用戶進(jìn)程不受其他用戶進(jìn)程的影響。內(nèi)存保護(hù)可采取兩種方法: .

  • 1)在CPU中設(shè)置一-對(duì)上、下限寄存器,存放用戶作業(yè)在主存中的下限和上限地址,每當(dāng)
    CPU要訪問(wèn)一個(gè)地址時(shí),分別和兩個(gè)寄存器的值相比,判斷有無(wú)越界。
  • 2)采用重定位寄存器(又稱基地址寄存器)和界地址寄存器(又稱限長(zhǎng)寄存器)來(lái)實(shí)現(xiàn)這種保護(hù)。重定位寄存器含最小的物理地址值,界地址寄存器含邏輯地址的最大值。內(nèi)存管理機(jī)構(gòu)動(dòng)態(tài)地將邏輯地址與界地址寄存器進(jìn)行比較,若未發(fā)生地址越界,則加上重定位寄存器的值后映射成物理地址,再送交內(nèi)存單元。

2.內(nèi)存共享

并不是所有的進(jìn)程內(nèi)存空間都適合共享,只有那些只讀的區(qū)域才可以共享。可重入代碼又稱純代碼,是一種允許多個(gè)進(jìn)程同時(shí)訪問(wèn)但不允許被任何進(jìn)程修改的代碼。但在實(shí)際執(zhí)行時(shí),也可以為每個(gè)進(jìn)程配以局部數(shù)據(jù)區(qū),把在執(zhí)行中可能改變的部分復(fù)制到該數(shù)據(jù)區(qū),這樣,程序在執(zhí)行時(shí)只需對(duì)該私有數(shù)據(jù)區(qū)中的內(nèi)存進(jìn)行修改,并不去改變共享的代碼。

3.內(nèi)存空間的擴(kuò)充

交換技術(shù)主要在不同進(jìn)程( 或作業(yè))之間進(jìn)行,而覆蓋則用于同一個(gè)程序或進(jìn)程中。對(duì)于主.存無(wú)法存放用戶程序的矛盾,現(xiàn)代操作系統(tǒng)是通過(guò)虛擬內(nèi)存技術(shù)來(lái)解決的,覆蓋技術(shù)則已成為歷史;而交換技術(shù)在現(xiàn)代操作系統(tǒng)中仍具有較強(qiáng)的生命力。

四.內(nèi)存分配

1.連續(xù)分配方式

1.單一連續(xù)分配

內(nèi)存在此方式下分為系統(tǒng)區(qū)和用戶區(qū),系統(tǒng)區(qū)僅供操作系統(tǒng)使用,通常在低地址部分:在用戶區(qū)內(nèi)存中,僅有一道用戶程序,即整個(gè)內(nèi)存的用戶空間由該程序獨(dú)占。這種方式的優(yōu)點(diǎn)是簡(jiǎn)單、無(wú)外部碎片,無(wú)須進(jìn)行內(nèi)存保護(hù),因?yàn)閮?nèi)存中永遠(yuǎn)只有一道程序。缺點(diǎn)是只能用于單用戶、單任務(wù)的操作系統(tǒng)中,有內(nèi)部碎片,存儲(chǔ)器的利用率極低。

2.固定分區(qū)分配

固定分區(qū)分配是最簡(jiǎn)單的一種多道程序存儲(chǔ)管理方式,它將用戶內(nèi)存空間劃分為若干固定大
小的區(qū)域,每個(gè)分區(qū)只裝入一道作業(yè)。當(dāng)有空閑分區(qū)時(shí),便可再?gòu)耐獯娴暮髠渥鳂I(yè)隊(duì)列中選擇適
當(dāng)大小的作業(yè)裝入該分區(qū),如此循環(huán)。在劃分分區(qū)時(shí)有兩種不同的方法。

  • 分區(qū)大小相等。程序太小會(huì)造成浪費(fèi),程序太大又無(wú)法裝入,缺乏靈活性。
  • 分區(qū)大小不等。劃分為多個(gè)較小的分區(qū)、適量的中等分區(qū)和少量大分區(qū)。

3.動(dòng)態(tài)分區(qū)分配

又稱可變分區(qū)分配,它是在進(jìn)程裝入內(nèi)存時(shí),根據(jù)進(jìn)程的實(shí)際需要,動(dòng)態(tài)地為之分配內(nèi)存,并使分區(qū)的大小正好適合進(jìn)程的需要。因此,系統(tǒng)中分區(qū)的大小和數(shù)目是可變的。

在進(jìn)程裝入或換入主存時(shí),若內(nèi)存中有多個(gè)足夠大的空閑塊,則操作系統(tǒng)必須確定分配哪個(gè)
內(nèi)存塊給進(jìn)程使用,這就是動(dòng)態(tài)分區(qū)的分配策略??紤]以下幾種算法:

  • 1)首次適應(yīng)(First Fit) 算法??臻e分區(qū)以地址遞增的次序鏈接。分配內(nèi)存時(shí),從鏈?zhǔn)组_(kāi)始
    順序查找,找到大小能滿足要求的第一-個(gè)空閑分區(qū)分配給作業(yè)。
  • 2)鄰近適應(yīng)(NextFit) 算法。又稱循環(huán)首次適應(yīng)算法,由首次適應(yīng)算法演變而成。不同之
    處是,分配內(nèi)存時(shí)從上次查找結(jié)束的位置開(kāi)始繼續(xù)查找。
  • 3)最佳適應(yīng)(Best Fit)算法??臻e分區(qū)按容量遞增的次序形成空閑分區(qū)鏈,找到第-一個(gè)能
    滿足要求且最小的空閑分區(qū)分配給作業(yè),避免“大材小用”。
  • 4)最壞適應(yīng)(Worst Fit) 算法??臻e分區(qū)以容量遞減的次序鏈接,找到第- -個(gè)能滿足要求的,
    即最大的分區(qū),從中分割一部分 存儲(chǔ)空間給作業(yè)。

首次適應(yīng)算法最簡(jiǎn)單,通常也是最好和最快的。不過(guò),首次適應(yīng)算法會(huì)使得內(nèi)存的低地址部分出現(xiàn)很多小的空閑分區(qū),而每次分配查找時(shí)都要經(jīng)過(guò)這些分區(qū),因此增加了開(kāi)銷。

鄰近適應(yīng)算法試圖解決這個(gè)問(wèn)題。但它常常導(dǎo)致在內(nèi)存空間的尾部(因?yàn)樵? -遍掃描中,內(nèi)存前面部分使用后再釋放時(shí),不會(huì)參與分配)分裂成小碎片。通常比首次適應(yīng)算法要差。

最佳適應(yīng)算法雖然稱為“最佳”,但是性能通常很差,因?yàn)槊看巫罴训姆峙鋾?huì)留下很小的難以利用的內(nèi)存塊,會(huì)產(chǎn)生最多的外部碎片。

最壞適應(yīng)算法與最佳適應(yīng)算法相反,它選擇最大的可用塊,這看起來(lái)最不容易產(chǎn)生碎片,但是卻把最大的連續(xù)內(nèi)存劃分開(kāi),會(huì)很快導(dǎo)致沒(méi)有可用的大內(nèi)存塊,因此性能也非常差。

2.非連續(xù)分配方式

非連續(xù)分配方式根據(jù)分區(qū)的大小是否固定,分為分頁(yè)存儲(chǔ)管理和分段存儲(chǔ)管理。在分頁(yè)存儲(chǔ)管理中,又根據(jù)運(yùn)行作業(yè)時(shí)是否要把作業(yè)的所有頁(yè)面都裝入內(nèi)存才能運(yùn)行,分為基本分頁(yè)存儲(chǔ)管理和請(qǐng)求分頁(yè)存儲(chǔ)管理。

1.基本分頁(yè)存儲(chǔ)管理

基本分頁(yè)存儲(chǔ)管理是指將主存和輔存分成若干個(gè)大小相等的頁(yè),以頁(yè)為單位進(jìn)行數(shù)據(jù)的讀寫(xiě)和存儲(chǔ)。在基本分頁(yè)存儲(chǔ)管理中,每個(gè)進(jìn)程都有自己的頁(yè)表,用于記錄該進(jìn)程的邏輯地址與物理地址之間的映射關(guān)系。

當(dāng)進(jìn)程需要訪問(wèn)某個(gè)邏輯地址時(shí),首先通過(guò)頁(yè)表將邏輯地址轉(zhuǎn)換成物理地址,并判斷該物理地址是否已經(jīng)在主存中。如果該物理地址所對(duì)應(yīng)的頁(yè)不在主存中,則發(fā)生缺頁(yè)中斷,操作系統(tǒng)負(fù)責(zé)將該頁(yè)從輔存中調(diào)入主存,更新頁(yè)表,并重新執(zhí)行該指令。如果該物理地址所對(duì)應(yīng)的頁(yè)已經(jīng)在主存中,則直接訪問(wèn)該頁(yè)并執(zhí)行相應(yīng)的操作。

基本分頁(yè)存儲(chǔ)管理可以提高內(nèi)存的利用率,使得多個(gè)進(jìn)程可以同時(shí)共享主存。但是在實(shí)現(xiàn)過(guò)程中,需要考慮到頁(yè)面置換算法、頁(yè)表的管理以及缺頁(yè)中斷的處理等問(wèn)題。

2.基本分段存儲(chǔ)管理

基本分段存儲(chǔ)管理是指將主存和輔存分成若干個(gè)大小不等的段,以段為單位進(jìn)行數(shù)據(jù)的讀寫(xiě)和存儲(chǔ)。在基本分段存儲(chǔ)管理中,每個(gè)進(jìn)程都有自己的段表,用于記錄該進(jìn)程的邏輯地址與物理地址之間的映射關(guān)系。

當(dāng)進(jìn)程需要訪問(wèn)某個(gè)邏輯地址時(shí),首先根據(jù)該地址所屬的段,在段表中查找該段的物理地址,并計(jì)算出物理地址偏移量。然后將物理地址偏移量加上段的物理地址,得到最終的物理地址,并執(zhí)行相應(yīng)的操作。

在基本分段存儲(chǔ)管理中,不同的進(jìn)程可以共享相同的段,從而減少了內(nèi)存的浪費(fèi)。但是在實(shí)現(xiàn)過(guò)程中,需要考慮到段的分配、段的保護(hù)、段表的管理以及地址轉(zhuǎn)換等問(wèn)題。同時(shí),由于段的大小不同,因此還需要考慮段的碎片化問(wèn)題。

3.基本段頁(yè)式存儲(chǔ)管理

基本段頁(yè)式存儲(chǔ)管理是指將主存和輔存分成若干個(gè)大小不等的段和頁(yè),以段和頁(yè)為單位進(jìn)行數(shù)據(jù)的讀寫(xiě)和存儲(chǔ)。在基本段頁(yè)式存儲(chǔ)管理中,每個(gè)進(jìn)程都有自己的段表和頁(yè)表,用于記錄該進(jìn)程的邏輯地址與物理地址之間的映射關(guān)系。

當(dāng)進(jìn)程需要訪問(wèn)某個(gè)邏輯地址時(shí),首先根據(jù)該地址所屬的段,在段表中查找該段所對(duì)應(yīng)的頁(yè)表的物理地址,并計(jì)算出該地址所對(duì)應(yīng)的頁(yè)的物理地址。然后在頁(yè)表中查找該頁(yè)的物理地址,并計(jì)算出物理地址偏移量。最后將物理地址偏移量加上頁(yè)的物理地址,得到最終的物理地址,并執(zhí)行相應(yīng)的操作。

在基本段頁(yè)式存儲(chǔ)管理中,可以實(shí)現(xiàn)不同進(jìn)程之間的空間隔離和內(nèi)存共享,從而提高了內(nèi)存的利用率。但是在實(shí)現(xiàn)過(guò)程中,需要考慮到段的分配、段的保護(hù)、頁(yè)表的管理、頁(yè)面置換算法以及缺頁(yè)中斷的處理等問(wèn)題。同時(shí),由于段的大小不同,也會(huì)帶來(lái)段的碎片化問(wèn)題。

五.虛擬內(nèi)存的管理方式

1.結(jié)構(gòu)圖

從操作系統(tǒng)角度了解內(nèi)存管理

2.請(qǐng)求分頁(yè)式存儲(chǔ)管理

請(qǐng)求分頁(yè)式存儲(chǔ)管理是基于基本分頁(yè)存儲(chǔ)管理的一種改進(jìn),它可以提高頁(yè)面置換算法的效率,并減少缺頁(yè)中斷的次數(shù)。在請(qǐng)求分頁(yè)式存儲(chǔ)管理中,每個(gè)進(jìn)程所占用的物理頁(yè)面數(shù)量并不是固定的,而是根據(jù)進(jìn)程的實(shí)際需要來(lái)動(dòng)態(tài)地進(jìn)行分配。

具體來(lái)說(shuō),當(dāng)一個(gè)進(jìn)程需要申請(qǐng)一頁(yè)新的物理頁(yè)面時(shí),操作系統(tǒng)會(huì)進(jìn)行以下步驟:

  1. 首先搜索空閑物理頁(yè)面池,查找是否有空閑的物理頁(yè)面可供使用。
  2. 如果沒(méi)有空閑的物理頁(yè)面,則采用頁(yè)面置換算法將一個(gè)已經(jīng)駐留在主存中但未被使用的頁(yè)替換出去,釋放其物理頁(yè)面,以供當(dāng)前進(jìn)程使用。
  3. 如果已經(jīng)找到了空閑的物理頁(yè)面,則將該頁(yè)面分配給當(dāng)前進(jìn)程,并在進(jìn)程的頁(yè)表中記錄該頁(yè)面的映射關(guān)系。

通過(guò)動(dòng)態(tài)地分配物理頁(yè)面,請(qǐng)求分頁(yè)式存儲(chǔ)管理可以避免浪費(fèi)物理內(nèi)存的情況發(fā)生,并且可以根據(jù)進(jìn)程的實(shí)際需要來(lái)動(dòng)態(tài)地分配物理內(nèi)存,從而提高了內(nèi)存的利用率。同時(shí),請(qǐng)求分頁(yè)式存儲(chǔ)管理還可以根據(jù)不同的頁(yè)面置換算法,如FIFO和LRU等,來(lái)選擇最優(yōu)的頁(yè)面置換策略,從而減少缺頁(yè)中斷的次數(shù),提高系統(tǒng)的性能。

3.請(qǐng)求分頁(yè)式存儲(chǔ)管理流程圖

從操作系統(tǒng)角度了解內(nèi)存管理

4.補(bǔ)充

在計(jì)算機(jī)組成原理中,也涉及到虛擬內(nèi)存這一知識(shí)點(diǎn),在那里我有詳細(xì)解釋,這里就不贅述了。

點(diǎn)我了解虛擬存儲(chǔ)技術(shù)

六.聲明

本文是從操作系統(tǒng)角度了解的內(nèi)存管理,可以結(jié)合從計(jì)算機(jī)組成原理一起觀看效果更佳。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-484450.html

到了這里,關(guān)于從操作系統(tǒng)角度了解內(nèi)存管理的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【操作系統(tǒng)】03.內(nèi)存管理

    【操作系統(tǒng)】03.內(nèi)存管理

    現(xiàn)代操作系統(tǒng)使用的連接方式:運(yùn)行時(shí)動(dòng)態(tài)鏈接 對(duì)某些模塊的鏈接推遲到程序執(zhí)行時(shí)才進(jìn)行 現(xiàn)代操作系統(tǒng)使用的裝入方式:動(dòng)態(tài)重定位 程序裝入內(nèi)存后,邏輯地址不會(huì)立即轉(zhuǎn)換成物理地址,而是推遲到指令執(zhí)行的時(shí)候,需要一個(gè)重定位寄存器的支持 單一連續(xù)分配 固定分區(qū)

    2024年02月07日
    瀏覽(22)
  • 操作系統(tǒng)-筆記-第三章-內(nèi)存管理

    操作系統(tǒng)-筆記-第三章-內(nèi)存管理

    一、第一章——操作系統(tǒng)的概念 二、第二章——【進(jìn)程】 二、第二章——【線程】?編輯 二、第二章——【進(jìn)程調(diào)度】 二、第二章——【進(jìn)程同步與互斥】 二、第二章——【鎖】 三、第三章——內(nèi)存管理 四、第四章——文件管理 五、第五章——輸入輸出管理 ?????

    2024年02月11日
    瀏覽(89)
  • 【操作系統(tǒng)和強(qiáng)化學(xué)習(xí)】1.內(nèi)存管理策略

    【操作系統(tǒng)和強(qiáng)化學(xué)習(xí)】1.內(nèi)存管理策略

    CPU的調(diào)度可以提高CPU的利用率和計(jì)算機(jī)的響應(yīng)用戶的速度。為了改進(jìn)性能,應(yīng)該將多個(gè)進(jìn)程保存在內(nèi)存中。也就是說(shuō)必須共享內(nèi)存。 本文討論的是如管理內(nèi)存。 內(nèi)存是現(xiàn)代計(jì)算機(jī)運(yùn)行的核心,由一個(gè)很大的字節(jié)數(shù)組來(lái)組成,每個(gè)字節(jié)都有各自的地址。 CPU根據(jù)程序計(jì)數(shù)器的值

    2024年02月02日
    瀏覽(24)
  • 計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)與操作系統(tǒng)實(shí)驗(yàn)三(6)-內(nèi)存管理

    計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)與操作系統(tǒng)實(shí)驗(yàn)三(6)-內(nèi)存管理

    實(shí)現(xiàn)內(nèi)存管理 這里修改makefile文件和run.sh文件 在《操作系統(tǒng)真相還原源碼》的基礎(chǔ)上稍加修改makefile 注意:這里要用 make all 命令來(lái)執(zhí)行makefile文件了 本實(shí)驗(yàn)所有源碼?????? 計(jì)算機(jī)系統(tǒng)結(jié)構(gòu)與操作系統(tǒng)實(shí)驗(yàn)三bochs源代碼

    2024年02月15日
    瀏覽(21)
  • 【操作系統(tǒng)筆記04】操作系統(tǒng)之內(nèi)存管理方式(分頁(yè)、分段、段頁(yè)式)、虛擬存儲(chǔ)技術(shù)、頁(yè)面置換算法

    這篇文章,主要介紹操作系統(tǒng)之內(nèi)存管理方式(分頁(yè)、分段、段頁(yè)式)、虛擬存儲(chǔ)技術(shù)、頁(yè)面置換算法。 目錄 一、操作系統(tǒng) 1.1、基地址變換機(jī)構(gòu) 1.2、具有快表的地址變換機(jī)構(gòu)

    2023年04月21日
    瀏覽(25)
  • 【操作系統(tǒng)】24王道考研筆記——第三章 內(nèi)存管理

    【操作系統(tǒng)】24王道考研筆記——第三章 內(nèi)存管理

    1.基本概念 2.覆蓋與交換 覆蓋技術(shù): 交換技術(shù): 總結(jié): 3.連續(xù)分配管理方式 單一連續(xù)分配 固定分區(qū)分配 動(dòng)態(tài)分區(qū)分配 動(dòng)態(tài)分區(qū)分配算法: 總結(jié): 4.基本分頁(yè)存儲(chǔ)管理 定義: 頁(yè)表: 地址轉(zhuǎn)換的實(shí)現(xiàn): 子問(wèn)題: 邏輯地址結(jié)構(gòu): 總結(jié): 5.基本地址變換機(jī)構(gòu) 流程: 原理:

    2024年02月11日
    瀏覽(104)
  • 頭歌操作系統(tǒng) 課后作業(yè)4.1:段式內(nèi)存管理 答案

    頭歌操作系統(tǒng) 課后作業(yè)4.1:段式內(nèi)存管理 答案

    第1關(guān):0號(hào)進(jìn)程和1號(hào)進(jìn)程的mynext變量的取值變化 編程要求 根據(jù)相關(guān)知識(shí),修改版本 1.3 內(nèi)核回答問(wèn)題: 通過(guò) gdb 調(diào)試查找答案,將第三關(guān)的答案填寫(xiě)在 /data/workspace/myshixun/第三關(guān).txt 中。 1 號(hào)進(jìn)程的 output_char 函數(shù)調(diào)用會(huì)執(zhí)行幾次? 每次調(diào)用時(shí),1 號(hào)進(jìn)程和 0 號(hào)進(jìn)程的 mynext 變

    2024年02月06日
    瀏覽(136)
  • 【地鐵上的面試題】--基礎(chǔ)部分--操作系統(tǒng)--內(nèi)存管理

    內(nèi)存管理是指操作系統(tǒng)或編程語(yǔ)言運(yùn)行時(shí)環(huán)境對(duì)計(jì)算機(jī)系統(tǒng)中的內(nèi)存資源進(jìn)行分配、使用和回收的過(guò)程。其主要目標(biāo)是有效地管理內(nèi)存資源,以提供給程序足夠的內(nèi)存空間來(lái)存儲(chǔ)和執(zhí)行程序所需的數(shù)據(jù)和指令。內(nèi)存管理的作用包括: 內(nèi)存分配:將可用的內(nèi)存空間分配給程序和

    2024年02月11日
    瀏覽(25)
  • 操作系統(tǒng)課程設(shè)計(jì)(作業(yè)調(diào)度、內(nèi)存管理、進(jìn)程調(diào)度、進(jìn)程阻塞等)

    操作系統(tǒng)課程設(shè)計(jì)(作業(yè)調(diào)度、內(nèi)存管理、進(jìn)程調(diào)度、進(jìn)程阻塞等)

    資源下載: https://download.csdn.net/download/fufuyfu/85811450 操作系統(tǒng)是計(jì)算機(jī)系統(tǒng)配置的基本軟件之一。它在整個(gè)計(jì)算機(jī)系統(tǒng)軟件中占有中心地位。其作用是對(duì)計(jì)算機(jī)系統(tǒng)進(jìn)行統(tǒng)一的調(diào)度和管理,提供各種強(qiáng)有力的系統(tǒng)服務(wù),為用戶創(chuàng)造既靈活又方便的使用環(huán)境。本課程是計(jì)算機(jī)及

    2024年02月03日
    瀏覽(28)
  • 如何剪裁操作系統(tǒng)源碼——移植FreeRTOS的內(nèi)存管理模塊到ARMV8裸片

    如何剪裁操作系統(tǒng)源碼——移植FreeRTOS的內(nèi)存管理模塊到ARMV8裸片

    本文面向的需求場(chǎng)景是,為缺乏標(biāo)準(zhǔn)庫(kù)實(shí)現(xiàn)的處理器IP移植內(nèi)存管理模塊,即為裸片部署C標(biāo)準(zhǔn)庫(kù)中的 malloc() 和 free() 函數(shù)。 具體做法是——從操作系統(tǒng)的內(nèi)存管理組件中剪裁出必要的源碼,適配到目標(biāo)處理器的開(kāi)發(fā)環(huán)境(SDK/IDE/CMAKE工程子目錄)中。 1.1 C標(biāo)準(zhǔn)庫(kù)中的內(nèi)存管理

    2024年02月13日
    瀏覽(13)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包