`

2013浙大878操作系统大题答案解析

 
阅读更多

 

需要2013年浙大878考研真题的朋友,请点击http://benworld.iteye.com/blog/2161062

 

整理了2013年浙大878考研的操作系统大题答案,

 

一、试分析大页面和小页面各自的优点。

下面仅给出了大小页面的分析,需要自己总结大小页面各自的优缺点,还是那句话,自己掌握了才是真正的掌握。

 

大页面的优点  当引用同一页面内其他数据时,地址转移的速度会很快。

不过使用大页面通常要较大的内存空间,而且必须用一个单独的保护项来映射,因此可能会造成出现错误而不引发内存访问违例的情况。

 

要确定最佳的页面大小需要在几个互相矛盾的因素之间进行权衡。从结果看,不存在全局最优。

 

首先,有两个因素可以作为选择小页面的理由。随便选择一个正文段、数据段或堆栈段很可能不会恰好装满整数个页面,

平均的情况下,最后一个页面中有一半是空的。多余的空间就被浪费掉了,这种浪费称为内部碎片(internal fragmentation)。

 

在内存中有n个段、页面大小为p字节时,会有np/2字节被内部碎片浪费。从这方面考虑,使用小页面更好。

 

选择小页面还有一个明显的好处,如果考虑一个程序,它分成8个阶段顺序执行,每阶段需要4KB内存。

如果页面大小是32KB,那就必须始终给该进程分配32KB内存。

如果页面大小是16KB,它就只需要16KB。

如果页面大小是4KB或更小,在任何时刻它只需要4KB内存。

总的来说,与小页面相比,大页面使更多没有用的程序保留在内存中

 

在另一方面,页面小意味着程序需要更多的页面,这又意味着需要更大的页表。

一个32KB的程序只需要4个8KB的页面,却需要64个512字节的页面。

 

内存与磁盘之间的传输一般是一次一页,传输中的大部分时间都花在了寻道和旋转延迟上,

所以传输一个小的页面所用的时间和传输一个大的页面基本上是相同的。

 

装入64个512字节的页面可能需要64×10ms,而装入4个8KB的页面可能只需要 4×12ms。

 

在某些机器上,每次CPU从一个进程切换到另一个进程时都必须把新进程的页表装入硬件寄存器中。

这样,页面越小意味着装入页面寄存器花费的时间就会越长,而且页表占用的空间也会随着页面的减小而增大

 

二、PV操作。

 

semaphore S1=1,S3=1,W=1;

P1:
P(S1)
  READ(F);
V(S1)

P2:
P(W)
  P(S1)
  P(S3)
	WRITE(F);
  V(S3)
  V(S1)
V(W)

P3:
P(S3)
  READ(F);
V(S3)
P(W)
  P(S1)
  P(S3)
	WRITE(F);
  V(S3)
  V(S1)
V(W)

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics