1. 程式人生 > >2017-2018-1 20155216 《信息安全系統設計基礎》課程總結

2017-2018-1 20155216 《信息安全系統設計基礎》課程總結

編譯環境 繼續 自覺性 交叉 產生 一件事 上下 二維 三周作業

2017-2018-1 20155216 《信息安全系統設計基礎》課程總結

(按順序)每周作業鏈接匯總

第一周作業:

簡要內容:
計算機的組成;處理器讀取並解釋存放主存裏的二進制指令;操作系統內核是應用程序和硬件之間的媒介;網絡提供了計算機系統之間通信的手段。

二維碼:
技術分享圖片

第二周作業:

簡要內容:
行斷點的設置
行斷點的設置、靜態庫、共享庫、myod的實現。

二維碼:
技術分享圖片

第三周作業:

簡要內容:
信息儲存、整數表示、整數運算、浮點數的學習。

二維碼:

第三周作業:

簡要內容:
信息儲存、整數表示、整數運算、浮點數的學習。

二維碼:
技術分享圖片

第四周作業:

簡要內容:
Myod系統調用版本調用、Unix I/O、打開和關閉文件、head tail的使用。

二維碼:
技術分享圖片

第五周作業:

簡要內容:
理解逆向的概念、掌握X86匯編基礎,能夠閱讀(反)匯編代碼、了解ISA指令集體結構、理解函數調用棧幀的概念,並能用GDB進行測試、了解過程和浮點代碼。

二維碼:
技術分享圖片

第六周作業:

簡要內容:
了解異常及其種類、理解進程和並發的概念、理解函數調用棧幀的概念,並能進行GDB測試、掌握進程創建和控制的系統調用及函數使用、理解數組指針、指針數組、函數指針、指針函數的區別、理解信號機制、掌握管道和I/O重定向。

二維碼:
技術分享圖片

第七周作業:

簡要內容:
ISA抽象的作用、流水線及其實現方式、Y86-64指令集體系結構、邏輯設計和硬件控制語言HCL、Y86-64的順序實現。

二維碼:
技術分享圖片

第八周作業:

簡要內容:
三種並發的方式:進程、線程、I/O多路復用、線程控制及相關系統調用、線程同步互斥相關系統調用。

二維碼:
技術分享圖片

第九周作業:

簡要內容:
常見的儲存技術(RAM、ROM、磁盤、固態硬盤等)、局部性原理、緩存思想、局部性原理和緩存思想在存儲層次結構中的應用。

二維碼:
技術分享圖片

第十一周作業:

簡要內容:
虛擬存儲器的概念和作用、地址翻譯的概念、存儲器的映射、C語言中與存儲器有關的錯誤。

二維碼:
技術分享圖片

第十三周作業:

簡要內容:
異常、異常處理、異常的類別、進程、邏輯控制流、並發流、私有地址空間、用戶模式和內核模式、上下文切換、系統調用錯誤處理、進程控制、信號、非本地跳轉。

二維碼:
技術分享圖片

第十四周作業:

簡要內容:
程序的機器級表示的歷史觀點、c語言代碼、匯編代碼、機器代碼之間的關系、數據表示、數據訪問、傳送和算術運算、算術和邏輯操作、條件碼和跳轉指令、棧幀結構基礎、普通函數、遞歸函數的調用過程、數組和指針、結構和聯合、數據對齊、緩沖區溢出、GDB調試器、GDB支持對機器級程。

二維碼:
技術分享圖片

第十五周作業:

簡要內容:
課程總結。

二維碼:
技術分享圖片

(按順序)實驗報告鏈接匯總

實驗一 實驗名稱:開發化境的熟悉

簡要內容:
交叉編譯環境、目標機宿主機聯通、目標機運行程序。

二維碼:
技術分享圖片

實驗二 實驗名稱: 固件程序設計

簡要內容:
MDK、LED、UART、國密算法、SM1。

二維碼:
技術分享圖片

實驗三 實驗名稱: 固件程序設計

簡要內容:
wc命令的學習、實現wc服務器、多線程實現wc服務器。

二維碼:
技術分享圖片

實驗四 實驗名稱: 外設驅動程序設計

簡要內容:
學習資源中全課中的“hqyj.嵌入式Linux應用程序開發標準教程.pdf”中的第十一章、加載模塊,卸載模塊。

二維碼:
技術分享圖片

實驗五 實驗名稱: 外設驅動程序設計

簡要內容:
學習混合密碼系統、在Ubuntu中實現對實驗二中的“wc服務器”通過混合密碼系統進行防護。

二維碼:
技術分享圖片

(按順序)項目及課上測試補交博客鏈接匯總

第六周課上測試補交及教材練習完成

二維碼:
技術分享圖片

緩沖區溢出漏洞實驗

二維碼:
技術分享圖片

第八周課下作業1

二維碼:
技術分享圖片

第八周課下作業2

二維碼:
技術分享圖片

實現mypwd

二維碼:
技術分享圖片

代碼托管鏈接和二維碼:

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

技術分享圖片

代碼托管

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

技術分享圖片

問題

代碼驅動的學習做到沒有?

對於一些較為簡單的代碼,以及一些課本中練習題和家庭作業中的代碼進行了代碼驅動學習。

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

對於我們學習中,一些需要我們實現的代碼,我們通常都會嫌麻煩或者覺得編寫過程較為復雜而會去尋求一些網絡資源中提供的代碼,但這些代碼實現的功能多少跟需要的功能有差別,這就需要我們進行修改,在修改過程中學習新的內容。其次,對於正在學習的一些代碼,我們可以將代碼的某些部分進行修改嘗試,以體會不同的函數調用會產生哪些不同的結果,並且也可以不斷地對代碼進行完善,比如添加功能,或對其進行邊界測試,提高代碼的可控性。總之,在理論的基礎上不斷地進行代碼驅動的實踐,會使我們學到更多的知識,也會我們的學到的知識印象更為深刻。

實踐上有什麽經驗教訓
整體評價一下第1周作業中自己提出的問題是不是抓住了學習重點

只有小部分抓住了學習的重點

回答一下第1周作業中自己提出的問題

你有什麽項目被加分,談談你的經驗
優秀作業(給出鏈接和二維碼)
總結(給出鏈接和二維碼)
項目(給出鏈接和二維碼)
教程(給出鏈接和二維碼)
競賽

你有什麽項目被扣分,談談你的教訓
不動手實踐
遲交作業
不驗收代碼

有部分課上測試沒有及時提交上,並且課下補博客時,博客中沒有對測試的部分問題進行詳細的描述,學習過程不夠豐富、細致。
最好在課前對章節相關知識進行深入學習,爭取在課上時間內把測試內容提交上,如果沒有提交,需在課下補交博客中寫明詳細的完成步驟。

課程收獲與不足

自己的收獲(投入,效率,效果等)

1、對於一些Linux命令的實現進行了深入的學習。

2、對於計算機的系統的結構以及其中的部分框架有了大致了解。

3、對進程和線程有了更深刻的認知。

自己需要改進的地方

應對每次實驗博客的內容進行豐富。

如果有結對,寫一下你提供的幫助或接受了什麽幫助,並對老師提供參考建議

在第十三周和第十四周深入學習的兩章中,我與結對對象對於各自學習的內容進行相互提問和解答。

給開學初的你和學弟學妹們的學習建議

如果重新學習這門課,怎麽做才可以學的更好

需要在這門課程上多花時間,因為這門課程的內容真的不少,並且也不簡單。
由於課本內容較多,所以尤其要抓住重點進行學習。

問卷調查
你平均每周投入到本課程多長時間?
1~2小時

每周的學習效率有提高嗎?
在剛開始學習時,效率較低,三四個星期後,效率得到提高。

學習效果自己滿意嗎?
不是很滿意,由於課程內容較多,自己只是對於其中部分章節或部分內容掌握得較好,其它內容還存在很多漏洞。

課程結束後會繼續一周至少一篇博客嗎?(如果能做到,畢業時我把你的博客給你集結成一本書送給你作紀念)
因為自己學習效率並不高,並且也沒有養成寫日誌等記錄性文章的習慣,在今後的學習中需要在其他科目上多花時間,所以並不能做到繼續每周更新博客。

你覺得這門課老師應該繼續做哪一件事情?
1、對於課本中的內容發布題目進行測試。

2、課上進行相關的實踐測試。

你覺得這門課老師應該停止做哪一件事情?
課上未能提交測試結果的同學,課後提交補交博客是很有必要的,但是除了提交補交博客之外,還需要完成一些家庭作業或其他學習博客,這樣工作量有些大,會導致補交博客不夠完善,所以希望停止此類博客的寫作。

你覺得這門課老師應該開始做什麽新的事情?
希望老師能對課上測試的相關內容進行講解。

其他任意發揮
老師的教學方法可能太過於先進,對於一些成績好的,勤奮的同學來說,可能會學得很好,但是對於成績平常或成績較差的同學來說,有可能學到的東西就很少。因為一個學期需要學習的內容太多,並且大多數都采取自學的方式,大部分同學可能都會缺乏學習的自覺性,所以還是希望在課上,能以老師講解為主。

給出你的總結的鏈接和二維碼
鏈接

二維碼:
技術分享圖片

2017-2018-1 20155216 《信息安全系統設計基礎》課程總結