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

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

每週做業連接彙總

  • 第0周做業
    • 學習內容
      • 瞭解課程上課方式
      • 作好心理預期
    • 二維碼:
  • 第1周做業
    • 學習內容
      • 瞭解Linux操做系統
      • 掌握核心的Linux命令:find/locate/cheat/grep/which/whereis,熟練應用「搜索」進行觸類旁通的學習
      • 使用Linux中用戶管理命令/系統相關命令/文件目錄相關命令/打包壓縮相關命令/比較合併相關命令/網絡相關命令等
    • 二維碼:
  • 第2周做業
    • 學習內容
      • 熟悉Linux系統下的開發環境
      • 熟悉vi的基本操做
      • 熟悉gcc編譯器的基本原理
      • 熟練使用gcc編譯器的經常使用選項
      • 熟練使用gdb調試技術
      • 熟悉makefile基本原理及語法規範
      • 掌握靜態庫和動態庫的生成與調用方法
      • 理解C程序中模塊的概仿,模塊分解的「高內聚,低耦合」的原則
      • 瞭解連接的概念
    • 二維碼:
  • 第3周做業
    • 學習內容
      • 理解二進制在計算機中的重要地位
      • 掌握布爾運算在C語言中的應用
      • 理解有符號整數、無符號整數、浮點數的表示
      • 理解補碼的重要性
      • 能避免C語言中溢出,數據類型轉換中的陷阱和可能會致使的漏洞
      • 進一步理解「信息=位+上下文」
    • 二維碼:
  • 第5周做業
    • 學習內容
      • 理解逆向的概念
      • 掌握X86彙編基礎,可以閱讀(反)彙編代碼
      • 瞭解ISA(指令集體系結構)
      • 理解函數調用棧幀的概念,並能用GDB進行調試
    • 二維碼:
  • 第6周做業
    • 學習內容
      • 瞭解ISA抽象的做用
      • 掌握ISA,並能觸類旁通學習其餘體系結構
      • 瞭解流水線和實現方式
    • 二維碼:
  • 第7周做業
    • 學習內容
      • 瞭解常見的存儲技術(RAM、ROM、磁盤、固態硬盤等)
      • 理解局部性原理
      • 理解緩存思想
      • 理解局部性原理和緩存思想在存儲層次結構中的應用
      • 高速緩存的原理和應用
    • 二維碼:
  • 第8周做業
    • 學習內容
      • 複習 Linux經常使用命令
      • 複習 教材1-7章
    • 二維碼:
  • 第9周做業
    • 學習內容
      • 掌握系統編程和系統調用的概念
      • 掌握系統編程錯誤處理的方式
      • 掌握Unix/Linux系統級I/O:open close read write seek stat
      • 掌握RIO
      • 掌握I/O重定向的方法
    • 二維碼:
  • 第10周做業
    • 學習內容
      • 掌握系統編程和系統調用的概念
      • 掌握系統編程錯誤處理的方式
      • 掌握Unix/Linux系統級I/O:open close read write seek stat
      • 掌握RIO
      • 掌握I/O重定向的方法
    • 二維碼:
  • 第11周做業
    • 學習內容
      • 瞭解異常及其種類
      • 理解進程和併發的概念
      • 掌握進程建立和控制的系統調用及函數使用
      • 理解數組指針、指針數組、函數指針、指針函數的區別
      • 理解信號機制:kill,alarm,signal,sigaction
      • 掌握管道和I/O重定向:pipe, dup, dup2
    • 二維碼:
  • 第12周做業
    • 學習內容
      • 第九周代碼檢查
      • 第十週代碼檢查
      • 第十一週代碼檢查
    • 二維碼:
  • 第13周做業
    • 學習內容
      • 掌握三種併發的方式:進程、線程、I/O多路複用
      • 掌握線程控制及相關係統調用
      • 掌握線程同步互斥及相關係統調用
    • 二維碼:
  • 第14周做業
    • 學習內容
      • 理解虛擬存儲器的概念和做用
      • 理解地址翻譯的概念
      • 理解存儲器映射
      • 掌握動態存儲器分配的方法
      • 理解垃圾收集的概念
      • 瞭解C語言中與存儲器有關的錯誤
    • 二維碼:

實驗報告連接彙總

  • 實驗1 開發環境的熟悉
    • 簡要內容
      • 熟悉Linux開發環境,學會Linux開發環境的配置和使用,使用Linux的arm編譯,使用基於NFS方式的下載調試,瞭解嵌入式開發的基本過程。
    • 二維碼:
  • 實驗2 固件設計
    • 簡要內容
      • 學習、讀懂02_pthread、03_tty中的代碼,配置實驗環境完成實驗指導書中的實驗二、3。
    • 二維碼:
  • 實驗3 實時系統的移植
    • 簡要內容:
      • 根據實驗指導書進行實時軟件的安裝(ADS、GIVEIO驅動、JTAG驅動),配置實驗環境並對軟件進行測試,運行測試程序。
    • 二維碼:
  • 實驗4 外設驅動程序設計
    • 簡要內容:
      • 掌握實時系統應用和驅動程序的編寫,在模塊化方式下進行驅動開發調試。
    • 二維碼:
  • 實驗5 網絡通訊
    • 簡要內容:
      • 在arm開發板上實現一個簡單web服務器的過程,在arm開發板上進行socket網絡編程。
    • 二維碼:

代碼託管連接和二維碼

  • 代碼託管連接
    html

    • 二維碼:
  • 代碼驅動的學習作到沒有?
    • Java和Linux都是實踐性的課程,代碼編寫到位才能充分地理解和消化知識點,Linux更注重的是代碼間邏輯聯繫的分析,代碼的數量有了量的積累,對這門課的學習纔有質的飛躍。git

      第0周做業中提出的問題

  • 第一章 系統硬件的組成如何?
    • 運算器、控制器、存儲器、輸入設備、輸出設備。
  • 第二章 格式在進行強制轉化時會發生什麼問題?
    • 出現溢出、正負值不對應(產生逆向思惟)。
  • 第三章 全部程序的機器級表示都是經過彙編指令實現的嗎?
    • 程序的機器級表示指的就是彙編代碼。相比二進制格式的機器級代碼,彙編代碼可讀性更好,它是機器代碼的文本表示,給出了程序中的每條指令。理解彙編代碼和原始C代碼的聯繫,是理解計算機如何執行程序的關鍵一步。
  • 第四章 Y86如何順序實現?
    • Y86將處理組織成階段包括取指、譯碼、執行、訪問、寫回、更新PC
  • 第五章 提升代碼性能的技術有哪些?
    • 優化編譯器能力和侷限性、消除循環的低效率、消除沒必要要的存儲器引用、提升並行性、代碼有良好的局部性。
  • 第六章 存儲器的層次結構是怎樣的?
    web

  • 第七章 靜態連接是什麼?
    • 以一組可重定位目標文件和命令行參數做爲輸入,生成一個徹底連接的能夠加載和運行的可執行目標文件做爲輸出。
  • 第八章 故障指令包括什麼?
    • 故障指令包括陷阱、故障、終止。
  • 第九章 虛擬存儲器有哪些功能
    • 虛擬內存是計算機系統內存管理的一種技術。它使得應用程序認爲它擁有連續的可用的內存(一個連續完整的地址空間),而實際上,它一般是被分隔成多個物理內存碎片,還有部分暫時存儲在外部磁盤存儲器上,在須要時進行數據交換。
  • 第十章 Unix I/O和標準I/O的通常概念是什麼?
    • 對於大多數應用程序而言,標準I/O更簡單,是優於Unix I/O的選擇。然而在網絡套接字的編程中,要使用健壯的RIO函數。由於RIO函數提供了帶緩衝的讀操做,與無緩衝的寫操做(對於套接字來講不須要),且是線程安全的。
  • 第十一章 網絡編程的兩種方式
    • 利用Socket接口是一種,裏面又分爲tcp、udp兩種方式
  • 第十二章 如何使用線程提升並行性?
    • 到目前爲止,在對併發的研究中,咱們都假設併發線程是在單處許多現代機器具備多核處理器。併發程序一般在這樣的機器上運理器系統上執行的。然而,在多個核上並行地調度這些併發線程,而不是在單個核順序地調度,在像繁忙的Web服務器、數據庫服務器和大型科學計算代碼這樣的應用中利用這種並行性是相當重要的。數據庫

      是否抓住了重點?

  • 只有部分章節涉及到了重點知識點。編程

加分項目

  • 優秀做業(給出連接和二維碼)
    • 第6周做業數組

    • 二維碼:
      緩存

      本學期被閱讀最多的博客是哪一篇?有何經驗?

  • 期中總結,老師在微信推送中提到了個人總結,這篇總結我除了完成老師的要求,還增長了很多我認爲應該在期中總結的知識點和實踐項目。安全

    本學期與老師和同窗交互最多的博客是哪篇?

  • 第7周學習總結,老師在評論裏提了要求,修改後找老師驗收。服務器

    待及格管理制度的優缺點

  • 待及格期間多發的博客列表
  • 優勢
    • 每週查代碼挺好的,只是這樣老師比較辛苦。
  • 建議
    • 能夠規定多發的博客內容爲前面內容的複習+本週內容,可能效果會更好一些。

課程收穫與不足

  • 本身的收穫與不足
    • 本學期確實學到了不少知識,雖然不少都是老師用扣分逼着學的,可是學期末對這門課的感受是總算沒有浪費這麼多時間,每週都有所收穫。可是整體來說,個人投入時間和精力仍是不夠,相比於有些同窗的認真仔細我仍是有些慚愧。
  • 本身須要改進的地方
    • 快一點進入狀態
    • 提一點學習效率
    • 多一點時間投入微信

      問卷調查

  • 你平均每週投入到本課程多長時間?
    • 15-20小時。
  • 每週的學習效率有提升嗎?
    • 真正學習的時間裏效率差很少,只是後面再也不是找時間學習,而是找時間作其餘事,從這個角度上講效率算是提升了。
  • 學習效果本身滿意嗎?
    • 前半段不是很滿意。
  • 課程結束後會繼續一週至少一篇博客嗎?
    • 即便寫了也不會公開可見。
  • 你以爲這門課老師應該繼續作哪一件事情?
    • 基本均可以繼續作。
  • 你以爲這門課老師應該中止作哪一件事情?
    • 基本均可以繼續作。
  • 你以爲這門課老師應該開始作什麼新的事情?
    • 講實驗。
    • 互評博客。
    • 全部評分表按期上傳公開。
    • 細化並公開加分機制。

一點體會

關於課程

  • 比不學可怕的是學得半懂不懂,比學得半懂不懂更可怕的是花時間讓老師以爲本身學了。且不說浪費時間,學習的認真程度是能夠經過週考的分數反映出來的。本學期前幾周我沒好好學,其餘同窗都是四、5分,我是二、3分,這就是對個人學習狀態的體現。我認爲博客的知識點能夠抄,怕的是花時間抄完以後看都不看直接提交,實踐也很是重要,只摘錄知識點不實踐也是不行的。學期中後半段我及時的調整了本身的狀態,分數有所提升,這也算是對我學習狀況的一種正面反饋吧。

    關於效率

  • 效率是很是重要的。高效地作事能使你在各類繁雜的事物間遊刃有餘而不淪陷在各類事情中沒法脫身,重要的是能夠在處理事情的間隙得以時間思考。deadline是第一輩子產力,這句話不無道理,咱們老是在超前的時候尋找某種心理安慰或者轉移工做重心導致學習工做拖沓低效,個人解決辦法是天天給本身安排時間表,可能只是大體安排可是卻可讓本身對今天的工做有更清楚的瞭解,作的時候有種deadline即將到來的感受,或許能夠提升效率。

    關於背單詞

  • 婁老師有句話我記得很清楚:若是爲了加分天天打卡做假,用1分鐘背100個單詞,其實這樣是耽誤了本身最寶貴的東西——時間。短時間內看似渾水摸魚很有成效,天天用1分鐘的時間糊弄老師就能夠獲得加分,實則是用扇貝打卡填補本身空虛的成就感,浪費了時間、精力和耐心,卻不知最後到底糊弄了誰。
  • 若是天天背單詞堅持不下來能夠看扇貝新聞或者聽力,只是保證必定的英文輸入,能堅持下來我想也是有效果的。

幾點建議

改位置值爲計總分

  • 目前使用的分數計算方法是位置值,即每次計算規格化成績,這種方法有利有弊,我想若是改成計總分,考慮到每次考試的題目數量和分值不一樣,計算方法應爲最終得分=總得分之和/試卷最高分之和,或可增長公平性亦給予更多鼓勵。

實驗樓

  • 實驗樓就像一個知識集散中心,裏面有不少優質課程,建議把實驗樓的有效學習時間做爲考覈的一項指標。

本文連接

相關文章
相關標籤/搜索