步步高
若有說明:int n=2,*p=&n,*q=p;則以下非法的賦值語句是:
a p=q; b *p=*q; c n=*q; d p=n;
答案: d
答案 ac
選項a:
我們將對共享記憶體進行訪問的程式片段稱為臨界區域(critical region)或臨界區,實現臨界區互斥的方案如peterson解法:本質思想當乙個程序想進入臨界區時,先檢查是否允許進入,若不允許,就原地等待直到允許為止。
考慮一台計算機有兩個優先順序不同的程序,乙個h的優先順序較高,l較低,排程規則規定只要h處於就緒態就會執行,如果l處於臨界區時h變為就緒態,比如剛剛結束了乙個i/o操作,由於h就緒時l不會被排程,如果h採用了忙等待,由於l不被排程它將一直處於臨界區,而h將一直等待下去,這也就是優先順序反轉的問題。
如果我們採用另一種策略,在乙個程序不能進入臨界區的時候將其掛起而不是進行忙等待,直到另乙個程序將其wakeup,那麼處於臨界區的就不會被中斷。
個人認為選項a沒有介紹互斥的策略,所以是錯的。
選項c:
任意時刻,由於程式區域性性,往往在乙個小的活動頁面集合上工作,叫做工作集,如果工作集的大小超過了物理儲存器的大小,那麼程式將出現thrashing,頁面將不斷換進換出。
所以c的解釋是不準確的。
系統引導的過程一般包括如下幾步:a.mbr中的引導裝載程式啟動;b.使用者登入;c.linux核心執行;d.bios自檢。正確的順序是()。
a.d,b,c,a
b.d,a,c,b
c.b,d,c,a
d.a,d,c,b
答案 b
#pragma pack(2)
typedef union date;
struct data too;
date max;
則語句 printf("%d",sizeof(struct date)+sizeof(max));的執行結果是:
答:date 是乙個 union, 變數公用空間. 裡面最大的變數型別是 int[5], 占用 20 個位元組. 所以它的大小是 20。
data 是乙個 struct, 每個變數分開占用空間. 依次為 int4 + date20 + double8 = 32.所以結果是 20 + 32 = 52.
對於乙個頭指標為head的帶頭結點的單鏈表,判定該錶為空表的條件是()
head==null
head->next==null
head->next==head
head!=null
答案 b
即使是空鍊錶也會有頭結點,頭結點是不儲存有效引數的,只是為了便於搜尋到相應的鍊錶,
head->next儲存的是首節點(第乙個有效節點)的,所以head->next==null的話,說明此鍊錶沒有首節點,即此鍊錶只有乙個頭結點,是空鍊錶。
linux核心空間位址空間占用範圍(rm-32位為例)()
linux的虛擬位址空間範圍為0~4g,linux核心將這4g位元組的空間分為兩部分,
將最高的1g位元組(從虛擬位址0xc0000000到0xffffffff)供核心使用,稱為「核心空間」。
而將較低的3g位元組(從虛擬位址0x00000000到0xbfffffff)供各個程序使用,稱為「使用者空間。
linux 核心鎖
DP 步步高公升
春節的時候tenshi去逛花市。她來到乙個賣盆竹的攤位,看到一盆叫做 步步高公升 的盆竹。步步高公升,步步高公升 學習就是要一步一步來,不能急,要打好基礎。在穩固的基礎上才談得上步步高公升!tenshi若有所思。她看到這盆東西好意頭,於是想買下。誰知一問價錢,不貴不貴,才 tenshi差點沒昏倒,囊...
SSL 步步高公升
春節的時候tenshi去逛花市。她來到乙個賣盆竹的攤位,看到一盆叫做 步步高公升 的盆竹。步步高公升,步步高公升 學習就是要一步一步來,不能急,要打好基礎。在穩固的基礎上才談得上步步高公升!tenshi若有所思。她看到這盆東西好意頭,於是想買下。誰知一問價錢,不貴不貴,才 tenshi差點沒昏倒,囊...
步步高公升 非遞迴
description 春節的時候tenshi去逛花市。她來到乙個賣盆竹的攤位,看到一盆叫做 步步高公升 的盆竹。步步高公升,步步高公升 學習就是要一步一步來,不能急,要打好基礎。在穩固的基礎上才談得上步步高公升!tenshi若有所思。她看到這盆東西好意頭,於是想買下。誰知一問價錢,不貴不貴,才 t...