close

下面全部單選,請選出最正確的答案

(  )1.關於多重處理器的快取,下列何者正確? 
(1) 可能會有cache coherence problem的問題,多半會選擇用"廣播"的方式,處理快取的不一致性
(2) 對於一般資料而言,可以減少latency
(3) 如果其中有一個處理壞掉了,對於共享資料而言,會增加memory bandwith
(4) 對於共享資料而言,其減少了interconnection bandwidth
(5) 其他四個敘述全部錯誤

(  )2.關於multiple-issue processor下列敘述者正確? 
(1) 動態式的超純量機雖無推測機制,但在大部分的嵌入式系統之中多有斬獲
(2) VLIW的危障偵測主要是硬體
(3) 程式碼序列平性化其中的一個優點就是可以讓功能單元保持滿載
(4) 推測機制並不具備錯誤時的回復能力
(5) register renaming可以是靜態的由硬體來完成,或是動態的由編譯器完成

(  )3.下面有一段程式碼

#define EFLAGS_AC_BIT 0x00040000
#define CR0_CACHE_DISABLE 0x60000000

unsigned int memtest(unsigned int start, unsigned int end)
{
 char flg486 = 0;
 unsigned int eflg, cr0, i;

 eflg = io_load_eflags();
 eflg |= EFLAGS_AC_BIT; 
 io_store_eflags(eflg);
 eflg = io_load_eflags();
 if ((eflg & EFLAGS_AC_BIT) != 0) {
 flg486 = 1;
 }
 eflg &= ~EFLAGS_AC_BIT; 
 io_store_eflags(eflg);

 if (flg486 != 0) {
 cr0 = load_cr0();
 cr0 |= CR0_CACHE_DISABLE; ............(甲)
 store_cr0(cr0);
 }

 i = memtest_sub(start, end);

 if (flg486 != 0) {
 cr0 = load_cr0();
 cr0 &= ~CR0_CACHE_DISABLE; ............(乙)
 store_cr0(cr0);
 }

 return i;
}

關於上述的程式碼,下列何者正確?

(1) 程式碼中的(甲)(乙)若寫上註解就是//允許快取運作
(2) intel的386其cache memory大小為8~16KB
(3) 這隻程式的目的在於檢查CPU的是不是在486以上
(4) cache memory在進行RAM的檢查時仍正常地運行當中
(5) 如果是386,即使設定AC=0,AC的值仍然會自動回到1

(  )4.下面實現申請鎖操作arch_spin_lock

static inline void arch_spin_lock(arch_spinlock_t *lock)
{
 arch_spinlock_t old_lock;
 
lock->tickets.next++;....................................................(甲)
old_lock.slock = lock->slock;........................................(乙)
 while (old_lock.tickets.next != old_lock.tickets.owner){...(丙)
 wfe(); .......................................................................(丁)
 old_lock.tickets.owner = lock->tickets.owner;...............(戊)
 }

根據上面的程式碼,下列敘述何者正確?

(1) (丁)代表的是Walk-forward efficiency,及意味著若目前還未輪到自己,則下一步選擇休眠
(2) 在鎖操作之中,休眠的作法是唯一的選擇
(3) 釋放鎖的操作就是使用sev()即可
(4) (戊)的動作就是前台已經為上一個顧客辦理完成業務,剩下排隊的顧客都要抬頭看一下顯示屏是不是輪到自己了
(5) (甲)(乙)先後兩個動作就是顧客從取號機器得到排隊號後,取號機器更新下個顧客將要拿到的排隊號

(  )5.關於fixmap address,下列何者正確 
(1) 在kernel啟動初期,我們藉著使用ioremap接口創建虛擬地址和物理地址的映射
(2) fixmap區域是地址空間範圍從FIXADDR_START到FIXADDR_TOP結束, FIXADDR_SIZE是temporary fixed addresses區域的大小
(3) kernel正常運作時,運作temporary fixed addresses的資料必須是特權指令的
(4) FIX_FDT是給dtb創建映射的區域。例如需要得到FDT的虛擬地址,即可以利用__virt_to_fix(x)得到虛擬地址,也就是運作(FIXADDR_TOP - ((x) << PAGE_SHIFT))
(5) Device Tree Blob中包含bootloader傳遞過來的內存信息,而我們得到的是Device Tree Blob的物理地址

(  )6.關於實體記憶體的管理,Linux將實體記憶體標示成四個不同的區域

1.ZONE_DMA
2.ZONE_DMA32
3.ZONE_NORMAL
4.ZONE_HIGHMEM

有關這四個標示,下列何者正確?

(1) 某些裝置實體記憶體其開頭只能有4GB,而這些系統開頭的8GB實體記憶體組成ZONE_DMA32
(2) Linux將實體記憶體分割成四個不同的儲存區
(3) 在32位元Intel架構中,核心映對到位置空間的前16MB即為ZONE_HIGHMEM
(4) 在32位元Intel架構中,核心映對到位置空間的前896MB即為ZONE_HIGHMEM
(5) 在Intel x86-32架構之中,特定ISA(工業標準架構)裝置使用的DMA只能存取低於16MB的實體記憶體

(  )7.關於Buddy System,請從下列敘述中選出正確答案?

(1) Buddy System相鄰兩塊未使用的空間一定可以coalescing成一塊更大的
(2) coalescing是Buddy System的優點之一
(3) 如果有13KB的需求,則配置單位的約60%被浪費掉
(4) Buddy System其中一個缺點就是外部碎裂問題
(5) 如果有13KB的需求,至少選擇32KB

(  )8.下面是一個關於作業系統"透明圖層"的程式碼

struct SHEET {
     unsigned char *buf;
     int bxsize, bysize, vx0, vy0, col_inv, height, flags;
};

下面是一個管理多重圖層資訊的結構

#define MAX_SHEETS     256
struct SHTCTL {
     unsigned char *vram;
     int xsize, ysize, top;
     struct SHEET *sheets[MAX_SHEETS];
     struct SHEET sheets0[MAX_SHEETS];
};
請示著選出正確答案?

(1) 所有的sheet0所占空間是8KB
(2) 最大能夠管理的圖層數是255張
(3) xsize和ysize是每一個圖層在畫面上的位置座標
(4) sheet0[255]所占空間是8KB
(5) 所謂"col_inv"是column和invisible的縮寫

(  )9.字元組(Character Class)是正規表示法最基本的結構之一,下列關於字元組的敘述何者正確? 
(1) 在ASCII之中,字元"0"碼值為46,而字元"a"碼值為97
(2) 若要統一表示數字字元,小寫字母,大寫字母,則可以用[0-z]表示
(3) [0123456789]等同於[0246897531123]也等同於[9-0]
(4) 若要統一表示數字字元,小寫字母,大寫字母,則可以用[0-Z]表示
(5) 若有一程式碼 charStr=="0" || charStr=="1" ||...|| charStr=="9" 在java中可以用下面程式碼判斷數字字元 Regix.IsMatch(charStr, "[0-9]");

(  )10.關於在Linux作業系統上的Message Queue,下列敘述何者正確? 
(1) 在程式中可以透過semget(),msgget()或shmget()分別取得共用記憶體,訊息,信號的IPC代號,之後可以透過這個代號來是使用IPC資源
(2) Linux中所有的IPC相關函式,不管直接還是間接,都是透過ipc()這個command完成的,而非是系統呼叫
(3) 當struct msg_msg大小大於一個分頁時,超過的部分將會使用另一個結構msg_msgseg來儲存
(4) socket是屬於IPC(Inter Process Communication)的範圍
(5) 由於一個行程可能會要求多個相同的IPC資源,所以每個IPC資源都有一個identifier

 

參考答案

1.(4) 2.(3) 3.(3) 4.(4) 5.(5) 6.(5) 7.(2) 8.(1) 9.(2) 10.(3)

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 yank 的頭像
    yank

    yank讀書心得

    yank 發表在 痞客邦 留言(0) 人氣()