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

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

每週做業連接彙總

實驗報告連接彙總

代碼託管彙總

  • linux-besti-is-2016-2017-1-20145221託管項目
  • 二維碼:
    html

  • git log格式化查看日誌:
    • 指令:git log --pretty=format:"%h - %an, %ar : %s"
    • 截圖:
  • 代碼量彙總:
    • 指令:wc -l `find src -name *.c`
    • 截圖:
  • 代碼驅動的學習
    • 完成學習任務時若是咱們缺乏思考,累卻收穫不大,從而失去學習的激情。當我在學習的過程當中產生了一些厭煩、懈怠的情緒時,我會較爲自覺的主動說服本身讓本身對這一門課從新燃起但願。
    • 我不否定信息安全是我高中畢業時求之不得的專業這一客觀因素,可能也正是這個因素使得我在學習過程當中克服了許多的不良情緒。但我也想說,人嘛,都有偷懶的時候,也都有對困難的事情感到畏縮的時候,但經過婁老師的細心指導,我找到了能克服不良情緒的根本緣由——代碼驅動的程序設計學習
    • 編程的學習,代碼驅動是個很好的方式,咱們的教材《深刻理解計算機系統V2》是那麼厚的一本書,經過使用git和gdb來積極主動的讀寫代碼是一個很好的方式。積極主動的前提是本身有思考,不是僅僅完成老師的任務,那麼按照下面的方法學習,這學期收穫的不是一門功課的好成績,而是爲學習信息安全專業打下的堅實的計算機基礎:程序設計、操做系統、計算機組成原理、彙編語言、編譯原理、計算機網絡、軟件工程……linux

    • 人生不如意十之八九,學習尚且存在許多煩惱,更沒必要說「編寫代碼」這個技術活了。咱們帶着對代碼的思考,對問題的思索,去探究代碼的魅力,會發現短短几行代碼背後所包含的知識點是很是廣的。而經過這些代碼反映出來的知識也正是咱們課本中的理論所學啊!
    • 而我認爲代碼驅動學習的魅力也在於此,我在書中與他們(理論、知識點)相遇,可能只是粗粗一瞥,彼此之間沒有發生任何故事;而在後續編程實踐過程當中,隨着我編程的須要不斷思索,而他們在此時便會一一浮如今我眼前,再次碰見他們,對他們有了更深厚的情感,發現我更瞭解他們了,發現他們也更願意接受我了。我想這種感受會激發更大的學習興趣吧~
  • 編程的智慧
    • 編程是一種創造性的工做,是一門藝術。精通任何一門藝術,都須要不少的練習和領悟,因此這裏提出的「智慧」,並非號稱一天瘦十斤的減肥藥,它並不能代替你本身的勤奮。然而因爲軟件行業喜歡標新立異,喜歡把簡單的事情搞複雜,我但願這些文字能給迷惑中的人們指出一些正確的方向,讓他們少走一些彎路,基本作到一分耕耘一分收穫。git

    • 學習代碼是一門藝術,由於代碼也叫「編程語言」嘛!既然是語言,他就有他獨特的表達習慣與語法規則。在作到遵循其基本的規則後,我認爲學習代碼和讀書是一回事,也是一個由薄到厚由厚到薄的過程,是一個量變產生質變的過程。
    • 短短几行代碼,可能換幾行的順序,改改控制條件,變更一個字符,代碼的結果和原來的或許就會截然不同。而這產生的差別正式咱們要思索的,這也就是由薄到厚的過程。剛纔已經介紹了,既然他是一門語言,表達內容固然自由,就和咱們說話同樣,一樣一個意思,能夠換許多種方法表達,但如何表達精煉且符合規範這就須要爐火純青的技術了,明明10行代碼足以解決全部問題,而您卻恰恰寫了100行代碼,順序、循環、選擇結構隨便亂用,這二者之間孰好孰差就一目明瞭。因此,如何用簡短的表達實現預期的效果,這就是提煉的過程,是將學習編程由厚到薄的過程。
  • 實踐上經驗教訓
    • git是個好東西:你們不要不相信,我知道看這篇博客主要的對象是個人學弟學妹。初學git你可能會和咱們同樣「很是煩躁」,由於你會認爲有優盤啊,有云盤啊,git是個什麼鬼,配置還這麼複雜。哈哈哈,這話說對了,配置確實複雜,可是配置好後可謂極其方便,簡單的三條語句基本上能夠助你將來2年無憂:git addgit commitgit push,這個東西又叫「代碼倉庫」,它就真的像倉庫同樣辛勤地幫你看管着你以前的代碼。我周圍一些有的同窗虛擬機炸了,就是靠這種方法在找老師查代碼找回了以前的代碼,可謂挽救了代碼,挽救了分數啊~
    • 若是你真是在用git託管你的項目、管理着結構層次複雜的代碼,你會感謝git給你帶來的便捷;可是,若是你是在用git完成「每週學習總結中代碼託管的截圖」,那就確實很煩了~

關於第0周預習做業

關於《SCAPP》每一章的問題

  • 連接
  • 第00周的預習任務中,要求咱們對《SCAPP》中每一章節提一個問題,當時本身對課本知識還不瞭解,爲了完成學習任務,我大體翻了翻每章節的導論和中間的相關內容,每章節給出了一個問題,因此當時提的問題不免幼稚抓不住重點。幸虧婁老師指導博客中,對每章的學習重點有一個總體說明,這樣在學習的過程當中就能有的放矢,不會偏離重點了。

問題解決

第1章:一個「hello.c」程序的生命週期究竟是怎樣的?

  • 答:
    • C預處理器——擴展源代碼-生成.i文件
    • 編譯器——產生兩個源代碼的彙編代碼-——生成.s文件
    • 彙編器——將彙編代碼轉化成二進制目標代碼——生成.o文件
    • 連接器——產生可執行代碼文件

第2章:計算機對數據信息的處理與現實生活中的計算到底有何異同,計算機對數字處理的數學原理是什麼?

  • 答:計算機系統中的全部信息都是以二進制形式存儲的,計算機系統規定了三種重要的編碼方式:無符號編碼、補碼編碼、浮點數編碼。

第3章:Intel IA32和x86-64兩種彙編語言有何異同,可否經過本章的學習使本身可以理解編譯器優化的能力?

  • 答:
    • Intel處理器系列:俗稱x86,開始時是第一代單芯片、16位微處理器之一。
    • DOS時代的平坦模式,不區分用戶空間和內核空間,很不安全;
    • 8086的分段模式;
    • IA32的帶保護模式的平坦模式
    • 每一個後繼處理器的設計都是後向兼容的,能夠保證較早版本上編譯的代碼在較新的處理器上運行。

第4章:處理器的硬件設計是如何與操做系統進行搭配的?

  • 答:處理器管理的第一項工做是處理中斷事件,硬件只能發現中斷事件,捕捉它併產生中斷信號,但不能進行處理。配置了操做系統,就能對中斷事件進行處理。處理器管理的第二項工做是處理器調度,並引入了進程與線程的概念。

第5章:對程序進行優化的方法有哪些,在哪些狀況下會更適用哪種方法?

  • 答:
    • 消除循環的低效率:固定不變的東西提出循環,減小每次循環都計算相同的內容,這一點對性能的提高時很明顯的;
    • 減小過程的調用:消除循環中的過程調用,可經過函數提早獲得須要操做的對象,這樣會提升速度,可是模塊性下降;
    • 消除沒必要要的存儲器引用:函數參數爲指針時,若是循環中用到指針,須要對指針的地址進行訪問,則每一次訪問都會進行取指,執行,存儲等操做,這時最好在函數中聲明臨時變量,在循環中用臨時變量,這樣直接就能夠對變量進行賦值,循環結束以後,再將結果賦給指針地址。

第6章:存儲技術是如何被組織成層次結構的?

  • 答:

第7章:連接器在軟件開發中扮演了怎樣一個角色?

  • 答:連接器是將一個或多個由編譯器或彙編器生成的目標文件外加庫連接爲一個可執行文件的程序,它的兩個主要任務是:符號解析及重定位。

第8章:應用程序是如何與操做系統交互的?

  • 答:進程的經典定義就是執行中程序的實例。它提供了一種假象使得咱們覺得本身在獨佔處理器和存儲器。首先來看獨佔處理器的假象,在有n個進程的操做系統中,這n個進程輪流執行一個時間片,而後被搶佔。其中每一個進程中程序計數器(即PC)的值序列與別的進程中的序列是相互獨立的,這樣就爲咱們製造了一種處理器只運行本身程序的假象。再來看獨佔存儲器的假象,在一個有n位地址的機器上,地址空間是1—2^n-1的集合,每一個進程都有2^n大小的地址空間。其餘進程不能訪問,至於它的實現主要是虛擬存儲器來實現的。

第9章:虛擬存儲器是如何工做的,應用程序是如何使用和管理虛擬存儲器?

  • 將主存當作磁盤地址空間的高速緩存。
    • 只保留了活動區域,並根據須要在磁盤和主存間來回傳送數據,高效使用主存。
  • 爲每一個進程提供一致的地址空間
    • 簡化存儲器管理
  • 保護了每一個進程的地址空間不被其餘進程破壞。

第10章:Unix I/O和標準I/O的通常概念是什麼?

  • 答:對於大多數應用程序而言,標準I/O更簡單,是優於Unix I/O的選擇。然而在網絡套接字的編程中,要使用健壯的RIO函數。由於RIO函數提供了帶緩衝的讀操做,與無緩衝的寫操做(對於套接字來講不須要),且是線程安全的。

第11章:Web服務器如何搭建,怎樣實現其功能?

  • 客戶端:
    • 經過socket函數獲取一個socket文件描述符。程序經過這個文件描述符與內核的tcp/ip架構通信聯繫。
    • 經過該描述符請求與服務器的鏈接(connect函數),此時須要事先知道服務器的ip和服務器上的應用程序的端口
    • 當connect函數成功返回,則表示鏈接達成,則可經過該文件描述符或者recv,send該文件描述符,便可實現與某服務器端的通訊
  • 服務器端:
    • 經過socket函數獲取一個socket文件描述符。程序經過這個文件描述符與內核的tcp/ip架構通信聯繫。
    • 綁定端口(bind函數),端口人爲設置,本機IP自動獲取便可(端口和IP設置經過sockaddr_in結構體實現)。
    • 監聽socket函數返回文件描述符(listen函數)
    • 當listen函數返回時,表示有請求,則使用accept獲取請求,accept函數產生一個新的文件描述符,用於和該請求通訊。
    • 讀寫該文件描述符或者recv,send該文件描述符,便可實現與某客戶端的通訊
    • 服務器端還能夠繼續監聽socket文件描述符,接受其餘端口的請求
  • 運行時,應該先啓用服務器端。

第12章:三種併發編程的技術有何異同?

  • 答:
    • 進程,用內核來調用和維護,有獨立的虛擬地址空間,顯式的進程間通訊機制。
    • I/O多路複用,應用程序在一個進程的上下文中顯式的調度控制流。邏輯流被模型化爲狀態機。
    • 線程,運行在一個單一進程上下文中的邏輯流。由內核進行調度,共享同一個虛擬地址空間。

加分項目

加分說明

  • 這是婁老師作的分數表格,很是細緻,將相關加分項截圖以下

優秀做業

匿名調查

隨談

  • 其實我加分項目較爲單一,除了「課表明」加分比較特殊,其他加分項都很普通通常,但最後怎麼也加滿了上限(10分)。因此若是說談談經驗的話,我想說加分項是一個很是好的設定,它能幫你彌補一些在每週測試中流失的分數,固然這須要你的努力才能獲得。
  • 加分最簡單的方法就是,認真對待每週的學習任務,認真完成每週博客(我認爲這個博客不要一味的堆砌知識點,應當是前半部分是知識脈絡,後半部分應當是大量的本週實踐),這樣既完成了學習任務,也真正學到了東西,順便也能夠把分數給加了。這個方法可謂是最輕鬆、最直接、最有效的方法。
  • 學有餘力、能力強的同窗,應該能夠嘗試嘗試婁老師給的加分項目,由於這裏面的東西更有拔高性,是最好的實踐平臺。

扣分項目

  • 未按時完成做業
  • 在這裏我要反省一下本身,客觀因素是這學期選課太多,主觀緣由是內心還不夠重視提交做業這個環節、不會安排時間,因此第13周做業沒有按時提交,致使扣分。
  • 交做業是完成做業後的天然動做,不交做業是不應發生的,唉,這個分確實該扣,你們都能按時交,爲何我不能呢?仍是本身的問題。

待及格管理制度

優勢

  • 說到待及格管理制度,就不能不提婁老師特有的一週一公佈成績這個制度了,這個制度使得咱們每時每刻都知道咱們如今處於班級一個怎樣的位置:較靠前,我是否是得繼續卯着勁,激勵本身努力學習?較靠後,我是否是得奮發圖強,至少不掛科吧?這一動態變化確實也在動態地改變咱們每一個人的心理,時刻提醒着每一位同窗。
  • 待及格同窗,就是那些不作任何的改變期末一定掛科的同窗,待及格管理制度也就是針對這些同窗設定的一個制度,它及時將一部分同窗從不及格的狀態挽救回來,從現實角度出發,確實使得這些同窗有了很大的改變,很多同窗很快就脫離了「梁山」。

建議

  • 一個制度最怕只是規定條條框框其實卻不對現實做任何指導做用(此處不是指本制度)
  • 因此,我認爲針對本制度還有如下2方面亟待完善:
  • 首先,我把待及格的同窗劃撥出來,提醒他們,這樣很好,他們也很快意識到了事態的嚴重。可是,他們之因此處在這個範圍多是本身確實跟不上啊,因此在弄懂書上基本的代碼後,能不能給他們單獨佈置一些特別的他們能夠實際獨立自主完成的實踐項目(由於老師給的加分項目難度可能很大),使得在實踐的過程當中能夠加強一點對學習的信心與興趣,同時也能加點分,看到脫離待及格隊伍的但願。
  • 其次,班級裏仍是應該有一種互助氛圍啊。不能說他們處於掛科邊緣,其他人就高枕無憂,或者睜一隻眼閉一隻眼了。或是能力不足、或是接受很慢、或是態度問題,但這些問題被發現後,若是能針對性解決,實現班級裏相似「一幫一」互助,提供一些學習中必要的指導幫助是否是更好呢。(但這裏要杜絕徹底依賴幫扶人這一現象,否則本身仍是沒有任何改變)

課程收穫與不足

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

  • 能熟練使用虛擬機,再也不像以前同樣抵觸它了。這也說明了,越是有用的東西每每越不受人重視,時常以各類客觀利用拒絕,但學會以後,會發現不少時候都離不開它了。
  • Linux,我專業方面的造詣可能不深,截至目前,計算機操做系統中也就接觸過windows和Linux兩種,但通過這2學期的對比,發現,Linux在某些方面確實比windows厲害很多,就拿每週統計代碼行數舉例,在Linux中一行指令就可解決,而在windows中,還須要下載軟件、配DLL,至關麻煩。
  • 學會時刻將信息託管雲盤。「做爲信息安全專業的學生,東西丟失是一件很可恥的事」,這句話是婁老師說的,對此我也深表認同。因此,除了每週虛擬機中的正常代碼託管,個人D盤中有一個叫「課程」的文件夾,裏面記錄了大學以來每門課程的課件、實驗、學習資料等等,這些東西我認爲都是寶貴的,因此我按期都會將文件夾中的內容,更新到雲盤一次。

本身須要改進的地方

  • 學習效率不是很高,常常會頭重腳輕,不會合理安排時間,在關於時間安排、效率提升方面還有待增強。
  • 執行力不是很強,有時候心中每每有行動的想法,但總會被各類客觀因素利用,給本身找藉口,可是專業課的學習哪能離得開實踐的補充,因此在這方面還得多實踐,不能停留於理論部分。

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

To me

  • 下學期學初就要離開婁老師的懷抱了,說實話有點捨不得呢,相處一年,婁老師對學生負責的態度確實令我感動,老師在微信羣、朋友圈、博客裏分享的一些心得非常受用,老師無論是從爲人仍是爲師都很是令我欽佩。
  • 帶着在婁老師這裏的好習慣繼續出發!有的人說婁老師上課啥也不說,全靠本身領悟;其實否則,老師在課堂上除了講授專業知識之外,還告訴咱們一些人生道理、職業規劃,以過來人的角度時刻提醒着咱們,讓咱們少走彎路。對於這一點,我很是感謝這位老師,但願在從此的學習生活中,在明年開學時能繼續保持這樣一份心情,帶着在婁老師這裏的好習慣繼續出發!

To sister and brother

  • 以我當時初學的感覺,厭惡博客、厭惡git、厭惡實驗樓,總以爲這一切都是麻煩,總以爲這一切都是超過這門課程的要求而是任課老師強加在我身上的。
  • 但我如今要說這個想法是極其錯誤的,態度是很不端正的。且想一想你所選的專業是什麼?是信息安全。出去走一走瞧一瞧,對於咱們這點要求能夠說根本不過度,而是做爲一名信安人應當掌握的計算機技能。更況且這設定的一切都是輔助咱們學習的,幫助咱們學習的。
  • 雖然是門專業課,但也是爲後續的學習打基礎的。基礎不牢,大廈將傾。面對老師的總總要求,咱們學生總有各類各樣的應對方式。所謂各類糊弄、各類混分。但如今欠下的債,咱們永遠不知道什麼候會還,而等到咱們必須還債的時候,恐怕也是咱們追悔莫及的時候。
  • 關於這門課程更多的想法,我在這篇博客中前先後後也談了很多,再也不贅述了。最後,我在這裏分享一篇文章與你們共勉,這也是婁老師推薦給咱們的。
  • 大學生上課爲何必定要認真聽講?

問卷調查

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

  • 答:24小時左右,也就是一天的時間吧。感受最後寫每週總結仍是花了一部分時間的。

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

  • 答:有時候翻開課本會感受很是多,無從下手。個人作法每每是看一看教學進程,婁老師很負責細心的寫下了每週應該重點看的例題、重點實踐的練習,有了這些學習材料,學起來至少就有了方向和方法,效率固然提升了很多。

如今評價一下第0周提出的問題的質量,抓住重點了嗎?

  • 第00周的預習任務中,要求咱們對《SCAPP》中每一章節提一個問題,當時本身對課本知識還不瞭解,爲了完成學習任務,我大體翻了翻每章節的導論和中間的相關內容,每章節給出了一個問題,因此當時提的問題不免幼稚抓不住重點。幸虧婁老師指導博客中,對每章的學習重點有一個總體說明,這樣在學習的過程當中就能有的放矢,不會偏離重點了。

學習效果本身滿意嗎?

  • 答:我認爲還能夠,至少我能夠負責任的說,從2016年9月12日第一次上這門課的我和今天寫博的我是有很大變化的,仍是頗有收穫的,學到了以前未曾接觸過的東西。對於每一章的學習效果,我每每是經過每次的考試以及對代碼的理解程度來檢驗本身的學習效果,對於大部分章節仍是弄懂了的。

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

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

  • 《愛春秋之戲說春秋 Writeup》:http://www.cnblogs.com/20145221GQ/p/5936482.html
  • 這篇博客本不是《信息安全系統設計》這門課程的主要內容,是在總結《信息安全概論》中實踐部分所完成的,是一篇分享性質的交流博客。當時完成這篇博客的初衷有兩點,一個是記錄一下本身在網絡攻防實踐中的學習歷程,另外一個是但願了將本身原創的東西在網絡上發佈,能與興趣相投的人有一個交流學習。
  • 該博客閱讀量達到了731次閱讀,從數據上說應該是比較受你們歡迎的。我想緣由大概是,這樣的交流博客自己就很吸引你們閱讀,網絡攻防技術自己也須要一個量的積累,見多才能識廣;其次,博客自己詳實地記錄了我攻破每一道關卡的經歷,包括失敗的,因此可能這篇博客完成的出發點就站在了一個初學者的角度,能與更多的讀者產生共鳴,裏面有他們所須要的東西。
  • 有了這個經歷(加上下文中提到的另外一篇博客),我認爲博客不僅僅是一個咱們完成做業的平臺,咱們在博客中發表一些原創的東西,發表一些本身學習的體會經驗,既是對本身的總結,也是對他人的幫助。
  • PS:不久的之前,我在百度上搜索一個較專業的知識,每每會優先點擊「百度知道」,而如今的我則會點擊後綴爲「博客園」、「CSDN」、「新浪博客」等搜索項,由於事實證實這些博客裏的內容大都是專業的、正確的、能真正給人幫助的。

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

  • 答:這個我真不敢保證。可是,我認爲我會盡可能把本身以爲重要的東西記錄進去,無論是這種學習總結,仍是一些感想隨筆,均可以往上面記錄。畢竟博客也是一個方便的雲端啊,記錄的東西都不會丟失,這一點確實在之後用到博客中內容時很是方便。好比我曾經寫過的一篇博客《Atom插件安裝》,其中相關內容我幾乎花了2天的時間才整理出來,親測可用,最後博客瀏覽量達到了5846(截至發博時間),這也算是對我付出的一種確定吧,有這麼多博友支持我。

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

  • 答:繼續這樣的教學方式吧,這一定是電科院教學中的一股清流~能培養咱們自主學習的能力,也就是學習學習的能力,這個能力比學任何一門特定的課都重要。

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

  • 答:暫無發現有須要中止的事。

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

  • 答:
    • 就這門課來講,我以爲實驗我並無弄懂,若是老師在下次作實驗前能講一講就最好啦,帶着目的去作,就能夠不用過度依賴教程了。一樣的,我認爲對於一些難的章節,若是也能提早多講講,教學進程裏詳細寫寫就更好了,畢竟帶着目的學習可能會避免走許多彎路。(雖然碰壁走彎路也是一種學習體驗,一種經驗積累)
    • 我以爲,博客這個平臺仍是有必定的限制,這也就是爲何最初咱們都願意在微信羣裏提問,可能仍是少量不便吧。因此,有時候別人的學習經驗可能不能儘快發現,須要老師來推薦。由於這樣,我認爲能夠每週隨機選取5位同窗(數量待定,能夠根據平時學習能力梯次配置),要求其他同窗必須在其博客底下有評論,這樣也算是一種「強制交流」吧,否則我感受不多會有人看別人的博客(除了那些老師點名表揚的博客),這對那5名同窗來講也是一種「壓力」,他們也會認真完成本週任務。

轉載請註明出處

參考資料

相關文章
相關標籤/搜索