操作系统应用题

缺页问题

先进先出 - FIFO
  • 如果不存在,替换掉最长的
    在这里插入图片描述
最佳置换算法 - OPT
  • 被淘汰的页面将是在未来最长时间内不再被访问的页面
    在这里插入图片描述
最近最少使用 - LRU
  • 在左边离他最远的
    在这里插入图片描述
例题
  • 例1:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

计算物理地址

  • 求出页号
  • 对照页表
  • 计算地址
    在这里插入图片描述
例题:
  • 例1:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 例2:
    在这里插入图片描述
    在这里插入图片描述

银行家算法

  • 判断系统是否死锁
  • 提供安全序列
    在这里插入图片描述
判断在T0时刻的安全性
  • 因为这5个进程都是可以执行的,所以这个系统是安全的
  • 如果让给安全序列,就是P1 P3 P4 P2 P0
  • 只要最后算出来的是10 5 7,和题目中给的是一样的,就证明你没有算错
    在这里插入图片描述
一个英文例题:计算安全序列

在这里插入图片描述

XX请求资源

在这里插入图片描述
在这里插入图片描述

  • 如果P1请求资源成功了,以后再请求资源,就不能用最上面那张表做了,得用更改后的表来做
    在这里插入图片描述

磁盘调度

先来先服务 - FCFS
  • 将到达时间顺序抄下来
  • 磁头移动顺序就是:读写磁头最初位于柱面值 + 到达时间
    在这里插入图片描述
最短寻道时间优先 - SSTF
  • 看跟谁近就移动到谁
    在这里插入图片描述
扫描算法 - SCAN

在这里插入图片描述

循环扫描算法 - C-SCAN

在这里插入图片描述

例题:
  • 例1:
    在这里插入图片描述
    在这里插入图片描述
  • 例2:
    在这里插入图片描述
    在这里插入图片描述

进程调度

  • 等待时间 = 开始时间 – 到达时间
    在这里插入图片描述
  • 周转时间 = 结束时间 – 到达时间
  • 带权周转时间 = 周转时间 / 执行时间
    在这里插入图片描述

在这里插入图片描述

先来先服务 - FCFS

在这里插入图片描述
在这里插入图片描述

短作业优先 - SJF

在这里插入图片描述

  • 非抢占:
    在这里插入图片描述
  • 抢占:
    在这里插入图片描述
    在这里插入图片描述
高相应比优先 - HRRN

在这里插入图片描述
在这里插入图片描述

例题:

在这里插入图片描述

  • 先来先服务
    在这里插入图片描述
    在这里插入图片描述
  • 优先级调度算法:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
  • 时间片轮转算法:
    在这里插入图片描述
    到某一个任务执行结束的时候停
    在这里插入图片描述
  • 短进程优先调度算法:
    在这里插入图片描述

有效访问时间EAT

在这里插入图片描述

吃水果问题

  • 例1:
    在这里插入图片描述
    struct semaphore s, sp, so = 1, 0, 0;
    begin
    void father(void){
    	while(TRUE){
    		have an apple;
    		P(s);
    		put an apple;
    		V(sp);
    	}
    }
    
    void mother(void){
    	while(TRUE){
    		have an orange;
    		P(s);
    		put an orange;
    		V(so);
    	}
    }
    
    void son(void){
    	while(TRUE){
    		P(so);
    		get an orange;
    		V(s);
    		eat an orange;
    	}
    }
    
    void daught(void){
    	while(TRUE){
    		P(sp);
    		get an apple;
    		V(s);
    		eat an apple;
    	}
    }
    
  • 例2:
    在这里插入图片描述
    int S=1;
    int Sa=0;
    int So=0;
    main(  )
    { 
    	cobegin
    	father();
    	son();
    	daughter();
    	coend
    }
    father()
    {  
    	while(1)
    	{ 
    	     P(S );
    		 将水果放入盘中;
    		 if (放入的是桔子) V(So);
    		 else V(Sa);
    	}
    }
    son(  )
    {
        while(1)
    	{
    	    P(So);
    		从盘中取出桔子;
    		V(S);
    		吃桔子;
    	} 
    }
    daughter( )
    { 
    	while(1)
    	{
    		P(Sa);
    		从盘中取出苹果;
    		V(S);
    		吃苹果;
    	}
    }
    
    

文件相关

例题:
  • 例1:
    在这里插入图片描述
  1. D中没有A,故可以
  2. 不可以
  • 例2:
    在这里插入图片描述
  • 例3:
    在这里插入图片描述

进程

例题:
  • 例1:
    在这里插入图片描述
    在这里插入图片描述
  • 例2:
    在这里插入图片描述
  • 例3:
    在这里插入图片描述
  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值