2017-2018-1 20155327 《信息安全系统设计基础》第十一周学习总结
2017-2018-1 20155327 《信息安全系統(tǒng)設(shè)計(jì)基礎(chǔ)》第十一周學(xué)習(xí)總結(jié)
教材學(xué)習(xí)內(nèi)容總結(jié)
理解虛擬存儲(chǔ)器的概念和作用
- 虛擬存儲(chǔ)器(Virtual Memory),是硬件異常,硬件地址翻譯,主存,磁盤文件和內(nèi)核軟件的完善交互,它為每個(gè)進(jìn)程提供一個(gè)大的,一致的,私有地址空間。通過一個(gè)清晰的機(jī)制,虛擬存儲(chǔ)器提供了三個(gè)要重的能力:
- 作用
(1)它將主存看成是一個(gè)存儲(chǔ)在磁盤上的地址空間的高速緩存,在主存中只保存活動(dòng)區(qū)域,并根據(jù)需要在磁盤和主存之間來回傳送數(shù)據(jù),通過這種方式,它高效的利用了主存;
(2)它為每個(gè)進(jìn)程提供了一致的地址空間,從而簡(jiǎn)化了存儲(chǔ)器管理;
(3)它保護(hù)每個(gè)進(jìn)程的地址空間不被其他進(jìn)程破壞。
理解地址翻譯的概念
地址翻譯是一個(gè)N元素的虛擬地址空間(VAS)中的元素和一個(gè)M元素的物理地址空間(PAS)中元素之間的映射。
理解存儲(chǔ)器映射
- 定義:
Linux通過將一個(gè)虛擬存儲(chǔ)器區(qū)域與一個(gè)磁盤上的對(duì)象關(guān)聯(lián)起來,以初始化這個(gè)虛擬存儲(chǔ)器區(qū)域的內(nèi)容的過程叫做存儲(chǔ)器映射。 - 使用mmap函數(shù)的用戶級(jí)存儲(chǔ)器映射
1.創(chuàng)建新的虛擬存儲(chǔ)器區(qū)域
參數(shù)含義:
- start:這個(gè)區(qū)域從start開始
- fd:文件描述符
- length:連續(xù)的對(duì)象片大小
- offset:距文件開始處的偏移量
- prot:訪問權(quán)限位,具體如下:
- PROT_EXEC:由可以被CPU執(zhí)行的指令組成
- PROT_READ:可讀
- PROT_WRITE:可寫
- PROT_NONE:不能被訪問
- flag:由描述被映射對(duì)象類型的位組成,具體如下:
- MAP_ANON:匿名對(duì)象,虛擬頁面是二進(jìn)制0
- MAP_PRIVATE:私有的、寫時(shí)拷貝的對(duì)象
MAP_SHARED:共享對(duì)象
掌握動(dòng)態(tài)存儲(chǔ)器分配的方法
-.堆:動(dòng)態(tài)存儲(chǔ)器分配維護(hù)著一個(gè)進(jìn)程的虛擬存儲(chǔ)器區(qū)域,稱為堆。
假設(shè)它是一個(gè)請(qǐng)求二進(jìn)制0的區(qū)域,緊接在未初始化的bss區(qū)域后開始,并向上(更高的地址)生長(zhǎng)。有一個(gè)變量brk指向堆的頂部- 分配器的兩種基本風(fēng)格:
a.顯示分配器-malloc和free
b.隱式分配器/垃圾收集器 malloc和free函數(shù):
.系統(tǒng)調(diào)用malloc函數(shù),從堆中分配塊:
````
.#include <stdlib.h>
void *malloc(size_t size);
// 返回:成功則為指針,指向大小至少為size字節(jié)的存儲(chǔ)器塊,失敗則為NULL
//系統(tǒng)調(diào)用free函數(shù)來釋放已分配的堆塊:include <stdlib.h>
void free(void *ptr);
// 無返回值
//ptr參數(shù)必須指向一個(gè)從malloc、calloc或者reallov獲得的已分配塊的起始位置。
理解垃圾收集的概念
- 垃圾收集器是一種動(dòng)態(tài)存儲(chǔ)分配器,它自動(dòng)釋放程序不再需要的已分配塊,這些塊被稱為垃圾,自動(dòng)回收堆存儲(chǔ)的過程叫做垃圾收集。
垃圾收集器將存儲(chǔ)器視作一張有向可達(dá)圖,只有當(dāng)存在一條從任意根節(jié)點(diǎn)出發(fā)并到達(dá)p的有向路徑時(shí),才說節(jié)點(diǎn)p是可達(dá)的,而不可達(dá)點(diǎn)就是垃圾。
了解C語言中與存儲(chǔ)器有關(guān)的錯(cuò)誤
1.間接引用壞指針
常見錯(cuò)誤——scanf錯(cuò)誤
2.讀未初始化的存儲(chǔ)器
常見錯(cuò)誤——假設(shè)堆存儲(chǔ)器被初始化為0
3.允許棧緩沖區(qū)溢出
常見錯(cuò)誤——緩沖區(qū)溢出錯(cuò)誤
4.假設(shè)指針和它們指向的對(duì)象是相同大小的
在遠(yuǎn)處起作用action at distance
5.造成錯(cuò)位錯(cuò)誤
6.引用指針,而不是它所指向的對(duì)象
7.誤解指針運(yùn)算
8.引用不存在的變量
9.引用空堆塊中的數(shù)據(jù)
10.引起存儲(chǔ)器泄露
教材學(xué)習(xí)中的問題和解決過程
上周考試錯(cuò)題總結(jié)
- 有關(guān)Socket端口和Linux命令,下面說法正確的是()
A .
可以用 echo /etc/services查看
B .
使用 netstat -pan|grep 80可以查看哪些進(jìn)程占用了80端口
C .
可以使用lsof -i:80查看哪里些進(jìn)程占用了80端口
D .
可以用sudo /etc/init.d/service start|stop|restart 啟動(dòng)|停止|重啟系統(tǒng)服務(wù)
E .
可以用netstat -pa 查看所有的服務(wù)端口(LISTEN,ESTABLISHED)
F .
ps -aux | grep pid 可以查看綁定某端口的進(jìn)程號(hào)為pid的進(jìn)程的詳細(xì)情況
正確答案: A B C D E F 有關(guān)Web服務(wù)器的說法,正確的是()
A .
Web服務(wù)器可以提供靜態(tài)和動(dòng)態(tài)內(nèi)容
B .
Web服務(wù)器返回的靜態(tài)內(nèi)容由URL標(biāo)識(shí)
C .
/.../app?150&21傳遞的內(nèi)容由app可執(zhí)行文件產(chǎn)生,150和21是調(diào)用參數(shù)
D .
最小的URL后綴“/”,會(huì)被擴(kuò)展成類似“/index.html”的默認(rèn)主頁
正確答案: A B C D有關(guān)套接字接口函數(shù)open_clientfd()、open_listenfd(),下面說法正確的是()
A .
這兩個(gè)函數(shù)中open_clientfd()只可以用于客戶端編程
B .
這兩個(gè)函數(shù)中open_clientfd()可以用于客戶端和服務(wù)器端編程
C .
這兩個(gè)函數(shù)中open_listenfd()只可以用于服務(wù)器端編程
D .
open_clientfd()中的port參數(shù)是客戶端的端口
E .
open_clientfd()中的port參數(shù)是服務(wù)器端的端口
F .
open_clientfd()返回的clientfd可以有Unix I/O接口讀寫
G .
open_listenfd()返回的listenfd可以有Unix I/O接口讀寫
正確答案: A C E F結(jié)對(duì)及互評(píng)
點(diǎn)評(píng)模板:
- 博客中值得學(xué)習(xí)的或問題:
- xxx
- xxx
- ...
- 代碼中值得學(xué)習(xí)的或問題:
- xxx
- xxx
- ...
- 其他
本周結(jié)對(duì)學(xué)習(xí)情況
- [結(jié)對(duì)同學(xué)學(xué)號(hào)1](博客鏈接) - 結(jié)對(duì)照片 - 結(jié)對(duì)學(xué)習(xí)內(nèi)容- XXXX- XXXX- ...其他(感悟、思考等,可選)
xxx
xxx
學(xué)習(xí)進(jìn)度條
| 目標(biāo) | 5000行 | 30篇 | 400小時(shí) | |
| 第一周 | 200/200 | 2/2 | 20/20 | |
| 第二周 | 300/500 | 2/4 | 18/38 | |
| 第三周 | 500/1000 | 3/7 | 22/60 | |
| 第四周 | 300/1300 | 2/9 | 30/90 |
嘗試一下記錄「計(jì)劃學(xué)習(xí)時(shí)間」和「實(shí)際學(xué)習(xí)時(shí)間」,到期末看看能不能改進(jìn)自己的計(jì)劃能力。這個(gè)工作學(xué)習(xí)中很重要,也很有用。
耗時(shí)估計(jì)的公式
:Y=X+X/N ,Y=X-X/N,訓(xùn)練次數(shù)多了,X、Y就接近了。
參考:軟件工程軟件的估計(jì)為什么這么難,軟件工程 估計(jì)方法
計(jì)劃學(xué)習(xí)時(shí)間:XX小時(shí)
實(shí)際學(xué)習(xí)時(shí)間:XX小時(shí)
改進(jìn)情況:
(有空多看看現(xiàn)代軟件工程 課件
軟件工程師能力自我評(píng)價(jià)表)
參考資料
- 《深入理解計(jì)算機(jī)系統(tǒng)V3》學(xué)習(xí)指導(dǎo)
- ...
轉(zhuǎn)載于:https://www.cnblogs.com/l97----/p/7967927.html
總結(jié)
以上是生活随笔為你收集整理的2017-2018-1 20155327 《信息安全系统设计基础》第十一周学习总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Sublime 插件- px 转rem
- 下一篇: 通过rsync搭建一个远程备份系统(二)