操作系统题目总结

1、某系统采用分页存储管理(Paging),页长(Page Size)为 1K(1024),该进程分页后 0、1、2三页分别装入到主存的 1、2、4 帧(Frame)。现有一逻辑地址(Logical Address)为 2048,页 内地址(Page Offset)为(  )。
答案 : 0
页号 = 逻辑地址 / 页长
页内地址 = 逻辑地址 % 页长

2、假设5 个进程 P0、 P1、 P2、 P3、 P4 共享三类资源 R1、 R2、 R3,这些资源总数分别为18、 6、 22。 T0 时刻的资源分配情况如下表所示,此时存在的一个安全序列是( )。

clipboard.png
clipboard.png

答案: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错。

3、用于解决CPU指令乱序、编译器重排、多CPU内存同步等带来的问题的机制是?
答案:内存屏障
内存屏障:也称内存栅栏,屏障指令等,是一类同步屏障指令,使得cpu或编译器在
对内存随机访问中的一个同步点,使得此点之前的所有读写操作都执行完才可以开始
执行此点后的操作。
大多数现代计算机为了提高性能而采取乱序执行,这使得内存屏障称为必须。
语义上:内存屏障之前的所有读写操作都要写入内存,内存屏障之后的所有操作都可以获得同步屏障之前的写操作的结果。
顺便讲讲其他选项
volatile关键字:
例子:

volatile int i = 10;
int j = i;
…
Int k = i;

volatile关键字相当于告诉编译器这个变量是随时可能发生变化的,故每次使用它
都必须从内存地址中获取,因而编译器生成的可执行代码会重新从i的地址读取放入
k中。
Volatile影响编译器编译的结果,故与volatile变量有关的运算,不要进行编译优
化。
编辑器优化:
由于编译器发现两次从i中获取的数据之间的操作并没有对i进行过操作,故它会自
动把上次读取的放入k中,而不是重新从i中读取。
自旋锁:
跟互斥锁类似,在任何时刻最多只能有一个保持着,跟互斥锁在调度机制上有不同,
互斥锁在资源已经被占用时,进入睡眠状态,而自旋锁是由调用者一直循环知道锁释
放。
信号量(semaphore):
它是一个计算器,用于控制同时访问某个特定资源的操作数量,或者执行某个特定操作的数量。
在进入一个线程之前,线程必须获得一个信号量(许可),并在使用之后释放许可。当没有信号量(许可),那 么请求将阻塞直到有许可。
例子:
以一个停车场的运作为例。简单起见,假设停车场只有三个车位,一开始三个车位都是空的。这时如果同时来了五辆车,看门人允许其中三辆直接进入,然后放下车拦,剩下的车则必须在入口等待,此后来的车也都不得不在入口处等待。这时,有一辆车离开停车场,看门人得知后,打开车拦,放入外面的一辆进去,如果又离开两辆,则又可以放入两辆,如此往复。

4、设计实时操作系统必须首先考虑系统的( )。
答案:可靠性、实时性。
实时操作系统的效率一般比分要低,是适当牺牲了效率来保障实时。

5、选择排队作业中等待时间最长的作业优先调度,该调度算法是()。
答案:先来先服务调度方法(FCFS first come first service)
下面讲讲进程的调度算法:
不同环境的调度算法目标不同,因此需要针对不同环境来讨论调度算法。

  • 批处理系统没有太多的用户操作,在该系统中,调度算法目标是保证吞吐量和周转时间。(从提交到终止的时间)

    • 先来先服务调度方法(FCFS first come first service)根据作业的等待时间的长度来衡量。
    • 短作业有限调度算法(SJF shortest job first)根据作业运行时间的长度来衡量。
    • 响应比高优先调度算法(HRN highest response_ratio next)是对FCFS和SJF的一种综合平衡,FCFS只考虑作业的等待时间,而SJF只考虑作业的运行时间,这两种方式在某些极端情况下都会带来不便,HRN调度策略同时考虑每个策略的等待时间跟运行时间,从中选出响应比最高的作业。响应比R = (W + T) / T = 1 + W / T其中T为该作业估计需要的执行时间,W为作业在后备状态队列的等待时间。每当要进行作业调度时,系统计算每个作业的响应比,选择其中R最大者投入执行。这样,即使是长作业,随着等待时间的增加,W / T也会随着增加,也就有机会获得调度执行。
  • 交互式系统交互式系统有大量的用户交互操作,在该系统中调度算法的目标是快速地进行相应。

    • 优先权调度算法(priority scheduling)分为静态优先权跟动态优先权为每个进程分配一个优先级,按照优先级进行调度。为了防止优先级的进程永远等不到调度,可以随着时间的推移增加等待进程的优先级。
    • 轮转法(round robin)也叫时间片轮转,将所有就绪进程按FCFS的原则排成一个队列,每次调度时,把cpu时间分配给队首进程,让该进程执行一个时间片。当时间片用完时,有定时器发出时钟中断,调度程序便停止该进程的运行,并将它运送至就绪队列的末尾,同时将cpu时间分配给队首的进程。时间片轮转算法的效率和时间片的大小有很大关系,因为进程切换都要保存进程的信息并且载入新进程的信息,如果时间片太小,会导致进程切换得太频繁,在进程切换上就会花过多的时间。
    • 多级反馈队列(round robin with multiple feedback)是轮转法跟优先级算法的综合和发展。如果一个进程需要执行100个时间片,如果采用轮转法,那么需要交换进程100次。多级队列是为了这种需要连续执行多个时间片的进程考虑,它设置了多个队列,分别赋予不同的优先级,如逐级降低,每个队列时间片大小都不相同,规定优先级越低时间片越长,如逐级加倍(例如1,2,4,8….)。如果第一个队列没有执行完,则降低到第二个队列的末尾,同样按照FCFS算法调度,如此下去,降低到最后的队列,则按”时间片轮转法”算法调度直到完成。这种方式下,之前的进程只需切换7次。

1、进程与程序的一个本质区别是()。
答案:前者的动态的,后者是静态的。
进程跟程序的区别:

  • 进程的动态的,程序时静态的。
  • 进程有一定的生命周期,而程序是指令的集合,本身无‘运动’的含义,没有建立进程的程序不能作为一个独立单位得到操作系统的认可。
  • 一个程序可以对应多个多个进程,一个进程只能对应一个程序。

2、计算机通过MIC(话筒接口)收到的信号是()。
答案:音频模拟信号。

  • 话筒是将语音信号转化为电信号的装置,语音信号是连续的,转化为电信号也是连续的,因此是模拟信号。
  • 模拟的电信号在计算机内经过采样,量化,编码,最终形成音频数字信号。

3、处理外部中断时,应该由操作系统保存的是()。
答案:通用寄存器的内容。

  • 外部中断处理过程,PC(程序计数器)值由中断隐指令自动保存,而通用寄存器内容由操作系统保存。
  • 寄存器:中央处理器内的组成部分,寄存器是有限存储容量的高速存储部件,他们可以用来暂存指令,数据和地址。在cpu的控制部件中,包含的寄存器有指令寄存器(IR:临时放置从内存里面取得的程序指令的寄存器,用户存放当前从主存储器读出的正在执行的一条指令)和程序计数器(PC:用于存放下一条指令所在单元的地址的地方)。
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
操作系统概念背诵 一、进程管理 1. 进程管理的功能 ① 进程控制 ② 进程同步 ③ 进程通信 ④ 进程(线程)调度 2. 程序顺序执行时的特征:顺序性、封闭性、可再现性。 3. 程序并发执行时的特征:间断性、失去封闭性、不可再现性。 4. 进程由程序段、数据段和进程控制块(PCB)组成。 5. 进程的定义 ① 进程是程序的一次执行。 ② 进程是一个程序及其数据在处理机上顺序执行时所发生的活动。 ③ 进程进程实体的运行过程,是系统进行资源分配和调度的一个独立单位。 ④ 进程是程序在一个数据集合上的运行过程,是系统进行资源分配和调度的一个独立单位。 6. 进程的基本特征:动态性、并发性、独立性、异步性、结构特征(程序+数据+PCB) 7. 进程的状态 三态:就绪状态、运行状态、阻塞状态。 五态:活动就绪、静止就绪、活动阻塞、静止阻塞、运行。 8. 进程控制块(PCB)的组成:进程标识符、处理机状态、进程调度信息、进程控制信息。 9. 临界区:进程中访问临界资源的那段代码叫做临界区。 10. 同步机制必须遵循的原则:空闲让进、忙则等待、有限等待、让权等待。 11. P, V 操作的定义 P(S):S = S − 1; 若S≥0,则当前进程继续运行; 若S<0,则将当前进程插入到S 的等待队列中去。 V(S):S = S + 1; 若S>0,则当前进程继续运行; 若S≤0,则从S 的等待队列中移出一个进程放到就绪队列中去。 12. 信号量的物理意义 S = −n 时,表示有n 个等待进入临界区的进程,当前已有进程在临界区中访问临界资源; S = 0 时,表示不允许任何进程进入临界区,当前已有进程在临界区中访问临界资源; S = n 时,表示临界区是空闲的,该类资源的可用数目为n,可以有n 个进程访问该类资源。 13. 高级通信机制有:共享存储器系统、消息传递系统、管道通信系统。 14. 线程的定义:线程是进程内的一个实体,是处理机调度的基本单位,是程序内部一个单一的顺序控 制流。 15. 引入进程的目的:是为了使多个程序并发执行,提高资源利用率和系统吞吐量。 16. 引入线程的目的:是为了减少程序并发执行时的时空开销,使操作系统具有更好的并发性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值