1. 程式人生 > >2017-2018-1 20155235 《信息安全系統設計基礎》第十一周學習總結

2017-2018-1 20155235 《信息安全系統設計基礎》第十一周學習總結

tab iis 緩沖區溢出 地址 更新 mar cve 改進 head

2017-2018-1 20155235 《信息安全系統設計基礎》第十一周學習總結

教材學習內容總結

第九章 虛擬內存

9.1 物理和虛擬尋址
9.2 地址空間
9.3 虛擬內存作為緩存的工具  
    9.3.1 DRAM緩存的組織結構
    9.3.2 頁表
    9.3.3 頁命中
    9.3.4 缺頁
    9.3.5 分配頁面
    9.3.6 又是局部性救了我們
9.4 虛擬內存作為內存管理的工具
9.5 虛擬內存作為內存保護的工具
9.6 地址翻譯
    9.6.1 結合高速緩存和虛擬內存
    9.6.2 利用TLB加速地址翻譯
    9.6.3 多級頁表
    9.6.4 綜合:端到端的地址翻譯
9.7 案例研究:Intel Core i7/Linux 內存系統
    9.7.1 Core i7地址翻譯
    9.7.2 Linux 虛擬內存系統
9.8 內存映射
    9.8.1 再看共享對象
    9.8.2 再看fork函數
    9.8.3 再看execve函數
    9.8.4 使用mmap函數的用戶級內存映射
9.9 動態內存分配
    9.9.1 malloc和free函數
    9.9.2 為什麽要使用動態內存分配
    9.9.3 分配器的要求和目標
    9.9.4 碎片
    9.9.5 實現問題
    9.9.6 隱式空閑鏈表
    9.9.7 放置已分配的塊
    9.9.8 分割空閑塊
    9.9.9 獲取額外的堆內存
    9.9.10 合並空閑塊
    9.9.11 帶邊界標記的合並
    9.9.12 綜合:實現一個簡單的分配器
    9.9.13 顯式空閑鏈表
    9.9.14 分離的空閑鏈表
9.10 垃圾收集
    9.10.1 垃圾收集器的基本知識
    9.10.2 Mark&Sweep垃圾收集器
    9.10.3 C程序的保守Mark&Sweep
9.11 C程序中常見的與內存有關的錯誤
    9.11.1 間接引用壞指針
    9.11.2 讀未初始化的內存
    9.11.3 允許棧緩沖區溢出
    9.11.4 假設指針和它們指向的對象是相同大小的
    9.11.5 造成錯位錯誤
    9.11.6 引用指針,而不是它所指向的對象
    9.11.7 誤解指針運算
    9.11.8 引用不存在的變量
    9.11.9 引用空閑堆塊中的數據
    9.11.10 引用內存泄漏
9.12 小結
     

教材學習中的問題和解決過程

  • 問題1:stat顯示的3個時間中的最後一個狀態改動時間是什麽意思?
  • 問題1解決方案:狀態改動時間是指該文件的i節點最後一次被修改的時間,通過chmod、chown命令修改一次文件屬性,這個時間就會更新。

代碼托管

pwd命令實現代碼在碼雲裏
(statistics.sh腳本的運行結果截圖)

上周考試錯題總結

結對及互評

點評模板:

  • 博客中值得學習的或問題:
    • xxx
    • xxx
    • ...
  • 代碼中值得學習的或問題:
    • xxx
    • xxx
    • ...
  • 其他

本周結對學習情況

20155211
- 結對照片
- 結對學習內容
- XXXX
- XXXX
- ...

其他(感悟、思考等,可選)

實驗真的不好做,PWD實現還算成功吧。

學習進度條

代碼行數(新增/累積) 博客量(新增/累積) 學習時間(新增/累積) 重要成長
目標 5000行 30篇 400小時
第一周 200/200 1/1 10/10
第二周 200/200 1/1 20/20
第三周 ?/200 1/1 15/20
第四周 200/200 1/1 20/20
第五周 100/200 1/1 20/20
第六周 200/200 1/1 20/30
第七周 500/500 1/1 20/20
第八周 300/300 1/1 15/30
第九周 300/300 1/1 15/20

嘗試一下記錄「計劃學習時間」和「實際學習時間」,到期末看看能不能改進自己的計劃能力。這個工作學習中很重要,也很有用。
耗時估計的公式
:Y=X+X/N ,Y=X-X/N,訓練次數多了,X、Y就接近了。

參考:軟件工程軟件的估計為什麽這麽難,軟件工程 估計方法

  • 計劃學習時間:30小時

  • 實際學習時間:15小時

  • 改進情況:

(有空多看看現代軟件工程 課件
軟件工程師能力自我評價表)

參考資料

  • 《深入理解計算機系統V3》學習指導
  • ...

2017-2018-1 20155235 《信息安全系統設計基礎》第十一周學習總結