文章目录
- 1.若一个用户进程通过read 系统调用读取一个磁盘文件中的数据,则下列关于此过程的叙述中,正确的是(A)
- 2.Linux文件权限一共10位长度,分成四段,第三段表示的内容是(C)
- 3.进程阻塞的原因不包括(A)
- 4.在缺页处理过程中,操作系统执行的操作可能是(D)
- 5.下面选项中,满足短任务优先且不会发生饥饿现象的调度算法是(B)
- 6.下列选项中,降低进程优先级的合理时机是(A)
- 7.选择排队作业中等待时间最长的作业优先调度,该调度算法是(A)
- 8.对进程和线程的描述,以下正确的是(D)
1.若一个用户进程通过read 系统调用读取一个磁盘文件中的数据,则下列关于此过程的叙述中,正确的是(A)
Ⅰ. 若该文件的数据不在内存中,则该进程进入睡眠等待状态
Ⅱ. 请求 read 系统调用会导致 CPU 从用户态切换到核心态
Ⅲ. read 系统调用的参数应包含文件的名称
A 仅Ⅰ、 Ⅱ
B 仅Ⅰ、 Ⅲ
C 仅Ⅱ、 Ⅲ
D Ⅰ、 Ⅱ和Ⅲ
思路:Ⅰ:若文件的数据不在内存中,则进程进入睡眠模式的目的是等待内存对磁盘上文件的映射,因为磁盘的读取比较慢,所以事进入睡眠模式;Ⅱ: read是系统调用,所以CPU从用户态切换到核心态;Ⅲ: open系统调用应该包含文件的名称,read只是包含输入流
2.Linux文件权限一共10位长度,分成四段,第三段表示的内容是(C)
A 文件类型
B 文件所有者的权限
C 文件所有者所在组的权限
D 其他用户的权限
思路:
3.进程阻塞的原因不包括(A)
A 时间片切换
B 等待I/O
C 进程sleep
D 等待解锁
思路:对于进程,如果在时间片范围内,是执行状态,如果时间片用完了,就进入就绪状态,不属于进程阻塞
4.在缺页处理过程中,操作系统执行的操作可能是(D)
Ⅰ.修改页表 Ⅱ.磁盘 I/O Ⅲ.分配页框
A 仅Ⅰ、 Ⅱ
B 仅Ⅱ
C 仅Ⅲ
D Ⅰ、 Ⅱ和Ⅲ
思路:缺页是引入了虚拟内存后的一个概念。操作系统启动后,在内存中维护着一个虚拟地址表,进程需要的虚拟地址在虚拟地址表中记录。一个程序被加载运行时,只是加载了很少的一部分到内存,另外一部分在需要时再从磁盘载入。加载到内存的部分标识为"驻留",而未被加载到内存的部分标为"未驻留"。操作系统根据需要读取虚拟地址表,如果读到虚拟地址表中记录的地址被标为"未驻留",表示这部分地址记录的程序代码未被加载到内存,需要从磁盘读入,则这种情况就表示"缺页"。
5.下面选项中,满足短任务优先且不会发生饥饿现象的调度算法是(B)
A 先来先服务
B 高响应比优先
C 时间片轮转
D 非抢占式短任务优先
思路:短任务优先指的是执行时间最短的任务优先执行;饥饿现象指的是低优先级的进程在抢占式的情况下被高优先级的进程进行抢占,然后高优先级的进程一直运行,低优先级的进程就没有运行的机会;先来先服务:最简单的调度算法,按先后顺序进行调度;高响应比优先:综合考虑作业/进程的等待时河和要求服务的时间,在每次调度时先计算各个作业/进程的响应比选择响应比最高的作业/进程为其服务,高响应比优先调度算法是介于ECES(先来先服务算法)与SIE(短作业优先算法)之间的折中算法,既考虑作业等待时间又考虑作业运行时间,既照顾短作业又不使长作业等待时间过长,改进了调度性能;时间片轮转调度:用于分时系统中的进程调度。每次调度时,总是选择就绪队列的队首进程,让其在CPU上运行一个系统预先设置好的时间片。一个时间片内没有完成运行的进程,返回到绪队列末尾重新排队,等待下一次调度;短作业优先:SIE是非抢占式的算法。最短的作业/进程优先得到服务(所谓"最短",是指要求服务时间最短)系统一旦把处理机分配给就绪队列中优先权最高的进程后,该进程便一直执行下去,直至完成。容易造成饥饿
6.下列选项中,降低进程优先级的合理时机是(A)
A 进程的时间片用完
B 进程刚完成I/O,进入就绪列队
C 进程持久处于就绪列队
D 进程从就绪状态转为运行态
思路:时间片用完是刚刚结束进程运行,没有在就绪队列中,也没有在等待中,这个时候,降低优先级,下一次进入就绪队列中,就会以最新的优先级进行执行
7.选择排队作业中等待时间最长的作业优先调度,该调度算法是(A)
A 先来先服务调度算法
B 高响应比优先调度算法
C 优先权调度算法
D 短作业优先调度算法
思路:先来先服务就是等待时间最长的优先执行
8.对进程和线程的描述,以下正确的是(D)
A 父进程里的所有线程共享相同的地址空间,父进程的所有子进程共享相同的地址空间
B 改变进程里面主线程的状态会影响到其他线程的行为,改变父进程的状态不会影响到其他子进程
C 多线程会引起死锁,而多进程不会
D 以上选项都不正确
思路:父进程和子进程都有自己独立的地址空间;主线程和子线程是并行关系的时候,并没有依赖关系;如果多个进程/线程同时占有对方需要的资源而同时请求对方的资源,而它们在得到请求之前不会释放所占有的资源,那么就会导致死锁的发生,也就是进程不能实现同步,多线程和多进程都会出现死锁的情况