1、选择在最近的过去很久未访问的页面予以淘汰的算法称为()。
正确答案: B
A、Opt.
B、LRU
C、MFU
D、LFU
optimal最优算法是往后看,选最后出现的页面替换.
LRU least recently used 最近最少使用算法 是往前看,选最早出现的页面替换。
2、在多道程序系统中,系统的现有空闲可用资源能否满足后备作业J的资源要求使选择作业J进入内存的必要条件。
正确答案: A
A、错
B、对
进入内存不一定要有全部资源
3、在Unix系统中,处于()状态的进程最容易被执行。
正确答案: C
A、辅存睡眠
B、内存睡眠
C、内存就绪
D、辅存就绪
内存就绪就是活动就绪,辅存就绪是静止就绪,静止就绪需要转换到活动就绪,才能在时间片到来而进入到运行状态。
4、下面列出的是选择调度方式和算法的四个面向用户的准则。其中不完全适用于实时系统的准则是()。
正确答案: B
A、优先权准则
B、响应时间快
C、截止时间的保证
D、周转时间短
(1)面向用户的准则:
1)周转时间短:通常把周转时间短作为评价批处理系统的性能
2)响应时间快:是分时操作系统中选择进程调度的重要准则
3)截止时间的保证:这是评价实时系统性能的重要指标
4)优先权准则。
(2)面向系统的准则:
1)系统吞吐量高
2)处理机利用率好
3)各类资源的平衡利用:处理机,内存, I/O 设备等。
5、下面线程间的通讯机制中,关键路径上不会产生系统调用从而减少用户态到内核态的上下文切换的是__。
正确答案: A
A、pthread_spin_lock
B、pthread_mutex
C、信号量
D、pthread_rwlock
E、管道
F、消息队列
(1)spinlock 介绍
spinlock又称自旋锁,线程通过busy-wait-loop的方式来获取锁,任时刻只有一个线程能够获得锁,其他线程忙等待直到获得锁。spinlock在多处理器多线程环境的场景中有很广泛的使用,一般要求使用spinlock的临界区尽量简短,这样获取的锁可以尽快释放,以满足其他忙等的线程。Spinlock和mutex不同,spinlock不会导致线程的状态切换(用户态->内核态),但是spinlock使用不当(如临界区执行时间过长)会导致cpu busy飙高。
(2) 使用准则
Spinlock使用准则:临界区尽量简短,控制在100行代码以内,不要有显式或者隐式的系统调用,调用的函数也尽量简短。例如,不要在临界区中调用read,write,open等会产生系统调用的函数,也不要去sleep;strcpy,memcpy等函数慎用,依赖于数据的大小。
6、数据存储在磁盘上的排列方式会影响I/O服务的总时间。假设每磁道划分成10个物理块,每块存放1个逻辑记录。逻辑记录R1,R2,…,R10存放在同一个磁道上。假定磁盘的旋转速度为20ms/周,磁头当前处在R1的开始处。若系统顺序处理这些记录,使用单缓冲区,每个记录处理时间为4ms,对信息存储进行优化分布后,处理10个记录的最少时间为多少?
正确答案: B
A、40ms
B、60ms
C、120ms
D、160ms
题目说的是“ 对信息存储进行优化分布 ”,所以,我们先设计如何存储这10个数据块。
此题目需要注意两点:
1、单缓存,只能存一个数据块,即存需要处理的这一块
2、在处理数据块的时候,磁头是在继续跑的,也就是,如果R1,R2,R3。。。R10是顺序存储时,当读取R1 要2ms , 处理R1 要4 ms,这个时候,磁头已经跑到 R4的开始位置了。
所以,我们设计的思想是:当我刚好处理R1块时,磁头刚好跑到R2的开始处,当我处理好R2时,磁头刚好跑到R3的开始处。。。依次类推。设计如下:
每个块读取2ms ,处理4ms,一共10个块,所以需要60ms。
7、在内存分配的”最佳适应法”中,空闲块是按()。
正确答案: C
A、始地址从小到大排序
B、始地址从大到小排序
C、块的大小从小到大排序
D、块的大小从大到小排序
最佳适应算法是从全部空闲区中找出能满足作业要求的、且大小最小的空闲分区的一种计算方法,这种方法能使碎片尽量小。
为适应此算法,空闲分区表 中的空闲分区要按从小到大进行排序,自表头开始查找到第一个满足要求的自由分区分配。
8、What might cause the current thread to stop executing
正确答案: A B D E
A、An InterruptedException is thrown.
B、The thread executes a wait() call.
C、The thread constructs a new Thread.
D、A thread of higher priority becomes ready.
E、The thread executes a waitforID()call on a MediaTracker.
A 异常,则停止执行
B 休眠,则停止执行
D 阻塞(抢占),则停止执行
E 阻塞,则停止执行
9、多道程序设计是指()。
正确答案: D
A、在实时系统中并发运行多个程序;
B、在分布系统中同一时刻运行多个程序;
C、在一台处理机上同一时刻运行多个程序;
D、在一台处理机上并发运行多个程序。
10、已知如下代码,并在两个线程中同时执行f1和f2,待两个函数都返回后,a的所有可能值是哪些?
int a = 2, b = 0, c = 0
void f1()
{
b = a * 2;
a = b;
}
void f2()
{
c = a + 11;
a = c;
}
A、4
B、13
C、15
D、26
考虑四行代码的执行顺序即可
(1)b=a*2,c=a+11,a=c,a=b a=4
(2)b=a*2,c=a+11,a=b,a=c a=13
(3)b=a*2,a=b,c=a+11,a=c a=15
(4)c=a+11,a=c,b=a*2,a=b a=26