當前位置:首頁 » 服務存儲 » 緊縮存儲
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

緊縮存儲

發布時間: 2022-07-29 22:38:36

① 在頁式系統中,用戶程序中的頁面大小可以不同是對的嗎

存儲管理的基本原理內存管理方法 內存管理主要包括內存分配和回收、地址變換、內存擴充、內存共享和保護等功能。 下面主要介紹連續分配存儲管理、覆蓋與交換技術以及頁式與段式存儲管理等基本概念和原理。 1. 連續分配存儲管理方式 連續分配是指為一個用戶程序分配連續的內存空間。連續分配有單一連續存儲管理和分區式儲管理兩種方式。 (1)單一連續存儲管理 在這種管理方式中,內存被分為兩個區域:系統區和用戶區。應用程序裝入到用戶區,可使用用戶區全部空間。其特點是,最簡單,適用於單用戶、單任務的操作系統。CP/M和DOS 2.0以下就是採用此種方式。這種方式的最大優點就是易於管理。但也存在著一些問題和不足之處,例如對要求內存空間少的程序,造成內存浪費;程序全部裝入,使得很少使用的程序部分也佔用-定數量的內存。 (2)分區式存儲管理 為了支持多道程序系統和分時系統,支持多個程序並發執行,引入了分區式存儲管理。分區式存儲管理是把內存分為一些大小相等或不等的分區,操作系統佔用其中一個分區,其餘的分區由應用程序使用,每個應用程序佔用一個或幾個分區。分區式存儲管理雖然可以支持並發,但難以進行內存分區的共享。 分區式存儲管理引人了兩個新的問題:內碎片和外碎片。前者是佔用分區內未被利用的空間,後者是佔用分區之間難以利用的空閑分區(通常是小空閑分區)。為實現分區式存儲管理,操作系統應維護的數據結構為分區表或分區鏈表。表中各表項一般包括每個分區的起始地址、大小及狀態(是否已分配)。 分區式存儲管理常採用的一項技術就是內存緊縮(compaction):將各個佔用分區向內存一端移動,然後將各個空閑分區合並成為一個空閑分區。這種技術在提供了某種程度上的靈活性的同時,也存在著一些弊端,例如:對佔用分區進行內存數據搬移佔用CPU~t寸間;如果對佔用分區中的程序進行「浮動」,則其重定位需要硬體支持。 1)固定分區(nxedpartitioning)。 固定式分區的特點是把內存劃分為若干個固定大小的連續分區。分區大小可以相等:這種作法只適合於多個相同程序的並發執行(處理多個類型相同的對象)。分區大小也可以不等:有多個小分區、適量的中等分區以及少量的大分區。根據程序的大小,分配當前空閑的、適當大小的分區。這種技術的優點在於,易於實現,開銷小。缺點主要有兩個:內碎片造成浪費;分區總數固定,限制了並發執行的程序數目。 2)動態分區(dynamic partitioning)。 動態分區的特點是動態創建分區:在裝入程序時按其初始要求分配,或在其執行過程中通過系統調用進行分配或改變分區大小。與固定分區相比較其優點是:沒有內碎片。但它卻引入了另一種碎片--外碎片。動態分區的分區分配就是尋找某個空閑分區,其大小需大於或等於程序的要求。若是大於要求,則將該分區分割成兩個分區,其中一個分區為要求的大小並標記為「佔用」,而另一個分區為餘下部分並標記為「空閑」。分區分配的先後次序通常是從內存低端到高端。動態分區的分區釋放過程中有一個要注意的問題是,將相鄰的空閑分區合並成一個大的空閑分區。 下面列出了幾種常用的分區分配演算法: 首先適配法(nrst-fit):按分區在內存的先後次序從頭查找,找到符合要求的第一個分區進行分配。該演算法的分配和釋放的時間性能較好,較大的空閑分區可以被保留在內存高端。但隨著低端分區不斷劃分會產生較多小分區,每次分配時查找時間開銷便會增大。 下次適配法(next-fit):按分區在內存的先後次序,從上次分配的分區起查找(到最後{區時再從頭開始},找到符合要求的第一個分區進行分配。該演算法的分配和釋放的時間性能較好,使空閑分區分布得更均勻,但較大空閑分區不易保留。 最佳適配法(best-fit):按分區在內存的先後次序從頭查找,找到其大小與要求相差最小的空閑分區進行分配。從個別來看,外碎片較小;但從整體來看,會形成較多外碎片優點是較大的空閑分區可以被保留。 最壞適配法(worst- fit):按分區在內存的先後次序從頭查找,找到最大的空閑分區進行分配。基本不留下小空閑分區,不易形成外碎片。但由於較大的空閑分區不被保留,當對內存需求較大的進程需要運行時,其要求不易被滿足。 2.覆蓋和交換技術 引入覆蓋(overlay)技術的目標是在較小的可用內存中運行較大的程序。這種技術常用於多道程序系統之中,與分區式存儲管理配合使用。覆蓋技術的原理很簡單,一個程序的幾個代碼段或數據段,按照時間先後來佔用公共的內存空間。將程序必要部分(常用功能)的代碼和數據常駐內存;可選部分(不常用功能)平時存放在外存(覆蓋文件)中,在需要時才裝入內存。不存在調用關系的模塊不必同時裝入到內存,從而可以相互覆蓋。覆蓋技術的缺點是編程時必須劃分程序模塊和確定程序模塊之間的覆蓋關系,增加編程復雜度;從外存裝入覆蓋文件,以時間延長換取空間節省。覆蓋的實現方式有兩種:以函數庫方式實現或操作系統支持。 交換(swapping)技術在多個程序並發執行時,可以將暫時不能執行的程序送到外存中,從而獲得空閑內存空間來裝入新程序,或讀人保存在外存中而處於就緒狀態的程序。交換單位為整個進程的地址空間。交換技術常用於多道程序系統或小型分時系統中,與分區式存儲管理配合使用又稱作「對換」或「滾進/滾出」(roll-in/roll-out)。其優點之一是增加並發運行的程序數目,並給用戶提供適當的響應時間;與覆蓋技術相比交換技術另一個顯著的優點是不影響程序結構。交換技術本身也存在著不足,例如:對換人和換出的控制增加處理器開銷;程序整個地址空間都進行對換,沒有考慮執行過程中地址訪問的統計特性。 3.頁式和段式存儲管理 在前面的幾種存儲管理方法中,為進程分配的空間是連續的,使用的地址都是物理地址。如果允許將一個進程分散到許多不連續的空間,就可以避免內存緊縮,減少碎片。基於這一思想,通過引入進程的邏輯地址,把進程地址空間與實際存儲空間分離,增加存儲管理的靈活性。地址空間和存儲空間兩個基本概念的定義如下: 地址空間:將源程序經過編譯後得到的目標程序,存在於它所限定的地址范圍內,這個范圍稱為地址空間。地址空間是邏輯地址的集合。 存儲空間:指主存中一系列存儲信息的物理單元的集合,這些單元的編號稱為物理地址存儲空間是物理地址的集合。 根據分配時所採用的基本單位不同,可將離散分配的管理方式分為以下三種 段式存儲管理和段頁式存儲管理。其中段頁式存儲管理是前兩種結合的產物。 (1)頁式存儲管理 1)基本原理。將程序的邏輯地址空間劃分為固定大小的頁(page),而物理內存劃分為同樣大小的頁框(pageframe)。程序載入時,可將任意一頁放人內存中任意一個頁框,這些頁框不必連續,從而實現了離散分配。該方法需要CPU的硬體支持,來實現邏輯地址和物理地址之間的映射。在頁式存儲管理方式中地址結構由兩部構成,前一部分是頁號,後一部分為頁內地址,如圖4-2所示。 這種管理方式的優點是,沒有外碎片,每個內碎片不超過頁大比前面所討論的幾種管理方式的最大進步是,一個程序不必連續存放。這樣就便於改變程序佔用空間的大小(主要指隨著程序運行,動態生成的數據增多,所要求的地址空間相應增長)。缺點是仍舊要求程序全部裝入內存,沒有足夠的內存,程序就不能執行。 2)頁式管理的數據結構。在頁式系統中進程建立時,操作系統為進程中所有的頁分配頁框。當進程撤銷時收回所有分配給它的頁框。在程序的運行期間,如果允許進程動態地申請空間,操作系統還要為進程申請的空間分配物理頁框。操作系統為了完成這些功能,必須記錄系統內存中 實際的頁框使用情況。操作系統還要在進程切換時,正確地切換兩個不同的進程地址空間到物理內存空間的映射。這就要求操作系統要記錄每個進程頁表的相關信息。為了完成上述的功能,-個頁式系統中,一般要採用如下的數據結構。 進程頁表:完成邏輯頁號(本進程的地址空間)到物理頁面號(實際內存空間)的映射。 每個進程有一個頁表,描述該進程佔用的物理頁面及邏輯排列順序。 物理頁面表:整個系統有一個物理頁面表,描述物理內存空間的分配使用狀況,其數據結構可採用位示圖和空閑頁鏈表。 請求表:整個系統有一個請求表,描述系統內各個進程頁表的位置和大小,用於地址轉換也可以結合到各進程的PCB(進程式控制制塊)里。 3)頁式管理地址變換 在頁式系統中,指令所給出的地址分為兩部分:邏輯頁號和頁內地址。CPU中的內存管理單元(MMU)按邏輯頁號通過查進程頁表得到物理頁框號,將物理頁框號與頁內地址相加形成物理地址(見圖4-3)。上述過程通常由處理器的硬體直接完成,不需要軟體參與。通常,操作系統只需在進程切換時,把進程頁表的首地址裝入處理器特定的寄存器中即可。一般來說,頁表存儲在主存之中。這樣處理器每訪問一個在內存中的操作數,就要訪問兩次內存。第一次用來查找頁表將操作數的邏輯地址變換為物理地址;第二次完成真正的讀寫操作。這樣做時間上耗費嚴重。為縮短查找時間,可以將頁表從內存裝入CPU內部的關聯存儲器(例如,快表)中,實現按內容查找。此時的地址變換過程是:在CPU給出有效地址後,由地址變換機構自動將頁號送人快表,並將此頁號與快表中的所有頁號進行比較,而且這種比較是同時進行的。若其中有與此相匹配的頁號,表示要訪問的頁的頁表項在快表中。於是可直接讀出該頁所對應的物理頁號,這樣就無需訪問內存中的頁表。由於關聯存儲器的訪問速度比內存的訪問速度快得多。 (2)段式存儲管理 1)基本原理。 在段式存儲管理中,將程序的地址空間劃分為若干個段(segment),這樣每個進程有一個二維的地址空間。在前面所介紹的動態分區分配方式中,系統為整個進程分配一個連續的內存空間。而在段式存儲管理系統中,則為每個段分配一個連續的分區,而進程中的各個段可以不連續地存放在內存的不同分區中。程序載入時,操作系統為所有段分配其所需內存,這些段不必連續,物理內存的管理採用動態分區的管理方法。在為某個段分配物理內存時,可以採用首先適配法、下次適配法、最佳適配法等方法。在回收某個段所佔用的空間時,要注意將收回的空間與其相鄰的空間合並。段式存儲管理也需要硬體支持,實現邏輯地址到物理地址的映射。程序通過分段劃分為多個模塊,如代碼段、數據段、共享段。這樣做的優點是:可以分別編寫和編譯源程序的一個文件,並且可以針對不同類型的段採取不同的保護,也可以按段為單位來進行共享。總的來說,段式存儲管理的優點是:沒有內碎片,外碎片可以通過內存緊縮來消除;便於實現內存共享。缺點與頁式存儲管理的缺點相同,進程必須全部裝入內存。 2)段式管理的數據結構。 為了實現段式管理,操作系統需要如下的數據結構來實現進程的地址空間到物理內存空間的映射,並跟蹤物理內存的使用情況,以便在裝入新的段的時候,合理地分配內存空間。 ·進程段表:描述組成進程地址空間的各段,可以是指向系統段表中表項的索引。每段有段基址(baseaddress)。 ·系統段表:系統所有佔用段。 ·空閑段表:內存中所有空閑段,可以結合到系統段表中。 3)段式管理的地址變換。 在段式管理系統中,整個進程的地址空間是二維的,即其邏輯地址由段號和段內地址兩部分組成。為了完成進程邏輯地址到物理地址的映射,處理器會查找內存中的段表,由段號得到段的首地址,加上段內地址,得到實際的物理地址(見圖4-4)。這個過程也是由處理器的硬體直接完成的,操作系統只需在進程切換時,將進程段表的首地址裝入處理器的特定寄存器當中。這個寄存器一般被稱作段表地址寄存器。 4.頁式和段式系統的區別 頁式和段式系統有許多相似之處。比如,兩者都採用離散分配方式,且都通過地址映射機構來實現地址變換。但概念上兩者也有很多區別,主要表現在: ·頁是信息的物理單位,分頁是為了實現離散分配方式,以減少內存的外零頭,提高內存的利用率。或者說,分頁僅僅是由於系統管理的需要,而不是用戶的需要。段是信息的邏輯單位,它含有一組其意義相對完整的信息。分段的目的是為了更好地滿足用戶的需要。 ·頁的大小固定且由系統決定,把邏輯地址劃分為頁號和頁內地址兩部分,是由機器硬體實現的。段的長度不固定,且決定於用戶所編寫的程序,通常由編譯系統在對源程序進行編譯時根據信息的性質來劃分。 ·頁式系統地址空間是一維的,即單一的線性地址空間,程序員只需利用一個標識符,即可表示一個地址。分段的作業地址空間是二維的,程序員在標識一個地址時,既需給出段名,又需給出段內地址。 原理作業10. 頁式存儲管理和段式存儲管理的工作原理特點、特點 及優劣。 答:頁式管理的基本思想是:為了更好地利用分區存儲管理中 所產生的"零頭"問題,允許把一個作業存放在不連續的內存塊中, 又可以連續運行,它允許只調入用戶作業中常用部分,不常用部分 不長期駐留內存,有效提高了內存的利用率。 頁式存儲管理的工作原理: A、劃分實頁:將物理內存劃分成位置固定、大小相同的"塊"(實頁 面)。 B、劃分虛頁:將用戶邏輯地址空間也分成同樣大小的頁面,成為虛 擬空間的虛頁面。 C、建立頁表:有時稱為頁面表或頁面映射表(PMT)。每個作業一 張,按虛頁號進行登記,其基本的內容有特徵位(表示該頁是否 在內存、實頁號以及對應外存的地址。 D、地址變換:將虛頁面的邏輯地址轉化為實頁面的物理地址,在程 序執行時改變為物理地址,屬於作業的動態重定位,一般由地址 轉換機構(硬體)完成。 特點: 允許一個作業存放在不連續的內存塊中而又能保證作業連續得以運行 ,既不需要移動內存中的信息,又可較好地解決零頭。 優點: a、不要求作業存放在連續的內存塊中,有效地解決零頭。 b、允許用戶作業不是一次集中裝入內存而是根據需要調入,作業中 不常用部分不長期駐留內存,而本次運行的不用部分根本就不裝 入內存。 c、提供了虛存,使用戶作業地址空間不再受內存可用空間大小的限 制。 缺點: a、頁式管理在內存的共享和保護方面還欠完善。 b、頁面大小相同,位置不能動態增加。 c、往往需要多次缺頁中斷才能把所需的信息完整地調入內存。 段式存儲管理的基本思想是:把程序按內容或過程(函數)關系 分成段,每段有自己的名字。一個用戶作業或進程所包含的段對應於 一個二維線性虛擬空間,也就是一個二維虛擬存儲器。段式管理程序 以段為單位分配內存,然後通過地址映射機構把段式虛擬存儲地址轉 化為內存中的實際地址。和頁式管理一樣,段式管理也採用只把那些 經常訪問的段駐留內存,而把那些在將來一段時間內不被訪問的段放 在外存,待需要時自動調入內存的方法實現二維虛擬存儲器。按照作 業的邏輯單位--段,來分配內存,適合程序的邏輯結構,方便用戶設 計程序。 段式存儲管理的工作原理: A、採用二維地址空間,如段號(S)、頁號(P)和頁內單元號(D); B、系統建兩張表格每一作業一張段表,每一段建立一張頁表,段表 指出該段的頁表在內存中的位置; C、地址變換機構類似頁式機制,只是前面增加一項段號。 特點: a、每一段分成若干頁,再按頁式管理,頁間不要求連續; b、用分段方法分配管理作業,用分頁方法分配管理內存; 優點: 便於段的共享和保護、段的動態增長以及動態連接。 缺點: 為了消除零頭和允許段的動態增長,需要花費CPU的大量時間在內存 中移動作業的分段,而且段的大小也給外存管理帶來困難。

② 手機內部存儲緊縮

運行程序,會有些文件產生的,要刪掉點

③ 中央銀行下調存款准備金率是緊縮還是擴張的貨幣政策

存款准備金率的下調屬於是擴張的貨幣政策,進一步釋放流動性,對實體經濟進行刺激,意味著央行的緊縮政策可能會告一段落。

拓展資料:
存款准備金是指金融機構為保證客戶提取存款和資金清算需要而准備的,是繳存在中央銀行的存款,中央銀行要求的存款准備金占其存款總額的比例就是存款准備金率(deposit-reserveratio)。

存款准備金,也稱為法定存款准備金或存儲准備金(Depositreserve),是指金融機構為保證客戶提取存款和資金清算需要而准備的在中央銀行的存款。中央銀行要求的存款准備金占其存款總額的比例就是存款准備金率。中央銀行通過調整存款准備金率,可以影響金融機構的信貸擴張能力,從而間接調控貨幣供應量。RDR,即RMBDeposit-reserveRatio,全稱為人民幣存款准備金率。存款准備金,是限制金融機構信貸擴張和保證客戶提取存款和資金清算需要而准備的資金。法定存款准備金率,是金融機構按規定向中央銀行繳納的存款准備金占其存款的總額的比率。這一部分是一個風險准備金,是不能夠用於發放貸款的。這個比例越高,執行的緊縮政策力度越大。存款准備金率變動對商業銀行的作用過程如下:

增長

存款准備金率當中央銀行提高法定準備金率時,商業銀行可提供放款及創造信用的能力就下降。因為准備金率提高,貨幣乘數就變小,從而降低了整個商業銀行體系創造信用、擴大信用規模的能力,其結果是社會的銀根偏緊,貨幣供應量減少,利息率提高,投資及社會支出都相應縮減。反之,亦然。

打比方說,如果存款准備金率為7%,就意味著金融機構每吸收100萬元存款,要向央行繳存7萬元的存款准備金,用於發放貸款的資金為93萬元,倘若將存款准備金率提高到7.5%,那麼金融機構的可貸資金將減少到92.5萬元。

④ 求助關於線性鏈表緊縮存儲問題

用一個雙鏈表實現這個自由表.這樣可以調整好自由表.同時,雙鏈表L單純地前進,並且一直向前同自由表元數據交換.空間需要僅為一個2元數組.

⑤ 視頻緊縮了可以減少存儲空間

文件緊縮是可以有效的減少存儲空間的,但要看你緊縮的是甚麼文件,如果本身就是緊縮文件的話,那效果不是很明顯,比如說mp3,視頻文件本身就是經過緊縮的,那你再緊縮也沒有甚麼效果,但如果是普通文件1般來講是有百分之510的緊縮率的!

⑥ 在基本段式存儲管理系統中,邏輯地址由什麼構成

存儲管理的基本原理內存管理方法
內存管理主要包括內存分配和回收、地址變換、內存擴充、內存共享和保護等功能。
下面主要介紹連續分配存儲管理、覆蓋與交換技術以及頁式與段式存儲管理等基本概念和原理。
1. 連續分配存儲管理方式
連續分配是指為一個用戶程序分配連續的內存空間。連續分配有單一連續存儲管理和分區式儲管理兩種方式。
(1)單一連續存儲管理
在這種管理方式中,內存被分為兩個區域:系統區和用戶區。應用程序裝入到用戶區,可使用用戶區全部空間。其特點是,最簡單,適用於單用戶、單任務的操作系統。CP/M和dos 2.0以下就是採用此種方式。這種方式的最大優點就是易於管理。但也存在著一些問題和不足之處,例如對要求內存空間少的程序,造成內存浪費;程序全部裝入,使得很少使用的程序部分也佔用—定數量的內存。
(2)分區式存儲管理
為了支持多道程序系統和分時系統,支持多個程序並發執行,引入了分區式存儲管理。分區式存儲管理是把內存分為一些大小相等或不等的分區,操作系統佔用其中一個分區,其餘的分區由應用程序使用,每個應用程序佔用一個或幾個分區。分區式存儲管理雖然可以支持並發,但難以進行內存分區的共享。
分區式存儲管理引人了兩個新的問題:內碎片和外碎片。前者是佔用分區內未被利用的空間,後者是佔用分區之間難以利用的空閑分區(通常是小空閑分區)。為實現分區式存儲管理,操作系統應維護的數據結構為分區表或分區鏈表。表中各表項一般包括每個分區的起始地址、大小及狀態(是否已分配)。
分區式存儲管理常採用的一項技術就是內存緊縮(compaction):將各個佔用分區向內存一端移動,然後將各個空閑分區合並成為一個空閑分區。這種技術在提供了某種程度上的靈活性的同時,也存在著一些弊端,例如:對佔用分區進行內存數據搬移佔用cpu~t寸間;如果對佔用分區中的程序進行「浮動」,則其重定位需要硬體支持。
1)固定分區(nxedpartitioning)。
固定式分區的特點是把內存劃分為若干個固定大小的連續分區。分區大小可以相等:這種作法只適合於多個相同程序的並發執行(處理多個類型相同的對象)。分區大小也可以不等:有多個小分區、適量的中等分區以及少量的大分區。根據程序的大小,分配當前空閑的、適當大小的分區。這種技術的優點在於,易於實現,開銷小。缺點主要有兩個:內碎片造成浪費;分區總數固定,限制了並發執行的程序數目。
2)動態分區(dynamic partitioning)。
動態分區的特點是動態創建分區:在裝入程序時按其初始要求分配,或在其執行過程中通過系統調用進行分配或改變分區大小。與固定分區相比較其優點是:沒有內碎片。但它卻引入了另一種碎片——外碎片。動態分區的分區分配就是尋找某個空閑分區,其大小需大於或等於程序的要求。若是大於要求,則將該分區分割成兩個分區,其中一個分區為要求的大小並標記為「佔用」,而另一個分區為餘下部分並標記為「空閑」。分區分配的先後次序通常是從內存低端到高端。動態分區的分區釋放過程中有一個要注意的問題是,將相鄰的空閑分區合並成一個大的空閑分區。
下面列出了幾種常用的分區分配演算法:
首先適配法(nrst-fit):按分區在內存的先後次序從頭查找,找到符合要求的第一個分區進行分配。該演算法的分配和釋放的時間性能較好,較大的空閑分區可以被保留在內存高端。但隨著低端分區不斷劃分會產生較多小分區,每次分配時查找時間開銷便會增大。
下次適配法(next-fit):按分區在內存的先後次序,從上次分配的分區起查找(到最後{區時再從頭開始},找到符合要求的第一個分區進行分配。該演算法的分配和釋放的時間性能較好,使空閑分區分布得更均勻,但較大空閑分區不易保留。
最佳適配法(best-fit):按分區在內存的先後次序從頭查找,找到其大小與要求相差最小的空閑分區進行分配。從個別來看,外碎片較小;但從整體來看,會形成較多外碎片優點是較大的空閑分區可以被保留。
最壞適配法(worst- fit):按分區在內存的先後次序從頭查找,找到最大的空閑分區進行分配。基本不留下小空閑分區,不易形成外碎片。但由於較大的空閑分區不被保留,當對內存需求較大的進程需要運行時,其要求不易被滿足。
2.覆蓋和交換技術
引入覆蓋(overlay)技術的目標是在較小的可用內存中運行較大的程序。這種技術常用於多道程序系統之中,與分區式存儲管理配合使用。覆蓋技術的原理很簡單,一個程序的幾個代碼段或數據段,按照時間先後來佔用公共的內存空間。將程序必要部分(常用功能)的代碼和數據常駐內存;可選部分(不常用功能)平時存放在外存(覆蓋文件)中,在需要時才裝入內存。不存在調用關系的模塊不必同時裝入到內存,從而可以相互覆蓋。覆蓋技術的缺點是編程時必須劃分程序模塊和確定程序模塊之間的覆蓋關系,增加編程復雜度;從外存裝入覆蓋文件,以時間延長換取空間節省。覆蓋的實現方式有兩種:以函數庫方式實現或操作系統支持。
交換(swapping)技術在多個程序並發執行時,可以將暫時不能執行的程序送到外存中,從而獲得空閑內存空間來裝入新程序,或讀人保存在外存中而處於就緒狀態的程序。交換單位為整個進程的地址空間。交換技術常用於多道程序系統或小型分時系統中,與分區式存儲管理配合使用又稱作「對換」或「滾進/滾出」(roll-in/roll-out)。其優點之一是增加並發運行的程序數目,並給用戶提供適當的響應時間;與覆蓋技術相比交換技術另一個顯著的優點是不影響程序結構。交換技術本身也存在著不足,例如:對換人和換出的控制增加處理器開銷;程序整個地址空間都進行對換,沒有考慮執行過程中地址訪問的統計特性。
3.頁式和段式存儲管理
在前面的幾種存儲管理方法中,為進程分配的空間是連續的,使用的地址都是物理地址。如果允許將一個進程分散到許多不連續的空間,就可以避免內存緊縮,減少碎片。基於這一思想,通過引入進程的邏輯地址,把進程地址空間與實際存儲空間分離,增加存儲管理的靈活性。地址空間和存儲空間兩個基本概念的定義如下:
地址空間:將源程序經過編譯後得到的目標程序,存在於它所限定的地址范圍內,這個范圍稱為地址空間。地址空間是邏輯地址的集合。
存儲空間:指主存中一系列存儲信息的物理單元的集合,這些單元的編號稱為物理地址存儲空間是物理地址的集合。
根據分配時所採用的基本單位不同,可將離散分配的管理方式分為以下三種
段式存儲管理和段頁式存儲管理。其中段頁式存儲管理是前兩種結合的產物。
(1)頁式存儲管理
1)基本原理。將程序的邏輯地址空間劃分為固定大小的頁(page),而物理內存劃分為同樣大小的頁框(pageframe)。程序載入時,可將任意一頁放人內存中任意一個頁框,這些頁框不必連續,從而實現了離散分配。該方法需要cpu的硬體支持,來實現邏輯地址和物理地址之間的映射。在頁式存儲管理方式中地址結構由兩部構成,前一部分是頁號,後一部分為頁內地址,如圖4-2所示。
這種管理方式的優點是,沒有外碎片,每個內碎片不超過頁大比前面所討論的幾種管理方式的最大進步是,一個程序不必連續存放。這樣就便於改變程序佔用空間的大小(主要指隨著程序運行,動態生成的數據增多,所要求的地址空間相應增長)。缺點是仍舊要求程序全部裝入內存,沒有足夠的內存,程序就不能執行。
2)頁式管理的數據結構。在頁式系統中進程建立時,操作系統為進程中所有的頁分配頁框。當進程撤銷時收回所有分配給它的頁框。在程序的運行期間,如果允許進程動態地申請空間,操作系統還要為進程申請的空間分配物理頁框。操作系統為了完成這些功能,必須記錄系統內存中
實際的頁框使用情況。操作系統還要在進程切換時,正確地切換兩個不同的進程地址空間到物理內存空間的映射。這就要求操作系統要記錄每個進程頁表的相關信息。為了完成上述的功能,—個頁式系統中,一般要採用如下的數據結構。
進程頁表:完成邏輯頁號(本進程的地址空間)到物理頁面號(實際內存空間)的映射。
每個進程有一個頁表,描述該進程佔用的物理頁面及邏輯排列順序。
物理頁面表:整個系統有一個物理頁面表,描述物理內存空間的分配使用狀況,其數據結構可採用位示圖和空閑頁鏈表。
請求表:整個系統有一個請求表,描述系統內各個進程頁表的位置和大小,用於地址轉換也可以結合到各進程的pcb(進程式控制制塊)里。
3)頁式管理地址變換
在頁式系統中,指令所給出的地址分為兩部分:邏輯頁號和頁內地址。cpu中的內存管理單元(mmu)按邏輯頁號通過查進程頁表得到物理頁框號,將物理頁框號與頁內地址相加形成物理地址(見圖4-3)。上述過程通常由處理器的硬體直接完成,不需要軟體參與。通常,操作系統只需在進程切換時,把進程頁表的首地址裝入處理器特定的寄存器中即可。一般來說,頁表存儲在主存之中。這樣處理器每訪問一個在內存中的操作數,就要訪問兩次內存。第一次用來查找頁表將操作數的邏輯地址變換為物理地址;第二次完成真正的讀寫操作。這樣做時間上耗費嚴重。為縮短查找時間,可以將頁表從內存裝入cpu內部的關聯存儲器(例如,快表)中,實現按內容查找。此時的地址變換過程是:在cpu給出有效地址後,由地址變換機構自動將頁號送人快表,並將此頁號與快表中的所有頁號進行比較,而且這種比較是同時進行的。若其中有與此相匹配的頁號,表示要訪問的頁的頁表項在快表中。於是可直接讀出該頁所對應的物理頁號,這樣就無需訪問內存中的頁表。由於關聯存儲器的訪問速度比內存的訪問速度快得多。
(2)段式存儲管理
1)基本原理。
在段式存儲管理中,將程序的地址空間劃分為若干個段(segment),這樣每個進程有一個二維的地址空間。在前面所介紹的動態分區分配方式中,系統為整個進程分配一個連續的內存空間。而在段式存儲管理系統中,則為每個段分配一個連續的分區,而進程中的各個段可以不連續地存放在內存的不同分區中。程序載入時,操作系統為所有段分配其所需內存,這些段不必連續,物理內存的管理採用動態分區的管理方法。在為某個段分配物理內存時,可以採用首先適配法、下次適配法、最佳適配法等方法。在回收某個段所佔用的空間時,要注意將收回的空間與其相鄰的空間合並。段式存儲管理也需要硬體支持,實現邏輯地址到物理地址的映射。程序通過分段劃分為多個模塊,如代碼段、數據段、共享段。這樣做的優點是:可以分別編寫和編譯源程序的一個文件,並且可以針對不同類型的段採取不同的保護,也可以按段為單位來進行共享。總的來說,段式存儲管理的優點是:沒有內碎片,外碎片可以通過內存緊縮來消除;便於實現內存共享。缺點與頁式存儲管理的缺點相同,進程必須全部裝入內存。
2)段式管理的數據結構。
為了實現段式管理,操作系統需要如下的數據結構來實現進程的地址空間到物理內存空間的映射,並跟蹤物理內存的使用情況,以便在裝入新的段的時候,合理地分配內存空間。
·進程段表:描述組成進程地址空間的各段,可以是指向系統段表中表項的索引。每段有段基址(baseaddress)。
·系統段表:系統所有佔用段。
·空閑段表:內存中所有空閑段,可以結合到系統段表中。
3)段式管理的地址變換。
在段式管理系統中,整個進程的地址空間是二維的,即其邏輯地址由段號和段內地址兩部分組成。為了完成進程邏輯地址到物理地址的映射,處理器會查找內存中的段表,由段號得到段的首地址,加上段內地址,得到實際的物理地址(見圖4—4)。這個過程也是由處理器的硬體直接完成的,操作系統只需在進程切換時,將進程段表的首地址裝入處理器的特定寄存器當中。這個寄存器一般被稱作段表地址寄存器。
4.頁式和段式系統的區別
頁式和段式系統有許多相似之處。比如,兩者都採用離散分配方式,且都通過地址映射機構來實現地址變換。但概念上兩者也有很多區別,主要表現在:
·頁是信息的物理單位,分頁是為了實現離散分配方式,以減少內存的外零頭,提高內存的利用率。或者說,分頁僅僅是由於系統管理的需要,而不是用戶的需要。段是信息的邏輯單位,它含有一組其意義相對完整的信息。分段的目的是為了更好地滿足用戶的需要。
·頁的大小固定且由系統決定,把邏輯地址劃分為頁號和頁內地址兩部分,是由機器硬體實現的。段的長度不固定,且決定於用戶所編寫的程序,通常由編譯系統在對源程序進行編譯時根據信息的性質來劃分。
·頁式系統地址空間是一維的,即單一的線性地址空間,程序員只需利用一個標識符,即可表示一個地址。分段的作業地址空間是二維的,程序員在標識一個地址時,既需給出段名,又需給出段內地址。


原理作業10. 頁式存儲管理和段式存儲管理的工作原理特點、特點
及優劣。

答:頁式管理的基本思想是:為了更好地利用分區存儲管理中
所產生的"零頭"問題,允許把一個作業存放在不連續的內存塊中,
又可以連續運行,它允許只調入用戶作業中常用部分,不常用部分
不長期駐留內存,有效提高了內存的利用率。

頁式存儲管理的工作原理:
A、劃分實頁:將物理內存劃分成位置固定、大小相同的"塊"(實頁
面)。
B、劃分虛頁:將用戶邏輯地址空間也分成同樣大小的頁面,成為虛
擬空間的虛頁面。
C、建立頁表:有時稱為頁面表或頁面映射表(pmt)。每個作業一
張,按虛頁號進行登記,其基本的內容有特徵位(表示該頁是否
在內存、實頁號以及對應外存的地址。
D、地址變換:將虛頁面的邏輯地址轉化為實頁面的物理地址,在程
序執行時改變為物理地址,屬於作業的動態重定位,一般由地址
轉換機構(硬體)完成。

特點:
允許一個作業存放在不連續的內存塊中而又能保證作業連續得以運行
,既不需要移動內存中的信息,又可較好地解決零頭。

優點:
a、不要求作業存放在連續的內存塊中,有效地解決零頭。
b、允許用戶作業不是一次集中裝入內存而是根據需要調入,作業中
不常用部分不長期駐留內存,而本次運行的不用部分根本就不裝
入內存。
c、提供了虛存,使用戶作業地址空間不再受內存可用空間大小的限
制。

⑦ 壓縮文件為什麼有的容量比原文件小,它主要把什麼壓縮掉呢

因為有些文件格式相對較大。。比如BMP格式的圖片。壓縮比較基本上在100倍左右。。因此為了節省空間。。就需要對數據進行壓縮

1.什麼是數據壓縮

數據壓縮,通俗地說,就是用最少的數碼來表示信號。其作用是:能較快地傳輸各種信號,如傳真、Modem通信等;在現有的通信干線並行開通更多的多媒體業務,如各種增值業務;緊縮數據存儲容量,如CD-ROM、VCD和DVD等;降低發信機功率,這對於多媒體移動通信系統尤為重要。由此看來,通信時間、傳輸帶寬、存儲空間甚至發射能量,都可能成為數據壓縮的對象。

2.數據為何能被壓縮

首先,數據中間常存在一些多餘成分,既冗餘度。如在一份計算機文件中,某些符號會重復出現、某些符號比其他符號出現得更頻繁、某些字元總是在各數據塊中可預見的位置上出現等,這些冗餘部分便可在數據編碼中除去或減少。冗餘度壓縮是一個可逆過程,因此叫做無失真壓縮,或稱保持型編碼。

其次,數據中間尤其是相鄰的數據之間,常存在著相關性。如圖片中常常有色彩均勻的背影,電視信號的相鄰兩幀之間可能只有少量的變化影物是不同的,聲音信號有時具有一定的規律性和周期性等等。因此,有可能利用某些變換來盡可能地去掉這些相關性。但這種變換有時會帶來不可恢復的損失和誤差,因此叫做不可逆壓縮,或稱有失真編碼、摘壓縮等。

此外,人們在欣賞音像節目時,由於耳、目對信號的時間變化和幅度變化的感受能力都有一定的極限,如人眼對影視節目有視覺暫留效應,人眼或人耳對低於某一極限的幅度變化已無法感知等,故可將信號中這部分感覺不出的分量壓縮掉或「掩蔽掉」。這種壓縮方法同樣是一種不可逆壓縮。

對於數據壓縮技術而言,最基本的要求就是要盡量降低數字化的在碼事,同時仍保持一定的信號質量。不難想像,數據壓縮的方法應該是很多的,但本質上不外乎上述完全可逆的冗餘度壓縮和實際上不可逆的嫡壓縮兩類。冗餘度壓縮常用於磁碟文件、數據通信和氣象衛星雲圖等不允許在壓縮過程中有絲毫損失的場合中,但它的壓縮比通常只有幾倍,遠遠不能滿足數字視聽應用的要求。

在實際的數字視聽設備中,差不多都採用壓縮比更高但實際有損的媳壓縮技術。只要作為最終用戶的人覺察不出或能夠容忍這些失真,就允許對數字音像信號進一步壓縮以換取更高的編碼效率。摘壓縮主要有特徵抽取和量化兩種方法,指紋的模式識別是前者的典型例子,後者則是一種更通用的摘壓縮技術。

更加詳細的資料看這里吧。
http://www.kdntc.cn/nic/netstudy/wsjs/tongxin/shu/039.htm

-----------------------------
數據壓縮是通過減少計算機中所存儲數據或者通信傳播中數據的冗餘度,達到增大數據密度,最終使數據的存儲空間減少的技術。
數據壓縮在文件存儲和分布式系統領域有著十分廣泛的應用。數據壓縮也代表著尺寸媒介容量的增大和網路帶寬的擴展。
數據壓縮就是將字元串的一種表示方式轉換為另一種表示方式,新的表示方式包含相同的信息量,但是長度比原來的方式盡可能的短。

1. 數據壓縮與編碼
數據壓縮跟編碼技術聯系緊密,壓縮的實質就是根據數據的內在聯系將數據從一種編碼映射為另一種編碼。壓縮前的數據要被劃分為一個一個的基本單元。基本單元既可以是單個字元,也可以是多個字元組成的字元串。稱這些基本單元為源消息,所有的源消息構成源消息集。源消息集映射的結果為碼字集。可見,壓縮前的數據是源消息序列,壓縮後的數據是碼字序列。
若定義塊為固定長度的字元或字元串,可變長為長度可變的字元或字元串,則編碼可分為塊到塊編碼、塊到可變長編碼、可變長到塊編碼、可變長到可變長編碼等。應用最廣泛的ASCII編碼就是塊到塊編碼。
2. 數據壓縮的分類
數據壓縮按照映射是否固定可分為靜態數據壓縮和動態數據壓縮。靜態數據壓縮是指壓縮前源消息集到碼字集之間的映射是固定的,出現在被壓縮數據中的源消息每次都被映射為同一碼字。動態數據壓縮是指源消息集到碼字集的映射會隨著壓縮進度的變化而變化。靜態壓縮編碼需要兩步,先計算出源消息出現的頻率,確定源消息到碼字之間的映射;然後完成映射。動態數據壓縮則只需一步就能完成,它在壓縮過程中只對源消息集掃描一次。有些數據壓縮演算法是混合型的,綜合應用了靜態數據壓縮和動態數據壓縮技術。
3. 評價數據壓縮的標准
從實際應用來說,數據壓縮可從兩方面來衡量:數據壓縮速度和數據壓縮率。當數據壓縮應用於網路傳輸時,主要考慮速度快慢;當數據壓縮應用於數據存儲中,主要考慮壓縮率,即壓縮後數據的大小。當然這兩方面是相輔相成的。
常用的評價標准有冗餘度、平均源信息長度、壓縮率等。對於一種編碼方式是否為較好的編碼,主要看該編碼的冗餘度是否最小。
4. 常見的數據壓縮工具
現在操作簡單,使用方便,功能強大的數據壓縮工具有很多。最常見的是WinZip和WinRAR。
數據壓縮通過減少數據的冗餘度來減少數據在存儲介質上的存儲空間,而數據備份則通過增加數據的冗餘度來達到保護數據安全的目的。兩者在實際應用中常常結合起來使用。通常將要備份的數據進行壓縮處理,然後將壓縮後的數據用備份進行保護。當需要恢復數據時,先將備份數據恢復,再解壓縮。
由於計算機中的數據十分寶貴又比較脆弱,數據備份無論對國家、企業和個人來說都非常重要。數據備份能在較短的時間內用很小的代價,將有價值的數據存放到與初始創建的存儲位置相異的地方;當數據被破壞時,用較短的時間和較小的花費將數據全部恢復或部分恢復。
1. 對備份系統的要求
不同的應用環境有不同的備份需求,一般來說,備份系統應該有以下特性。
☆ 穩定性:備份系統本身要很穩定和可靠。
☆ 兼容性:備份系統要能支持各種操作系統、資料庫和典型應用軟體。
☆ 自動化:備份系統要有自動備份功能,並且要有日誌記錄。
☆ 高性能:備份的效率要高,速度要盡可能的快。
☆ 操作簡單:以適應不同層次的工作人員的要求,減輕工作人員負擔。
☆ 實時性:對於某些不能停機備份的數據,要可以實時備份,以確保數據正確。
☆ 容錯性:若有可能,最好有多個備份,確保數據安全可靠。
2. 數據備份的種類
數據備份按所備份數據的特點可分為完全備份、增量備份和系統備份。
完全備份是指對指定位置的所有數據都備份,它佔用較大的空間,備份過程的時間也較長。增量備份是指數據有變化時對變化的部分進行備份,它佔用空間小,時間短。完全備份一般在系統第一次使用時進行,而增量備份則經常進行。系統備份是指對整個系統進行備份。它一般定期進行,佔用空間較大,時間較長。
3. 數據備份的常用方法
數據備份根據使用的存儲介質種類可分為軟盤備份、磁帶備份、光碟備份、優盤備份、移動硬碟備份、本機多個硬碟備份和網路備份。用戶可以根據數據大小和存儲介質的大小是否匹配進行選擇。
數據備份是被動的保護數據的方法,用戶應根據不同的應用環境來選擇備份系統、備份設備和備份策略。
http://ke..com/view/286827.html

---------------------------
有損數據壓縮方法是經過壓縮、解壓的數據與原始數據不同但是非常接近的壓縮方法。有損數據壓縮又稱破壞型壓縮,即將次要的信息數據壓縮掉,犧牲一些質量來減少數據量,使壓縮比提高。這種方法經常用於網際網路尤其是流媒體以及電話領域。在這篇文章中經常成為編解碼。它是與無損數據壓縮對應的壓縮方法。根據各種格式設計的不同,有損數據壓縮都會有 generation loss:壓縮與解壓文件都會帶來漸進的質量下降。

[編輯] 有損壓縮的類型
有兩種基本的有損壓縮機制:

一種是有損變換編解碼,首先對圖像或者聲音進行采樣、切成小塊、變換到一個新的空間、量化,然後對量化值進行熵編碼。
另外一種是預測編解碼,先前的數據以及隨後解碼數據用來預測當前的聲音采樣或者或者圖像幀,預測數據與實際數據之間的誤差以及其它一些重現預測的信息進行量化與編碼。
有些系統中同時使用這兩種技術,變換編解碼用於壓縮預測步驟產生的誤差信號。

有損與無損壓縮比較
有損方法的一個優點就是在有些情況下能夠獲得比任何已知無損方法小得多的文件大小,同時又能滿足系統的需要。

有損方法經常用於壓縮聲音、圖像以及視頻。有損視頻編解碼幾乎總能達到比音頻或者靜態圖像好得多的壓縮率(壓縮率是壓縮文件與未壓縮文件的比值)。音頻能夠在沒有察覺的質量下降情況下實現 10:1 的壓縮比,視頻能夠在稍微觀察質量下降的情況下實現如 300:1 這樣非常大的壓縮比。有損靜態圖像壓縮經常如音頻那樣能夠得到原始大小的 1/10,但是質量下降更加明顯,尤其是在仔細觀察的時候。

當用戶得到有損壓縮文件的時候,譬如為了節省下載時間,解壓文件與原始文件在數據位的層面上看可能會大相徑庭,但是對於多數實用目的來說,人耳或者人眼並不能分辨出二者之間的區別。

一些方法將人體解剖方面的特質考慮進去,例如人眼只能看到一定頻率的光線。心理聲學模型描述的是聲音如何能夠在不降低聲音感知質量的前提下實現最大的壓縮。

人眼或人耳能夠察覺的有損壓縮帶來的缺陷稱為壓縮失真(en:compression artifact)。
http://ke..com/view/583477.html

⑧ 操作系統頁式存儲管理的問題

存儲管理的基本原理內存管理方法 內存管理主要包括內存分配和回收、地址變換、內存擴充、內存共享和保護等功能。 下面主要介紹連續分配存儲管理、覆蓋與交換技術以及頁式與段式存儲管理等基本概念和原理。 1. 連續分配存儲管理方式 連續分配是操作系統頁式存儲管理的問題

⑨ C語言各種存儲模式的區別最常用的存儲模式有哪些

各種存儲模式之間有什麼區別?
DOS用一種段地址結構來編址計算機的內存,每一個物理內存位置都有一個可通過段地址一偏移量的方式來訪問的相關地址。為了支持這種段地址結構,大多數C編譯程序都允許你用以下6種存儲模式來創建程序:
-----------------------------------------------------------------------
存儲模式 限制 所用指針
-----------------------------------------------------------------------
Tiny(微) 代碼、數據和棧一64KB Near
Small(小) 代碼一64KB Near
數據和棧一64KB Near
Medium(中) 代碼一1MB Far
數據和棧一64KB Near
Compact(緊縮) 代碼一64KB Near
數據和棧一1MB Far
Large(大) 代碼一1MB Far
數據和棧一1MB Far
Huge*(巨) 代碼一1MB Far
數據和棧一1MB Far
-----------------------------------------------------------------------
*注意:在Huge存儲模式下,靜態數據(如數組)可以超過64KB,這在其它存儲模式下都不行。
Tiny存儲模式的限制很嚴(所有的代碼、數據和棧都被限制在64KB中),它通常用來生成"COM"文件。由於內存地址的「安排」方式的限制,Huge模式會帶來顯著的性能損失,因此它很少被使用。
最常使用的存儲模式有哪些?
最常使用的存儲模式有Small,Medium和Large這幾種。Tiny存儲模式一般只用來生成".COM"文件,在現在的高性能計算機上,它已很少被使用了。Compact存儲模式允許程序有很少的代碼和大量的數據,在今天的商業應用環境中,它同樣也不常用了。由於Huge存儲模式的存儲地址機制導致它的效率較低,所以它也很少被使用。
一般說來,你應該根據程序的大小選用Small,Medium或Large中的一種存儲模式。對一個小的實用程序來說,Small存儲模式可能是最合適的,這種存儲模式允許有64KB的代碼和64KB數據和棧。如果程序有更大一些的數據要求,你可以使用Medium存儲模式,它允許程序有多達1MB的可定址數據空間。對於更大的程序,你應該使用Large存儲模式,它允許程序有1MB的代碼和1MB的數據和棧空間。
如果你在編寫一個Windows程序或者在使用一個32位編譯程序,那麼你最好使用Small存儲模式,因為這樣的環境並不受DOS程序的段地址結構的限制。
應該使用哪種存儲模式?
如果要生成一個「.COM」文件,匭朧褂肨iny存儲模式,即所有的代碼、數據和棧空間都被限制在64KB中。小的實用程序普遍使用這種存儲模式。相對較小的程序也可以使用Small存儲模式,只不過不必把整個程序都限制在64KB中。在Small存儲模式下,有64KB的代碼空間和64KB的數據和棧空間。除了用於小程序外,Small存儲模式還可用在Windows或32位編譯程序這樣的環境中,因為在這些環境中內存定址並不受DOS中16位的限制。
如果一個程序的代碼量相對較大而靜態數據量相對較小,你可以用Medium存儲模式來創建程序。如果程序很大(需要很多模塊,大量的代碼和數據),那麼你應該選用Large存儲模式,這種存儲模式常用在DOS下編寫商用軟體。
與Small,Medium和Large存儲模式相比,Compact和Huge存儲模式要少用得多。Cornpact存儲模式允許程序有大量的靜態數據和相對較少(64KB或更少)的代碼。滿足這種模式的程序很少,常常是一些轉移程序,它們有大量必須存到內存中的靜態轉移表。Huge存儲模式與Large存儲模式基本相同,只是Huge存儲模式允許程序有超過64KB的靜態數據。與Compact存儲模式相似,Huge存儲模式也很少被使用,這主要是因為它會帶來顯著的性能損失。由於Huge存儲模式的執行效率較低,因此你應該避免使用這種模式,除非你確實需要超過64KB的一個數組或其它靜態數據。記住,數組和其它程序結構可通過malloc()和calloc()在程序運行時進行動態分配,它們在本質上並不必須是靜態的。