20155330 《信息安全系统设计基础》课程总结
20155330 《信息安全系統(tǒng)設(shè)計(jì)基礎(chǔ)》課程總結(jié)
每周作業(yè)鏈接匯總
第一周作業(yè):使用gcc編譯器的常用選項(xiàng)、使用gdb調(diào)試技術(shù)、makefile基本原理及語(yǔ)法規(guī)范
第二周作業(yè):vi測(cè)試、gcc測(cè)試
第三周作業(yè):信息的表示和處理
第四周作業(yè):實(shí)現(xiàn)myod、head,tail的使用
第五周作業(yè):匯編語(yǔ)言、指令
第六周作業(yè):使用gdb跟蹤匯編代碼、異常控制流、系統(tǒng)級(jí)I/O
第七周作業(yè):Y86-64處理器
第八周作業(yè):網(wǎng)絡(luò)編程
第九周作業(yè):存儲(chǔ)器層次結(jié)構(gòu)
第十周作業(yè):實(shí)現(xiàn)state命令、研究Linux下IPC機(jī)制
第十一周作業(yè):虛擬內(nèi)存
第十二周作業(yè):無(wú)
第十三周作業(yè):總結(jié)學(xué)的最好的一章
第十四周作業(yè):重學(xué)學(xué)的最差的一章
實(shí)驗(yàn)報(bào)告鏈接匯總
實(shí)驗(yàn)一 開發(fā)環(huán)境的熟悉:交叉編譯
實(shí)驗(yàn)二 固件程序設(shè)計(jì):MDK、LED、URAT、國(guó)密算法
實(shí)驗(yàn)三 實(shí)時(shí)系統(tǒng):客戶端-服務(wù)器通信
實(shí)驗(yàn)四 外設(shè)驅(qū)動(dòng)程序設(shè)計(jì):在虛擬設(shè)備驅(qū)動(dòng)源碼目錄下編譯并加載驅(qū)動(dòng)模塊
實(shí)驗(yàn)五 通信協(xié)議設(shè)計(jì):OpenSSL、混合密碼系統(tǒng)進(jìn)行防護(hù)
代碼托管鏈接和二維碼:
截圖 git log --pretty=format:"%h - %an, %ar : %s" 的結(jié)果
- 代碼量匯總提交statistics.sh的支持截圖
代碼驅(qū)動(dòng)的學(xué)習(xí)做到?jīng)]有?
不算完全做到吧,主要還是參考別的代碼再進(jìn)行編寫。
加點(diǎn)代碼,改點(diǎn)代碼是理解的最好方式,參考編程的智慧,談?wù)勀愕男牡?/p> 代碼學(xué)習(xí)主要還是在已有代碼的基礎(chǔ)上,加上自己的理解對(duì)代碼進(jìn)行改編,這學(xué)期的實(shí)踐項(xiàng)目比較多,在一定程度上也提高了自己編寫代碼的能力。
實(shí)踐上有什么經(jīng)驗(yàn)教訓(xùn)
課堂實(shí)踐還是需要提前的預(yù)習(xí),在充分理解題意的情況下才能完成,臨時(shí)抱佛腳是一種不可取的行為。
整體評(píng)價(jià)一下第1周作業(yè)中自己提出的問(wèn)題是不是抓住了學(xué)習(xí)重點(diǎn)
第1周作業(yè)中的問(wèn)題主要針對(duì)每章主題里的部分內(nèi)容進(jìn)行了提問(wèn),好像沒有特別抓住其中的重點(diǎn),主要還是對(duì)未學(xué)習(xí)內(nèi)容提出了問(wèn)題。
回答一下第1周作業(yè)中自己提出的問(wèn)題
第一章:虛擬內(nèi)存與物理內(nèi)存的區(qū)別?
物理內(nèi)存是安裝在主機(jī)板上的內(nèi)存。
虛擬內(nèi)存是作業(yè)系統(tǒng)在硬盤上建立一個(gè)檔案,把物理內(nèi)存中不常用的部分拷貝起來(lái),再把那個(gè)部分的物理內(nèi)存清空,方便別的程序?qū)懭搿L摂M內(nèi)存的大小是可以自定,但是大小通常在物理內(nèi)存的1到2倍之間,太大的話,虛擬內(nèi)存的效能會(huì)下降。
因?yàn)樘摂M內(nèi)存在硬盤上,所以它的速度是取決于硬盤的存取速度、碎片的多少等。另外,因?yàn)樗幌裎锢韮?nèi)存一樣,資料與停機(jī)后消失,所以虛擬內(nèi)存是可以透過(guò)解密方法讀取其中的資料。第二章:布爾代數(shù)如何在實(shí)際中應(yīng)用?
布爾代數(shù)不僅可以在數(shù)學(xué)領(lǐng)域內(nèi)實(shí)現(xiàn)集合運(yùn)算,更廣泛應(yīng)用于電子學(xué)、計(jì)算機(jī)硬件、計(jì)算機(jī)軟件等領(lǐng)域的邏輯運(yùn)算:當(dāng)集合內(nèi)只包含兩個(gè)元素(1和0)時(shí),分別對(duì)應(yīng){真}和{假},可以用于實(shí)現(xiàn)對(duì)邏輯的判斷。
常見的應(yīng)用包括: 數(shù)字電路設(shè)計(jì),0和1與數(shù)字電路中某個(gè)位的狀態(tài)對(duì)應(yīng),例如:高電平、低電平。 計(jì)算機(jī)的網(wǎng)絡(luò)設(shè)置,利用計(jì)算機(jī)的二進(jìn)制特性,將子網(wǎng)掩碼與本機(jī)IP地址進(jìn)行邏輯與運(yùn)算,可以得到計(jì)算機(jī)的網(wǎng)絡(luò)地址和主機(jī)地址。 數(shù)據(jù)庫(kù)應(yīng)用,通過(guò)SQL語(yǔ)句查詢數(shù)據(jù)庫(kù)時(shí)需要進(jìn)行邏輯運(yùn)算,確定具體的查詢目標(biāo)。第三章:機(jī)器級(jí)代碼與C語(yǔ)言代碼的區(qū)別?
對(duì)于機(jī)器級(jí)編程來(lái)說(shuō),兩種抽象很重要:
1、指令集體系結(jié)構(gòu)(Instruction set architecture ISA)
它定義了處理器狀態(tài)、指令的格式,以及每條指令對(duì)狀態(tài)的影響。
IA32將程序的行為描述成好像每條指令時(shí)按順序執(zhí)行的,一條指令結(jié)束后,下一條再開始。(實(shí)際上處理器并發(fā)地執(zhí)行許多指令,但是可以采取措施保證整體行為與ISA指定的順序執(zhí)行完全一致)
2、機(jī)器級(jí)程序使用的存儲(chǔ)器地址是虛擬地址
提供的存儲(chǔ)器模型看上去是一個(gè)非常大的字節(jié)數(shù)組。存儲(chǔ)器系統(tǒng)的實(shí)際實(shí)現(xiàn)是將多個(gè)硬件存儲(chǔ)器和操作系統(tǒng)軟件組合起來(lái)。
程序存儲(chǔ)器(program memory)包含:程序的可執(zhí)行機(jī)器代碼、操作系統(tǒng)需要的一些信息、棧、堆。程序存儲(chǔ)器用虛擬地址來(lái)尋址(此虛擬地址不是機(jī)器級(jí)虛擬地址)。操作系統(tǒng)負(fù)責(zé)管理虛擬地址空間(程序級(jí)虛擬地址),將虛擬地址翻譯成實(shí)際處理器存儲(chǔ)器中的物理地址(機(jī)器級(jí)虛擬地址)。C語(yǔ)言
C語(yǔ)言是一個(gè)有結(jié)構(gòu)化程序設(shè)計(jì)、具有變量作用域(variable scope)以及遞歸功能的過(guò)程式語(yǔ)言。C語(yǔ)言傳遞參數(shù)均是以值傳遞(pass by value),另外也可以傳遞指針(a pointer passed by value)。
不同的變量類型可以用結(jié)構(gòu)體(struct)組合在一起。
只有32個(gè)保留字(reserved keywords),使變量、函數(shù)命名有更多彈性。
部份的變量類型可以轉(zhuǎn)換,例如整型和字符型變量。
通過(guò)指針(pointer),C語(yǔ)言可以容易的對(duì)存儲(chǔ)器進(jìn)行低級(jí)控制。
預(yù)編譯處理(preprocessor)讓C語(yǔ)言的編譯更具有彈性。
第四章:SEQ具體指什么?
SEQ是 Sequential CPU的實(shí)現(xiàn),表現(xiàn)在指令的執(zhí)行要依次經(jīng)歷各個(gè)階段(Fetch->Decode->Execut->Memory->WriteBack->PC Update).每一個(gè)指令在一個(gè)時(shí)鐘周期內(nèi)完成。第五章:寄存器溢出的弊端?
不能很好的實(shí)現(xiàn)循環(huán)并行性,對(duì)維護(hù)多個(gè)累積變量的優(yōu)勢(shì)有一定影響。第六章:局部性對(duì)存儲(chǔ)器層次結(jié)構(gòu)的重要意義?
有良好局部性的程序比局部性差的程序運(yùn)行得快。第七章:如何進(jìn)行重定位?
重定位就是把程序的邏輯地址空間變換成內(nèi)存中的實(shí)際物理地址空間的過(guò)程,也就是說(shuō)在裝入時(shí)對(duì)目標(biāo)程序中指令和數(shù)據(jù)的修改過(guò)程。第八章:如何有效處理異常?
1.直接終止程序(自殺)
2.返回一個(gè)錯(cuò)誤的值,附加錯(cuò)誤碼
3.返回一個(gè)合法的值,讓程序處于某種非法的狀態(tài)4.調(diào)用一個(gè)預(yù)先準(zhǔn)備好在出現(xiàn)"錯(cuò)誤"的情況下使用的函數(shù).
5.通過(guò)暴力的方式解決:abort()函數(shù)和常見exit()函數(shù).
6.使用goto語(yǔ)句
7.使用setjmp()與longjmp()第九章:虛擬內(nèi)存對(duì)系統(tǒng)的重要意義?
虛擬內(nèi)存是用于當(dāng)做內(nèi)存來(lái)彌補(bǔ)計(jì)算機(jī)RAM空間缺乏的硬盤空間。當(dāng)實(shí)際RAM滿時(shí)(實(shí)際上,在RAM滿之前),虛擬內(nèi)存就在硬盤上創(chuàng)建了。當(dāng)物理內(nèi)存用完后,虛擬內(nèi)存管理器選擇最近沒有用過(guò)的,低優(yōu)先級(jí)的內(nèi)存部分寫到交換文件上。這個(gè)過(guò)程對(duì)應(yīng)用是隱藏的,應(yīng)用把虛擬內(nèi)存和實(shí)際內(nèi)存看作是一樣的.第十章:I/O如何進(jìn)行重定向?
所謂的I / O重定向也就是讓已創(chuàng)建的FD指向其他文件。在I / O重定向的過(guò)程中,不變的是FD 0/1/2代表STDIN / STDOUT / STDERR,變化的是文件描述符表中FD 0/1/2對(duì)應(yīng)的具體文件,應(yīng)用程序只關(guān)心前者。本質(zhì)上這和接口的原理是相通的,通過(guò)一個(gè)間接層把功能的使用者和提供者解耦。第十一章:如何進(jìn)行C/S編程模型通信?
服務(wù)器調(diào)用socket()、bind()、listen()完成初始化后,調(diào)用accept()阻塞等待,處于監(jiān)聽端口的狀態(tài),客戶端調(diào)用socket()初始化后,調(diào)用connect()發(fā)出SYN段并阻塞等待服務(wù)器應(yīng)答,服務(wù)器應(yīng)答一個(gè)SYN-ACK段,客戶端收到后從connect()返回,同時(shí)應(yīng)答一個(gè)ACK段,服務(wù)器收到后從accept()返回。第十二章:基于不同類型的并發(fā)編程的異同?
無(wú)論哪種并發(fā)機(jī)制,同步對(duì)共享數(shù)據(jù)的并發(fā)訪問(wèn)都是一個(gè)困難的問(wèn)題。
進(jìn)程是由內(nèi)核自動(dòng)調(diào)度的,而且因?yàn)樗鼈冇懈髯元?dú)立的虛擬地址空間,所以要實(shí)現(xiàn)共享數(shù)據(jù),必須要有顯式的IPC機(jī)制。
事件驅(qū)動(dòng)程序創(chuàng)建它們自己的并發(fā)邏輯流,這些邏輯流被模型化為狀態(tài)機(jī),需用I/O多路復(fù)用來(lái)顯式地調(diào)度這些流。
同基于進(jìn)程的流一樣,線程也是由內(nèi)核自動(dòng)調(diào)度的。
你有什么項(xiàng)目被加分,談?wù)勀愕慕?jīng)驗(yàn)
項(xiàng)目 PWD
你有什么項(xiàng)目被扣分,談?wù)勀愕慕逃?xùn)
無(wú)。
課程收獲與不足
自己的收獲(投入,效率,效果等)
總的來(lái)說(shuō)這學(xué)期其實(shí)還是自學(xué)的比較多,課堂實(shí)踐內(nèi)容相對(duì)來(lái)說(shuō)要比課本學(xué)習(xí)復(fù)雜一點(diǎn)。C語(yǔ)言的編程能力有了一定的提升,對(duì)Linux操作系統(tǒng)和windows的不同有了更直觀的感受。自己需要改進(jìn)的地方
這學(xué)期的學(xué)習(xí)效率好像要更低?自學(xué)容易抓不住重點(diǎn),好像在一些不必要的內(nèi)容上浪費(fèi)了不少時(shí)間。如果有結(jié)對(duì),寫一下你提供的幫助或接受了什么幫助,并對(duì)老師提供參考建議
在實(shí)驗(yàn)的時(shí)候能夠高效的完成實(shí)驗(yàn)內(nèi)容。
給開學(xué)初的你和學(xué)弟學(xué)妹們的學(xué)習(xí)建議
如果重新學(xué)習(xí)這門課,怎么做才可以學(xué)的更好?
多敲敲代碼,有選擇性的參考網(wǎng)絡(luò)文章,能對(duì)課本內(nèi)容有更好的了解。
問(wèn)卷調(diào)查
你平均每周投入到本課程多長(zhǎng)時(shí)間?
18-20小時(shí)每周的學(xué)習(xí)效率有提高嗎?
有的吧。學(xué)習(xí)效果自己滿意嗎?
一般。課程結(jié)束后會(huì)繼續(xù)一周至少一篇博客嗎?(如果能做到,畢業(yè)時(shí)我把你的博客給你集結(jié)成一本書送給你作紀(jì)念)
不會(huì)吧。你覺得這門課老師應(yīng)該繼續(xù)做哪一件事情?
課下測(cè)試。你覺得這門課老師應(yīng)該停止做哪一件事情?
課堂筆記互評(píng)。你覺得這門課老師應(yīng)該開始做什么新的事情?
暫時(shí)沒有什么好的建議。
轉(zhuǎn)載于:https://www.cnblogs.com/ashin-kl/p/8158690.html
總結(jié)
以上是生活随笔為你收集整理的20155330 《信息安全系统设计基础》课程总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 1304. 和为零的N个唯一整数
- 下一篇: 数据库系统中数据抽象的三级结构