操作系统习题(部分)

操作系统练习解答


前言

综合统计一下之前做过的习题,加以更加细致的解析,来更好的理解知识点


一、虚拟存储器管理

在这里插入图片描述

  • 在整个缺页处理中,没有越界错误;需要操作系统做的置换页面以及为内存的分配。
  • 在请求分页存储管理时,整体的步骤应该为,首先给出逻辑地址,将逻辑地址分为两部分(页号+页内偏移量),将页号拿出来首先与页表寄存器中的页长进行比较,看会不会发生越界;然后与块表(TLB)中的信息比较,如果有相应的页号和物理块号的对应关系,那么修改对应页面的修改位和访问位,物理块号和页内偏移量形成物理地址(2);否则,需要去访问页表,如果页面在内存中,重复上述操作及可;否则需要CPU发出缺页中断,保护CPU现场,从外存中找到相应的缺页,再查看内存是否已满,那么调用页面置换算法选择一个页面换出,再看换出的页面是否修改,如果已修改,需要重新写回外存中去;然后操作系统将缺页从外存中读入内存,修改页表,在重复操作(2)。
  • 在这里插入图片描述

在这里插入图片描述

  • 综合计算时间(CPU)和IO时间的比例,应该将计算时间占比少的进程优先处理,这样可以使I/O设备最快可以使用,提高资源利用率,所以优先级应该设置为P3>P2>P1.
    在这里插入图片描述
  • 导致用户进程从用户态转换到内核态有三种情况:1.发生外部中断,I/O设备完成了一个进程的请求之后,会向CPU发送中断请求,CPU接受之后就会停止执行下一条指令,转去执行中断请求对应的进程;2.系统调用,用户态进程主动请求使用操作系统的相应服务程序,最经典的是fork函数执行的创建新进程的系统调用;3.异常,发生异常之后,进程就会转到处理异常情况的对应的特定内核态区域。
  • 由此可以知道整数除零操作(会发生中断)和read系统调用会导致该操作;而sin()函数调用在用户态就可以完成

在这里插入图片描述

  • 这里属于一个小常识,操作系统在开机之后会被加载到内存中——RAM
  • 补充一下计算机开机之后的所有操作:首先要了解的有两 个(一个是DISK(硬盘)存放OS,还有一部分存放Bootloader;另一个是BIOS:基本I/O处理系统);开机之后先激发POST(加电自检):检查显卡和执行BIOS。BIOS的作用是将Bootloader加载到内存中去,Bootloader存放在硬盘的第一个主引导扇区,占512byte;将Bootloader加载内存中后,由Bootloader掌权,将OS的数据和程序加载到内存中,之后操作系统掌权。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值