1.操作系统是计算机系统的一种系统软件,它统一管理计算机系统的资源和控制程序的执行。
2.OS几大特征(1)并发(Concurrence),共享(Sharing),虚拟(Virtual),异步性(Asynchronism). (2) 其中最基本特征是并发和共享.
3.设计现代OS的目标是方便性,有效性,可扩充性和开放性.
4.批处理操作系统?用户准备好要执行的程序、数据和控制作业执行的说明书,由操作员输入到计算机系统中等待处理。操作系统选择作业并按作业说明书的要求自动控制作业的执行。采用这种批量化处理作业的操作系统称为批处理操作系统。
5.对特权指令的使用有什么限制?
只允许操作系统使用特权指令,用户程序不能使用特权指令。
6.为什么说批处理多道系统能极大地提高计算机系统的工作效率?
① 多道作业并行工作,减少了处理器的空闲时间。
② 作业调度可以合理选择装入主存储器中的作业,充分利用计算机系统的资源。
③ 作业执行过程中不再访问低速设备,而直接访问高速的磁盘设备,缩短执行时间。
④ 作业成批输入,减少了从操作到作业的交接时间。
7.操作系统为用户提供哪些接口?
操作系统为用户提供两种类型的使用接口:
一是操作员级的,它为用户提供控制作业执行的途径;
二是程序员级的,它为用户程序提供服务功能。
8.微内核操作系统的描述及优点?
答:描述:足够小的内核、基于客户/服务器模式、应用“机制与策略”分离原理、采用面向对象技术。
优点:提高了系统的可扩展性、增强了系统的可靠性、可移植性、提供了对分布式系统的支持和融入了面向对象技术。
9.操作系统的用户接口有:命令接口、程序接口、图形接口
10.操作系统的分类:串行处理,简单批处理,多道批处理,分时系统11.什么是多道 多道处理的好处多道就是指在内存空间容纳的下操作系统和多个用户程序时(>2),那么当一个作业需要等待I/O时,处理器可以切换到另一个可能不需要等待I/O的作业,这种处理称为multiprogramming.
提高处理器的利用效率,平均资源利用率,吞吐量和响应时间也得到了改善
12.什么是程序控制块 由操作系统创建和管理,能够存放与一个进程有关的标识符,状态,优先级,PC,上下文数据等一系列信息的数据结构,是操作系统是能支持多进程的关键工具
13.进程与程序的区别 ①程序是静态的,进程是动态的;
②进程更能真实地描述并发,而程序不能;
③进程具有创建其他进程的功能,而程序没有
④进程只是一次执行过程,有生命周期;而程序可作为软件资源长期保存,是相对长久的;
⑤进程是系统分配调度的独立单位,能与其他进程并发执行;
14.原语是由若干条指令组成的,用于完成一定功能的一个过程,与一般过程的区别在于:它们是―原子操作‖,它是一个不可分割的基本单位,在执行过程中不允许中断。
15.进程互斥:由于各进程要求共享资源,而有些资源需要互斥使用,因此各进程间竞争使用这些资源,进程的这种关系为进程的互斥。
进程同步:在并发执行过程中,合作完成同一个任务的多个进程,在执行速度
或某些时序点上必须相互协调的合作,这种制约性关系叫作进程同步。
16.引起创建进程的事件以及创建过程? 事件:(1)用户登录;(2)作业调度;(3)提供服务;(4)应用请求(自己创建进程)。 过程:(1)申请空白PCB;(2)为新进程分配资源;(3)初始化进程控制块;(4)将新进程插入就绪队列。
17.引起进程终止事件? (1)正常结束; (2)异常结束(越界错误、保护错、非法指令、特权指令错、运行超时、等待超时、算术运算错和I/O故障);
(3)外界干预(操作员或操作系统干预、父进程请求和父进程终止)。
18.什么是线程?多线程技术具有哪些优越性?
线程是进程中可独立执行的子任务,一个进程可以有一个或多个线程,每个线程都有一个惟一的标识符。线程与进程有许多相似之处,往往把线程又称为“轻型进程”,线程与进程的根本区别是把进程作为资源分配单位,而线程是调度和执行单位。
多线程技术具有多个方面的优越性:
① 创建速度快、系统开销小:创建线程不需要另行分配资源;
② 通信简洁、信息传送速度快:线程间的通信在统一地址空间进程,不需要额外的通信机制;
③ 并行性高:线程能独立执行,能充分利用和发挥处理器与外围设备并行工作的能力。
19.对进程的描述特征?
(1)结构特性(程序段、数据段和PCB);(2)动态性;(3)并发性;(4)独立性;(5)异步性。进程是进程实体的运行过程,是系统的进行资源分配和调度的一个独立单位。
20.引入挂起(suspend)状态的原因?
(1)终端用户的请求(2)父进程请求(3)负荷调节的需要(4)操作系统的需要。
21.试比较进程调度与作业调度的不同点。
① 作业调度是宏观调度,它决定了哪一个作业能进入主存。进程调度是微观调度,它决定各作业中的哪一个进程占有中央处理器。
② 作业调度是选符合条件的收容态作业装入主存。进程调度是从就绪态进程中选一个占用处理器。
22.ULT与KLT的优缺点ULT,用户级线程 进程内线程的创建或终止,内核都是不知道的,内核是以进程为调度单位的,并且制定地为一个进程指定状态
优点:线程切换不需要内核态特权。可以有自己的调度算法,而不涉及改变操作系统的基本调度算法。缺点:一个应用程序中的一个线程阻塞,其余线程也会阻塞。内核虽然把一个处理器分给一个进程,实际上是只处理了一个线程
KLT,有关线程的管理的所有工作都是由内核完成的,应用程序部分没有线程库等线程管理的代码,调度也是内核基于线程完成的。优点:可以把一个进程的多个线程调度到多个处理器里一个线程被阻塞,处理器可以调度到另一个线程。缺点:切换需要内核状态的改变
23.并发:在操作系统中,一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机运行,但任一时刻只有一个程序在处理机上运行
24.竞争条件:多个线程或者进程在对一个共享数据进行读写时,结果依赖于它们执行的相对时间的情形
25.信号量:用于进程间传递信息的一个整数值
26.互斥当一个进程在临界区访问共享资料是,其他进程不能进入该临界区访问任何共享资源
27.临界区是一段代码,在这段代码中进程将访问共享资源
28.同步是指两个或两个以上随时间变化的量在变化过程中保持一定的相对关系
29.死锁两个或者两个以上的进程,其中每个资源都在等待其他进程作业某件事而不能继续执行的情形
30.活锁 两个或者两个以上的进程为了响应其他进程中的变化而不断地改变自己的状态(不放弃CPU,尝试-失败-尝试)但不做有用的工作的情形
活锁的实体是在不断的改变状态, 而处于死锁的实体表现为等待
两个线程发生了某些条件的碰撞后重新执行,那么如果再次尝试后依然发生了碰撞,长此下去
31.信号量的分类 二元信号量:只取0值和1值的信号量
计数信号量:就是可以取很多数值的信号量,整数,负数都可以,非二元信号量
强信号量 :被阻塞最久的进程最先从队列释放
弱信号量 :没有规定进程从队列中移出的顺序的信号量
32.饥饿是指一个可运行的进程尽管能够继续执行,但被调度程序无限期地忽视,而不能被调度执行
33.简述解决死锁问题的三种方法。
① 死锁的防止。系统按预定的策略为进程分配资源,这些分配策略能使死锁的四个必要条件之一不成立,从而使系统不产生死锁。
②死锁的避免。系统动态地测试资源分配情况,仅当能确保系统安全时才给进程分配资源。
③死锁的检测。对资源的申请和分配不加限制,只要有剩余的资源就呆把资源分配给申请者,操作系统要定时判断系统是否出现了死锁,当有死锁发生时设法解除死锁。
④解除死锁
34.预防死锁的方法
a.摒弃"请求和保持"条件 b.摒弃"不剥夺"条件 c.摒弃"环路等待"条件
35.死锁的三个必要条件:互斥,一次只有一个进程可以使用一个资源
占有且等待,当一个进程等待其它资源时,继续占有当前已经分配的资源
不可抢占,不能强行占有进程已占有的资源
36.死锁的四个充分条件:互斥条件:一个资源每次只能被一个进程使用。
请求与保持条件:一个进程因请求资源而阻塞时,对已获得的资源保持不放。
不剥夺条件:进程已获得的资源,在末使用完之前,不能强行剥夺。
循环等待条件:若干进程之间形成一种头尾相接的循环等待资源关系。
37.可重用资源是指一次只能供一个进程安全地使用,而且不会由于使用而耗尽,可消耗资源是指可以被创建(生产)和销毁(消耗)的资源
38.内存管理的需求固定分区:内部碎片。动态分区:外部碎片。简单分页:每个进程被划分成许多大小与页框相等的页,装入一个进程需要把进程包含的所有页都装入,不一定连续,无外部有内部碎片;简单分段:段长度不一定,外部碎片
虚拟内存分页:除了不需要装入所有页,其余与简单分页一样
虚拟内存分段:除了不需要装入所有段,其余与简单分段一样
重定位:就是把程序的逻辑地址转换成物理地址的过程
39.内部碎片与外部碎片区别
内部碎片:由于固定长度分割区域,所以当一个程序导入固定大小的区域里时,如果程序大小小于分割区域,就会有剩余空间,造成内部碎片
外部碎片:因为程序不断地被载入和置换,使得内存空间被分配成许多不连续的区块,剩下的空间由于地址不连续无法载入进程执行,造成外部碎片
外部碎片指还没有被分配出去的空间,由于太小了无法分配给申请新空间的新进程,这些碎片不属于任何进程,而内部碎片是处于区域内部之间的,占有这个页面的进程并不使用它,但是系统却无法使用直到进程释放了它。
40.物理地址和逻辑地址的区别 把用户程序中使用的地址称为逻辑地址,而物理地址是指在存储器里以字节为单位存储信息,为了正确地存放或取得信息,每个字节单元给唯一一个存储器地址。
41.什么是压缩Compaction是客服外部碎片的,操作系统会不时地移动进程,使得进程占用的空间连续,并且使得所有空闲空间连成一片。
42.几种置换策略:OPT:最佳,选择下次访问距离当前时间最长的页 LRU:最近最少使用,上次使用距离当前最远的页FIFO。Clock:时钟算法就是每一个页框一个使用位,选择使用位为0的位置更替,循环缓冲区
43.TLB 转换检测缓冲区,用于改进虚拟地址到物理地址的转译速度
缺页 就是表示访问的页不在内存中,需要调用操作系统,由操作系统负责装入所需要的页
44.长程调度,中程调度,短程调度:长程调度室决定哪一个程序可以进入系统中处理,从外存调入内存,就是允许一个作业或者程序变成进程。若这个创建的进程一开始属于就绪态,等待短程调度,若一开始处于阻塞状态则等待中程调度。
中程调度是交换功能的一部分。Swapping就是在近处中所有进程处于阻塞态,os就可以把其中一个进程处于挂起态,并转移到磁盘中,这是换出操作;换入操作就是调入内存一个以前挂起的状态的进程。
短程调度是精确地决定下一次执行哪一个进程
45.高级调度与低级调度的区别 高级调度又称为作业调度,调度对象是作业,作业调度往往发生于一个(批)作业运行完毕,退出系统,而需要重新调入一个(批)作业进入内存时,故作业调度的周期长;低级调度又称为进程调度,调度物件为进程(或内核级线程),进程调度的运行频率最高,是最基本的一种调度,多道批处理、分时、实时三类OS中必须配置这种调度。
46.抢占与非抢占 非抢占就是在指一旦程序处于运行的状态,它就不断地执行直到终止或者因为等待I/O等某些请求被阻塞;抢占就是指当前程序可能被操作系统中断并转移到就绪态。
47.几种短程调度FCFS,非抢占,先来先服务轮转,抢占,time slicing,基于FCFS。SPN,非抢占,最短进程优先,下一次选择处理时间最短的。SRT,抢占,最短剩余时间,总是直接选择剩余时间最短的。HRRN,非抢占,最短响应比优先有问题反馈,抢占,在一个时间段里每个进程的优先级,执行一次就降低一级,进程刚开始进入内存时优先级最高。
48.I/O buffer单缓冲区:当进程发出I/O请求时,操作系统给该操作分配了一个位于内存中的系统部分的缓冲区,输入的数据被放到缓冲区中,当传送数据完成时进程在把这块数据移到用户空间里,然后立即请求另一块缓冲区。
双缓冲区和循环缓冲
缓冲的作用:提高操作系统效率和单个进程的性能
49.磁盘调度策略RSS,随机调度FIFO,公平SSTF,最短服务时间优先,利用率高队列小SCAN,先向着固定一方扫描然后回到原点转向C-SCAN,先向着固定一方扫描然后返回到相反方向的最初点
50.寻道时间:磁头臂定位到磁道所需要的时间。旋转延迟:磁头到达指定扇区位置的时间。存取时间:达到读或写位置所需要的时间。传输时间:数据传输所需要的时间。T=寻道时间+1/2r+b/rN r是旋转速度 N是磁道的字节数
51.文件是指由创建者所定义的、具有文件名的一组相关信息的集合。 按文件的逻辑结构可分为有结构构文件和无结构文件。
52.文件组织的五种方式:堆:每条记录由一串数据组成,按到达的顺序被收集,没有结构,查找文件通过穷举模式,顺序文件:所有记录相同的长度,格式固定,按照关键域的顺序组织。直接或散列文件:每一条继续都需要一个关键域,直接文件是基于关键字的散列
53.FAT,文件分配表 File Allocation Table
54.独占设备采用哪种分配方式?独占设备通常采用静态分配方式。
即在一个作业执行前,将作业要使用的这类设备分配给作业,在作业执行期间均归该作业占用,直到作业执行结束才归还。
55.分段和分页的主要区别
a.分页和分段都采用离散分配的方式,且都要通过地址映射机构来实现地址变换,这是它们的共同点;
b.对于它们的不同点有三,第一,从功能上看,页是信息的物理单位,分页是为实现离散分配方式,以消减内存的外零头,提高内存的利用率,即满足系统管理的需要,而不是用户的需要;而段是信息的逻辑单位,它含有一组其意义相对完整的信息,目的是为了能更好地满足用户的需要;
c.页的大小固定且由系统确定,而段的长度却不固定,决定于用户所编写的程序;
d.分页的作业地址空间是一维的,而分段的作业地址空间是二维的.
56.DMA方式与中断控制方式的区别: 相同点是都是以块为单位进行传输。区别是:
1)CPU处理中断的时间: 中断控制方式:是在数据缓冲寄存器满之后要求CPU进行中断处理DMA方式:是在所要求转送的数据块全部传送结束时要求CPU进行中
断处理。这就大大减少了CPU进行中断处理的次数。
2)数据传送的完成者: 中断控制方式:是在中断处理时由CPU控制完成的DMA方式:是DMA控制器完成的。
57.I/O中断处理过程? (1)唤醒被阻塞的驱动(程序)进程;(2)保护被中断进程的CPU环境;(3)转入相应的设备处理程序;(4)中断处理;(5)恢复被中断进程的现场。
58.设备驱动程序的特点?(1)驱动程序主要是指在请求I/O的进程和设备控制器之间的一个通信和转换过程;(2)驱动程序与设备控制器和I/O设备的硬件特性紧密相关;(3)驱动程序与I/O设备所采用的I/O控制方式紧密相关;(4)由于驱动程序和硬件紧密相关,因而其中的一部分必须用汇编语言书写;(5)驱动程序应允许可重写。
59.设备驱动器的处理过程?
(1)将抽象要求转化为具体要求;(2)检查I/O请求的合法性;(3)读出和检查设备的状态;(4)转送必要的参数;(5)工作方式的设置;(6)启动I/O设备。