資訊保安系統設計基礎家庭作業

2022-08-31 14:57:20 字數 2799 閱讀 8581

《深入理解計算機系統》家庭作業

答案:程序對

是否併發ab否

ac是ad是

bc是bd是

cd是

答案:a. 呼叫一次,返回兩次: fork

b. 呼叫一次,從不返回: execve, longjmp

c. 呼叫一次,返回一次或者多次: setjmp

答案:這個程式會輸出4個「hello」輸出行。

因為fork()函式的作用是呼叫一次返回兩次。根據條件i<2,當 i = 0 時,輸出2個hello,當 i = 1 時,輸出2個hello。所以輸出4個hello。

答案:這個程式會輸出8個「hello」輸出行。

因為程式定義了乙個doit()函式,裡包含了兩個fork(),fork()函式的作用是呼叫一次返回兩次,所以返回4次,輸出4個hello。main()函式中呼叫了doit()函式所以又輸出4個hello

,一共輸出8個hello。

答案:乙個可能的原因是,在第乙個訊號發給父程序之後,父程序進入handler,並且阻塞了sigusr2,第二個訊號依然可以傳送,然而,之後的3個訊號便會被拋棄了。因為是連續傳送,所以很可能是沒等上下文切換,這5個訊號就同時傳送了。所以只有2個訊號被接收。

** 9.14

答案:#include

#include

#include

#include

#include

int main()

int fd;

char *start;

fd = open("hello.txt", o_rdwr, 0); //開啟檔案

start = mmap(null, 1, prot_write, map_shared, fd, 0);

close(fd); 

if(start == map_failed) return -1;//判斷是否對映成功

答案:請求

塊大小塊頭部

答案:1) a

a、對於夥伴系統,如果要申請大小為33的空間,那麼需要分配64個空間。如果申請大小為65的空間,那麼塊大小就需要128,所以最多可能有約50%的空間被浪費。

b、最佳適配要搜尋所有空間,所以肯定比首次適配要慢一些。

d、其實任何分配器都可能有外部碎片,只要剩餘的空閒塊大小和足夠但是單個都不夠,就會產生外部碎片。

2) d

a、塊大小遞減,首次適配很容易找到,所以分配效能會很高。

b、最佳適配方法無論怎樣,都要搜尋所有的鍊錶(除非維護成塊大小遞增的鍊錶)。

c、是匹配的最小的。

d、塊大小遞增,那麼最佳適配法找到的塊和首次適配找到的塊是同乙個,因為最佳適配總是想找乙個剛好大於請求塊大小的空閒塊。

3) c

保守的意思就是所有可能被引用的堆都會被標記,int像指標,所以可能認為它表示的位址是正在被引用的(實際上它只是個int)。

彙總

* 8.9

* 8.10

* 8.11

* 8.12

** 8.23

** 9.14

* 9.15

* 9.19

共計:十分

資訊保安系統設計基礎期末總結

內容 部落格彙總 第四周讀書筆記 因為開始的時候編號從 第一周 開始,這裡為了和其他同學統一,跳過 第四周 直接寫 第五周 家庭作業 2.56 1 2.57 1 3.58 1.5 2 2.60 1 3 8.10 1 8.16 1 無附 小組內發言貼 學會的專業基礎能力 學會的實踐知識 學會的學習理念...

20145330 《資訊保安系統設計基礎》期中總結

期中總結 man k cheat grep test資料夾下有很多c原始檔,查詢main函式在哪個檔案中的命令是 grep main.c linux bash中,使用grep查詢當前目錄下.c中main函式在哪個檔案中的命令是 grep main c 查詢巨集 stdout fileno 的值的命令...

資訊保安系統設計基礎期中總結

搜尋指令 man k 例 man k k1 grep k2 grep 數字 搜尋同時含有k1 k2 最後的數字代表區段,常用的 1.linux 2.系統呼叫 3.c語言 vim指令 進入插入模式 i 退出插入模式 esc 命令列 儲存並退出 wq 只退出不儲存 q gcc與gdb gcc 預處理 g...