一、某系统采用分页存储管理(Paging),页长(Page Size)为 1K(1024),该进程分页后 0、一、2三页分别装入到主存的 一、二、4 帧(Frame)。现有一逻辑地址(Logical Address)为 2048,页 内地址(Page Offset)为( )。
答案 : 0
页号 = 逻辑地址 / 页长
页内地址 = 逻辑地址 % 页长算法
二、假设5 个进程 P0、 P一、 P二、 P三、 P4 共享三类资源 R一、 R二、 R3,这些资源总数分别为1八、 六、 22。 T0 时刻的资源分配状况以下表所示,此时存在的一个安全序列是( )。安全
答案:D
资源总数为18.6.22,以及分配资源之和为16.3.19,故可用资源为2.3.3;
线程的所需资源 = 资源最大需求 – 已分配资源
故五个线程所需资源为:2,2,7;1,3,3;0,0,6;2,2,1;1,1,0
因为安全序列进程所需资源需在可用资源里面获取,故第一个进程应为P1,P3或
P4,故AC错,当第一个进程为P1时,当P1运行完毕释放它所占有的所有资源,
可用资源变为6.3.6,因为P0所需资源为2.2.7,故不能知足,B错。编辑器
三、用于解决CPU指令乱序、编译器重排、多CPU内存同步等带来的问题的机制是?
答案:内存屏障
内存屏障:也称内存栅栏,屏障指令等,是一类同步屏障指令,使得cpu或编译器在
对内存随机访问中的一个同步点,使得此点以前的全部读写操做都执行完才能够开始
执行此点后的操做。
大多数现代计算机为了提升性能而采起乱序执行,这使得内存屏障称为必须。
语义上:内存屏障以前的全部读写操做都要写入内存,内存屏障以后的全部操做均可以得到同步屏障以前的写操做的结果。
顺便讲讲其余选项
volatile关键字:
例子:性能
volatile int i = 10; int j = i; … Int k = i;
volatile关键字至关于告诉编译器这个变量是随时可能发生变化的,故每次使用它
都必须从内存地址中获取,于是编译器生成的可执行代码会从新从i的地址读取放入
k中。
Volatile影响编译器编译的结果,故与volatile变量有关的运算,不要进行编译优
化。
编辑器优化:
因为编译器发现两次从i中获取的数据之间的操做并无对i进行过操做,故它会自
动把上次读取的放入k中,而不是从新从i中读取。
自旋锁:
跟互斥锁相似,在任什么时候刻最多只能有一个保持着,跟互斥锁在调度机制上有不一样,
互斥锁在资源已经被占用时,进入睡眠状态,而自旋锁是由调用者一直循环知道锁释
放。
信号量(semaphore):
它是一个计算器,用于控制同时访问某个特定资源的操做数量,或者执行某个特定操做的数量。
在进入一个线程以前,线程必须得到一个信号量(许可),并在使用以后释放许可。当没有信号量(许可),那 么请求将阻塞直到有许可。
例子:
以一个停车场的运做为例。简单起见,假设停车场只有三个车位,一开始三个车位都是空的。这时若是同时来了五辆车,看门人容许其中三辆直接进入,而后放下车拦,剩下的车则必须在入口等待,此后来的车也都不得不在入口处等待。这时,有一辆车离开停车场,看门人得知后,打开车拦,放入外面的一辆进去,若是又离开两辆,则又能够放入两辆,如此往复。优化
四、设计实时操做系统必须首先考虑系统的( )。
答案:可靠性、实时性。
实时操做系统的效率通常比分要低,是适当牺牲了效率来保障实时。编码
五、选择排队做业中等待时间最长的做业优先调度,该调度算法是()。
答案:先来先服务调度方法(FCFS first come first service)
下面讲讲进程的调度算法:
不一样环境的调度算法目标不一样,所以须要针对不一样环境来讨论调度算法。spa
批处理系统没有太多的用户操做,在该系统中,调度算法目标是保证吞吐量和周转时间。(从提交到终止的时间)操作系统
交互式系统交互式系统有大量的用户交互操做,在该系统中调度算法的目标是快速地进行相应。线程
一、进程与程序的一个本质区别是()。
答案:前者的动态的,后者是静态的。
进程跟程序的区别:设计
二、计算机经过MIC(话筒接口)收到的信号是()。
答案:音频模拟信号。
三、处理外部中断时,应该由操做系统保存的是()。
答案:通用寄存器的内容。