用戶【yummy】點評問題和點評內容

【評論主題】4 假設一個小型電腦系統有 4 個實體記憶體頁框(page frames),使用虛擬記憶體(virtual memory)機制和最近罕用頁置換法(least recently used,LRU)的分頁

【評論內容】

步驟1.

0頁框1 : 0 一次

步驟2.

1頁框2 : 1 兩次

步驟3.

7頁框3 : 7 三次

步驟4.

2頁框4 : 2 四次  (目前四個記憶體頁框已滿)

=============================

步驟5.

尋早最久未更新頁框 , 找到頁框1

0頁框1 (已存在0,未更新)

步驟6.

尋早次久未更新頁框 , 找到頁框2

4頁框2 (1更新為4) 五次

步驟7.

尋找次久未更新頁框, 找到頁框3

1頁框3 (7更新為1) 六次

步驟8.

尋找次久未更新頁框, 找到頁框4

2頁框4 (已存在4,未更新)

步驟9

尋找次久未更新頁框,找到頁框1

7頁框1(0更新為7)七...

【評論主題】10.下列以 C 程式語言撰寫之程式執行後產生之輸出為何? (A) 0 (B) 1 (C) 2 (D) 3

【評論內容】

依自己想法,若有錯誤請指正,謝謝

題目應該是小陷阱,if else判斷式會找最近的兩個在一起

就是題目重寫成:

if (x<=y ) 

    if (y=x<0)

    x=x+1;

    else

    x=y+3;

printf("%dn",x-y);

最一開始的if(x<=y)不成立,便直接執行printf中的x-y

得到10-8=2

【評論主題】10.下列以 C 程式語言撰寫之程式執行後產生之輸出為何? (A) 0 (B) 1 (C) 2 (D) 3

【評論內容】

依自己想法,若有錯誤請指正,謝謝

題目應該是小陷阱,if else判斷式會找最近的兩個在一起

就是題目重寫成:

if (x<=y ) 

    if (y=x<0)

    x=x+1;

    else

    x=y+3;

printf("%dn",x-y);

最一開始的if(x<=y)不成立,便直接執行printf中的x-y

得到10-8=2

【評論主題】36 下列以 C 程式語言撰寫之程式執行後產生之輸出為何?   (A)3 (B)5 (C)7 (D)本程式編譯時,編譯器(Compiler)發出錯誤訊息,不能執行而無輸出結果產生

【評論內容】

x1 代表x的值往左移一位, x原本為2 , 即(00102) 左移一位成為(00012)

x<<1 代表x的值往右移一位, x原本為2 , 即(00102) 右移一位成為(01002)

0001|0100代表0001與0100以or計算,得到0101,即選項(B).5

【評論主題】4 假設一個小型電腦系統有 4 個實體記憶體頁框(page frames),使用虛擬記憶體(virtual memory)機制和最近罕用頁置換法(least recently used,LRU)的分頁

【評論內容】

步驟1.

0頁框1 : 0 一次

步驟2.

1頁框2 : 1 兩次

步驟3.

7頁框3 : 7 三次

步驟4.

2頁框4 : 2 四次  (目前四個記憶體頁框已滿)

=============================

步驟5.

尋早最久未更新頁框 , 找到頁框1

0頁框1 (已存在0,未更新)

步驟6.

尋早次久未更新頁框 , 找到頁框2

4頁框2 (1更新為4) 五次

步驟7.

尋找次久未更新頁框, 找到頁框3

1頁框3 (7更新為1) 六次

步驟8.

尋找次久未更新頁框, 找到頁框4

2頁框4 (已存在4,未更新)

步驟9

尋找次久未更新頁框,找到頁框1

7頁框1(0更新為7)七...

【評論主題】18 假設一整數(integer)占 4 bytes,且不考慮位址對齊(address alignment)的問題,以下的一個 struct_a占多少個 bytes? (A)4 (B)8 (C) 12

【評論內容】

union所包含的成員變數是共用記憶體空間,且所需的記憶體大小由最大的的成員變數決定,

此處union所包含成員變數皆為int,由題目告知一個int為4bytes

原本的int x加上union即4bytes+4bytes=8bytes

【評論主題】10.下列以 C 程式語言撰寫之程式執行後產生之輸出為何? (A) 0 (B) 1 (C) 2 (D) 3

【評論內容】

依自己想法,若有錯誤請指正,謝謝

題目應該是小陷阱,if else判斷式會找最近的兩個在一起

就是題目重寫成:

if (x<=y ) 

    if (y=x<0)

    x=x+1;

    else

    x=y+3;

printf("%dn",x-y);

最一開始的if(x<=y)不成立,便直接執行printf中的x-y

得到10-8=2

【評論主題】3. 某布林函數(Boolean function)具有隨意條件(don't-care condition) d,如下所示:F(w, x, y,z) = ∑(0,1,3,4,5,7,8,11,12),

【評論內容】

附上自己的想法讓人參考,若有誤請指正

因為最小項2為可有可無,因此畫圖時可以看到忽略不併入也可以

符合選項B,不包含最小項2,但包含最小項15