天天看點

20145315 《資訊安全系統設計基礎》第0周學習總結

20145315 《資訊安全系統設計基礎》第0周學習總結

部落格感想

負擔通常會帶來痛苦, 但是為了将來不後悔,我們需要承受住這種壓力;學習一門語言需要實踐,學習一門課需要不斷的練習。

程式和軟體是不同的,

程式指的是源程式,就是一行一行的代碼。仔細看過去,它們的确是建立在資料結構上的一些算法。但是光有代碼還是不行的,這些一行一行的代碼不會自己運作,得有人編譯成機器能懂的目标代碼,對于一個複雜的軟體,我們不但要有合理的軟體架構,軟體設計和實作,我們還要用各種檔案來描述各個程式檔案之間的依賴關系,編譯參數,連結參數,等等。這些都是軟體的建構。

教材學習内容總結

認識linux系統

  • Linux的優點
    • 穩定的系統
    • 安全性和漏洞的快速修補
    • 多使用者
    • 使用者和使用者組的規劃
    • 相對較少的系統資源占用
    • 可定制裁剪,移植到嵌入式平台(如安卓裝置)
    • 可選擇的多種圖形使用者界面(如 GNOME,KDE)
  • Linux和window的差別
  • Windows 平台:數量和品質的優勢,不過大部分為收費軟體;由微軟官方提供重要支援和服務;
  • Linux 平台:大都為開源自由軟體,使用者可以修改定制和再釋出,由于基本免費沒有資金支援,部分軟體品質和體驗欠缺;有全球所有的 Linux 開發者和自由軟體社群提供支援。
  • Windows:普通使用者基本都是純圖形界面下操作使用,依靠滑鼠和鍵盤完成一切操作,使用者上手容易入門簡單;
  • Linux:兼具圖形界面操作(需要使用帶有桌面環境的發行版)和完全的指令行操作,可以隻用鍵盤完成一切操作,新手入門較困難,需要一些學習和指導(這正是我們要做的事情),一旦熟練之後效率極高。
  • Windows:這些年之前算是全封閉的,系統可定制性很差;
  • Linux:你想怎麼做就怎麼做,Windows 能做到得它都能,Windows 做不到的,它也能。

安裝虛拟機VirtualBox和Ubuntu

  • 根據教程完成安裝虛拟機V-box,在虛拟機上建立一個linux系統;
  • 安裝Ubuntu,使得linux系統擁有圖形界面;
  • 更改root密碼;
  • 為虛拟機配置設定共享空間;

課本概述

課本主旨在闡述計算機系統的核心概念:

  • 第一章:介紹計算機系統的主要概念;
  • 第二章:計算機的算數運算;
  • 第三章:了解程式的機器語言;
  • 第四章:處理器體系結構的組合以及時序邏輯,講述元素如何在資料通路中組合并執行的過程;
  • 第五章:講述提高代碼性能的技術,讓我們了解如何編寫能讓編譯器編譯出更有效率的機器碼的c代碼;
  • 第六章:講述不同類型的存儲器結構和層次,以及如何改善程式時間局部性和空間局部性;
  • 第七章:靜态連接配接和動态連結;
  • 第八章:介紹異常控制流的一般概念,打破單一程式的模型;
  • 第九章:對虛拟存儲器的工作特性和性能有一定了解;
  • 第十章:講述Unix I/O的基本概念,開發一個帶緩沖區的I/O包;
  • 第十一章:網絡程式設計,編寫一個Web伺服器;
  • 第十二章:介紹并發程式設計,介紹三種編寫并發程式的基本機制。

課本疑問

  • 第一章:程式的生命周期是怎樣的?
  • 第二章:無符号數和數的二進制補碼對程式設計的影響?
  • 第三章:c程式語言如何成為機器碼?
  • 第四章:流水線化是怎麼實作的?
  • 第五章:怎麼優化程式?
  • 第六章:如何改善程式的時間局部性和空間局部性
  • 第七章:連結是什麼?
  • 第八章:程式的并發執行會引起不确定行為的後果是什麼?
  • 第九章:虛拟存儲器是如何工作的?
  • 第十章:為什麼說标準I/O有局限性?
  • 第十一章:如何開發Web伺服器
  • 第十二章:并發程式設計是什麼?

學習進度條

代碼行數(新增/累積) 部落格量(新增/累積) 學習時間(新增/累積) 重要成長
目标 5000行 30篇 400小時
第一周 0/200 0/2 20/20
第二周 0/500 0/4 18/38
第三周 0/1000 0/7 22/60
第四周 0/1300 0/9 30/90

參考資料

  • 《深入了解計算機系統V2》學習指導
  • ...