20144303石宇森 《信息安全系統設計基礎》課程總結

20144303石宇森 《信息安全系統設計基礎》課程總結

每週做業連接彙總

瞭解課程內容,閱讀老師的博客。以後對學習內容進行總結,提出本身不懂以及最想解決的問題。安裝虛擬機,學會其簡單的操做方法。linux

  • 二維碼:

對實驗樓中的內容進行實踐學習。瞭解linux系統,學會基本概念和操做,如終端、用戶管理、文件建立、刪除等等。對linux的核心命令熟練運用掌握。如find、locate、cheat、grep、which、whereis等。vim

  • 二維碼:

學習vim的一些基本操做,如光標移動、保存退出、刪除、複製、替換等等,gcc編譯代碼的過程及原理,實踐應用gcc編譯的方法,運用gdb對代碼進行調試,學習makefile的基本原理及語法規範安全

  • 二維碼:

理解三種數字(無符號數、補碼、浮點數)的概念,理解什麼是整數溢出,學會在64位機器上生成32位代碼,理解掌握大端法和小端法,掌握布爾運算在C語言中的應用,掌握邏輯運算和位運算,學會補碼的計算

  • 二維碼:

熟練掌握編譯產生彙編代碼的方法,學會運用反彙編命令,理解操做數三種類型的定義,理解棧的特色,掌握gdb使用的流程並實踐運用

  • 二維碼:

學習Y86指令集的內容,理解並掌握Y86異常、Y86指令集功能碼,學習HCL表達式,理解HCL表達式和C語言中表達式的區別,安裝Y86模擬器並掌握其使用的方法,完成並仔細分析課後例題中的重點題

  • 二維碼:

瞭解RAM、ROM、磁盤、固態硬盤,理解局部性的定義和性質,掌握緩存命中、緩存不命中、衝突不命中的定義,按照老師的要求在git中創建一tree,將代碼分類管理

  • 二維碼:

複習linux的經常使用命令,如man、cheat、grap、find、cd、vim、gdb等,對本身半個學期來的收穫進行總結,發現本身學習過程當中仍然存在的問題和不足

  • 二維碼:

掌握Unix I/O中文件打開、讀寫、關閉的原理,經過實踐熟悉文件打開,讀寫文件、關閉文件的函數調用,掌握I/O重定向的方法,理解標準I/O庫的概念,在學習過程當中發現問題並將問題發到論壇中與同窗們共同討論

  • 二維碼:

對上一週課本中的知識回顧複習,學習老師在QQ羣裏發的代碼,掌握每一個代碼運行的方法和功能,並對代碼中不懂的函數、參數進行分析,理解代碼功能是怎樣實現的。學習視頻,掌握兩個重要命令:man -k key1 | grep key2| grep 2 和 grep -nr XXX /usr/include

  • 二維碼:

對老師發的代碼進學習,掌握進程建立和控制的系統調用及函數使用,理解異常及異常種類的定義,掌握異常處理的方法,理解進程和併發的概念,理解數組指針、指針數組、函數指針、指針函數的區別,理解信號機制:kill,alarm,signal,sigaction

  • 二維碼:

本週主要複習了前三週的學習內容,對以前老師發的代碼以及實驗中用到的代碼進行了仔細地分析、學習,理解數組指針、指針數組、函數指針、指針函數的定義,掌握他們的區別方法,理解信號產生的方法和信號處理函數

  • 二維碼:

掌握網絡編程模型,學習套接字接口的相關函數,理解wev服務器,掌握三種併發的方式:進程、線程、I/O多路複用,掌握線程控制及相關係統調用,掌握線程同步互斥及相關係統調用,對老師發的代碼進行了仔細地分析、學習

  • 二維碼:

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

  • 二維碼:

實驗報告連接彙總

熟悉linux開發環境,使用linux的ARM編譯,瞭解嵌入式開發的基本過程

  • 二維碼:

瞭解多線程程序設計的基本原理,熟悉終端I/O函數的使用,學習使用多線程來實現串口的收發處理,使用linux的armv4l-unknown-linux-gcc編譯

  • 二維碼:

掌握uC/OSII的移植過程,掌握C語言、彙編語言的混合編譯

  • 二維碼:

學習在linux下驅動設計的原理,掌握使用模塊方式進行驅動開發調試的過程

  • 二維碼:

掌握在ARM開發板實現一個簡單WEB服務器的過程,學習在ARM開發板上的SOCKET網絡編程,學習在linux環境下signal函數的調用

  • 二維碼:

代碼託管連接和二維碼

  • git log --pretty=format:"%h %an, %ar : %s" 命令截圖

  • 代碼彙總量:

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

剛開始學習時,並無意識到代碼驅動學習的重要性,每次在git.oschina.net中上傳代碼的時候,都懷着一種不良的情緒,以爲這樣作就是對時間極大的浪費,徹底沒有必要把老師給的代碼下載下來再傳上去啊。裝完linux後,本應該完成linux下git的安裝,可是由於對git學習的這種不良情緒的存在,就沒有按老師的要求完成學習任務。

後來進入了老師的待及格隊伍,在老師的嚴格監管下迫於壓力才認真完成了git的安裝,當時寫了http://www.cnblogs.com/20144303sys/p/5953437.html 這篇博客。當時安裝git的過程並不順利,遇到了各類各樣的問題,這就又讓我對這個git的好感度降低了很多。

直到有一次,個人虛擬機忽然爆炸,在登陸界面一直登錄不進去,無奈之下選擇了從新安裝。可是從新安裝虛擬機以後,以前敲過的代碼、學習註釋之類的不是都沒有了嗎?這時候,git的價值就體現出來了。這也讓我想起了婁老師課上曾經告訴咱們,如今要求作的事情,可能有一天真正用到的時候,就知道他的好處了。

以後每週我都是認認真真的將代碼一個一個標上註釋,以每週爲一類上傳。其實,git的用處不只僅是能挽救咱們的數據,咱們用它來查改代碼,增添代碼都十分的簡單。在完成第一次的git配置以後,每次上傳代碼,只須要簡單的輸三個命令就能夠完成。這也讓我明白,不管作什麼事情,前期基礎中付出越多的努力,之後作起來就會越簡單

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

確實,要理解一個代碼,硬生生的看是不夠的,效率也比較低。經過對代碼的增刪和修改能讓咱們更快的理解代碼。舉一個簡單的例子,好比說filesize這段代碼。在第一次編譯運行時,輸出The size of /etc/networks is 54 。剛開始看到的時候一頭霧水,後來把 /etc/networks修改爲其餘的文件路徑,查看這些文件的大小以後,發現輸出結果就是定義路徑文件的大小。所以,不須要查代碼中參數的意義,就能夠將其理解消化。

或者有的時候咱們對有些函數的功能不是很理解,能夠把這段函數的代碼刪掉,再次運行,對比先後輸出結果的不一樣,就能明白。

所以,加點代碼,改點代碼不只能加深咱們對代碼的理解,也能提升學習的效率。

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

在動手實踐的過程當中不要偷懶。以爲git沒有意義,是浪費時間,不按老師要求完成。認爲代碼太過複雜,懶得去查各個參數和使用的函數。這些都是在學習過程當中曾經出現的問題,也是實踐的大忌。可能起初比較輕鬆的是那些省略掉實踐過程的人。但那些真的按老師要求,一步步動手實踐的同窗越日後越輕鬆。因此,不能忽視每一次實踐的機會,老師要求本身動手的東西必定要親自實踐。

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

感受並無抓住重點.....

1.系統硬件是如何組成的?

電腦組成硬件:主板、CPU、內存、顯卡、電源、散熱器、顯示器。

主板:電腦核心部件,用於搭載電腦其他硬件設備的一個平臺。

CPU:電腦核心部件,用於處理數據。

內存:電腦核心部件,用於給CPU提供數據存放的地方。

顯卡:分爲集成顯卡和獨立顯卡,集成顯卡是必須部件,獨立顯卡是可選部件,用於將數字信號轉換爲圖形信號。

電源:根本部件,用於提供電腦各個硬件工做電壓。

散熱器:輔助類不可缺乏部件,用於散去CPU工做產生的熱量。

顯示器:必備部件,用於將顯卡的圖形信號轉換爲圖像。

2.信息如何處理表示?

三種最重要的數字表示:無符號,補碼,浮點數

3.程序語言是如何轉換成計算機語言的?

由C編譯器生成IA32和X86-64彙編語言

4.處理器是如何設計的?

從設計單時鐘週期、非流水線化的數據通路開始,而後引入流水線化的思想,將處理一條指令所須要的不一樣步驟實現爲獨立階段。

5.如何消除循環的低效率?

提升局部性

6.存儲器的結構?

寄存器、高速緩存、主存、本地二級存儲、遠程二級存儲

7.什麼是靜態連接?

以一組可重定位目標文件和命令行參數做爲輸入,生成一個徹底連接的能夠加載和運行的可執行目標文件做爲輸出

8.進程的基本概念是什麼?

進程是對一個正在執行的程序的一種抽象

9.虛擬存儲器的功能有哪些?

虛擬存儲器是硬件異常、硬件地址翻譯、主存、磁盤文件和內核軟件的完美交互,它爲每一個進程提供了一我的的一致的的私有的地址空間

10.什麼是I\O?

I/O指輸入輸出,輸入操做是從I/O設備拷貝數據到主存,而輸出操做是從主存拷貝數據到i/o設備

11.如何進行網絡編程?

利用socket、listen、connect、rent、rev等函數進行編程

12.併發和並行的區別是什麼?

併發和並行從宏觀上來說都是同時處理多路請求的概念。但併發和並行又有區別,並行是指兩個或者多個事件在同一時刻發生;而併發是指兩個或多個事件在同一時間間隔內發生。

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

個人加分共10分,其中3分來自於優秀博客加分,5分是問題總結加分,2分是匿名調查加分。

優秀博客:

二維碼:

二維碼:

二維碼:

問題彙總:

二維碼:

課程收穫與不足

  • 本身的收穫

一個學期的學習就快要完了,回過頭總結這個學期這門課收穫到了什麼,我想主要是三個方面的進步。

第一個方面是課程知識學習。經過這一個學期的學習,掌握了《深刻理解計算機系統》這本書中的知識。

第二個方面是學習工具使用方法的學習。在這一個學期的學習過程當中,老師教會咱們使用了多種學習工具,好比linux下的git、markdown、實驗樓等等。這些學習工具不只提升了咱們學習的效率,也讓咱們學習的過程更加生動有趣,不只僅停留在課本上。同時,這些學習工具在從此任何一門課程或是平常的工做和生活中,都能給咱們帶來極大的便利。當咱們有一天用markdown完成排版任務,用git恢復丟失的數據,或是經過博客園回顧知識時,會想到是婁老師給予了咱們這些寶貴的財富。

第三個方面是學習能力和心態的進步。從上學期的java學習到如今,在婁老師的教學方法下已經快一年多了。我的認爲在學習能力方面有了較大的提高,懂得了如何使用學習工具,明白了怎樣提升學習效率。好比說前段時間個人linux系統一直進不去,輸入登陸密碼後又會從新彈出來登陸界面。出現問題後,我就在博客園中搜索到了解決的辦法,綜合網上的各類資料,獨立的挽救了個人虛擬機。我以爲這就是學習能力提高的一個表現吧。

  • 本身須要改進的地方

須要改進的地方,我以爲仍是在學習中的惰性吧。每次老師在週一的時候就會下發本週的學習任務,可是我老是拖到周4、週五纔開始學習。

還有就是在學習的時候不夠耐心。就像是在代碼學習的過程當中,假如這個代碼中有不少不懂得參數和函數,每每看着看着就會放掉其中一些細節的地方。

待及格管理制度的優缺點

  • 待及格期間多發的博客列表

git安裝以及遇到的問題

第六週學習總結(上)

第六週學習總結(下)

  • 優缺點

優勢:

讓處在待及格隊伍中的同窗意識到差距和危機的存在,及時的告誡同窗們不能再應付差事。讓暫時成績稍差的同窗明白應該從什麼地方開始作起,有了一個明確的目標和動力。也確保了這些同窗每週都在認真完成學習任務。

  • 建議

但願老師能創建一個學習幫助機制。讓一個成績較好的同窗幫助一個待及格隊伍中的同窗,解決他們在學習中遇到的問題,幫助他們提升成績。不少時候待及格隊伍中的同窗有問題但找不到人能幫助解決問題。這可能會打消你們學習的積極性。

給學弟學妹們的學習建議

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

學習過程着眼重點,抓住細節。每週老師都會給這周學習的任務和考試重點,要提升學習效率天然要抓住每週的重點學習。同時,在學習過程當中,也要注意每一處的細節。其實老師要求咱們作的每一件事情都是他以爲精華的的東西。老師要求要完成的每一件事情都要認真完成,不能以爲作這件事沒有意義就不肯意去作,不能只拘泥於眼前,要看到長遠的影響。

問卷調查

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

20個小時

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

從進入待及格隊伍以後,學習效率就有提升

  • 學習效果本身滿意嗎?

還算比較滿意,但仍有不少事情沒有作好

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

每週的隨堂測試,待及格管理機制,自選實踐項目

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

沒有

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

改善一下待及格管理,創建一個學習幫助機制

本文連接和二維碼

連接:http://www.cnblogs.com/20144303sys/p/6219906.html

二維碼:

相關文章
相關標籤/搜索