操作系統(tǒng)
1 給出一個并發(fā)程序的描述:
semaphore X1=X2=Y=1;
int c1=c2=0;
procedure f1:
p(X1)
if (++c1 = 1) p(Y)
v(X1)
compute A
p(X1)
if (--c1 = 0) v(Y)
v(X1)
procedure f2:
p(X2)
if (++c2 = 1) p(Y)
v(X2)
compute B
p(X2)
if (--c2 = 0) v(Y)
v(X2)
問computeA和computeB各自能有多少并發(fā)執(zhí)行,會不會出現餓死?
2 給出一個cpu的頻率,使用基于時間片的輪轉隊列調度,并給出了參數。求調度的效率和響應時間。
3 使用多級頁表,給出一些參數,如虛實地址空間大小、頁大小、頁表項大小等,問:
a) 多級頁表的優(yōu)點
b) 如果頁表限制在一個頁面里,問有多少頁表項?
c) 進程頁表占用多少內存?
4 把一個UNIX文件卷復制到另一個磁盤上,問:
a) UNIX文件卷由哪幾部分組成?
b) 只復制文件數據,包括目錄之后,不能訪問,為什么?
c) 終于搞好了之后,發(fā)現有重復的硬鏈接,為什么?
5 給出了一個使用pthread的程序代碼,里面系統(tǒng)調用包括fork(),thread(),join()等等,中間穿插print HELLO。問最后一共打印了多少個HELLO。