第一章:
1.什么是操作系统?
操作系统是部署在硬件上的第一层软件,是对硬件系统的首次扩充,具有管理好这些设备的功能,提高他们的利用率和系统吞吐量,为用户和应用程序提供系统的接口,以方便用户使用
2.简述OS的基本特性?
CSVA
C是并发性,并发性指的是两个或者多个事件在同一时间中间隔发生,多道程序环境下,指的是同一时间段内,多个程序并发发生,宏观上同时进行,微观上分时交替运行
S是共享性,系统内的资源可以供多个并发的进程共享
V 是虚拟性,时分复用:他利用某设备为一个用户服务的空闲期间转而为其他用户服务
空分复用:利用存储器的空闲区域,存放和运行其他多道程序,以此来提高资源的利用率
A 是异步性,进程以人们不可预知的速度向前推进
3.操作系统的主要功能有哪些?
处理机管理,文件管理,存储器管理,设备管理,提供用户接口
第二章:
1.简述程序、进程、线程的异同。
程序只是一组指令的有序集合,它本身没有任何运行的含义,它只是一个静态的实体。
- 进程是具有独立功能的程序在一个数据集合上的一次执行过程,他是系统进行分配和调度的基本单位,进程也是一个拥有资源的独立单位,线程也是系统进行分配和调度的基本单位,但是他不拥有资源,当进程切换时,仅需保存和设置少量寄存器内容,切换代价远远小于进程,又称轻型进程;
- 进程间可以并发执行,一个进程的多个线程间也可以并发执行;
- 同一进程中的不同线程独立性要比不同进程之间的独立性低得多;
- 创建进程的系统开销大于创建进程的系统开销;
- 对于传统进程,不管多少处理机,该进程只能运行在一个处理机上,但是多线程进程,可以将同一个程序中的多个线程分配到多个处理机上。
2.进程有哪些基本状态,如何转换及其典型原因
进程的基本状态有运行,阻塞,就绪。就绪到运行:获得处理机;运行到阻塞:请求I/O;阻塞到就绪:请求I/O成功,等待处理集;运行到就绪:时间片完
3.PCB是什么?简述其主要作用
是什么:为了系统描述和管理进程的运行,在OS的核心为每一个进程专门定义了一个数据结构——进程控制块,PCB作为进程实体的一部分,记录了操作系统所需要的,用于描述进程当前情况和管理进程运行的全部信息,是操作系统中最重要的数据结构
主要作用:使在多道程序环境下不能独立运行的程序成为一个能独立运行的基本单位,一个能与其他进程并发执行的过程:作为独立运行基本单位的标志;实现间断性运行方式;提供进程管理所需要的全部信息;提供进程调度所需要的全部信息;实现与其他进程的同步和通信。
4.什么是原语?其特征是什么,在这一章中学习了哪些原语。
原语:由若干条指令组成的,用于完成一定功能的一个过程
特征是:一组操作,要不全做,要不全不做
原语有哪些:挂起suspend、激活active;阻塞block、唤醒wake up;创建create、终止destroy
5.P-C问题中,能否使生产者进程中的两条wait 原语交换顺序?为什么?
不能交换顺序,初始顺序是同步信号量在前面,互斥信号量在后面,要先判断缓冲池里有没有产品,再决定是否要进去,如果缓冲池里没有产品,wait(empty)进去了之后,signal(full)是释放信号量是无法知道的。
6 吃水果和独木桥问题(计算)
第三章:
1.理发师问题(计算)
2.作业批处理系统平均作业(计算)
3.高级调度和低级调度的主要任务分别是什么?为何要引入中级调度?
高级调度的调度对象是作业,主要任务是,根据具体的某种算法,将外存的哪几个作业调入内存,高级调度主要用于多道批处理系统。低级调度的调度对象是进程,主要任务是,根据某种算法,决定哪几个进程获得处理记,分时,多道批处理和实时系统都应该配置
中级调度的引入,是为了提高资源利用率和内存吞吐量,将那些暂时不能运行的进程,调入外存等待,此时进程的状态称为挂起,当他们重新拥有运行条件是,再调入,就是存储器管理中的对换
4.什么是作业?它有哪些状态?操作系统通过什么控制管理作业?
作业是用户提交给系统的一个相对独立的工作,他是比进程更加广泛的概念,他不仅包含了通常的程序和数据,而且还配有一份作业说明书,作业至少由一个进程组成。
状态:后备状态,运行状态,完成状态
控制管理作业:JCB。为了管理和调度作业,系统设置了作业控制块JCB,保存了系统对作业进行管理和调度的全部信息。
5.进程调度有那些调度方式?其中抢占有哪些原则
非抢占方式:一旦把处理机分配给某进程后就让他一直运行下去,直至该进程完成或被阻塞时自己释放处理机
抢占式方式:这种调度方式允许调度程序根据某种原则,去暂停某个正在执行的进程,将已分配给该进程的处理分配给另一个进程,抢占的原则有:
- 优先权原则
- 短进程优先原则
- 时间片原则
6.举例说明什么是死锁?产生的必要条件有哪些?
如果一组进程中的每一个进程都在等待只能由其他进程所才能引发的事件,那么该组进程称为死锁
死锁产生的原因:竞争不可抢占资源,竞争可消耗性资源,进程以错误的顺序推进
产生必要条件: 1.互斥条件:对已经拥有的资源进行排他性使用
2.请求保持条件:拥有了一个资源,继续提出新的资源请求
3.不可抢占条件:资源在未使用之前不能被抢占,只能由进程自己释放
4.循环等待条件:存在进程——资源循环链
7.什么是死锁定理?有何作用
S为死锁状态的充分必要条件是:当且仅当S状态的资源分配图是不可完全简化的。该充分条件被称为死锁定理。死锁定理用于死锁的检测,检测出之后可以通过一定手段解除死锁
8.取多大值,系统不会发生死锁
(计算)
9.银行家算法:
(计算)
每一个新进程在进入系统时,他必须声明在运行的过程中,可能需要每种资源类型的最大单元数目,其数目不应超过系统所拥有的资源总量
第四章第五章
1.存储器管理有哪几种方式,具体如何实现。
存储管理分为两大类:实存管理和虚存管理。
实存管理中分出:连续分配和离散分配
连续分配方式:程序代码中代码或者数据的逻辑地址相邻,体现在内存分配时物理地址的相邻
分为:单一连续分配(只有一道程序);固定分区分配(最早的,最简单的可以运行多道程序的分区管理存储方式;动态分区分配(根据内存的实际需要,动态地为之分配空间,顺序搜索的动态分区算法和基于索引搜索的动态分区算法)
连续分配的特点会引起内存空间的碎片,所以采用紧凑技术,动态重定来解决紧凑产生的问题(动态重定位利用重定位寄存器实现)
离散分配方式:
分页存储管理方式:将用户地址空间分为若干个固定大小的区域,将内存空间分为若干物理块,页和块的大小相同。
分段存储管理方式:为了满足用户要求而形成的一种存储管理方式。他把用户程序的地址空间分为若干个大小不同的段,每段可定义一组相对完整的信息。
段页式:结合了分页和分段的有点,目前比较广泛的一种存储管理方式
2.对换进程的作用是什么?对换有哪几种类型?
对换是指把内存中暂时不用地程序和数据,换出放到外存上,以便腾出足够的内存空间,将已具备运行条件的进程或者所需要的进程和数据换入内存
3.什么是快表,在地址变换中有何作用?
页表实现了,从页号到物理块号的映射,PCB中存放着页表长度和首地址
地址变换机构:为了能将用户地址空间中的逻辑地址转换为内存空间中的物理地址
快表:快表示在地址变换机构中增设的一个具有并行查询能力的特殊高速缓冲寄存器。
作用:可以提高地址变换的速度(不用访问内存,提高速度)
4.分页存储和分段存储有什么区别
1.分页式系统管理的需要,对用户不可见,段是逻辑单位,包含一完整意义的信息,可以满足用户需要
2.页的大小固定,由硬件决定,段的大小不固定,由编程决定
3.分页的用户地址空间是一维,是系统行为,分段的用户地址空间是二维,程序员在标志一个地址时,既需要给出段名,又要给段内地址
4.分段更容易共享
5.什么是虚拟存储器?有哪些特征
虚存,是指具有调入功能和置换功能,能从逻辑上对内存加以扩充的一种存储器系统
特征:
1.多次性:作业被分成多次装入内存
2.对换性:一个作业的程序和数据,无需在作业运行时一直常驻内存,允许在程序运行时换进换出
3.虚拟性:虚拟性是指能从逻辑上扩充内存容量,使用户看到的内存容量大于实际容量
虚拟性以对换性和多次性为基础,而对换性和多次性以离散分配为基础
6.什么是抖动?产生的原因
定义:进程的大部分时间用于页面换进换出,几乎不能再做其他有效的工作,导致处理机的利用率急速下降并趋于0,此时进程处于抖动状态。
原因:在系统中运行的进程太多,因此分配给每一个进程的物理块太少了,不能满足进程正常运行的基本要求,致使每个进程在运行时,频繁缺页,必须请求系统将所缺之页调入内存。
7.影响缺页率有哪些因素
页面大小:页面划分的越大,缺页率越低
进程分配的物理块数目:分配的物理块越多,缺页率越低
页面置换算法选择
程序本身的编程方法
8.什么是Belady现象,产生的原因是什么?
现象:采用FIFO算法时,如果对一个进程未分配它所要求的全部页面,有时就会出现分配的页面增多,缺页率反而提高的异常现象
原因:FIFO算法的置换特征与进程访问内存的动态特征是矛盾的,即被置换的页面不是进程不会访问的
9.页面访问顺序题(计算)
第六章:
1.什么是设备控制器?有哪些功能?
设备控制器是CPU和I/O设备之间的接口,接受从CPU发来的命令,去控制I/O设备工作,使处理机能从繁忙的事务中解脱出来
功能:1.接收和识别命令2.数据交换3.标志和报告设备状态4.地址识别5数据缓冲区6.差错控制
2.什么是I/O通道?为何要引入通道?有哪些类型
I/O通道是一种特殊的处理机,它具有执行I/O指令的功能,并通过执行I/O通道程序,来控制I/O操作。
原因:设备控制器已经大大减少了CPU对I/O的干预,但是CPU负担还是很重,主要目的是为了建立独立的I/O操作,使CPU从繁忙的I/O任务中解脱出来。
通道类型:字节多路通道,数组选择通道,数组多路通道
3.简述对I/O设备的四种控制方式
使用轮询的可编程I/O方式:I/O按字节读,CPU不断测试I/O有没有读完,无中断
使用中断的可编程I/O方式:按字节传,CPU向设备控制器发出I/O命令,,立即返回原来任务,一旦数据进入数据寄存器,控制器通过控制线CPU发送一中断信号。由CPU检查,若无错,取走
直接存储器访问方式:和上面一个不一样,是读入一个数据块再发出中断信号
I/O通道控制方式:I/O通道方式是DMA方式的发展,它可进一步减少CPU的干预,即把对一个数据块的读(或写)为单位干预,减少为对一组数据块(或写)及有关的控制和管理为单位的干预
4.设备分配时需要使用哪些数据结构?简述独占设备分配过程
LUT:逻辑设备表
SDT:系统设备表
DCT:设备控制表
COCT:分配控制表
CHCT:通道控制表
逻辑设备名先找LUT表转成物理设备名,再根据物理设备名从SDT中找设备对应的DCT,根据DCT中的设备状态字段判断该设备是否忙碌,如果忙碌,就把该I/O进程的PCB挂在设备队列上,如不忙,就按照一定的算法,计算本次分配的安全性,若安全则分配,否则,还将PCB挂在设备等待队列。在系统已经把设备分给请求I/O之后,再到DCT中找COCT,从COCT的状态位判断,是否忙碌,若忙,就挂在等待队列,不忙就直接分配。再从COCT中找CHCT,从CHCT的状态位判断,是否忙碌,若忙,就挂在等待队列,不忙就直接分配。只有在设备、控制器、通道三者都分配成功时,这次分配才算成功
5.什么是SPOOLING系统?有何作用?
引入多道程序后,可以利用其中一道程序,来模拟脱机输入时的外围控制机功能,把低速I/O设备上的数据传送到告诉2磁盘上,再用另一道程序模拟脱机输出时外围控制机的功能,把数据从磁盘传送到低速输入设备上。我们把在联机情况下实现的同时外围操作的技术称为SPOOLING,称为假脱机技术。
作用:
1.提高了I/O的速度
2.将独占设备改造为共享设备
3.实现了虚拟设备功能
6.简述缓冲池的工作原理
三个队列:四个缓冲区,过程自己写
从emq队首摘下一个空缓冲区,把它作为收容输入区,将数据装入其中,装满后将它挂到inq上。
其他的和他一样
7.磁盘访问时间由哪几部分组成
寻道时间,数据传输时间,旋转延迟时间
8.磁盘调度算法的题目(计算)
第七章:
1、文件系统对目录管理的主要要求是什么?
1.实现按名存取:用户只需要向系统提供所需访问的文件的名字,便能快速准确地找到指定文件在外存上的位置。
2.提高对目录的检索速度:通过合理组织目录结构
3.文件共享:多个用户共享一个文件
4.允许文件重名:允许不同用户对不同文件采取相同的名字
2、有结构文件可分为哪几类,其特点是什么?
逻辑文件按照是否有结构分类:1.有结构文件(变长记录、定长记录)2.无结构文件
根据文件的组织方式,可把有结构文件分为三类
1.顺序文件:指由一系列记录按顺序排列所形成的文件,其中的记录可以是定长记录或可变长记录;顺序文件排列方式分为串结构和顺序结构。优点:适合批量存取,存取效率最高,查找或者修改就很麻烦,增加或者删除记录比较困难。
2.索引文件:指为可变长记录文件建立一张索引表,为每个记录设置一个表项,以加速对记录的检索速度。定长记录文件容易实现随即查找
3.索引顺序文件:顺序文件和索引文件相结合的产物,不是为每一个记录建立一个索引表项,而是为一组记录中的第一个记录建立一个索引表项
3、什么是文件控制块?包含哪些信息?
系统中用于描述和控制文件的数据结构,文件控制块的有序集合称为文件目录
基本信息类:
4、何谓文件逻辑结构?何谓文件物理结构?
文件的逻辑结构:这是从用户观点出发所观察到的文件组织形式,即文件是由一系列的逻辑记录组成的,是用户可以直接处理的数据及其结构,它独立于文件的物理特性,又称为文件组织
文件的物理结构:这是指系统将文件存储在外存上所形成的一种存储组织形式,是用户不能看见的,文件的物理结构不仅与存储介质的存储特性有关,而且与所采用的外存分配方式有关。无论是文件的逻辑结构还是文件的物理结构,都会影响对文件的检索速度
补充1:
1.实验:重点进程启动
创建线程使用的函数:PsCreateSystemProcess
EOS启动时加载loader/boot? 先加载boot
2.读写这问题,如果对读者人数进行限制,如何写?
理发师问题
3.页式存储,页面大小及页数如何计算
简单
4.外存组织及方式(哪一种可以随机存取)
物理结构:连续组织方式(优点:顺序访问容易,顺序访问速度快;缺点:要求为一个文件分配连续的存储空间、事先知道长度)
链接组织方式(隐式和显式,隐式知识合顺序访问,显式:FAT表)
索引组织方式(优点:可以随机访问,支持直接访问,缺点:较多的寻道次数和寻道时间,索引表也有系统开销)
链接组织方式中的显式和索引组织方式可以随机存取
5.设备无关性
逻辑设备名,逻辑设备名到物理设备名的转换
6.回收的四种情况:动态分区分配
1.回收区与插入点的前一个空闲分区F1相连接,此时应该将回收区与接入点的前一个合并,修改F1大小
2.回收区与插入点的后一分区连接,回收区首址作为新空闲区的首址,大小为两者之和。
3.回收区同时与插入点前后两个分区连接,取消F2表项,F1大小为三者之和。
4.回收区单独为一块
7.哲学家问题,最多几个哲学家不会死锁
和之前的打印机问题一样
8.缺页中断和中断区别
缺页中断和普通中断一样要经历:保护CPU环境、分析中断原因、转入缺页中断处理程序进行处理、在中断处理完成后再恢复CPU环境等步骤
区别:1.在指令执行期间产生和处理中断信号2.一条指令可能会产生多次缺页中断
补充2:
1.地址重定位:
将逻辑地址控件重定位到物理地址控件的时机有三种:
- 程序编译链接时
- 程序装入内存时
- 程序执行时
静态地址重定位:即在程序装入内存的过程中完成,是指在程序开始运行前,程序中的各个地址有关的项均已完成重定位,地址变换通常是在装入时一次完成的,以后不再改变,故成为静态重定位。
优点:无需硬件支持
缺点:1)程序重定位之后就不能在内存中搬动了;2)要求程序的存储空间是连续的,不能把程序放在若干个不连续的区域中。
2.动态地址重定位:不是在程序执行之前而是在程序执行过程中进行地址重定位。更确切的说,是在每次访问内存单元前才进行地址变换。动态重定位可使装配模块不加任何修改而装入内存,但是它需要硬件一定位寄存器的支持。
优点:1)目标模块装入内存时无需任何修改,因而装入之后再搬迁也不会影响其正确执行,这对于存储器紧缩、解决碎片问题是极其有利的;2)一个程序由若干个相对独立的目标模块组成时,每个目标模块各装入一个存储区域,这些存储区域可以不是顺序相邻的,只要各个模块有自己对应的定位寄存器就行。
缺点:需要硬件支持。
3.进程同步:
因为信号量分散,容易导致死锁,引进新的进程同步工具:管程
管程:代表共享资源的数据结构以及由对该共享数据结构实施操作的一组过程所组成的资源管理程序共同构成了一个操作系统的资源管理模块,我们称之为管程
4.进程通信:
进程通信指的是进程之间的信息交换,进程同步的信号量也是低级进程通信:低级的原因是:1.效率低;2.通信对用户不透明
进程通信的主要两个类型:
管道通信系统:管道是用于连接一个读进程和一个写进程之间以实现他们之间的通信的一个共享文件,又名PIPE文件。称为管道通信。能力:互斥,同步,确定对方是否存在
消息传递系统:进程不必借助任何共享存储区或者数据结构,而是以格式化的消息为单位。消息又称为报文。通信原语:send 发送一个消息给接收进程;receive:接收Sender发来的等待消息