1.谈谈什么是局部性原理?
答:
局部性原理表现在两个方面。
一是时间局部性,如果程序中的某条指令被执行,可能在不久之后该指令被再次执行;如果某个数据被访问,可能在不久之后该数据再次被访问。产生时间局部性的主要原因是程序中存在大量的循环操作。
二是空间局部性,一旦程序访问了某个存储单元,在不久之后,其附近的存储单元也可能被访问。因为指令通常是顺序存放顺序执行的,数据也一般以数组,表等形式顺序存储。
2.谈谈对虚拟存储器的了解?
答:
基于局部性原理,在程序装入时可以先将程序的一部分装入内存,其余部分先留在外存。程序执行过程中,当要访问的信息不在内存时再由操作系统将所需要的部分调入内存,然后继续执行。同时操作系统将内存中暂时不使用的内容换到外存上,从而腾出空间给需要调入的信息。这样系统就好像为用户提供了一个比实际内存大很多的存储器,称为虚拟存储器。
实现方式一般有请求分页,请求分段,请求段页式存储管理。
3.操作系统内核态和用户态的区别?
答:
①系统态可以运行操作系统程序访问计算机的任何资源,用户态只能运行应用程序读取用户程序数据。
②现代操作系统将CPU的指令集分为特权指令与非特权指令两种。特权指令只允许操作系统使用,不允许应用程序使用,所以只能在系统态运行。而非特权指令只能完成一般操作,能在用户态运行。
③ 用户态切换到内核态–>中断、异常、陷入
内核态切换到用户态–>设置程序状态字
陷入指令(访管指令)
4.进程有哪些状态?
答: ①创建状态,创建进程控制块PCB,申请所需资源并将进程转为就绪态插入就绪队列中。
②就绪状态,进程已经做好运行准备,已分配到除CPU外所有的必要资源,只需获得CPU即可执行。 ③运行状态,进程获取CPU后处于执行状态。
④阻塞状态,正在执行的进程由于发生某些事情(如:I/O请求等)导致
暂时无法继续运行,操作系统会把CPU分配给另一个就绪的进程,受阻的进程处于阻塞态。
⑤终止状态,进程执行完成或者发生异常将进入终止状态不再执行。
5.线程之间互斥的方法
6.上锁有哪些方法
7.进程间通信方式