非頁面式計算機系統

非頁面式計算機系統

計算機系統是由計算機的硬體和軟體兩大部分組成的系統。非頁面式計算機系統是指計算機系統的存儲管理沒有採用基本分頁存儲管理方式,而是採用其他存儲管理方式,例如連續分配方式,分段存儲管理方式。存儲管理的對象是主存儲器,它的目的是方便用戶使用和提高存儲器利用率。

基本介紹

  • 中文名:非頁面式計算機系統
  • 外文名:non paged computer system
  • 學科:計算機
  • 定義:存儲管理沒有採用分頁存儲方式
  • 有關術語:計算機系統
  • 領域:存儲器管理
簡介,存儲管理,基本分頁存儲管理方式,基本分段存儲管理方式,段頁式存儲管理方式,連續分配方式,

簡介

非頁面式計算機系統是指計算機系統的存儲管理沒有採用基本分頁存儲管理方式。計算機系統沒有採用基本分頁存儲管理方式原因可能有以下幾種:作業系統類型、存儲器利用率以及是否方便用戶。計算機系統除了分頁存儲管理方式以外,還有基本分段存儲管理方式和段頁式存儲管理方式

存儲管理

存儲器是計算機系統的重要組成部分。近年來,存儲器容量雖然一直在不斷擴大,但仍不能滿足現代軟體發展的需要,因此,存儲器仍然是一種寶貴而又緊俏的資源。如何對它加以有效的管理,不僅直接影響到存儲器的利用率,而且還對系統性能有重大影響。存儲器管理的主要對象是記憶體。

基本分頁存儲管理方式

存儲器管理中,連續分配方式會形成許多“碎片”,雖然可通過“緊湊”方法將許多碎片拼接成可用的大塊空間,但須為之付出很大開銷。
如果允許將一個進程直接分散地裝入到許多不相鄰的分區中,則無須再進行“緊湊”。基於這一思想而產生了離散分配方式。如果離散分配的基本單位是頁,則稱為分頁存儲管理方式。在分頁存儲管理方式中,如果不具備頁面對換功能,則稱為基本分頁存儲管理方式,或稱為純分頁存儲管理方式,它不具有支持實現虛擬存儲器的功能,它要求把每個作業全部裝入記憶體後方能運行。分頁存儲管理是將一個進程的邏輯地址空間分成若干個大小相等的片,稱為頁面或頁,並為各頁加以編號,從0開始,如第0頁、第1頁等。相應地,也把記憶體空間分成與頁面相同大小的若干個存儲塊,稱為(物理)塊或頁框(frame),也同樣為它們加以編號,如0#塊、1#塊等等。在為進程分配記憶體時,以塊為單位將進程中的若干個頁分別裝入到多個可以不相鄰接的物理塊中。由於進程的最後一頁經常裝不滿一塊而形成了不可利用的碎片,稱之為“頁內碎片”。

基本分段存儲管理方式

如果說推動存儲管理方式從固定分區到動態分區分配,進而又發展到分頁存儲管理方式的主要動力,是提高記憶體利用率,那么,引入分段存儲管理方式的目的,則主要是為了滿足用戶(程式設計師)在編程和使用上多方面的要求,其中有些要求是其它幾種存儲管理方式所難以滿足的。因此,這種存儲管理方式已成為當今所有存儲管理方式的基礎。
在分段存儲管理方式中,作業的地址空間被劃分為若干個段,每個段定義了一組邏輯信息。例如,有主程式段MAIN、子程式段X、數據段D及棧段S等。每個段都有自己的名字。為了實現簡單起見,通常可用一個段號來代替段名,每個段都從0開始編址,並採用一段連續的地址空間。段的長度由相應的邏輯信息組的長度決定,因而各段長度不等。整個作業的地址空間由於是分成多個段,因而是二維的,亦即,其邏輯地址由段號(段名)和段內地址所組成。

段頁式存儲管理方式

分頁和分段存儲管理方式都各有其優缺點。分頁系統能有效地提高記憶體利用率,而分段系統則能很好地滿足用戶需要。如果能對兩種存儲管理方式“各取所長” ,則可以將兩者結合成一種新的存儲管理方式系統。這種新系統既具有分段系統的便於實現、分段可共享、易於保護、可動態連結等一系列優點,又能像分頁系統那樣很好地解決記憶體的外部碎片問題,以及可為各個分段離散地分配記憶體等問題。把這種結合起來形成的新系統稱為“段頁式系統” 。段頁式系統的基本原理,是分段和分頁原理的結合,即先將用戶程式分成若干個段,再把每個段分成若干個頁,並為每一個段賦予一個段名。

連續分配方式

連續分配方式出現的時間比較早,曾廣泛套用於20世紀60~70年代的OS中,但是它至今仍然在記憶體管理方式中占有一席之地,原因在於它實現起來比較方便,所需的硬體支持最少。連續分配方式又可細分為四種:單一連續分配、固定分區分配、動態分區分配和動態重定位分區分配。
其中固定分區分配方式,因為分區固定,所以缺乏靈活性,即當程式太小時,會造成記憶體空間的浪費(內部碎片);程式太大時,一個分區又不足以容納,致使程式無法運行(外部碎片)。但儘管如此,當一台計算機去控制多個相同對象的時候,由於這些對象記憶體大小相同,所以完全可以採用這種記憶體管理方式,而且是最高效的。這裡我們可以看出存儲器管理機制的多面性:即沒有那種存儲器管理機制是完全沒有用的,在適合的場合下,一種被認為最不合理的分配方案卻可能稱為最高效的分配方案。一切都要從實際問題出發,進行設計。
為了解決固定分區分配方式的缺乏靈活性,出現了動態分配方式。動態分配方式採用一些尋表(Eg:空閒鍊表)的方式,查找能符合程式需要的空閒記憶體分區。但代價是增加了系統運行的開銷,而且記憶體空閒表本身是一個檔案,必然會占用一部分寶貴的記憶體資源,而且有些算法還會增加記憶體碎片。
可重定位分區分配通過對程式實現成定位,從而可以將記憶體塊進行搬移,將小塊拼成大塊,將小空閒“緊湊”成大空閒,騰出較大的記憶體以容納新的程式進程。

相關詞條

熱門詞條

聯絡我們