408 OS真题带做--------2015.45.46

 

 信号量初值

Semaphore A_full=x;       //A信箱初始有x个邮件
Semaphore A_empty=M-x;    //A信箱初始还有M-x个邮件的容量
Semaphore B_full=y;       //B信箱初始有y个邮件
Semaphore B_empty=N-y;    //B信箱初始还有N-y个邮件的容量
Semaphore A_mutex=1;      //对A信箱必须要互斥访问
Semaphore B_mutex=1;      //对B信箱必须要互斥访问
A(){
   while(true){
   P(A_full);
   P(A_mutex);
   从A的信箱中取一个邮件;
   V(A_mutex);
   V(A_empty);
   回答一个问题并提出一个新问题;
   P(B_empty);
   P(B_mutex);
   将新邮件放入B的新信箱;
   V(B_mutex);
   V(B_full);
   }
}
B(){
   while(true){
   P(B_full);
   P(B_mutex);
   从B的信箱中取一个邮件;
   V(B_mutex);
   V(B_empty);
   回答一个问题并提出一个新问题;
   P(A_empty);
   P(A_mutex);
   将新邮件放入A的新信箱;
   V(A_mutex);
   V(A_full);
   }
}

 (1)页的大小有2^12B=4KB,页框大小2^12B=4KB,进程的虚拟地址空间大小为2^20=1M页

 (2)页目录的大小为4B*2^10=2^12B=4KB,则页目录一共占一页,一个页目录对应着2^10=1024个页表,一个页表大小为2^10*4B=4KB占1页,则进程的页目录和页表一共占1024+1=1025页

 (3)进行地址转换时,访问虚拟地址0100 0000H和0111 2048H,两个地址的页目录号均为0000 0001 00B,则进行地址转换时只访问了一个二级页表.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值