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

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

第七章 控制流 心得 第八周 mat html creat 操作 優秀作業

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

作業鏈接及二維碼

  • 第一周作業:第一章、第七章,計算機系統漫遊
    技術分享圖片

  • 第二周作業:復習C語言中關於二進制文件和文本文件讀寫的相關內容,模仿od完成myod
    技術分享圖片

  • 第三周作業:第二章《信息的表示和處理》
    技術分享圖片

  • 第四周作業:掌握兩個重要命令: man -k key1 | grep key2| grep 2 : 根據關鍵字檢索系統調用 grep -nr XXX /usr/include :查找宏定義,類型定義
    技術分享圖片

  • 第五周作業:第三章《程序的機器級表示》
    技術分享圖片

  • 第六周作業:第八章《異常控制流》,第十章《系統級I/O》
    技術分享圖片

  • 第七周作業:第四章《處理器體系結構》
    技術分享圖片

  • 第八周作業:第十一章《網絡編程》,第十二章《並發編程》
    技術分享圖片

  • 第九周作業:第六章《存儲器層次結構》
    技術分享圖片

  • 第十周作業:無
  • 第十一周作業:第九章《虛擬存儲器》
    技術分享圖片

  • 第十二作業:無
  • 第十三周作業:找出全書你認為最重要的一章,深入重新學習一下
    技術分享圖片

  • 第十四周作業:找出全書你認為學得最差的一章,深入重新學習一下
    技術分享圖片

實驗報告鏈接匯總

  • 實驗一 開發環境的熟悉:

1.交叉編譯環境

2.目標機宿主機聯通

3.目標機運行程序
技術分享圖片

  • 實驗二 固件程序設計:

1.MDK

2.LED

3.UART

4.國密算法
技術分享圖片

  • 實驗三 實時系統:

1.並發程序-1:客戶端傳一個文本文件給服務器

2.並發程序-2:用多線程實現wc服務器並使用同步互斥機制保證計數正確
技術分享圖片

  • 實驗四 外設驅動程序設計:

1.學習資源中全課中的“hqyj.嵌入式Linux應用程序開發標準教程.pdf”中的第十一章

2.在Ubuntu完成資源中全課中的“hqyj.嵌入式Linux應用程序開發標準教程.pdf”中的第十一章的test試驗
技術分享圖片

  • 實驗五 通訊協議設計:

1.研究OpenSSL算法,測試對稱算法中的AES,非對稱算法中的RSA,Hash算法中的MD5

2.在Ubuntu中實現對實驗二中的“wc服務器”通過混合密碼系統進行防護
技術分享圖片

代碼托管鏈接和二維碼:

  • 截圖 git log --pretty=format:"%h - %an, %ar : %s" 的結果,代碼量匯總提交statistics.sh的支持截圖

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

通過幾次實驗以及利用的工具,學到了一些代碼驅動的知識。

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

加代碼和改代碼都是在已經理解了程序的基礎上進行的,所以我們必須先要讀懂程序,才可以進行下一步的添加或者改進。

  • 實踐上有什麽經驗教訓

需要先理解和讀懂代碼的意思,再進行實驗,否則步驟會混亂非常消耗時間。

  • 整體評價一下第1周作業中自己提出的問題是不是抓住了學習重點

第一章中提出的問題基本上沒有抓住學習重點。

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

第一章:對於多線程問題:當一個處理器等待輸入設備響應的時候,多線程會轉向執行另一個程序命令,假如任務A需花費5分鐘,任務B需話費10分鐘,對於任務A等待輸入設備指令時跳去執行任務B,任務A和任務B在我的理解裏不能同時進行,但是所花費的時間為什麽時10分鐘,是有多個處理器嗎,我理解的是15分鐘。

答:單處理器應該是

第二章:怎麽樣讓負數等於正數?

答:在負數x後加上U,可以使其轉換為(2^w+x)

第三章:為什麽C語言只有一個條件語句;而匯編中有兩個分支呢?

答:第一個條件分支是&&表達式實現的一部分;如果對非空的測試失敗,代碼會跳過測試。

第四章:Y-86和X-86的區別

答:區別就在於,有的時候Y86需要兩條指令來達到X86一條指令就可以達成的目的

第五章:程序性能的評估方面,如何評估

答:評估程序的效率,循環的次數,過程調用的次數,並且盡力減少不必要的內存調用。

第六章:存儲器的結構是什麽
技術分享圖片

第七章:如何構造動態鏈接庫,動態鏈接庫和靜態鏈接庫的區別是什麽

答:動態鏈接庫相比靜態鏈接庫相比,優勢是:1 共享內存 2 獨立升級組件(插件)3可以顯示動態加載(dllopen)。劣勢:是損失一點點效率(計算符號地址)

第八章:如何理解並發流,怎麽應用

答:在操作系統中,是指一個時間段中有幾個程序都處於已啟動運行到運行完畢之間,且這幾個程序都是在同一個處理機上運行。其中兩種並發關系分別是同步和互斥

第九章:虛擬內存的作用是什麽,和實際的內存區別在哪裏

答:虛擬內存是計算機系統內存管理的一種技術。它使得應用程序認為它擁有連續的可用的內存(一個連續完整的地址空間),而實際上,它通常是被分隔成多個物理內存碎片,還有部分暫時存儲在外部磁盤存儲器上,在需要時進行數據交換。

第十章:如何讀取目錄內容

答:通過readdir系列函數來讀取目錄內容

第十一章:如何構建Web服務器

答:利用Socket、connect、bind、listen、accept函數構建服務器與客戶端連接。

第十二章:如何在客戶端-服務器中加入並發的結構

答:主線程通過調用pthread_create函數創建一個新的對等線程。當對pthread_create的調用返回時,主線程和新創建的對等線程同時運行,並且tid包含新線程的ID。

你有什麽項目被加分,談談你的經驗

優秀作業(給出鏈接和二維碼)

總結(給出鏈接和二維碼)

項目(給出鏈接和二維碼)

教程(給出鏈接和二維碼)

競賽
...

你有什麽項目被扣分,談談你的教訓

不動手實踐

遲交作業

不驗收代碼
...

課程收獲與不足

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

對於計算機系統有了更全面更細致的了解,並且在代碼方面有了更深的理解。

  • 自己需要改進的地方

希望自己可能更加精益求精一些,不要滿足於完成了一些基礎知識。

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

結對的過程主要是課後習題的討論,結對同伴學習能力很強,對於題目的理解更加深刻,在相互交流之後學習到了更好的方法。

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

還是要理論和實踐結合,不要滿足於基本的知識。

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

多實踐一些代碼吧。

問卷調查

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

大概有10個小時吧

  • 每周的學習效率有提高嗎?

學習效率提高不明顯。

  • 學習效果自己滿意嗎?

還可以,不是很好,還有進步的空間。

  • 課程結束後會繼續一周至少一篇博客嗎?(如果能做到,畢業時我把你的博客給你集結成一本書送給你作紀念)

大概不會

  • 你覺得這門課老師應該繼續做哪一件事情?

課外拓展方面應該繼續。

-你覺得這門課老師應該停止做哪一件事情?

我覺得問題還是在講的不是很有條理吧,感覺零零散散的全靠課上聽講沒有辦法把知識整合到一起。

  • 你覺得這門課老師應該開始做什麽新的事情?

做一個講課的流程圖與課本結合。
其他任意發揮
link
技術分享圖片

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