20145325張梓靖 《資訊安全系統設計基礎》期中總結
知識點總結
- Linux指令 man指令:檢視幫助文檔;cheat,通過例子學會使用指令;find:查找一個檔案在系統中的什麼位置;locate:快速查找檔案;grep:可以對檔案全文檢索;whereis,which:使用的指令工具裝在了什麼地方;apt-cache:軟體源的庫裡有沒有某個程式。
- 調試編譯 vim:對某些類型的源檔案進行編寫,比如.c檔案;gcc:編譯工具,可将.c檔案編譯為可執行的二進制檔案;gdb:對可執行檔案進行調試,主要調試的是C/C++的程式;makefile:定義了一系列的規則來指定要進行的功能操作,自動化編譯”;make:根據makefile檔案中描述的源程式至今的互相關系來完成自動編譯、維護多個源檔案工程。
- 靜态庫制作 靜态連結庫的生成:
靜态庫的使用:ar rcsv libxxx.a xxx.o
注意-L -l 的含義gcc -o main main.c -L. -lxxx
- 動态庫制作 共享庫的生成
gcc -fPIC -c xxx.c
共享庫的使用:gcc -shared -o libxxx.so xxx.o
gcc -o main main.c -L. -lxxx
- 資訊的表示與處理 資訊的存儲;無符号有符号的表示;整數的運算;浮點數的表示與運算。
- IA32的機器級表示 資料的格式;通路資訊、算術和邏輯、控制的操作碼;棧幀的結構,如何轉移控制。
- Y86體系結構 先熟悉Y86指令集以及硬體控制語言HCL,對Y86的順序執行(SEQ處理器),分析各個操作碼及SEQ階段的實作。
- 局部性局部性通常分兩種不同的形式,時間局部性和空間局部性。在一個有良好時間局部性的程式中,被引用過一次的存儲器位置很可能在不遠的将來被多次引用;具有良好控件局部性的程式中,如果一個存儲器被引用一次,那麼程式可能在不久的将來引用附近的一個存儲器位置。重複引用同一個變量從的程式有良好的時間局部性;對于步長為k的引用模式的程式,步長越小,空間局部性越好。對于取指令來說,循環有很好的時間和空間局部性。循環體越小,循環疊代次數越多,局部性越好。
自己的收獲
- 終于基本了解到了計算機的硬體組成部分的細節:處理器通過怎麼的階段才能對正确執行一條指令,存儲器怎麼存儲資料、高效傳輸資料以及怎麼聯系處理器與外設等等。以前都是對自己透明的一些東西,現在也基本上能夠說出一二。
- 通過将“IA32”的機器級編碼表示與上學期學過的“彙編語言”進行比較學習,不僅讓我快速的掌握了“IA32”的指令操作碼的種種規定與使用方法以及适用情況,并且從對比的學習中,更深刻的認識到2種編碼的差異性與共通性。明白了在以後的學習中,想熟練掌握某種知識體系,最好的辦法就是在比較中學習,了解互通性,了解差異性。
- 以前隻知道并隻會操作 Windows作業系統,現在也知道了 Linux作業系統,并能對其進行簡單基本的操作,明白了這2種作業系統的存儲方式、指令的差異。
自己的不足
- 雖說對于每周教材的閱讀任務,都能夠按時完成并且了解得還挺透徹的,但也太“按時”了點。如此“按時”并不是說我隻在周末才閱讀教材;我其實從星期一一直看到星期天。但問題就在于,這麼長的時間裡,怎麼看一章的教材就這麼費時間,一些補充的、深化的内容完全是沒有機會做。其實歸根結底,還是時間安排不合理,不會規劃時間,很多時間都在自己還沒意識到的時候就已經浪費掉了。是以,在以後的學習中,一定要提前想好計劃,到底什麼時間段該幹什麼,怎麼幹,特别要監督自己,看住自己。做好了計劃,就一定要去做,不要說自己疲憊不堪,想緩緩——DON'T SAY NO,JUST SAY NOW.
課程的建議和意見
暫時沒有
學習進度條
代碼行數(新增/累積) | 部落格量(新增/累積) | 學習時間(新增/累積) | 重要成長 |
---|---|---|---|
目标 | 3500行 | 25篇 | 300小時 |
第一周 | 70/70 | 2/2 | 22/22 |
第二周 | 150/220 | 1/3 | 23/45 |
第三周 | 160/380 | 1/4 | 25/70 |
第五周 | 250/630 | 1/5 | 30/100 |
第六周 | 25/655 | 1/6 | 27/127 |
第七周 | 30/685 | 2/8 | 25/152 |
第八周 | 0/685 | 1/9 | 20/172 |
參考資料
- 《深入了解計算機系統V2》學習指導
轉載于:https://www.cnblogs.com/zzjzzjzzj/p/6036169.html