試題1:現(xiàn)有的操作系統(tǒng)對進(jìn)程狀態(tài)的定義不盡相同,有的還引入了掛起(suspend)狀態(tài)。試簡要分析掛起狀態(tài)的意義。
試題2:下述關(guān)于雙進(jìn)程臨界區(qū)問題的算法(對編號為id的進(jìn)程)是否正確:
do{
blocked[id]=true;
while(turn !=id)
{
while(blocked[1-id])
turn=id;
}
編號為id的進(jìn)程的臨界區(qū)
blocked[id]=false;
編號為id的進(jìn)程的非臨界區(qū)
}while(true);
其中,布爾型數(shù)組blocked[2]初始值為{false,false},整型turn初始值為0,id代表進(jìn)程編號(0或1)。請說明它的正確性,或指出錯誤所在。
試題3:信號量如果只能取0或1為值,就變成了二元信號量。二元信號量更容易實(shí)現(xiàn)。而且,信號量可以由二元信號量替換。以下所列函數(shù)試圖用二元信號量操作waitB()和signalB()替換信號量wait()、signal():
wait(semaphore s)
{
waitB(mutex);
s=s-1
{
signalB(mutex);
waitB(delay);
}
else
signalB(mutex);
}
其中,用于互斥的二元信號量mutex初始化為1,用于進(jìn)程掛起的二元信號量dealy初始化為0。請指出該替換算法的錯誤所在。
試題4:已知某系統(tǒng)頁面長4K字節(jié),頁表項(xiàng)4字節(jié),采用多層分頁策略映射64位虛擬地址空間。叵限定最高層頁表占1頁,問它可以采用幾層分頁策略。
試題5:一進(jìn)程已分配到4個頁幀(page frame),如下表(所有數(shù)字都為10進(jìn)制數(shù),且以0開始)。
試題1:現(xiàn)有的操作系統(tǒng)對進(jìn)程狀態(tài)的定義不盡相同,有的還引入了掛起(suspend)狀態(tài)。試簡要分析掛起狀態(tài)的意義。
試題2:下述關(guān)于雙進(jìn)程臨界區(qū)問題的算法(對編號為id的進(jìn)程)是否正確:
do{
blocked[id]=true;
while(turn !=id)
{
while(blocked[1-id])
turn=id;
}
編號為id的進(jìn)程的臨界區(qū)
blocked[id]=false;
編號為id的進(jìn)程的非臨界區(qū)
}while(true);
其中,布爾型數(shù)組blocked[2]初始值為{false,false},整型turn初始值為0,id代表進(jìn)程編號(0或1)。請說明它的正確性,或指出錯誤所在。
試題3:信號量如果只能取0或1為值,就變成了二元信號量。二元信號量更容易實(shí)現(xiàn)。而且,信號量可以由二元信號量替換。以下所列函數(shù)試圖用二元信號量操作waitB()和signalB()替換信號量wait()、signal():
wait(semaphore s)
{
waitB(mutex);
s=s-1
{
signalB(mutex);
waitB(delay);
}
else
signalB(mutex);
}
其中,用于互斥的二元信號量mutex初始化為1,用于進(jìn)程掛起的二元信號量dealy初始化為0。請指出該替換算法的錯誤所在。
試題4:已知某系統(tǒng)頁面長4K字節(jié),頁表項(xiàng)4字節(jié),采用多層分頁策略映射64位虛擬地址空間。叵限定最高層頁表占1頁,問它可以采用幾層分頁策略。
試題5:一進(jìn)程已分配到4個頁幀(page frame),如下表(所有數(shù)字都為10進(jìn)制數(shù),且以0開始)。
虛擬頁號 頁幀 裝入時間 最近訪問時間 記問位 修改位
2 0 60 161 0 1
1 1 130 160 0 0
0 2 26 162 1 0
3 3 20 163 1 1
當(dāng)進(jìn)程訪問第4頁時,產(chǎn)生缺頁中斷。請分別用FIFO(先進(jìn)先出)、LRU(最近最少使用)、NRU(最近不用)算法,決定缺頁中斷服務(wù)程序選擇換出的頁面。
試題6:現(xiàn)代操作系統(tǒng)必須支持多種文件系統(tǒng)類型(如CD-ROM的ISO9660、DOS的FAT等)。若要求用如下所示的file_system_type結(jié)構(gòu)描述文件系統(tǒng)類型,用vfsmount結(jié)構(gòu)描述一個已安裝(mount)的文件系統(tǒng):
struct file_system_type {
struct super_block *(*read_super) (struct super_block *, void *, int);
/* read_super所指的函數(shù)用于讀出該文件系統(tǒng)在外存的超級塊 */
const char *name; /*所描述文件系統(tǒng)的類型名,如FAT */
int requires_dev; */支持文件系統(tǒng)的設(shè)備 */
struct file_system_type * next; */指向另一種文件系統(tǒng)類型 */
};
struct vfsmount{
kdev_t mnt_dev; /* 文件系統(tǒng)所在設(shè)備的主設(shè)備號、次設(shè)備號*/
char *mnt_devname; /*設(shè)備名,如/dev/hdal */
unsigned int mnt_flage; /*安裝目錄名稱 */
struct semaphore mnt_sem; /*設(shè)備標(biāo)志,如ro */
struct super_block *mnt_sb; /*對設(shè)備I/O操作時的信號量 */
struct file *mnt_quotas[MAXQUOTAS]; /*指向超級塊 */
struct file *mnt_quotas[MAXQUOTAS]; /* 指向配額文件的指針 */
time_t mnt_iexp[MAXQUOTAS]; /*inode有效期 */
time_t mnt_bexp[MAXQUOTAS]; /*數(shù)據(jù)塊有效期 */
struct vfsmount *mnt_next; /*指向另一個已注冊的文件系統(tǒng) */
};
式設(shè)計一套數(shù)據(jù)結(jié)構(gòu),以描述一操作系統(tǒng)已經(jīng)安裝的文件系統(tǒng)及其類型(答題時,如已知條件不夠,請作必要補(bǔ)充)。
《計算機(jī)組成》部分試題
1.CPU結(jié)構(gòu)如圖所示,其中有一個累加寄存器AC,一個狀態(tài)寄存器和其他四個寄存器,各部分之間的連線表示數(shù)據(jù)通路,箭頭表示傳送方向。
1)、標(biāo)明圖中四個寄存器的名稱:
2)簡述指令從主存取到控制器的數(shù)據(jù)通路;
3)簡述數(shù)據(jù)在運(yùn)算器和主存之間進(jìn)行存取訪問的數(shù)據(jù)通路
2、假設(shè)有一具有4個過程段的流水線浮點(diǎn)加法器,每個過程段所需的時間為:
(1) 求階差T1=60ns;(2) 對價T2=50ns;(3) 相加T3=90ns;(4) 規(guī)格化T4=80ns;
(5) 緩沖寄存器R的延時TR=10ns
1)、求該4級流水線加法器的加速比為多少?2)、如果每個過程段的時間都相同,即都為75ns(包括緩沖寄存器時間),求加速比是多少
3、選擇題
1)用n+1位字長(含一位符號位)表示原碼定點(diǎn)整數(shù)時,所能表示的數(shù)值范圍是 ;用n+1位字長(含一位符號位)表示原碼定點(diǎn)小數(shù)時,所能表示的數(shù)值范圍是 ;
A、0≤|N|≤2n B、0≤|N|≤2n+1-1 C、1≤|N|≤2n-1-1
D、1≤|N|≤2n-1 E、0≤|N|≤1-2-n F、0≤|N|≤1-2-(n-1)
2)采用DMA方式傳送數(shù)據(jù)時,每傳送一個數(shù)據(jù)時就要占用 的時間。
A、一個指令周期;B、一個機(jī)器周期;C、一個存儲周期;D、一個總線周期;
3)存儲周期是 。
A、存儲器的讀出時間;B、存儲器的寫入時間;
C、存儲器進(jìn)行連續(xù)兩次存儲操作所需間隔的最小時間;D、存儲器的讀出和寫入時間的平均值;
4)同步控制是 。
A、只適合于CPU控制的方式;B、只適合于外部設(shè)備控制的方式;
C、由統(tǒng)一時序信號控制的方式;D、所有指令執(zhí)行時間都相同的方式;
5)指令周期是 。
A、CPU從主存取出一條指令的時間;B、CPU執(zhí)行一條指令的時間;
C、時鐘周期時間;D、CPU從主存取出一條指令加上執(zhí)行一條指令的時間;
4、已知Y=-0.0101,機(jī)器數(shù)據(jù)用雙符號表示。(1)、求[Y]補(bǔ);(2)、求 補(bǔ);(3) 某 補(bǔ)。
5、某機(jī)訪內(nèi)指令格式如下,PC為程序計數(shù)器,OP為操作碼,Ri為寄存器號,I為間接標(biāo)志,X為尋址模式,D為形式地址,請在下表最后一欄中填入尋址方式名稱。
0 1 2 3 4 5 6 7 8 15
OP Ri I X D
I X 有效地址 尋址方式名稱
0 00 E=D
0 01 E=PC+D
0 10 E=R2+D
0 11 E=R3
1 00 E=(D)
1 01 E=(PC+D)
1 10 E=(R2)
1 11 E=(R3+D)
6、下圖為一處理機(jī)的結(jié)構(gòu)圖,各部件上注明了微操作所對應(yīng)的微命令,試用這些微命令描述以下三條機(jī)器指令的工作流程(包托取指令和執(zhí)行指令)(15分)(注:I為間接訪問,D1-D3形式地址)
指令助記憶符
ADD AC,D1 ST AC,I,D2 JMP D3 JMP D3
功能描述
(AC)+(D1)>AC (AC)>((D2))
轉(zhuǎn)到D3單元執(zhí)行