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

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

(按順序)每週做業連接彙總

  • 第零周做業:
    • 簡要內容:html

      • 一、閱讀老師給出的博客,並回答相關問題git

      • 二、簡單翻閱一下課本,對每章內容提出一個問題web

      • 三、安裝虛擬機,完成對環境的配置
    • 二維碼:編程

  • 第一週做業:
    • 簡要內容:
      • 一、瞭解Linux操做系統vim

      • 二、核心的Linux命令:find/locate/cheat/grep/which/whereis數組

      • 三、學習了實驗樓上面的實驗
    • 二維碼:
  • 第二週做業:
    • 簡要內容:
      • 一、Linux系統下的開發環境緩存

      • 二、vim的基本操做安全

      • 三、gcc編譯器的基本原理、gcc編譯器的經常使用選項服務器

      • 四、gdb調試技術網絡

      • 五、靜、動態庫的製做
    • 二維碼:
  • 第三週做業

    • 簡要內容:課本第二章《信息的表示和處理》

    • 一、三種數字、進制轉換、 gcc -m32 生成32位的代碼、字節順序、邏輯運算和位運算、掩碼、0擴展和符號擴展、整數運算溢出、IEEE浮點標準、浮點數運算的不精確性與舍入、 整數與浮點數轉換規則

    • 二、作重點習題:2.四、2.六、2.八、2.十一、2.1三、2.1四、2.1八、2.1九、2.2一、2.2三、2.2四、2.2五、2.2七、2.2九、2.3三、2.3四、2.3九、2.40、2.4二、2.4三、2.4四、2.4五、2.4七、2.50、2.5二、2.54

    • 二維碼:
  • 第五週做業

    • 簡要內容:課本第三章《程序的機器級表示》

    • 一、DOS時代的平坦模式、8086的分段模式、 IA32的帶保護模式的平坦模式、ISA、使用gcc -S xxx.c -o xxx.s得到彙編代碼、用objdump -d xxx 反彙編、不一樣數據的彙編代碼後綴

    • 二、查看二進制文件能夠用od 命令查看,也能夠用gdb的x命令;more或less命令結合管道查看,使用輸出重定向來查看

    • 三、Linux和Windows的彙編格式區別:ATT格式和Intel格式

    • 四、理解逆向的概念

    • 五、掌握X86彙編基礎,可以閱讀(反)彙編代碼

    • 六、瞭解ISA(指令集體系結構)

    • 七、理解函數調用棧幀的概念,並用GDB進行調試

    • 八、作重點習題:3.一、3.三、3.五、3.六、3.九、3.1四、3.1五、3.1六、3.2二、3.2三、3.2七、3.2九、3.30、3.3三、3.34

    • 二維碼:

  • 第六週做業

    • 簡要內容:課本第四章《處理器體系結構》

      • 一、重點掌握ISA,並能觸類旁通.

      • 二、瞭解處理器Y86,一個類IA32體系的處理器

      • 三、作重點習題:4.1 4.2 4.5 4.6 4.8 4.10 4.11 4.12 4.16 4.17 4.19 4.21 4.24

  • 二維碼:

  • 第七週做業:

    • 簡要內容:課本第六章《存儲器層次結構》

      • 一、瞭解存儲設備的類型和特色;重點理解局部性原理和緩存思想在存儲層次結構中的應用

      • 二、瞭解三種常見存儲技術:RAM/ROM/磁盤;

      • 三、局部性原理、數據引用局部性、取指令局部性

      • 四、存儲層次結構、緩存思想

      • 五、高速緩存結構、映射、命中、緩存管理

      • 六、作重點習題:6.2 6.3 6.4 6.8 6.9 6.10 6.11 6.12 6.13

  • 二維碼:

  • 期中總結(第八週做業):

    • 簡要內容:複習學習過的內容

      • 一、複習Linux經常使用命令,特別是man -k, cheat, grep -nr xxx /usr/include

      • 二、複習vim, gcc, gdb的使用

      • 三、複習教材1-7章,複習前面的考題

  • 二維碼:

  • 第九周做業:

    • 簡要內容:課本第10章《系統級I/O》

      • 一、每一個系統調用的參數、返回值,查幫助文檔

      • 二、掌握兩個重要命令:man -k key1 | grep key2| grep 2 根據關鍵字檢索系統調用;grep -nr XXX /usr/include查找宏定義,類型定義

      • 三、
        掌握系統編程和系統調用的概念、
        掌握系統編程錯誤處理的方式、
        掌握Unix/Linux系統級I/O、
        掌握RIO、
        掌握I/O重定向的方法、

      • 四、作重點習題:10.一、10.二、10.三、10.四、10.5

  • 二維碼:

  • 第十週做業:

    • 簡要內容:課本附錄A,代碼理解和調試

      • 一、代碼:cp1.c、echostate.c、fileinfo.c、filesize.c、ls1.c、ls2.c、setecho.c、spwd.c、testioctl.c、who1.c、who2.c
  • 二維碼:

  • 第十一週做業:

    • 簡要內容:課本第八章《異常控制流》,代碼理解和調試

      • 一、異常及其種類、異常處理

      • 二、進程和併發、進程建立和控制的系統調用及函數使用:fork,exec,wait,waitpid,exit,getpid,getppid,sleep,pause,setenv,unsetenv

      • 三、信號機制:kill,alarm,signal,sigaction

      • 四、管道和I/O重定向:pipe, dup, dup2

      • 五、代碼:argv,env,fifo,pipe,signal,exec,forkdemo,forkgdb.c,psh,testbuf,testpid、testpp、testsystem,waitdemo

  • 二維碼:

  • 第十二週做業

    • 簡要內容:複習

      • 一、複習九、十、11周的內容及代碼

      • 二、數組指針、指針數組、函數指針、指針函數的區別

      • 三、信號:查看、生命週期、產生、處理

    • 二維碼:

  • 第十三週做業

    • 簡要內容:課本第十一章《網絡編程》、第十二章《併發編程》,代碼理解和調試

      • 一、客戶端-服務器編程模型、網絡、套接字、Web服務器

      • 二、基於進程的併發編程、基於 I/O 多路複用的併發編程、基於線程的併發編程、多線程程序中的共享變量、用信號量同步線程、使用線程提升並行性、其餘併發問題

      • 三、代碼:hello_multi.c、hello_multi1.c、hello_single.c、incprint.c、twordcount1.c、twordcount2.c、twordcount3.c、twordcount4.c、condvar.c、count.c、countwithmutex.c、cp_t.c、createthread.c、semphore.c、share.c、threadexit.c

  • 二維碼:

  • 第十四周做業

    • 簡要內容:課本第九章《虛擬存儲器》

      • 理解虛擬存儲器的概念和做用、理解地址翻譯的概念、理解存儲器映射、掌握動態存儲器分配的方法、理解垃圾收集的概念、瞭解C語言中與存儲器有關的錯誤
    • 二維碼:

(按順序)實驗報告連接彙總

  • 實驗一 開發環境的熟悉

    • 簡要內容:

      • 熟悉Linux開發環境,使用Linux的arm編譯,瞭解嵌入式開發的基本過程、瞭解交叉編譯。

    二維碼:

  • 實驗二 固件開發

    • 簡要內容:學習、讀懂02_pthread、03_tty中的代碼,配置實驗環境完成實驗指導書中的實驗二、3。

    • 二維碼:

  • 實驗三 實時系統的移植

    • 簡要內容:根據實驗指導書進行實時軟件的安裝(ADS、GIVEIO驅動、JTAG驅動),配置實驗環境並對軟件進行測試,運行測試程序。

    • 二維碼:

  • 實驗四 驅動程序設計

    • 簡要內容:掌握實時系統應用和驅動程序的編寫,在模塊化方式下進行驅動開發調試。

    • 二維碼:

  • 實驗五 網絡通訊

    • 簡要內容:在arm開發板上實現一個簡單web服務器的過程,在arm開發板上進行socket網絡編程。

    • 二維碼:

代碼量彙總(用wc命令,有截圖)

  • 利用以下命令統計整個目錄下(包括子目錄)的c代碼行數:

    截圖沒有截好...命令爲:find . -name '*.c'|xargs wc -l *.c

代碼驅動的學習作到沒有

我以爲這個代碼驅動學習真的很是棒,可是遺憾的是本身沒有徹底達到了老師的要求。看了老師發的《代碼驅動的學習》博客後,我認識到了代碼管理的重要性,因而我便按照博客上的要求,目錄清晰。可是有的代碼確實很是簡單,一看就知道他所實現的功能,我就沒有每一條都加上註釋上傳。到了後面老師直接給咱們代碼,我就以爲既然是老師給的代碼就沒有必要上傳,而後偷工減料的沒有上傳這些代碼,這多是我所欠下債吧。

加點代碼,改點代碼是理解的最好方式,談談你的心得

看懂代碼說明你瞭解其初等的意思,可是修改代碼、或者把代碼應用到別的地方纔是真正掌握這個代碼。看懂不必定會用,會用纔是真正的提升。

實踐上有什麼經驗教訓

不動手問題永遠不能解決,通過兩個學期的自主學習,發現了本身自主學習能力有了巨大的提升。之前我以爲假若有人問我問題,我回復別人:「本身去百度吧!」是一種推脫、一種不負責任的表現。可是如今不同了,別人問我問題個人第一反應鼓勵別人是先去百度看看能不能自主解決。這種心態的變化說明個人實踐動手能力的提升。

回答一下第0周做業中本身提出的總題

  • 1.計算機各個組件如何相互影響

  • 2.格式在進行強制轉化時會發生什麼問題

    - 會出現溢出、正負值不對應(產生逆向思惟)
  • 3.看懂用c寫出來的代碼進行的反彙編代碼,也要學會看彙編代碼獲得對應c代碼的能力

  • 4.理解並使用Y86指令集
  • 5.優化程序性能要注意的方面
    • 高內聚,低耦合
  • 6.寫好一個從高速緩存存取數據的程序

  • 7.實現與靜態庫連接

  • 8.如何對進程進行控制

    • 理解並會運用書中操做進程的各類函數
  • 9.爲什麼要動態存儲器分配

  • 10.c語言中使用I/O函數要注意的問題

    • I/O做爲文件進行讀寫管理。
  • 11.web服務器如何搭建

    - bind->listen->accept->send/recv
  • 12.如何安全地建立和終止一個線程
    • 理解被運用pthread的各類函數,線程經過調用pthread_create來建立。調用pthread_exit函數,線程會顯式地終止。

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

優秀博客

競賽:全國密碼技術競賽,這周就要去決賽了,但願能夠爲校爲係爭光

扇貝背單詞(對四六級有沒有影響?)

堅持同樣東西老是會有用的,不論是什麼。而用扇貝背單詞用處更大。

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

沒有被老師扣分,可是本身給本身扣分

課程收穫與不足

本身的收穫(投入,效率,效果等)

開始使用非圖形化界面的時候仍是很是抗拒的,以爲使用非圖形化界面簡直是時代的退化。可是通過這個學期的學習以後,我以爲只要打開一個窗口就能夠實現不少功能簡直太方便,根本不須要使用鼠標。並且有不少功能也是使用鼠標所沒法實現的。

本身須要改進的地方

沒有對每個代碼進行註釋管理,有時甚至沒有上傳代碼。

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

這個學期和20145319鍾軻結對實驗,其中遇到了不少問題,可是在不斷的提升動手能力以後,不少問題都迎刃而解。鍾軻同窗是一個動手能力很是強的同窗,他對一些有用的東西會花大量的時間學習。可是他對於一些繁瑣可是不可避免的東西就不太感興趣,好比他寧願多看幾遍代碼都不肯意在git的時候給代碼加上註釋。

給學弟學妹們的學習建議

之前我在學習Java的時候就以爲每週都要手敲這麼多字的課程總結好累啊,而後還在博客上面留言「累死人還學不精」之類的話語。可是到了這個學期忽然懂得了一個道理:博客上面的文字能夠少一點,可是書必定要看好、實踐必定少不了。這個學期你們總結的部分都少了不少,篇幅大部分在於實踐部分。

若是從新學習這門課,怎麼作才能夠學的更好

調整學習的順序:先看懂書->完成書上的習題->親自動手實踐->寫博客,寫博客應該放在最後,寫的應該是本身在學習中獲得的體會與遇到問題。

問卷調查

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

20-25個小時

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

學期開始時狀態不佳,逐漸進入狀態,可是最近有所下滑

學習效果本身滿意嗎?

有時很滿意,有時感受本身在夢遊

課程結束後會繼續一週至少一篇博客嗎?(若是能作到,畢業時我把你的博客給你集結成一本書)

剛剛我在回顧本身所寫的隨筆的時候發現本身有一篇博客的閱讀量居然有855,這個讓我很吃驚。在有成就感的同時還發現了博客不止能夠用來上交做業,仍是一個學習交流的地方。

在百度上搜索相關的知識都能搜到不少人在博客園分享的經驗方法等(例如我剛剛找如何統計子目錄下的c行數),我也但願本身能夠把本身學習到的經驗放到博客園上給你們參考學習討論,雖然不必定作到每週一篇,可是博客真的值得你們所堅持。

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

第一學期養成自學習慣,第二學期規範統一。真的很是好!博客也應該繼續堅持,雖然開始會遇到很反對的聲音。

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

沒有!

你以爲這門課老師應該開始作什麼新的事情?

能夠多介紹一些好用的軟件,咱們接觸的東西仍是太少。想作一個好看的界面都不知道該選擇什麼軟件,自學了Python也不怎麼使用。

給出本文連接和二維碼

http://www.cnblogs.com/zqh20145320/p/6218626.html

二維碼:

相關文章
相關標籤/搜索