20155328 《信息安全系統設計基礎》 課程總結

20155328 《信息安全系統設計基礎》 課程總結

  • 每週做業連接彙總html

    • 第1周做業:學習教材第一章與第七章「連接」
      java

    • 第2周做業:補充課堂提交,學習靜態庫與共享庫,編寫myod,實現makefile。
      git

    • 第3周做業:理解有符號數、無符號數、浮點數的表示。
      編程

    • 第4周做業:編寫系統調用版myod,並嘗試用C語言實現Linux中head和tail命令。
      緩存

    • 第5周做業:學習X86彙編基礎、ISA。
      安全

    • 第6周做業:學習異常、父進程與子進程。
      服務器

    • 第7周做業:ISA抽象及其做用、流水線和實現方式。
      多線程

    • 第8周做業:學習客戶端-服務器模型、線程,讀者-寫者。
      併發

    • 第9周做業:磁盤、存儲器結構與局部性原理。
      模塊化

    • 第11周做業:虛擬存儲器、存儲器映射與動態存儲方法。

    • 第13周做業:重複學習異常、進程、信號等。

    • 第14周做業:連接、符號解析、重定位。

  • 實驗報告連接彙總

  • 代碼託管

    • 截圖 git log --pretty=format:"%h - %an, %ar : %s" 的結果

    • 代碼量彙總提交statistics.sh的支持截圖

    • 代碼驅動的學習作到沒有?

    感受本身作的有些不足,敲代碼不是太主動。

    • 加點代碼,改點代碼是理解的最好方式,參考編程的智慧,談談你的心得

    代碼重點是在質而不是量,需在認真分析,謹慎推敲後寫出代碼。在弄懂代碼的狀況下,對本身的代碼進行優化,才能不斷提高。

    • 實踐上有什麼經驗教訓?

    本學期的課堂實踐大多數都沒有在課堂上規定的時間內完成,說明本身的確是自學得不太到位,沒有抓住重點透徹學習。經過課下重作實踐的認真學習,感受本身掌握得更明白了。

  • 第一週提出的問題解答

    • 第一章:處理器讀取並解釋存在內存中的指令是怎樣實現的?

    CPU執行指令時,是從指令寄存器中取指令的。指令加載到指令寄存器的過程和加載數據是相似的。

    • 第三章:減輕緩衝區溢出威脅的措施有哪些?

    1.經過使被攻擊程序的數據段地址空間不可執行,從而使得攻擊者不可能執行被植入被攻擊程序輸入緩衝區的代碼,這種技術被稱爲非執行的緩衝區技術。2.用grep來搜索源代碼中容易產生漏洞的庫的調用,編寫正確的代碼。

    • 第四章:爲何五階段處理器流水線更加實用?

    減小了指令的平均執行時間,能夠認爲是減小了每條指令的CPI,也能夠說是減小了時鐘週期的長度。

    • 第五章:如何根據一個程序的圖形化表示中的關鍵路徑來測量一個程序可能的性能?

    增長生成的機器代碼中指令級並行度的變換,於是提升了程序在現代"超標量(superscalar)"處理器上的性能。

    • 第六章:如何經過改善程序的時間局部性和空間局部性來提升應用程序的性能?

    一段時間內儘可能訪問地址相近的變量等。

    • 第七章:如何利用共享庫?

    用於模塊化的開發與擴展。

    • 第八章:如何理解併發?

    併發性,又稱共行性,是指能處理多個同時性活動的能力。併發的實質是一個物理CPU(也能夠多個物理CPU) 在若干道程序之間多路複用,併發性是對有限物理資源強制行使多用戶共享以提升效率。

    • 第九章:虛擬內存相比主存有什麼優點?

    能夠彌補物理內存大小的不足;必定程度的提升反映速度;減小對物理內存的讀取從而保護內存延長內存使用壽命。

    • 第十章:標準I/O與UnixI/O有什麼區別和聯繫?

    文件I/O:文件I/O稱之爲不帶緩存的IO(unbuffered I/O)。不帶緩存指的是每一個read,write都調用內核中的一個系統調用。也就是通常所說的低級I/O——操做系統提供的基本IO服務,與os綁定,特定於linix或unix平臺。

    標準I/O:標準I/O是ANSI C創建的一個標準I/O模型,是一個標準函數包和stdio.h頭文件中的定義,具備必定的可移植性。標準I/O庫處理不少細節。例如緩存分配,以優化長度執行I/O等。標準的I/O提供了三種類型的緩存。(1)全緩存:當填滿標準I/O緩存後才進行實際的I/O操做。 (2)行緩存:當輸入或輸出中遇到新行符時,標準I/O庫執行I/O操做。 (3)不帶緩存:stderr就是了。

    • 第十二章:可重入性是一種什麼樣的屬性?

    可重入(reentrant)函數能夠由多於一個任務併發使用,而沒必要擔憂數據錯誤。相反,不可重入(non-reentrant)函數不能由超過一個任務所共享,除非能確保函數的互斥(或者使用信號量,或者在代碼的關鍵部分禁用中斷)。可重入函數能夠在任意時刻被中斷,稍後再繼續運行,不會丟失數據。可重入函數要麼使用本地變量,要麼在使用全局變量時保護本身的數據。

  • 課堂實踐補充博客彙總

  • 課程收穫與不足

    • 收穫

    寫了快一年的博客,最深入的一個收穫就是記錄本身學到的東西。若是自學沒有記錄,隨着記憶的逐漸丟失學到的東西也會慢慢丟失。記錄後能夠翻看本身的筆記,多加鞏固。

    • 本身須要改進的地方

    動手寫代碼不夠積極。

    - 關於結對
    
      由於我結對的對象是室友,因此常常能相互溝通。好比看書或者寫代碼的時候遇到不理解的部分能夠互相解惑。我也會看她的博客,學習。
  • 給開學初的學弟學妹的建議

每週的任務不要堆到週末來作,天天學習一點,一邊學習一邊記錄效果會好不少。

  • 問卷調查

    • 你平均每週投入到本課程多長時間?

    20小時。

    • 每週的學習效率有提升嗎?

    有。

    • 學習效果本身滿意嗎?

    不是太滿意。有時候會比較怠惰把任務留到週末,就學得不是太細緻。

    • 課程結束後會繼續一週至少一篇博客嗎?

    不能保證一週必定有一篇博客。但須要記錄的東西會去記錄。

    • 你以爲這門課老師應該繼續作哪一件事情?

    課下測試。

    • 你以爲這門課老師應該中止作哪一件事情?

    設置筆記格式...記筆記有我的的習慣。

相關文章
相關標籤/搜索