1.操作系统、四大功能、系统总线
答:操作系统:是控制应用程序执行的程序,并充当应用程序和计算机硬件之间的接口
四大功能:进程管理、内存管理、I/O管理、文件管理
系统总线:地址总线、数据总线、控制总线
Linux内核主要由5个模块构成:进程调度模块,内存管理模块,文件系统模块,进程间通信模块和网络接口模块
2.并行运行模式有哪些
无约束并行性、粗粒度和非常粗粒度并行性、中等粒度并行性、细粒度并行性
3.I/O通信方式有哪些 P349
可编程I/O(无中断)、中断驱动I/O(使用中断)、直接存储器访问DMA(使用中断,是操作系统必须支持的主要数据传送形式)。
4.基本的进程调度算法有哪些 P287
先来先服务(FCFS)、轮转(RR)、最短进程优先(SPN)、最短剩余时间(SRT)、最高响应比优先(HRRN)、反馈
5.死锁产生原因(四个基本条件)P188
必要条件(可能性):互斥、占有且等待、非抢占;循环等待(加上这个构成其存在性)
6.进程转换五态 P85
新建、就绪、运行、阻塞、退出
7.高、中、低级、短程、调度的对象有哪些
高级调度:外存上后备队列中的作业;中级调度:外存中因暂时不能运行而被挂起的进程;低级调度:就绪队列中的进程。作业与进程的联系:一个作业由一个或者几个进程构成。
长:新建到就绪/挂起 新建到就绪
中:就绪挂起到就绪 阻塞/挂起到阻塞
短:就绪到运行
8.各存储器的速度比较快慢 P20
板上存储器(寄存器、高速缓冲存储器、主存储器);板外存储器(磁盘);离线存储器(磁带)。
9.外部碎片、内部碎片比较(内存访问哪些有外部碎片,哪些有内部碎片)
内部碎片:固定分区、简单分页、虚拟内存分页;外部碎片:动态分区、简单分段、虚拟内存分段。
10.临界区、临界资源的区别及各自定义
假设两个或者更多的进程需要访问一个不可共享的资源,如打印机,在执行过程中,每个进程都给该I/O设备发命令,接收状态信息,发送数据和接收数据。我们把这类资源成为临界资源(一次仅允许一个进程使用的共享资源)。使用临界资源的那一部分代码称为程序的临界区。
11.区别死锁跟活锁
死锁:两个或者两个以上的进程因其中的每个进程都在等待其他的进程做完某些事情而不能继续执行;活锁:两个或者两个以上的进程为了响应其他进程的变化而继续改变自己状态而不能做有用的工作。
中断和实时操作系统
1.中断实现的流程
答:1)设备控制器或其他系统硬件产生一个中断。2)处理器结束当前指令的执行。3)处理器发送中断应答信号。4)处理器将PSW和PC压入控制栈。5)根据中断,处理器加载新的PC值。6)保存剩余的处理器状态信息。7)处理中断。8)恢复处理状态信息。9)恢复老PSW和PC值。
2.实时操作系统的基本概念(特点) P326
操作系统可以被描述成具备以下五个方面的要求:
1.可确定性;2.可响应性;3.用户控制;4.可靠性;5故障弱化操作
为满足前面的要求,当前的实时操作系统包含以下典型特征:
1.快速的进程或线程切换;
2.体积小(只具备最小限度的功能);
3.迅速响应外部中断的能力;
4.通过诸如信号量、信号和事件之类的进程间通信工具,实现多任务处理;
5.使用特殊的顺序文件,可以快速存储数据;
6.基于优先级的抢占式调度;
7.最小化禁止中断的时间间隔;
8.用于使任务延迟一段固定的时间或暂停/恢复任务的原语;
9.特别的警报和超时设定
.地址映射和虚拟内存
1.分页模式当中如何进行地址映射(什么叫逻辑地址,什么叫物理地址)
逻辑地址:逻辑地址是指与当前数据在内存中的物理分配地址无关的访问地址,在执行对内存的访问之前必须把它转换成物理地址。
物理地址:数据在主存中的实际地址。
地址转换需要经过以下步骤:
1.提取页号,即逻辑地址最左面的n位;
2.以这个页号为索引,查找到该进程页表中对应的帧号K;
3.该帧的起始物理地址为k×2^m,被访问字节的物理地址是这个数加上偏移量。物理地址不需要计算,它可以通过简单地把偏移量添加在帧号后面构造。
2.什么是虚拟内存,虚拟分页和虚拟分段是如何实现的
由于一个进程只能在主存中执行,因此这个存储器称为实存储器。但是程序员或用户感觉到的是一个更大的内存,通常它被分配在磁盘上,这称为虚拟内存。
虚拟分页:主存被划分为许多大小固定的帧,每个进程被划分为许多大小与帧相等的页,操作系统为这个进程维护一个页表,指出该进程的每一页对应的帧的位置,并与此同时维护一个空闲帧列表。当进程在运行时,并不是所有的页都必须在主存帧中,只有在需要时读入。
虚拟分段:每个进程被划分为许多段,操作系统为么个进程维护一个段表,指出该进程的每一段中的加载地址和长度,并与此同时维护一个空闲的空洞列表。当进程在运行时,并不是所有的段都必须在主存帧中,只有在需要时读入。
由于页表的长度可以基于进程的长度而变化,因而不能期望在寄存器中保存它,它必须在主存中可以访问到。当一个特定的程序正在运行时,一个寄存器保存该进程页表的起始地址。虚拟地址的页号用于检索页表,查找相应的帧号,并与虚拟地址结合起来产生一个物理地址。
页表项:页号和偏移量 P位来标示当前页是否在主存中如有还要有包含该页的帧号 控制位M表示上一次装入主存到现在内容是否改变了。 如果还要在页一级控制保护和共享还需要用于这些目的的控制位
分区和重定位
1.连续分区、非连续分区有哪些,说明分页、分段、分区优缺点
连续分区:伙伴系统、固定分区、动态分区;
非连续分区:分页、分段;
固定分区优点:实现简单,只需要极少的操作系统开销;缺点:由于有内部碎片,对内存的使用不充分,活动进程的最大数目是固定的。
动态分区优点:没有内部碎片,可以充分地使用主存;缺点:由于需要压缩外部碎片,对内存的使用不充分。
简单分页优点:没有外部碎片;缺点:有很少数量的内部碎片。
简单分段优点:没有内部碎片,相对于动态分区,提高了内存利用率,减少了开销;缺点:存在外部碎片。
2.什么是内存的重定位,以动态分区为例,说明其作用、操作方式(重定位)P223 P228
一旦程序被换出到磁盘,当下一次被换入时,如果必须放在和以前相同的内存区域,则会是很大的限制。为了避免这种限制,还可以在再次换入进程时把进程重定位到内存的不同区域。
作用:充分利用内存,使处理器的利用率最大化。
操作方式:当进程被装入内存或当该进程映像被换入时,必须设置基址寄存器和界限寄存器。在进程执行过程中会遇到相对地址,基址寄存器的值加上相对地址产生一个绝对地址,然后将这个绝对地址与界限寄存器的值比较,若不超出范围,则进程正常执行;若超出界限范围,则产生一个中断,由操作系统处理错误。
3.连续动态分区的流程 P224
4.三种缓冲区(内存的设计方法及其优缺点)
单缓冲区优点:提高系统速度;缺点:增加了操作系统的逻辑复杂度;操作系统必须知道给用户进程分配系统缓冲区的情况;交换逻辑也受到影响。
双缓冲优点:有可能使面向块的设备全速进行;能确保该进程不需要等到I/O;缺点:进一步增加了操作系统的复杂性。
循环缓冲优点:可以爆发性地执行大量的I/O操作;缺点:大大增加了操作系统的复杂性。