P3 2 1 1 2 2 2 P4 0 0 2 4 3 3
试给出Need,并说明当前系统是否处于安全状态,如果是,给出安全序列。如果不是,说明理由。 3.(9分)设某程序大小为1000个字,考虑如下访问序列:202,610,825,110,50,434,358,210,108,95,276,101 。页帧大小为100个字。 (1) 试给出访问串。
(2) 取出控制参数?=4时,分别给出用WS(working set )和VMIN(Variable Minimal replacement)两种算法控制该访问串时,驻留集的变化情况及页故障率。 4.(9分)在某段式系统中,某道作业被分成5个段,其段表如下: 段长 始地址
600 14 10058096 21923009013271952
现给出如下6个逻辑地址:(0,430),(1,10),(2,500),(3,400),(4,112)和(5,120),请分别求出它们的物理地址(若不能求出,说明理由)。
软件技术(含数据库原理、编译原理和操作系统原理) 操作系统原理命题标准答案、评分标准 一.(40分)操作系统部分
1. (共20分,每小题5分)回答如下问题:
(1) 设备独立性是指用户程序独立于所使用的具体物理设备。即用户只使用逻辑设备名。为实现设备独立性,系统应为每个用户进程配置1张用于联系逻辑设备名和物理设备名的映射表,表中一般应包含:逻辑设备名,物理设备名和驱动程序入口地址。 (2)
Var a , b , c , d , e , f , g : Semaphores ;{初始值都为0} Parbegin
begin S1; V(a) ; V(b) ; end
begin P(a) ; S2 ; S4 ; V(c) ; V(d) ; end begin P(b) ; S3 ; V(e) ; end begin P(c) ; S5 ; V(f) ; end
begin P(d) ; P(e) ; S6 ; V(g) end begin P(f) ; P(g) ;P(g) ; S7; end Parend
(3) 该解法不正确,违背了临界段问题的互斥准则。
例如:令turn = 1,当P0执行到第二个while do 语句并使之在此时中断,并P1执行,而P1要进入CS,并能成功地进入CS0,当P1正在CS执行时发生中断,进程P0执行,P0此时也能进入CS,导致P0、P1均进入各自的CS。
(4) 首先通过文件名在目录中找到该目录项,根据给出的逻辑块j,与文件长度(目录中)比较,如果j>文件长度则报错返回。否则,判 j>=510
如果是读入第一个索引块,用j作索引,由该索引块中可获得物理块地址。 如果 510<j <=1022
则由第一个索引块的最后一个字所指出的下一个索引块地址,读入该索引块,并用j作索引。由该索引块可获得物理块地址。依此类推。
2.(11分)
当前系统处于安全状态,安全序列如下求解: work = Available = (3 , 3 , 2 )
寻找 Needj <= work = ( 3 , 3 , 2 ) ( j = 0 , 1 , 2 , 3 , 4) j = 1 Need1 = (1 ,2 ,3 ) < = (3 , 3 , 2 ) work : = (3 , 3 , 2 ) (2 ,0 ,0 ) = (5 , 3 , 2 )
寻找 Needj <= work = ( 5 , 3 , 2 ) ( j = 0 , 2 , 3 , 4) j = 3 Need3 = (0 ,1 ,1 ) < = (5 , 3 , 2 ) work : = (5 , 3 , 2 ) (2 ,1 ,1 ) = (7 , 4 , 3 ) 寻找 Needj <= work = (7 , 4 , 3 ) ( j = 0 , 2 , 4) j = 4 Need4 = (4 ,3 ,1 ) < = (7 , 4 , 3 ) work : = (7 , 4 , 3 ) (0 ,0 ,2 ) = (7 , 4 , 5) 寻找 Needj <= work = (7 , 4 , 5) (j = 0 , 2 ) j = 2 Need2 = (6 ,0 ,0 ) < = (7 , 4 , 5 ) work : = (7 , 4 , 5 ) (3 ,0 ,2 ) = (10 , 4 , 7)
寻找 Needj <= work = (10 , 4 , 7) ( j = 0 ) j = 0 work : = (10 , 4 , 7 ) (0 ,1 ,0 ) = (10 , 5 , 7) 所以安全序列为<P1,P3,P4,P2,P0>。 3.(9分)
(1) 访问串为2,6,8,1,0,3,5,4,3,2,1,0,2,1 (2) WS
访问串 2 6 8 1 0 3 5 4 3 2 1 0 2 1
驻留集 2 2 2 2 0 0 0 0 3 3 3 3 1 1 6 6 6 6 3 3 3 5 5 1 1 0 0 8 8 8 8 5 5 4 4 4 0 2 2 1 1 1 4 2 2 2
------------------------------------------------------------------------------------------------------------- 大小 1 2 3 4 4 4 4 4 3 4 4 4 3 3 页故障 X X X X X X X X X X X 11次
VMIN
访问串 2 6 8 1 0 3 5 4 3 2 1 0 2 1
驻留集 2 6 8 1 0 3 3 3 3 2 2 2 2 1 5 4 1 1 1 0
------------------------------------------------------------------------------------------------------------- 大小 1 1 1 1 1 1 2 2 1 1 2 3 2 1 页故障 X X X X X X X X X X X 11次 4.(9分)
(0,430)物理地址 219+430=649 (1,10) 物理地址 2300+10=2310 (2,500) 500大于段长,越界,不能转换
(3,400) 物理地址 1327+400=1727
(4,112) 112>段长96不能转换,越界。 (5,120) 段号越界,不能转换。