文章目录
- 一. 单选
- 1.在单处理器系统中,如果同时存在有12个进程,则处于就绪队列中的进程数量最多为()
- 2.在系统内存中设置磁盘缓冲区的主要目的是()
- 3.下列选项中,会导致进程从执行态变为就绪态的事件是()
- 4.下列关于管道(Pipe)通信的叙述中,正确的是 ()
- 5.在一个文件被用户进程首次打开的过程中,操作系统需做的是 ()
- 6.进程间通讯的方式中哪种的访问速度最快()
- 7.一个进程的读磁盘操作完成后,操作系统针对该进程必做的是 ()
- 8.系统为某进程分配了4 个页框,该进程已访问的页号序列为 2,0,2,9,3,4,2,8,2,4,8,4,5。若进程要 访问的下一页的页号为 7,依据 LRU 算法,应淘汰页的页号是()
- 9.设系统缓冲区和用户工作区均采用单缓冲,从外设读入1 个数据块到系统缓冲区的时间为 100,从系统缓冲区读入 1 个数据块到用户工作区的时间为 5, 对用户工作区中的 1 个数据块进行分析的时间为 90(如下图所示)。进程从外设读入并分析 2 个数据块的最短时间是( )。
- 10.下面哪一种表述不属于操作系统的主要功能?()
- 二. 编程
- 1. 跳台阶扩展问题
- 2. 快到碗里来
一. 单选
1.在单处理器系统中,如果同时存在有12个进程,则处于就绪队列中的进程数量最多为()
A 1
B 9
C 10
D 11
正确答案:D
单处理器——单个cpu——即使有再多的进程都是并发的去运行的——在同一时刻,只有一个进程可以拥有cpu资源
一个在运行,剩下的11个在等(就绪)
2.在系统内存中设置磁盘缓冲区的主要目的是()
A 减少磁盘 I/O 次数
B 减少平均寻道时间
C 提高磁盘数据可靠性
D 实现设备无关性
正确答案:A
磁盘缓存(快取):磁盘缓存是属于内存的
磁盘缓冲区:是磁盘与PCI总线直接的容量固定的硬件
PCI:外设不见互联标准
减少磁盘 I/O 次数——提高性能
3.下列选项中,会导致进程从执行态变为就绪态的事件是()
A 执行 P(wait)操作
B 申请内存失败
C 启动 I/O 设备
D 被高优先级进程抢占
正确答案:D
P操作是进程请求某一资源,ABC都是因为请求某一资源会进入阻塞态
而D是被剥夺了处理机资源所以进入就绪态——一旦得到处理机即可运行。
4.下列关于管道(Pipe)通信的叙述中,正确的是 ()
A 一个管道可实现双向数据传输
B 管道的容量仅受磁盘容量大小限制
C 进程对管道进行读操作和写操作都可以被阻塞
D 一个管道只能有一个读写进程或一个写进程对其操作
正确答案:C
管道是半双工通信
管道的大小是64k
可以设置文件描述符的非阻塞属性来测试
可以有多个。例如创建出管道,再创建子进程,父子进程同时拥有管道的读写两端。但是在逻辑上,我们建议一个进程读,一个进程写。
5.在一个文件被用户进程首次打开的过程中,操作系统需做的是 ()
A 将文件内容读到内存中
B 将文件控制块读到内存中
C 修改文件控制块中的读写权限
D 将文件的数据缓冲区首指针返回给用户进程
正确答案:B
当打开一个文件时,操作系统会创建一个文件控制块,并返回一个文件描述符给程序员,所以首次打开一个文件的时候,是文件控制块读入到内存中
6.进程间通讯的方式中哪种的访问速度最快()
A 管道
B 消息队列
C 共享内存
D 套接字
正确答案:C
A 管道——速度慢,容量有限,半双工
B 消息队列——容量受到系统限制,需注意第一次读的时候,上一次没有读完数据的问题
C 共享内存——能够很容易控制容量,速度快
D 套接字——需要跨网络,虽然可以持续的传递,但是速度没有共享内存快
7.一个进程的读磁盘操作完成后,操作系统针对该进程必做的是 ()
A 修改进程状态为就绪态
B 降低进程优先级
C .进程分配用户内存空间
D 增加进程的时间片大小
正确答案:A
进程读磁区结束后,说明当前进程状态不是就绪或者运行状态,只能是阻塞状态。
所以当一个进程资源到位后,会修改进程的状态为就绪状态,使其等待被操作系统调度获取CPU,再进行计算。
8.系统为某进程分配了4 个页框,该进程已访问的页号序列为 2,0,2,9,3,4,2,8,2,4,8,4,5。若进程要 访问的下一页的页号为 7,依据 LRU 算法,应淘汰页的页号是()
A 2
B 3
C 4
D 8
正确答案:A
2,0,2,9,3,4,2,8,2,4,8,4,5。
2
02
202
9202
3920
4392
2439
8243
2824
8282
4828
5482
7
458
9.设系统缓冲区和用户工作区均采用单缓冲,从外设读入1 个数据块到系统缓冲区的时间为 100,从系统缓冲区读入 1 个数据块到用户工作区的时间为 5, 对用户工作区中的 1 个数据块进行分析的时间为 90(如下图所示)。进程从外设读入并分析 2 个数据块的最短时间是( )。
A 200
B 295
C 300
D 390
正确答案:C
数据块1:外设——工作区:105,进入数据分析90(此时数据块2可以进行外设——系统缓冲区100)并行状态选取时间大的100
105+100+5+90=300
10.下面哪一种表述不属于操作系统的主要功能?()
A 处理机管理
B 存储器管理
C 设备管理和文件管理
D 可移植
正确答案:D
操作系统的主要功能是计算机资源管理、程序控制和人机交互等
计算机系统的资源可分为设备资源和信息资源两大类
二. 编程
1. 跳台阶扩展问题
链接
一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶(n为正整数)总共有多少种跳法。
示例1:
输入
3
输出
4
示例2:
输入
1
输出
1
正确答案:
class Solution {
public:
int jumpFloorII(int number) {
//2^(n-1) == 1 << (n-1)
return 1 << (number - 1);
}
};
class Solution {
public:
int jumpFloorII(int number) {
if (number == 1)
{
return 1;
}
return 2 * jumpFloorII(number - 1);
}
};
有一阶的时候 f(1) = 1 ; 有两阶的时候可以有 f(2) = 1+f(1)=2; 有三阶的时候可以有 f(3) =1+f(2)+f(1)=4;…总跳法为: f(n) = 1+f(n-1) + f(n-2)+…+f(1) (第一个1是跳n阶只有一种方法)依次类推,得到类推公式有n阶时:f(n)=2^(n-1)
2. 快到碗里来
链接
小喵们很喜欢把自己装进容器里的(例如碗),但是要是
碗的周长比喵的身长还短
,它们就进不去了。
现在告诉你它们的身长,和碗的半径,请判断一下能否到碗里去。
输入描述:
输入有多组数据。
每组数据包含两个整数n (1≤n≤2^128) 和r (1≤r≤2^128),分别代表喵的身长和碗的半径。
圆周率使用3.14。
输出描述:
对应每一组数据,如果喵能装进碗里就输出“Yes”;否则输出“No”。
示例1:
输入
6 1
7 1
9876543210 1234567890
输出
Yes
No
No
正确答案:
#include<iostream>
using namespace std;
int main()
{
double n,r;
while(cin>>n>>r)
{
double c;
c = 2*3.14*r;
if(n<=c)
cout<<"Yes"<<endl;
else
cout<<"No"<<endl;
}
return 0;
}
注意:输出Yes和No只是第一个字母大写
圆的周长:C = 2pir(pi = 3.14)