iT邦幫忙

鐵人檔案

2021 iThome 鐵人賽
回列表
自我挑戰組

當你凝視linux, linux也在凝視你 系列

趁著鐵人賽期間,想以粗略的方式理解linux kernel的基礎概念

鐵人鍊成 | 共 30 篇文章 | 12 人訂閱 訂閱系列文 RSS系列文
DAY 11

Day11 Buddy, slab 記憶體管理大將

前言 昨天講過了遠古時代的記憶體管理,跟後續為了解決最古老的記憶體管理所引發的問題而接著有的分段管理與分頁管理,今天要提到的是Linux 中使用到的動態記憶體管...

2021-09-26 ‧ 由 chengchen 分享
DAY 12

Day12 虛擬記憶體的介紹

前言 前幾天都在講實體記憶體(physical memory)該如何分配,但是在有越來越多行程同時運行的狀況下,記憶體再多都沒辦法好好地放下所有程式的資料,因此...

2021-09-27 ‧ 由 chengchen 分享
DAY 13

Day13 demand page 與 copy on write

前言 前面介紹了記憶體分頁的管理機制,分頁管理讓記憶體管理不再以行程為管理的單位,而是以頁為單位作為記憶體管理的基本單位,虛擬記憶體是一個能映射到實體記憶體與硬...

2021-09-28 ‧ 由 chengchen 分享
DAY 14

Day 14 VMA來襲

前言 昨天介紹完了damand page與 copy on write這兩個在現今系統常常能夠看見的機制之後,要更深入的走入 Linux中,看看理論中用到的虛擬...

2021-09-29 ‧ 由 chengchen 分享
DAY 15

Day15 對 VMA 上下其手

前言 昨天將 VMA結構檢視了一遍,也大概了解vma_area_struct 與 mm_struct 所包含的資料,那麼實際上會如何操作VMA呢? VMA的屬性...

2021-09-30 ‧ 由 chengchen 分享
DAY 16

Day16 熟悉又陌生的 malloc()

前言 昨天看過了如何對VMA 進行操作,今天要來研究兩個熟悉又陌生的函數, malloc() 與 mmap()。 malloc() malloc() 是C語言中...

2021-10-01 ‧ 由 chengchen 分享
DAY 17

Day17 探訪 mmap( )

此文章會在未來繼續補完 前言 前幾天我們講了虛擬記憶體,就提到了在系統內部管理虛擬記憶體的結構VMA,並且講解了VMA是放在 mm_struct 內部,並且利用...

2021-10-02 ‧ 由 chengchen 分享
DAY 18

Day18 page fault, LRU, second chance

前言 前幾天我們講到的都是關於虛擬記憶體的資訊,包含VMA的結構,malloc() , mmap() 等等,但是究竟虛擬記憶體該如何跟實體記憶體有實際的連結,怎...

2021-10-03 ‧ 由 chengchen 分享
DAY 19

Day 19 MMU 與 TLB

前言 前面幾天提到了虛擬記憶體,以及一些關於實體記憶體與虛擬記憶體的映射方式,今天來講講兩個重要的設計,MMU與 TLB,這兩個部分都是屬於硬體設計的部分,以下...

2021-10-04 ‧ 由 chengchen 分享
DAY 20

Day20 Anonymous page 與 RMAP

前言 昨天講完了TLB 以及MMU兩個與實體記憶體分配有關係的機制之後,今天要講一個比較少人談論,在Linux裡面有設置的兩個機制 匿名分頁(Anonymous...

2021-10-05 ‧ 由 chengchen 分享