1、操作系统复习1、操作系统有哪几种类型,以及各种操作系统的特征是什么?多道批处理系统:资源利用率高,系统吞吐量大;分时系统:响应快,界面友好,多用户便于普及,便于资源共享;实时系统:响应时间严格,可靠性更高;个人机系统:其中多用户的操作系统代表是 UNIX 功能强大,多用户使用,通信能力强;网络操作系统:网络操作系统是服务于计算机网络,按照网络体系结构的各种协议来完成网络的通信、资源共享、网络管理和安全管理的系统软件。分布式操作系统:分布式操作系统是建立在网络操作系统之上,对用户屏蔽了系统资源的分布而形成的一个逻辑整体系统的操作系统。批处理操作系统、分时操作系统、实时操作系统、网络操作系统、分布
2、式操作系统。2、从资源管理的角度看,操作系统具有哪几个功能。1.有效性:提高系统资源利用率、提高系统吞吐量2.方便性:使计算机更容易使用3. 可扩充性 :方便增加新的功能和模块4. 开放性:系统遵循世界标准规范,以便兼容3、什么是进程,进程的的基本特征有哪些? 进程是具有独立功能的可并发执行的程序在一个数据集合上的运行过程,是系统进行资源分配和调度的独立单位。或者说, “进程”是进程实体的运行过程。1) 结构特征2) 动态性 3) 并发性 4) 独立性 5) 异步性 4、同步机构应遵循哪些基本准则? 空闲让进。当无进程处于临界区时,表明临界资源处于空闲状态,应允许一个请求进入临界区的进程立即进
3、入自己的临界区。 忙则等待。当已有进程进入临界区时,表明临界资源正在被访问,因而其他试图进入临界区的进程必须等待。 有限等待。对任何要求访问临界资源的进程,应保证在有限的时间内能进入自己的临界区,以免陷入“死等”状态。 让权等待。当进程不能进入自己的临界区,应立即放弃占用 CPU,以使其他进程有机会得到 CPU 的使用权,以免陷入 “忙等” 。5、进程的几种状态中,几种状态的转换,以及引起转换的典型事件有哪些?1) 就绪(Ready)状态 2) 执行状态 3) 阻塞状态 (1) 活动就绪静止就绪。 (2) 活动阻塞静止阻塞。 (3) 静止就绪活动就绪。 (4) 静止阻塞活动阻塞。(5) 静止阻
4、塞静止就绪转换 1:当进程调度程序从就绪队列中选取一个进程投入运行。转换 2:正在执行的进程因时间片用完被暂停执行。转换 3:正在执行的进程因等待的事件没未发生而无法执行(如进程请求完成 I/O) 。转换 4:当进程等待的事件发生时(如 I/O 完成) 。6、进程与程序的区别与联系。1)进程是程序的一次执行,它是一个动态的概念,程序是完成某个特定功能的指令的有序序列,它是一个静态的概念。但进程是把程序作为它的运行实体,没有程序,就没有进程。(2)进程是系统进行资源分配和调度的一个独立单位,程序则不是。(3)程序可以作为一种软件资源长期存在,而进程是程序的一次执行过程,它是临时的,有生命期的。表
5、现在它由创建而产生,完成任务后被撤消。(4)进程是具有结构的。进程由程序、数据和进程控制块 3 部分组成。7、用信号量机制解决生产者-消费者问题。 信号量的说明: 在信号量的实现中,S.value 的初值表示系统某类资源的数目,因而又称为资源信号量,对它的每次 wait 操作,意味着进程请求一个单位的该类资源。 假设缓冲区的大小为 N(存储单元的个数 ),它可以被生产者和消费者循环使用。 分别设置两个指针 in 和 out,指向生产者将存放数据的存储单元和消费者将取数据的存储单元。 指针 in 和 out 初始化指向缓冲区的第一个存储单元。 生产者通过 in 指针指向存储单元存放数据,一次存放
6、一条数据,且 in 指针向后移一个位置。 消费者从缓冲区中逐条取走数据,一次取一条数据,相应的存储单元变为“空” 。每取走一条数据,out 指针向后移一个存储单元位置。 试想,如果不控制生产者与消费者,会产生什么结果?生产者-消费者必须互斥 生产者和消费者可能同时进入缓冲区,甚至可能同时读/写一个存储单元,将导致执行结果不确定。 这显然是不允许的,必须使生产者和消费者 互斥 进入缓冲区。即,某时刻只允许一个实体(生产者或消费者)访问缓冲区,生产者互斥消费者和其它任何生产者。生产者-消费者必须同步 生产者不能向满缓冲区写数据,消费者也不能在空缓冲区中取数据,即生产者与消费者必须同步。(1)进程应
7、该先申请资源信号量,再申请互斥信号量,顺序不能颠倒。(2)对任何信号量的 wait 与 signal 操作必须配对,同一进程中的多对 wait 与 signal 语句只能嵌套,不能交叉。(3)对同一个信号量的 wait 与 signal 可以不在同一个进程中。(4)wait 与 signal 语句不能颠倒顺序,wait 语句一定先于 signal 语句。8、几种进程(作业)调度算法的比较。 先来先服务调度算法 短进程优先调度算法 时间片轮转调度算法 优先数调度算法 响应比高者优先调度算法 多级队列调度算法 9、什么是死锁?产生死锁的基本原因是什么?产生死锁的四个必要条件是什么?a.死锁是指多个
8、进程因竞争资源而造成的一种僵局,若无外力作用,这些进程都将永远不能再向前推进;b.产生死锁的原因有二,一是竞争资源,二是进程推进顺序非法;c.必要条件是: 互斥条件,请求和保持条件,不剥夺条件和环路等待条件。死锁发生的必要条件有哪些?发生死锁的必要条件有四点:互斥条件、不可抢占条件、部分分配条件和循环等待条件。 互斥条件:系统中存在一个资源一次只能被一个进程所使用; 非抢占条件:系统中存在一个资源仅能被占有它的进程所释放,而不能被别的进程强行抢占。 占有并等待条件:系统中存在一个进程已占有了分给它的资源,但仍然等待其他资源。 循环等待条件:在系统中存在一个由若干进程形成的环形请求链,其中的每一
9、个进程均占有若干种资源中的某一种,同时每个进程还要求(链上)下一个进程所占有的资源。10、解决死锁问题有哪些方法? 死锁的防止。系统按预定的策略为进程分配资源,这些分配策略能使死锁的四个必要条件之一不成立,从而使系统不产生死锁。 死锁的避免。系统动态地测试资源分配情况,仅当能确保系统安全时才给进程分配资源。 死锁的检测。对资源的申请和分配不加限制,只要有剩余的资源就呆把资源分配给申请者,操作系统要定时判断系统是否出现了死锁,当有死锁发生时设法解除死锁。解决/处理死锁的方法有预防死锁、避免死锁、检测和解除死锁,其中预防死锁方法最容易实现,但由于所施加的限制条件过于严格,会导致系统资源利用率和系统
10、吞吐量降低;而检测和解除死锁方法可是系统获得较好的资源利用率和系统吞吐量。死锁的防止是系统预先确定一些资源分配策略,进程按规定申请资源,系统按预先规定的策略进行分配从而防止死锁的发生。而死锁的避免是当进程提出资源申请时系统测试资源分配仅当能确保系统安全时才把资源分配给进程,使系统一直处于安全状态之中,从而避免死锁。 11、连续分配方式有什么特点?分页分配方式有什么特点?单一连续分配 这是最简单的一种存储管理方式,但只能用于单用户、单任务的操作系统中。采用这种存储管理方式时,可把内存分为系统区和用户区两部分,系统区仅提供给 OS 使用,通常是放在内存的低址部分;用户区是指除系统区以外的全部内存空
11、间, 提供给用户使用。 12、在动态分区中,有哪几种分配算法,每种算法是如何组织空闲分区链表的?(1) 首次适应算法 FF。 (2) 循环首次适应算法,该算法是由首次适应算法演变而成的。(3) 最佳适应算法。 (4) 最差适应算法13、页式存储管理与段式存储管理的区别?段面是信息的逻辑单位 页面是信息的物理单位 便于段的共享,执行时按需动态链接装入。 页一般不能共享 段长不等,可动态增长,有利于新数据增长。 页面大小相同,位置不能动态增长14、在页式存储管理与段式存储管理中为什么是引入快表?段页式管理中,一个进程仍然拥有一个自己的二维地址空间,这与段式管理相同。首先,一个进程中所包含的具有独立
12、逻辑功能的程序或数据仍然被划分成段,并有各自的段号s,其次,对于段 s 的程序或数据,则按照一定的大小将其划分为相同的页。和页式系统一样,最后不足一页的部分仍占用一页。这反映了段页式存储管理中的页式特征。因此,在段页式存储管理中,进程虚拟地址空间中的虚地址由三部分组成:段号 s,页号 p 和页内相对地址 d。段式存储管理的基本思想:把程序按内容或过程关系分成段,每段有自己的名字。一个用户作业或进程所包含的段对应于一个二维虚拟空间,段式存储管理以段为单位进行内存分配,然后通过地址映射机构把段式虚拟地址转换为实际的内存物理地址。段号与段号之间可以不连续,并且段的长度可以不固定。每个段定义一组逻辑上
13、完整的程序或数据一般使用段页式存储管理的计算机系统中,都在内存中拿出一块固定的区域存放进程的段表和页表。因此,在段页式管理系统中,如果要对内存中指令或数据进行一次存取的话,至少需要访问 3 次以上的内存。第一次是由段表地址寄存器得到段表起始地址去访问段表,由此取出对应段的页表地址;第二次则是访问页表,从而得到所要访问的物理地址;只有访问了段表和页表之后,第三次才能访问真正需要访问的物理单元。显然,这将使 CPU 执行指令的速度大大降低。因此,可以设置快速联想寄存器进行访问。15、虚拟存储器有哪些特征?该特征主要是基于什么原理?实现虚拟存储器最关键的技术是什么?(1) 一次性。(2) 驻留性所谓
14、虚拟存储器,是指具有请求调入功能和置换功能,能从逻辑上对内存容量加以扩充的一种存储器系统。其逻辑容量由内存容量和外存容量之和所决定,其运行速度接近于内存速度,而每位的成本却又接近于外存。可见,虚拟存储技术是一种性能非常优越的存储器管理技术,故被广泛地应用于大、 中、 小型机器和微型机中。 最关键的技术硬件支持16、有哪几种 I/O 控制方式?特点是什么?程序 I/O 方式 1)CPU 和外围设备只能串行工作。(2)CPU 在一段时间内只能和一台外围设备交换数据信息,从而不能实现设备之间的并行工作。(3)由于该控制方式依靠控制状态寄存器的状态位来控制数据传送,因此无法发现和处理由于设备或硬件所产
15、生的错误。中断驱动 I/O 控制方式 中断控制方式存在的问题:首先,数据缓冲区寄存器装满数据后将会发生中断,发生中断的次数较多,会消耗大量的 CPU 时间;其次,由于现代计算机系统配置的外围设备较多,可能会造成 CPU 无法响应中断而造成数据的丢失。DMA(Direct Memory Access)控制方式的引入 数据传输的基本单位是数据块,即在 CPU 与 I/O 设备之间,每次传送至少一个数据块; 所传送的数据是从设备直接送入内存的,或者相反; 仅在传送一个或多个数据块的开始和结束时,才需 CPU 干预,整块数据的传送是在控制器的控制下完成的。17、引入缓冲的主要原因是什么?(1) 缓和
16、CPU 与 I/O 设备间速度不匹配的矛盾。 (2) 减少对 CPU 的中断频率, 放宽对 CPU 中断响应时间的限制。 (3) 提高 CPU 和 I/O 设备之间的并行性。 18、试说明 SPOOLing 系统的组成。 输入井和输出井 输入缓冲区和输出缓冲区 输入进程和输出进程 (1)提高了 I/O 速度。(2)将独占设备改造成共享设备(3)实现了虚拟设备功能。19、什么是设备独立性?应用程序独立于具体使用的物理设备。为了实现设备独立性而引入了逻辑设备和物理设备这两个概念。在应用程序中, 使用逻辑设备名称来请求使用某类设备;而系统在实际执行时, 还必须使用物理设备名称。因此,系统须具有将逻辑
17、设备名称转换为某物理设备名称的功能,这非常类似于存储器管理中所介绍的逻辑地址和物理地址的概念。 20、磁盘的访问时间有哪几部分组成?其中所占比重较大的是什么?磁盘的调度的目标是什么?1) 寻道时间 Ts2) 旋转延迟时间 T3) 传输时间 Tt1. 先来先服务 FCFS(First-Come, First Served)2. 最短寻道时间优先 SSTF(Shortest Seek Time First) 3. 扫描(SCAN)算法 4. 循环扫描(CSCAN)算法 5. N-Step-SCAN 和 FSCAN 调度算法 21、文件的逻辑结构有哪些,物理结构有哪些,各有何特点?1. 有结构的文件
18、记录式文件是一种有结构的文件。这种文件在逻辑上总是被看成一组连续有序的记录集合。记录式文件按照记录长度是否相同,又可分为定长记录文件和不定长记录文件两种。(1)定长记录:文件中所有记录的长度相等 。(2)变长记录:文件中记录的长度不相等。无结构文件(流式文件)如果说大量的数据结构和数据库,是采用有结构的文件形式的话,则大量的源程序、可执行文件、 库函数等, 所采用的就是无结构的文件形式,即流式文件。 其长度以字节为单位。对流式文件的访问,则是采用读写指针来指出下一个要访问的字符。可以把流式文件看作是记录式文件的一个特例。在 UNIX 系统中,所有的文件都被看作是流式文件;即使是有结构文件,也被
19、视为流式文件;系统不对文件进行格式处理。 1)连续文件将一个文件中逻辑连续的信息存放到磁盘上的依次相邻的块上便形成顺序结构,这类文件叫顺序文件,又称为连续文件。2链接文件把一个逻辑上连续的文件离散存放在不连续的物理块中,为了表示其对应的逻辑块次序,对各物理块设置一个指针(称为连接字) ,指向下一个逻辑块对应的物理块,从而使得存放同一文件的物理块链接成一个串联队列,这样形成的物理文件称为串联文件,又称为链接文件。22、对目录管理的主要要求是什么?1)实现按名存取:这是文件目录管理中对基本的功能,其含义是用户只须提供文件名,系统就可对该文件进行存取,用户不必知道文件的具体存放位置;(2)提高对文件目录的检索速度。这是设计文件系统时所追求的主要目标,即要合理组织文件目录结构;(3)文件共享:在多用户系统中,通过文件共享,不仅方便用户使用文件,而且节省大量的磁盘存储空间;(4)允许文件重名:目的是方便不同用户按照自己的习惯命名和使用文件。23、对文件的存储空间管理有哪几种方法?. 空闲表法 . 空闲链表法 、 位示图 成组链接法