20145307《信息安全系统设计基础》课程总结
20145307《信息安全系統設計基礎》課程總結
每周作業鏈接匯總
- 第0周
瀏覽課本內容,結合每一章提出自己想知道的問題,安裝虛擬機。
20145307 《信息安全系統設計基礎》第0周學習總結
- 第一周
了解Linux操作系統,掌握核心的Linux命令,實驗樓實驗學習。
20145307《信息安全系統設計基礎》第一周學習總結
- 第二周
教材第一章、第七章內容,學習vim編輯器,熟悉gcc編譯器,gdb調試技術,makefile基本原理及語法,靜態庫和動態庫的生成與調用方法,實驗樓實驗學習。
20145307 《信息安全系統設計基礎》第二周學習總結
- 第三周
教材第二章內容,理解二進制在計算機中的重要地位,掌握布爾運算在C語言中的應用,理解有符號整數、無符號整數、浮點數的表示,理解補碼的重要性,進一步理解“信息=位+上下文”,實驗樓實驗學習。
20145307 《信息安全系統設計基礎》第三周學習總結
- 第四周
無
- 第五周
教材第三章內容,理解逆向的概念,掌握X86匯編基礎,能夠閱讀(反)匯編代碼,了解ISA(指令集體系結構),理解函數調用棧幀的概念,并能用GDB進行調試,實驗樓實驗。
20145307 《信息安全系統設計基礎》第五周學習總結
- 第六周
教材第四章內容,了解ISA抽象的作用,掌握ISA,并能舉一反三學習其他體系結構,了解流水線和實現方式,實驗樓實驗。
20145307《信息安全系統設計基礎》第六周學習總結
- 第七周
教材第六章內容,了解常見的存儲技術(RAM、ROM、磁盤、固態硬盤等),理解局部性原理,理解緩存思想,理解局部性原理和緩存思想在存儲層次結構中的應用,高速緩存的原理和應用,實驗樓實驗。
20145307 《信息安全系統設計基礎》第七周學習總結
- 第八周
復習Linux常用命令,復習教材1-7章,期中總結。
20145307《信息安全系統設計基礎》期中總結
- 第九周
附錄A,教材第10章內容,掌握系統編程和系統調用的概念,掌握系統編程錯誤處理的方式,掌握Unix/Linux系統級I/O : open close read write seek stat,掌握RIO,掌握I/O重定向的方法。
20145307 《信息安全系統設計基礎》第九周學習總結
- 第十周
代碼學習。
20145307《信息安全系統設計基礎》第十周學習總結
- 第十一周
教材第八章《異常控制流》,第十章《系統級I/O》了解異常及其種類,理解進程和并發的概念,掌握進程創建和控制的系統調用及函數使用:fork,exec,wait,waitpid,exit,getpid,getppid,sleep,pause,setenv,unsetenv,理解數組指針、指針數組、函數指針、指針函數的區別,理解信號機制:kill,alarm,signal,sigaction,掌握管道和I/O重定向:pipe, dup, dup2。
20145307《信息安全系統設計基礎》第十一周學習總結
- 第十二周
第九周代碼檢查,第十周代碼檢查,第十一周代碼檢查,視頻資料學習。
20145307 《信息安全系統設計基礎》第十二周學習總結
- 第十三周
教材第十一章《網絡編程》,教材第十二章《并發編程》內容學習,掌握三種并發的方式:進程、線程、I/O多路復用,掌握線程控制及相關系統調用,掌握線程同步互斥及相關系統調用。
20145307 《信息安全系統設計基礎》第十三周學習總結
- 第十四周
教材第九章《虛擬存儲器》學習,理解虛擬存儲器的概念和作用,理解地址翻譯的概念,理解存儲器映射,掌握動態存儲器分配的方法,理解垃圾收集的概念,了解C語言中與存儲器有關的錯誤。
20145307 《信息安全系統設計基礎》第十四周學習總結
實驗報告鏈接匯總
- 實驗一
- 開發環境的熟悉
熟悉 linux 開發環境,學會基于 S3C2410 的 linux 開發環境的配置和使用,使用linux的armv4l-unknown-linux-gcc編譯,使用基于NFS方式的下載調試,了解嵌入式開發的基本過程,正確使用連接線等實驗儀器,并注意保護實驗箱。實驗結束之后將實驗箱送回。
20145307 《信息安全系統設計基礎》實驗一 開發環境的熟悉
- 實驗二
- 固件設計
熟悉 linux 開發環境,學會基于 S3C2410 的 linux 開發環境的配置和使用,使用linux的armv4l-unknown-linux-gcc編譯,使用基于NFS方式的下載調試,了解嵌入式開發的基本過程,正確使用連接線等實驗儀器,并注意保護實驗箱。實驗結束之后將實驗箱送回。
20145307 《信息安全系統設計基礎》實驗二 固件設計
- 實驗三
- 實時系統的移植
根據實驗指導書進行實時軟件的安裝,嘗試配置實驗環境,并學會對軟件進行測試。
20145307 《信息安全系統設計基礎》實驗三 實時系統的移植
- 實驗四
- 驅動程序設計
了解在 UP-TECH S2410/P270 DVP 平臺上實現觸摸屏 Linux 驅動程序的基本原理,了解 Linux 驅動開發的基本過程,以一個簡單字符設備驅動程序為原型,剖析其基本結構。進行部分改寫之后并編譯實現其相應功能。
20145307《信息安全系統設計基礎》實驗四 驅動程序設計
- 實驗五
- 網絡通信
掌握在 ARM 開發板實現一個簡單 WEB 服務器的過程 ,學習在 ARM 開發板上的 SOCKET 網絡編程 ,學習 Linux 下的 signal()函數的使用。
20145307《信息安全系統設計基礎》實驗五 網絡通信
代碼量匯總
- 代碼驅動的學習做到沒有?
每次的學習,每周都有一點點的進步,但還有很多地方需要繼續學習,繼續用正確的方法去鉆研。
- 加點代碼,改點代碼是理解的最好方式,談談你的心得
變成是門藝術,我認為真正搞懂代碼是能夠在代碼的基礎上進行增加功能或者進行完善才算真的理解了每一段代碼每一段void的功能。
- 回答一下第0周作業中自己提出的問題?
1.從源文件到目標文件的轉化,編譯驅動程序是如何完成的?以hello.c為例
過程是由編譯器完成的,gcc的編譯器驅動程序讀取源文件hello.c,并把它翻譯成一個可執行目標文件hello,這個過程是分為四個階段完成的
預處理階段:將.c 文件轉化成 .i文件,使用的gcc命令是:gcc –E,對應于預處理命令cpp;
編譯階段:將.c/.h文件轉換成.s文件,使用的gcc命令是:gcc –S,對應于編譯命令 cc –S;
匯編階段:將.s 文件轉化成 .o文件,使用的gcc 命令是:gcc –c,對應于匯編命令是 as;
鏈接階段:將.o文件轉化成可執行程序,使用的gcc 命令是: gcc,對應于鏈接命令是 ld;
2.各種進制及編碼的轉換及運算
進制轉化:
x=2^n轉化為十六進制
將x寫成x=2^n的形式,令n=i+4j,x的十六進制表示為:開頭為2^i的值,后面補j個0。
十進制轉化為十六進制
十進制數x反復除以16,得十六進制數
十六進制轉化為十進制
十六進制數x反復乘以16,得十進制數
3.程序機器級代碼的格式及指令的規范
gcc -01 -o p p1.c
-01 表示使用第一級優化。優化的級別與編譯時間和最終產生代碼的形式都有關系,一般認為第二級優化-02 是較好的選擇。
-o 表示將p1.c編譯后的可執行文件命名為p
4.處理器的設計及體系結構
指令體系結構:一個處理器支持的指令和指令的字節級編碼
5.優化編譯器的功能
表示程序性能,消除循環的低效率,消除不必要的存儲器引用。
6.存儲器的層次結構
存儲器系統是一個具有不同容量、成本和訪問時間的存儲器設備的層次結構。
隨機訪問存儲器層次結構:硬件和軟件的這些基本屬性(存儲技術、計算機軟件)互相補充得很完美,這種互相補充的性質使人想到一種組織存儲器系統的方法。
高速緩存存儲器層次結構只有三層:CPU寄存器、DRAM主存儲器和磁盤存儲。
7.Unix中理解和處理目標文件的工具
AR :創建靜態庫,插入、刪除、列出和提取成員。
STRINGS :列出目標文件中所有可以打印的字符串。
STRIP :從目標文件中刪除符號表信息。
NM :列出目標文件符號表中定義的符號。
SIZE :列出目標文件中節的名字和大小。
READELF :顯示一個目標文件的完整結構,包括ELF 頭中編碼的所有信息。
OBJDUMP :顯示目標文件的所有信息,最有用的功能是反匯編.text節中的二進制指令。
LDD :列出可執行文件在運行時需要的共享庫。
8.異常處理的方式
異常的一部分由硬件實現,一部分由操作系統實現,它就是控制流中的突變,用來響應處理器狀態的某些變化。注意和語言中的應用級的異常概念區分。
處理器中,狀態被編碼為不同的位和信號,狀態變化被稱為事件,事件不一定和當前指令的執行有關。處理器檢測到有事件發生時,會通過異常表進行間接過程調用,到一個專門設計處理事件的操作系統子程序,稱為異常處理程序。
異常處理程序完成處理后,根據異常事件的類型會(執行一種):
將控制返回給當前指令(事件發生時正在執行的)。
將控制返回給下一條指令(沒有異常將會執行的)。
終止被中斷的程序。
異常表是一張跳轉表,表目k包含異常k的處理程序的地址,在系統啟動時由操作系統分配和初始化。系統中每種可能的異常都分配了一個唯一的非負整數的異常號。
9.虛擬存儲器的功能
虛擬存儲器3個重要的能力:
(1)將主存看作是一個存儲在磁盤上的地址空間的高速緩存,在主存中只保護活動的區域,并根據需要在磁盤和主存之間來回傳送數據
(2)為每個進程提供了一致的地址空間,從而簡化了存儲器管理
(3)保護了每個進程的地址空間不被其它進程破壞。
10.如何檢索文件夾的相關信息
ls -l
11.客戶端-服務器編程模型的基本操作
一個應用是由一個服務器進程和一個或多個客戶端進程組成。
12.并發現象的功能
訪問慢速I/O設備,與人交互,通過推遲工作以降低延遲,服務多個網絡客戶端,在多個機器上進行并行計算。
- 你有什么項目被加分,談談你的經驗
三篇openssl總結博客
openssl學習總結
openssl知識點總結
openssl實驗總結
GBD調試
GDB調試匯編堆棧
y86模擬器安裝教程
Y86模擬器安裝教程
優秀博客
20145307《信息安全系統設計基礎》第十一周學習總結
20145307《信息安全系統設計基礎》第六周學習總結
- 扇貝背單詞(對四六級有沒有影響?)
沒有按時打卡很遺憾,但是背單詞肯定是對四六級有影響的,毋庸置疑
- 優缺點
優點:養成的自學的學習習慣,在課堂上老師為同學們解答問題,這種方式是值得提倡的,自己也會將這種方法應用到其他科目上。
缺點:有的應用太占用系統資源,比如64位的linux占用了2G內存,讓有的程序直接crash
- 建議
每次實驗進行一下提前的講解,每次實驗開始都是一頭霧水,要是有一個好的引導的話,做的時候一定更快。
- 課程收獲與不足
深入理解了計算機系統,掌握了多種信息的表示和處理方法,結合了上學期的匯編知識,學習到了更多東西
- 自己的收獲(投入,效率,效果等)
更多學到的是動手能力吧,我更喜歡實驗多一些,還是很好玩的,遇到問題如何解決,解決后的喜悅不言而喻。
- 自己需要改進的地方
更改代碼的數量還是很少,光看懂是不夠的,我覺得在原文的基礎上能夠進行增添修改才是看懂了代碼
- 如果有結對,寫一下你提供的幫助或接受了什么幫助,并對老師提供參考建議
結對實驗時,兩人合作會進行的更快,一個人來讀步驟,另一人操作,效率十分的高,遇到問題一起思考,思維火花的碰撞很刺激
- 給學弟學妹們的學習建議
養成良好的學習習慣很重要,之后就是努力了。
- 如果重新學習這門課,怎么做才可以學的更好
多寫代碼,瘋狂寫代碼,瘋狂改代碼。
- 問卷調查
你平均每周投入到本課程多長時間?
10 hours
每周的學習效率有提高嗎?
后期效率明顯提高了一些
學習效果自己滿意嗎?
還行還行,可以更好的,還有很大進步空間
課程結束后會繼續一周至少一篇博客嗎?
不會了,但我肯定會繼續做喜歡的安全性實驗
你覺得這門課老師應該繼續做哪一件事情?
每周測試和寫博客很好,博客相當于學習筆記,能夠幫我們記錄學習時遇到的問題,小組也提供了一個平臺讓同學們隨時交流問題
你覺得這門課老師應該停止做哪一件事情?
暫無
你覺得這門課老師應該開始做什么新的事情?
用git傳代碼,交作業
本文鏈接和二維碼
csapp_final
轉載于:https://www.cnblogs.com/Jclemo/p/6219859.html
總結
以上是生活随笔為你收集整理的20145307《信息安全系统设计基础》课程总结的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 百度云使用第三方工具下载文件
- 下一篇: windows server 2008