20145216史婧瑤《資訊保安系統設計基礎》第十二週學習總結
部落格連結總結
第九周部落格連結:http://www.cnblogs.com/sjy519/p/6059370.html
第十週部落格連結:http://www.cnblogs.com/sjy519/p/6078547.html
第十一週部落格連結:http://www.cnblogs.com/sjy519/p/6106839.html
視訊學習內容總結
指標與宣告
- C語言中變數的宣告包括兩個部分:型別,宣告符
- 對於簡單型別,宣告並不會對程式碼產生多大的閱讀障礙,而對於複雜型別的識別,可以採用右左右左法進行判斷
指標陣列與陣列指標
- 指標陣列:即用於儲存指標的陣列,也就是陣列元素都是指標int a[10]
- 陣列指標:即指向駐足的指標,指標指向一個型別和元素個數都固定的陣列int (a)[10]
- 指標函式:即返回值是指標型別的函式int fuk()
- 函式指標:即指向函式的指標,函式名就是函式指標int (fuk1)()
訊號的產生
- 由使用者產生,如:Ctrl+C產生SIGINT訊號等,可以通過stty -a檢視哪些按鍵可以產生訊號
- 由硬體產生,如:當前程式執行了除以0的指令
- 由程式傳送,如:可在shell程式下,使用命令 kill -訊號標號 PID,向指定程式傳送訊號。
- 由核心產生,如:鬧鐘超時產生SIGALRM訊號。
- SIG_IGN是忽略訊號的處理程式,表示無返回值的函式指標,指標值為1
- SIG_DFL是預設訊號的處理程式,表示無返回值的函式指標,指標值為0
signal與sigaction
- signal:
- 不知道訊號被髮送的原因
- 訊號處理過程中不能安全地阻塞其他訊號
- sigaction:
- 在訊號處理程式被呼叫時,系統建立的新訊號遮蔽字會自動包括正被遞送的訊號。因此保證了在處理一個給定的訊號時,如果這種訊號再次發生,那麼它會被阻塞到對前一個訊號的處理結束為止
- 響應函式設定後就一直有效,不會重置
訊號的處理
- 訊號是由作業系統來處理的,說明訊號的處理在核心態。訊號不一定會立即被處理,此時會儲存在訊號的訊號表中。
- 訊號的三種處理方式:
忽略
預設處理方式:作業系統設定的預設處理方式
自定義訊號處理方式:可自定義訊號處理函式
感悟與思考
本週主要是複習前三週的程式碼,程式碼很多,對於第十一週的程式碼,我還有點印象,第九周和第十週的程式碼便感到有些陌生,不過畢竟都學過一遍,複習起來還是會比第一次學輕鬆一些。
學習進度條
程式碼行數(新增/累積) | 部落格量(新增/累積) | 學習時間(新增/累積) | 重要成長 | |
---|---|---|---|---|
目標 | 3000行 | 30篇 | 300小時 | |
第一週 | 0/0 | 1/2 | 25/40 | 學習了Linux基礎知識和核心命令 |
第二週 | 0/0 | 0/2 | 0/40 | |
第三週 | 300/300 | 3/5 | 40/80 |
學習了vim、gcc、gdb指令; 學習了資訊表示和處理
|
第五週 | 200/500 | 1/6 | 45/125 |
學習了程式的機器級表示 |
第六週 | 150/650 | 1/7 | 40/165 |
學習了處理器體系結構
|
第七週 | 100/750 | 1/8 | 40/205 |
學習了儲存器層次結構
|
第八週 | 46/796 | 2/10 | 40/245 |
複習了以前的知識點 |
第九周 | 124/920 | 1/11 | 40/285 |
學習了系統級I/O的相關內容 |
第十週 | 510/1430 | 3/14 | 32/317 |
重點學習了一些命令 |
第十一週 | 440/1870 | 3/17 | 35/352 |
學習了異常控制流的相關知識點 |
第十二週 | 230/2100 | 3/20 | 30/382 |
複習了前三週的程式碼 |