20155335 俞昆 第十周作业
生活随笔
收集整理的這篇文章主要介紹了
20155335 俞昆 第十周作业
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Linux內存共享有多種,如mmap()、Posix共享內存、System V 共享內存。
1>mmp()通過映射一個普通文件實現共享內存,具有文件實體,shmget()對應文件在內存中,無文件實體。
2>mmp()不建議使用疊加方式共享,shmget()用于多個進程間交換數據。
3>mmp() shmget() 進程重啟后共享內存中的數據都不會丟失;但是機器重啟后只有mmp()方式的共享內存可以保存數據
4>mmap()接口更簡單,通用性也更高。
Linux下IPC機制
- IPC在linux下的某些進程間的通信機制,它是多個進程之間相互溝通的一種渠道。
- 在linux下有以下幾種種進程間通信的方法:半雙工管道、命名管道、消息隊列、信號、信號量、共享內存、內存映射文件,套接字等等。
- 使用這些機制可以為linux下的網絡服務器開發提供便捷和靈活而又頑固的框架
-
共享內存:允許兩個或N個進程共享一定的存儲區域,因為不需要拷貝數據,所以這是最迅速的一種IPC。
-
課上測試
- 解析:填充消除了沖突不命中,對于x和y數組,只有在引用第0個和第4個元素的時候發生不命中。因而命中率為75%。
- 解析:高速緩存容量為2048,高速緩存結構為(( 32 ),8,8,32)
- 解析:不同層之間是以塊為大小傳輸單元在層與層之間復制,空緩存的不命中叫強制性不命中或冷不命中
- 解析:存儲器層次結構的叫第一層的數據緩存到較高一層。緩存存儲器是分區域的,數據總是以塊為基本單位在每一層之間傳遞,塊的大小只在相鄰傳遞的兩層之間相同
7.下面代碼中()局部性最差
1A
1 void clear1(point *p, int n) 2 { 3 int i, j; 4 5 for (i = 0; i < n; i++) { 6 for (j = 0; j < 3; j++) 7 p[i].vel[j] = 0; 8 for (j = 0; j < 3; j++) 9 p[i].acc[j] = 0; 10 } 11 }B
1 void clear2(point *p, int n) 2 { 3 int i, j; 4 5 for (i = 0; i < n; i++) { 6 for (j = 0; j < 3; j++) { 7 p[i].vel[j] = 0; 8 p[i].acc[j] = 0; 9 } 10 } 11 }C
1 void clear3(point *p, int n) 2 { 3 int i, j; 4 5 for (j = 0; j < 3; j++) { 6 for (i = 0; i < n; i++) 7 p[i].vel[j] = 0; 8 for (i = 0; i < n; i++) 9 p[i].acc[j] = 0; 10 } 11 }D. 不確定
- 正確答案: C
- 解析:函數clear1步長為1,clear2服從步長大于1的模式,clear3在結構間可以來回切換,可以說空間局部性中clear3是最差的
- 解析:循環具有良好的空間局部性和時間局部性。
- 解析:程序訪問某個向量,步長越小或短,空間局部性越好
- 解析:磁盤以扇區大小的塊來讀寫數據。
- 解析:服從公式磁盤容量=柱面數 * 磁盤面數 * 扇區數 * 字節數=4x2x100000x400x512=163.84GB
- 解析:每個扇區包含相等數量的數據位(通常是512字節)
- 解析:用來傳輸數據的總線線路可以分為三個類型:數據線、地址線和控制線
- 解析:DRAM、SRAM是易失性存儲器,PROM可以用紫外線進行消除
- 解析:RAM分為靜態SRAM和動態DRAM。SRAM快于DRAM
- SRAM(靜態):高速緩存存儲器。將每個位存儲在一個雙穩態的存儲器單元里面。
- DRAM(動態):將每個位存儲為對一個電容的充電。存儲單元對干擾(如光線、噪音等)很敏感;當電容的電壓被打擾之后就再次不會恢復。
- 解析:程序
轉載于:https://www.cnblogs.com/xieboke/p/7901074.html
總結
以上是生活随笔為你收集整理的20155335 俞昆 第十周作业的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Mistakes(Updating)
- 下一篇: gnuradio 使用eclipse 编