问题1:三种处理系统
答案1:
①单道批处理系统
系统对作业的处理是成批进行的,但是在内存中始终只有一条作业
②多道批处理系统
允许在内存中同时存放多个用户作业,并允许这些作业交替地使用cpu
③分时系统
允许多个用户同时使用计算机的系统,它采用时间片轮转的方法将cpu的时间分配给各个用户
④实时系统
能够对来自外部的请求在限定的时间范围内给出及时的响应
问题2:操作系统的四大特征
答案2:
①并发
多个事件在同一时刻同时发生,宏观上并发执行,微观上交替执行
②共享
系统中的资源可供内存中的多个并发执行的进程共同使用
③虚拟
通过某种技术把一个物理设备实体变成若干个逻辑上的对应物
④异步
在多道程序环境下,允许多个程序并发执行,但是由于资源有限,进程的执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进。
问题3:进程并发执行的三个特征
答案3:
①间断性
②失去封闭性(多个程序并发执行时,系统的各种资源会共享)
③不可再现性
问题4:进程控制块pcb
答案4:用于记录与进程相关信息的主存区,是进程存在的唯一标识
问题5:进程的5种状态
答案5:
①活动就绪->(cpu资源调度)->执行
②执行->(i/o请求)->活动阻塞
③活动阻塞->(i/o请求完成)->活动就绪
④活动就绪/执行->(挂起)->挂起就绪->(激活)->活动就绪
⑤活动阻塞->(挂起)->挂起阻塞->(激活)->挂起就绪
问题6:原语
答案6:一个操作中的所有动作,要么全做,要么全不做
问题7:信号量的分类
答案7:
①整型信号量
S表示可用资源的数量,只要S小于等于0就不断测试,不满足让权等待
②记录型信号量
在整型信号量的基础上多加了一个等待序列,这样就可以满足让权等待,不会出现死等的现象
③AND型信号量
进程整个运行过程所需要的资源一次性分配,使用完成之后全部释放
④信号量集
是AND型信号量的升级,同时需要多类资源,且每种资源的数目存在一个下限值
问题8:经典进程的同步问题
答案8:
①生产者与消费者问题
生产者需要在缓冲区不满的时候放入数据,消费者需要在缓冲区不空的时候取出数据
②哲学家就餐问题
五位哲学家围坐在圆桌旁,每位哲学家左右都有一个叉子,哲学家们交替地进行思考和就餐,就餐时需要同时拿起左右两边的叉子
如果所有的哲学家同时拿起左右两边的叉子,那么就会导致死锁,解决方法为(至少允许4位哲学家进行就餐)+(规定奇数的哲学家拿起左边的筷子,偶数的哲学家拿起右边的筷子)
③读者写者问题
读读不互斥,读写互斥,写写互斥。
问题9:进程和线程
答案9:
①进程控制块PCB,线程控制块TCB
②进程是操作系统进行资源分配和和调度的独立单位,线程是一种轻量级的进程,“轻装上阵”
问题10:三种处理机调度
答案10:
①高级调度
一旦可能便从后备作业中选择一道做业进入系统,并创建响应的进程,分配必要的资源,然后将进程就绪
②低级调度(进程调度)
根据cpu资源的使用情况及时分配cpu,分为非抢占方式(按照顺序)和抢占方式(优先级)
③中级调度
将外村中已经具备运行条件的挂起进程换入内存,挂到就绪队列上;而将内存中处于堵塞装要的某些进程换出至外存
问题11:处理机调度算法
答案11:
①先来先服务FCFS(属于非抢占式)
②短进程优先算法SPF(属于非抢占式)
③高优先权算法HRRN(可抢占式)
④时间片轮转调度算法(适用于分时系统,可抢占式)
问题12:死锁
答案12:两个或两个以上的进程在运行过程中因争夺资源而造成的一种相互等待。
问题13:产生死锁的四大条件
答案13:
①互斥条件
②请求和保持条件
③不可抢占条件
④循环等待条件
问题14:死锁的处理方法
答案14:
①预防死锁
破坏死锁产生的必要条件中的一个或几个,但是互斥条件无法破坏
②避免死锁
在资源动态分配的过程中,用某种方法方法防止系统进入不安全状态
③检测死锁
允许程序在运行过程中出现死锁,但是要能检测出来(资源分图的方法)
④解除死锁
将他们从死锁中解救出来,回收他们的资源,使他们能够正常运行。
问题15:物理地址和逻辑地址
答案15:物理地址是指内存中实际的存储位置,每一个物理地址都对应内存中的一个存储单元;
逻辑地址是由操作系统分配的地址,实际执行过程中,逻辑地址会转换为物理地址。
问题16:分区分配
答案16:
①固定分区分配(内存被划分为大小固定的分区)
②动态分区分配(数据是连续存储的)
③分页式分区分配(离散存储)
④分段式分区分配(离散存储)
⑤段页式分区分配(离散存储)
问题17:实现动态分区分配的四种算法
答案17:
①首次适应算法
含义:每次都从地地址开始查找,找到第一个能够满足大小的空闲分区。
优点:解决了固定分区分配开销大的缺点
缺点:造成低地址产生碎片,高地址产生空闲区
②循环首次适应算法
含义:不是从头开始,而是从上次分配的位置之后开始循环查找
优点:空闲区分布均匀
缺点:但是缺少大的空闲区域
③最佳适应算法
含义:空闲分区按照容量从小到大的顺序排列,形成空闲分区链
优点:因此每次给作业分配内存的时候,总是能给大小最小的空闲位置分配出去
缺点:但是这样会留下大量的小碎片,难以利用
④最坏适应算法
含义:每次都将最大的空间分配出去
优点:这样产生碎片的可能小比较小
缺点:但是会导致大的分区空间少
问题18:分页存储管理方式(为了解决动态分区分配产生碎片的问题)
答案18:将一用户的地址空间划分大小相等的区域,成为页;内存空间也划分成若干个与页大小相等的区域,称为物理块;将相邻的页分配到不相邻的块中,其中最后一页可能会因为装不满而出现碎片
问题19:分段和分页的区别
答案19:每个段的大小不一,每个页的大小相同
优点:便于共享,各段之间修改互不影响
缺点:内存利用率低,内存碎片浪费大
问题20:段页式存储方式
答案20:
含义:先分段,再分页
优点:内存利用率高
缺点:提升系统的复杂度以及额外开销,执行速度也会下降(需要三次内存访问:段表->页表->物理地址)
问题21:虚拟存储器(达到内存扩充的功能)
答案21:实现请求调入功能和置换功能,并不是实际地扩充内存的容量,而是在逻辑上实现对内存容量的扩充,满足小内存运行大程序的需要。
问题22:虚拟存储器的特征
答案22:
①多次性(一个作业中的数据,无需再刚开始运行时全部装入内存,允许被分为多次装入内存)
②对换性(在作业运行的过程中,允许将那些暂时不使用的数据从内存调到外存,待以后需要的时候再将它们调回内存)
③虚拟性(能够从逻辑上扩充容量,使用户所看到的容量远大于实际的容量)
问题23:页面置换算法
答案23:
①最佳置换算法OPT(选择淘汰的页面是以后最长时间不会被使用的,不可能实现)
②先进先出置换算法FIFO(选择淘汰最先进入的页面)
③最近最久未使用算法LRU(根据过去最近使用情况(是否被使用)来对未来做预测)
④最少使用算法LFU(根据过去最近使用情况(使用频次)来对未来做预测)
问题24:I/O控制方式
答案24:
①轮询的可编程IO方式
传输数据的单位为字节
在输入数据的时候每输入一个字符都需要不断循环重复看busy位(1代表正在输入,0代表输入停止),CPU的大部分时间都在用于检查设备状态,效率低下
②中断的可编程IO方式
传输数据的单位为字节,中断方式允许cpu在没有外部请求的时候,可以用来执行其他任务,也就是cpu和io设备可以并行操作
③DMA访问方式
以数据块为单位进行传输,一次只能传输一个数据块,不需要cpu的干预,由DMA控制器来管理,通过在内存和IO设备之间建立直接的硬件连接来实现数据传输。
④IO通道访问方式
以数据块为单位进行传输
是DMA方式的进一步扩展,一次可以传输多个数据块
问题25:脱机技术和假脱机技术
答案25:
①脱机技术:数据会先从慢速的输入设备输入到磁带(外围设备)上,然后主机再从磁带中快速读取数据;输出时,数据会先写入到磁带上,再由外围设备将数据输出到慢速的输出设备。
②假脱机技术:利用软件来模拟脱机过程
输入井和输出井:模拟外围设备磁带
输入进程和输出进程:负责输入/输出设备和磁带之间的数据传输
输入缓冲区和输出缓冲区:作用在输入输出进程和输入输出井之间,用于暂存数据,解决cpu和io之间的速度不匹配。
问题26:四种磁盘调度算法
答案26:
用来管理磁盘上数据的访问数据,以提高系统效率
①先来先服务算法FCFS
根据请求访问磁盘的进程的先后顺序
②最短寻道时间优先SSTF
每次选择都是距离当前距离最近的磁道,但需要频繁地移动磁头
③扫描算法SCAN(电梯调度算法)
单方向移动寻找与当前磁头所在磁道最近的请求,直至磁道的边缘位置然后再做反向运动,避免磁头的频繁移动,但可能会导致一些请求(最早来的可能最后才处理到)等待时间较长
④循环扫描算法C-SCAN
仅在一个方向上移动,到达边缘位置后直接回到原位置继续单向移动。避免一些请求等待时间过长。
问题27:四种文件存储空间管理方法
答案27:
①空闲表法
用一张表记录磁盘中的空闲块的块号和数量
缺点:不能有效管理大型文件
②空闲链表法
就是将所有的空闲盘区拉成一条链
空闲盘块法:以单独的盘块为单位,拉成一条链
空闲盘区法:以整行的盘区为单位,拉成一条链
如果一个文件过大,那么管理这个链表的开销就会比价高
③位示图法
利用二进制位来表示磁盘中盘块的使用情况(0表示空闲,1表示已分配使用)
④成组链接法
结合了空闲表法和空闲链表法
第一个块是超级块,当系统启动时需要将超级块读入内存
后面设置多个组长块(索引块,使用空闲链表法),记录该组内的其他盘块(使用空闲表法)以及下一组盘块的地址
分组管理,提高效率,可以适用于管理大型文件系统