iT邦幫忙

第 11 屆 iThome 鐵人賽

DAY 20
0

到目前為止,對於Process的觀念已經說了不少,接下來要開始講述有關於作業系統在儲存空間的使用和管理,首先我們要先了解電腦在硬體上所擁有的儲存設備分級:

  1. CPU register: CPU使用的暫存器,速度非常的快但容量非常小,用來儲存instruction與資料。
  2. cache: CPU讀取記憶體的行為相對慢,因此在讀取記憶體內容時,會是以一個單位來拿取資料後暫存於cache,CPU下次讀取記憶體資料前會先在cache裡面尋找,如果有找到就能直接拿cache的,加速讀取的過程。
  3. main memory: 大家比較熟悉的記憶體,用來儲存執行Process要用到的資源。
  4. electronic disk: 固態硬碟(SSD),比起傳統的硬碟使用磁頭的機械行為,SSD的體積比較小、速度快也比較省電。
  5. magnetic disk: 硬碟(HDD),就是上面講的使用磁頭的傳統硬碟,因為是物理的磁頭去讀取資料內容,資料的儲存位置會影響存取的速度,整體速度比SSD還慢,但容量大且造價便宜。
  6. optical disk: 光碟,應該不用多作解釋。
  7. magnetic tapes: 磁碟片,基本上現在已經看不到了,小時候很喜歡拉磁碟片上面那條鐵片。

上述設備由1至7的順序,數字越大造價越便宜、容量越大、速度越慢,且1-3具有揮發性,意指斷電後儲存的資料會消失,反之4-7則不會。

作業系統是個平台,可以讓許多的程式在他之上執行,其流程如下:

  1. 苦命的工程師撰寫程式碼,不管是什麼程式語言 C++, C#, python, JavaScript。
  2. 透過編譯器(compiler),開始把原始碼編譯成Program。電腦這時會有一些檔案被放在硬碟(disk)之中。
  3. 當使用者啟動了編譯後的Program(存放在disk裡面),作業系統會把Program載入(load)到記憶體裡面,成為一個或多個Process。

CPU只能夠存取記憶體的內容,不能夠直接讀取硬碟的資料,所以不論是要使用硬碟內的資料還是程式(Program),都需要先載入到記憶體裡面。


上一篇
Day 19 - Computer-System Architecture
下一篇
Day 21 - Memory address binding
系列文
非本科系也能懂和該懂得作業系統30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言