2017-2018-1 20155203《信息安全系統設計基礎》第一週學習總結

2017-2018-1 20155203 《信息安全系統設計基礎》第1周學習總結

教材學習內容總結

  • 信息=位(比特)+上下文

對於這句話的理解應當是計算機內部的全部數據信息均是以"位"也就是0、1比特的形式存儲在計算機中,而文件與文件不一樣的地方在於這些比特所表明的字符或符號或指令不一樣,也就是所謂上下文。java

  • hello程序的生命週期

從hello.c到hello.o也就從由ASCII碼組成的文本文件源程序到二進制可重定位的目標程序的生命週期linux

linux>gcc -o hello hello.c

當須要同時編譯多個相互調用的程序時,可使用連接器(ld)就負責處理這種合併。git

  • 系統的硬件組成

1.總線安全

貫穿一整個電子系統的一組電子管道稱爲總線。一般被設計成傳送定長的字節塊:字。服務器

2.I/O設備併發

I/O設備都是經過一個控制器或是適配器與I/O總線相連函數

3.主存學習

主存是一個臨時存儲設備,是由一組動態隨機存取的存儲器(DRAM)芯片組成的操作系統

4.處理器.net

中央處理單元(CPU),簡稱處理器,是解釋(或執行)存儲在主存中指令的引擎。能夠執行加載,存儲,操做和跳轉的操做。

  • 操做系統管理硬件

1.進程

進程是操做系統對一個正在運行的程序的一種抽象。不管是在單核仍是多核系統中,一個CPU看上去都像是在併發地執行多個進程,這是經過處理器在進程間切換來實現的

2.線程

一個進程一般是由多個能夠稱爲線程的執行單元組成的,每一個線程運行在進程的上下文中,並共享一樣的代碼和全局數據。

3.虛擬內存

虛擬內存是一個抽象概念。每一個進程看到的內存都是一致的,稱爲虛擬地址空間。

教材每一章的問題

  1. 虛擬內存的含義和存在的意義
  2. C語言中的位級運算的實際應用有什麼
  3. 實現局部存儲的緣由
  4. Y86和X86的區別和聯繫
  5. 什麼是循環展開?
  6. 對程序引用的局部性和局部存儲有什麼關係
  7. 使用庫的緣由
  8. 系統調用是如何實現的
  9. 如何規避C程序中常見的與內存有關的錯誤?
  10. I/O是一種文件嗎?
  11. 客戶端服務器通訊的基本流程
  12. 信號量如何實現互斥的?

教材學習中的問題和解決過程

  • 問題1:在做者指出「文件就字符序列」後又緊接着指出每一個I/O設備均可以看作是一個文件。
  • 問題1解決方案:在查閱資料後發現輸入輸出是經過函數完成的,所以輸入輸出設備自己也是一組文件。

代碼調試中的問題和解決過程

  • 問題1:不能直接使用gcc編譯主函數及其調用的子函數。

  • 問題1解決方案:(第七章)
linux>gcc -Og -o prog xxx.c xxx.c  xxx.c  xxx.c

以後經過

linux>./prog

運行

  • 問題2:編寫文件makefile時,出現「遺漏間隔符」的錯誤
  • 問題2解決方案:在指令如gcc、rm前,使用TAB鍵
  • 問題3:直接創建靜態庫會發現沒有不少源程序轉的.o文件
  • 問題3解決方案:用gcc繼續轉換
  • 待解決問題:實驗樓實驗二中的div.c沒法獲得正確的結果,幾經修改也沒有解決,還在解決中。

代碼託管

本週結對學習狀況

- [20155204](http://www.cnblogs.com/20155204wh/)

- 結對學習內容
    - 共同解決實驗樓的實驗中所存在的問題
    - 一塊兒討論教材上不懂的內容
    - ...

其餘

在作實驗的時候複習了本身之前的虛擬機知識,也理解了從前只是記住的指令

學習進度條

代碼行數(新增/累積) 博客量(新增/累積) 學習時間(新增/累積) 重要成長
目標 5000行 30篇 400小時
第一週 200/200 1/1 6/6
  • 計劃學習時間:5小時

  • 實際學習時間:6小時

  • 改進狀況:學習效率有極大的提升,不過也有多是第一週內容比較少吧⁄(⁄ ⁄ ⁄ω⁄ ⁄ ⁄)⁄

參考資料

相關文章
相關標籤/搜索