2017-2018-1 20155216 《信息安全系統設計基礎》第九周學習總結
2017-2018-1 20155216 《信息安全系統設計基礎》第八周學習總結
教材學習內容總結
一、常見的儲存技術(RAM、ROM、磁盤、固態硬盤等)
層次結構:
存儲器系統是一個具有不同容量、成本和訪問時間的存儲設備的層次結構。
存儲器層次結構(圖示):
存儲器層次結構(文字描述):
從①到⑦:更大、更慢和每字節成本更低的存儲設備。
①寄存器:CPU寄存器保存著從高速緩存存儲器取出的字
②L1高速緩存(SRAM):L1高速緩存保存著從L2高速緩存取出的緩存行
③L2高速緩存(SRAM):L2高速緩存保存著從L3高速緩存取出的緩存行
④L3高速緩存(SRAM):L3高速緩存保存著從主存高速緩存取出的緩存行
⑤主存(DRAM):主存保存著從本地磁盤取出的磁盤塊
⑥本地二級存儲(本地磁盤):本地磁盤保存著從遠程網絡服務器磁盤上取出的文件
⑦遠程二級存儲(分布式文件系統、Web服務器)
RAM
靜態RAM
Static Random-Access Memory,靜態隨機訪問存儲器,每個位存儲在一個雙穩態的存儲器單元裏,每個位晶體管數為6;相對訪問時間快;具有雙穩態特性,所以只要有電,就會永遠地保持它的值;即使有幹擾,當幹擾消除時,電路就會恢復到穩定值;相對花費貴,主要應用在高速緩沖存儲器上。
動態RAM
Dynamic Random-Access Memory,動態隨機訪問存儲器,每個位存儲在一個對幹擾非常敏感的存儲單元裏,每個位晶體管數為1;相對訪問時間慢;當電容的電壓被擾亂後,它就永遠不會恢復了;相對花費便宜,主要應用在主存以及圖形系統的幀緩沖區。
磁盤:
(1)磁盤轉速:
磁盤轉速決定磁盤的速度。轉速越快,磁盤尋找文件的速度就越快,傳輸速度越快。目前大部分筆記本電腦所采用的機械式硬盤均是依靠主軸的馬達帶動盤片高速旋轉以產生浮力,使磁頭漂浮在盤片上方,要將所要存取數據的扇區帶到磁頭下方,轉速越快則等待時間也就越短,從而也就意味了高效率的工作。
(2)磁盤構造:
①磁盤是由盤片(platter)構成的,每個盤片有兩個表面(surface),表面覆蓋著磁性材料。盤片中央有一個可以旋轉的主軸,使得盤片以固定的旋轉速率旋轉,通常是5400-15000轉/分鐘(Revolution Per Minute,RPM)。
②每個表面由磁道(track,一組同心圓)組成。
③每個磁道被劃分為一組扇區(sector),每個扇區包含數量相等的數據位,這些數據編碼在扇區上的磁性材料中。
④扇區之間由一些間隙(gap)分隔,間隙存儲用來標識扇區的格式化位。
⑤柱面(cylinder):所有盤片表面上到主軸中心的距離相等的磁道的集合。
(3)磁盤容量計算:
磁盤容量 = 字節數/扇區 * 扇區數/磁道 * 磁道數/表面 * 表面數/盤片 * 盤片數/磁盤
ROM
ROM 是 ROM image(只讀內存鏡像)的簡稱,常用於手機定制系統玩家的圈子中。
常見的 ROM image 有 img、zip 等格式,前者通常用fastboot程序通過數據線刷入(線刷),後者通常用 recovery 模式從 sd刷入(卡刷),固 img 鏡像也被稱為線刷包,zip 鏡像也被稱為卡刷包。
固態硬盤
固態硬盤(Solid State Drives),簡稱固盤,固態硬盤(Solid State Drive)用固態電子存儲芯片陣列而制成的硬盤,由控制單元和存儲單元(FLASH芯片、DRAM芯片)組成。
讀寫速度快。采用閃存作為存儲介質,讀取速度相對機械硬盤更快。固態硬盤不用磁頭,尋道時間幾乎為0。持續寫入的速度快,其持續讀寫速度超過了500MB/s。
二、局部性原理
局部性通常有兩種形式:
時間局部性(temporal locality)
時間局部性指的是:被引用過一次的存儲器位置在未來會被多次引用(通常在循環中)。
空間局部性(spatial locality)
如果一個存儲器的位置被引用,那麽將來他附近的位置也會被引用。
取指令的局部性
指令存在於存儲器中,cpu 要讀指令就必須取出指令。所以也能評價對於取指令的局部性。
在for 循環中,循環體內的指令多次被執行,所以有良好的時間局部性。
循環體中的指令是案順序執行的,有良好的空間局部性。
局部性的簡單原則:
1、重復引用同一個變量有良好的時間局部性
2、對於步長為k 的引用的程序,步長越小,空間局部性越小。步長為1 的引用具有良好的空間局部性。k越大,空間局部性越差。
3、對於取指令來說、循環有較好的時間和空間局部性。
三、緩存思想
使用高速緩存的過程稱為緩存
對於每一個k,位於k層的更快更小的存儲設備作為位於k+1層的更大更慢的存儲設備的緩存。
在解決問題前提下,命中率高的緩存比命中率低的緩存,在硬件投入上可能會比較小,同時緩存的數量比命中率低的緩存數量也可能少,這樣尋址的速度肯定比較快, 所以命中率高的緩存是好緩存。
緩存的命中率:
一個緩存的實體在被丟到緩存中後,在這個實體被緩存的期間(這個實體被緩存的生命周期內),如果外部一次都沒有使用過它,這個緩存實體的命中率就是0。這個實體被請求的次數越多,它的緩存命中率越高。
四、局部性原理和緩存思想在存儲層次結構中的應用
對於存儲器而言,存取速度越快的其成本越高。為了在成本和性能之間進行平衡,現代計算機體系架構往往選擇:使用少量性能高但成本也高的存儲器作為速度慢而成本也低的存儲器的緩存。成本越高的存儲器數量越少,但它們被設計為更靠近CPU,所以它們性能要比次級存儲器高的多。
由於上層存儲器是下層存儲器的緩沖,基於局部性原理,使用這種架構是正確的選擇。因為下層存儲器中的數據一旦被裝入上層存儲器,就很有可能被多次用到,此時CPU則可以在更靠近它的性能也更高的存儲器內找到其需要的數據,而不需要每次都要到離它更遠,性能也更低的存儲器內去存取它們。
教材學習中的問題和解決過程
- 問題1:
關於緩存命中率的理解不夠充分。
- 問題1解決方案:
關於緩存命中率:
小型網站可以全部數據緩存,一般壓力也不會很大,可以忽略緩存命中率問題。
大型服務無法全部數據緩存,只能部分數據緩存,這時候就需要架構師設計出對該業務邏輯適用的緩存方法,盡可能的提高緩存的命中率。
提高命中率的方法大多是跟業務邏輯捆綁的,需要跟具體問題具體分析 。
對於不能被內存緩存的數據,最簡單的提高性能方法就是使用文件緩存。
文件緩存可以把整個內容緩存成一個靜態文件;也可以是整個頁面的一個區域被緩存成一個文件,然後被包含;也可以是把一個實體序列化成XML文件進行緩存。
代碼調試中的問題和解決過程
- 問題1:
關於pwd的實現
如果目錄太深,則在循環中會出現不明確的問題。
- 問題1解決方案:
為保證目錄的正確性,限制目錄長度,若目錄太深,則提示。
代碼托管
結對及互評
本周結對學習情況
- [20155214](http://www.cnblogs.com/besti155214/p/7782336.html)
- 結對照片
- 結對學習內容
- 第六章內容。
- socket編程。
其他(感悟、思考等,可選)
1、計算機通過存儲系統的層次結構,在一定存儲空間的前提下,大大地提高了計算機的工作效率。
學習進度條
代碼行數(新增/累積) | 博客量(新增/累積) | 學習時間(新增/累積) | 重要成長 | |
---|---|---|---|---|
目標 | 5000行 | 30篇 | 400小時 | |
第三周 | 114/114 | 3/3 | 20/20 | |
第四周 | 136/250 | 2/5 | 18/38 | |
第五周 | 87/337 | 2/7 | 22/60 | |
第六周 | 271/608 | 2/9 | 30/90 | |
第七周 | 185/716 | 2/11 | 30/90 | |
第八周 | 531/1247 | 3/14 | 30/90 | |
第九周 | 439/1686 | 3/17 | 30/90 |
嘗試一下記錄「計劃學習時間」和「實際學習時間」,到期末看看能不能改進自己的計劃能力。這個工作學習中很重要,也很有用。
耗時估計的公式
:Y=X+X/N ,Y=X-X/N,訓練次數多了,X、Y就接近了。
參考:軟件工程軟件的估計為什麽這麽難,軟件工程 估計方法
計劃學習時間:25小時
實際學習時間:20小時
改進情況:
(有空多看看現代軟件工程 課件
軟件工程師能力自我評價表)
參考資料
- 《深入理解計算機系統V3》學習指導
- ...
2017-2018-1 20155216 《信息安全系統設計基礎》第九周學習總結