操作系统 选择、填空、简答主要知识点
选择、填空、简答主要知识点
-
什么是操作系统:
操作系统是控制和管理计算机硬件和软件资源、合理地组织计算机工作流程,并方便用户使用计算机的一组程序集合。 -
基本操作系统类型:单道批处理系统、多道批处理系统、分时系统、实时系统;
其它类型操作系统:微机操作系统、网络操作系统、分布式操作系统、嵌入式操作系统; -
多道批处理系统的优缺点:
优点:
* CPU、内存以及 I/O 设备等资源的利用率高;
* 系统吞吐量(单位时间内完成的总工作量)大;
缺点:
* 平均周转时间(作业进入内存到运行结束时间)长;
* 没有交互能力; -
分时系统的特点:
- 多路性:多个用户同时使用一台计算机;
- 独立性:用户之间互不干扰,就像各自独立使用一台计算机一样;
- 及时性:用户的各种请求(如输入数据)能够得到及时的响应;
- 交互性:用户通过各自的终端,与自己运行的程序进行交流;
-
实时系统的特点:
实时系统分为实时控制系统和实时信息处理系统,具有可靠性,实时性,多路性,独立性,交互性的特点。 -
操作系统的特点:
- 并发性:两个或多个程序在一段时间内“同时”执行。它们不是绝对地并行执行,而是在这一段时间内交替执行。并发性是操作系统最主要的特征。
- 共享性:系统资源可供多个并发执行的程序共同使用。分为互斥共享和非互斥共享两种。
- 虚拟性:通过软件方式,将一个物理资源变成多个虚拟的对等资源。
- 异步性:多个程序的执行顺序和一个程序的执行与中断次数无法确定。但是其结果始终是确定的。
-
操作系统的功能:
- 处理机管理功能:进程控制;
- 存储器管理功能:内存分配、内存保护、内存扩充以及地址转换;
- 设备管理功能:缓冲区管理、设备分配和回收、设备驱动;
- 文件和磁盘存储管理功能:目录管理、文件读写、存取控制、磁盘空间分配、空闲空间管理;
- 用户接口:操作接口(分命令接口和图形接口)、程序接口(即系统调用);
-
进程的含义和组成:
进程是程序在一组数据集合上的一次运行过程。进程运行所依赖的数据集合叫做“进程控制块”(PCB),所以进程由程序和 PCB 组成。 -
进程的特点:
- 动态性:是程序的一次并发执行过程,具有生命周期。 进程在执行过程中都会按“执行-暂停-执行”方式推进,因此可以对不同阶段的进程定义不同的状态。
- 并发性:两个或多个进程在一段时间内“同时”执行,但某一瞬间只执行其中之一。因此实际上这些进程是交替执行的。
- 独立性:任何进程都是程序的一次独立运行过程,也是系统进行资源分配和调度的单位。
- 异步性:进程按不可预知的速度向前推进,所以 OS 应提供相应的措施保证其并发性。
- 结构性:每个进程都由程序(包括代码和数据)和 PCB 组成。
-
进程的状态:
- 就绪(Ready)状态:此时进程等待 CPU ,并获得了除 CPU 以外所有的运行所需资源。由于存在多个就绪进程, OS 将将它们排列成一个就绪队列。
- 执行(Running)状态:进程获得了 CPU ,并正在运行的状态。单 CPU 系统中只能有一个进程处于执行状态。
- 阻塞(Blocked)状态:进程由于等待除 CPU 以外的其它资源或 I/O 操作不能继续执行的状态。由于存在多个阻塞进程,系统将它们排列成一个或多个阻塞队列。
-
进程的状态转换关系:
- 执行到就绪:执行进程被操作系统强制剥夺 CPU ,从而变成就绪进程。
- 就绪到执行:就绪进程被操作系统调度,从而变成执行进程。
- 执行到阻塞:由于申请资源未获准,或开始了 I/O 操作,执行进程将 CPU 让给其它就绪进程,从而变成阻塞进程。
- 阻塞到就绪:阻塞进程得到所请求资源,或执行的 I/O 操作结束,从而变成就绪进程。
-
动态分区式内存分配的含义:
根据所要运行的程序大小,在内存中动态地划分出一个区域,并将程序转入该区域。等到程序运行结束时又回收此区域。 -
常用的动态分区分配算法及其思想:
- 首次适应算法(分区按地址递增排序)
- 循环首次适应算法(按地址递增排序,从上一次划分的分区的下一个分区开始查找)
- 最佳适应算法(按分区大小递增排序)
- 最差适应算法(按分区大小递减排序)
-
分页式存储管理方法的基本原理:
用户程序开始执行时,根据 CPU 中规定的大小,把用户程序划分成多个小块(称为“页面”)。每个页面装入内存中相同大小的不连续区域(该区域称为“物理块”)。同时建立该进程的页表,记录哪个页面装在哪个块内。 -
分页式存储管理方法的地址变换过程:
- 将程序指令从内存读入CPU
- 根据块大小,将指令中的地址划分成两个部分:页号、页內地址
- 从内存页表中查找与页号对应的页表项,得到块号;
- 将指令中的页号替换成块号,完成地址转换
-
分段式存储管理方法的原理:
用户程序划分为大小各不相同的逻辑段,把各个段离散的装入到内存的不连续的分区中,每个分区只装入一个段。用段表记录段和分区的对应关系,段表包括段名,段长和段在内存的首地址。 -
分段存储管理方式中的地址变换过程:
- 将程序指令从内存读入CPU;
- 指令中的地址包括两个部分:段号、段内偏移;
- 从内存段表中查找与段号对应的表项,得到分区首地址;
- 将分区首地址+偏移量,得到物理地址;
-
虚拟存储器:
具有请求调入和置换(交换)功能,能从逻辑上扩充内存容量的存储管理系统。该系统应由硬件和软件配合实现。 -
虚拟存储器的容量:
实际容量为内存容量和交换空间容量,最大容量为内存容量+外存容量。 -
虚拟存储器的实现方式:
请求分页、请求分段; -
请求分页系统的置换算法:
将外存的页面调入内存的同时,将内存中暂时不使用的页面换到外存的策略。一个好的置换算法应尽量避免“抖动”现象。 -
常见的页面置换算法:
FIFO,LRU,CLOCK,OPT; -
设备分类:
独占设备、共享设备、虚拟设备; -
I/O:
控制方式的类型:程序访问方式、中断控制方式、直接存储器访问方式、通道方式; -
缓冲区的分类:
单缓冲、双缓冲、循环缓冲、缓冲池; -
文件分类:
- 按逻辑结构划分:有结构文件、无结构文件;
- 按物理结构划分:顺序文件、链接文件、索引文件;
- 按存取控制划分:可执行文件、只读文件、可读写文件;
-
外存空间的管理方式:
连续方式、链接方式、索引方式; -
磁盘调度算法:
对于多个磁盘访问请求,OS 根据不同策略完成不同顺序的访问操作。其目的是减少磁头移动距离,提高整体访问性能。 -
常见的磁盘调度算法:
- 先来先服务(FCFS算法)
- 最短寻道时间优先(SSTF)
- 扫描算法(SCAN算法)
- 循环扫描算法(CSCAN算法)
-
处理机调度分为哪三级?各自的主要任务是什么?
- 作业调度:从一批后备作业中选择一个或几个作业,给它们分配资源,建立进程,挂入就绪队列。执行完后,回收资源。
- 进程调度:从就绪进程队列中根据某个策略选取一个进程,使之占用 CPU。
- 交换调度:按照给定的原则和策略,将外存交换区中的进程调入内存,把内存中的非执行进程交换到外存交换区中。
-
常见进程调度算法:
将 CPU 分配给就绪进程的算法,具体类型包括先来先服务调度算法(FCFS)、短作业(或进程)优先调度算法(SJF)、时间片轮转调度算法、优先权调度算法。 -
SPOOLing的含义是什么?试述SPOOLing系统的特点、功能以及控制过程。
SPOOLing 是 Simultaneous Peripheral Operation On-Line (即外部设备联机并行操作)的缩写,它是关于慢速字符设备如何与计算机主机交换信息的一种技术,通常称为“假脱机技术”。SPOOLing 技术是在通道技术和多道程序设计基础上产生的,它由主机和相应的通道共同承担作业的输入输出工作,利用磁盘作为后援存储器,实现外围设备同时联机操作。SPOOLing 系统由专门负责 I/O 的常驻内存的进程以及输入井、输出井组成;它将独占设备改造为共享设备,实现了虚拟设备功能。 -
在生产者—消费者问题中,能否将生产者进程的
wait(empty)
和wait(mutex)
语句互换,为什么?
不能。因为这样可能导致系统死锁。当系统中没有空缓冲时,生产者进程的wait(mutex)
操作获取了缓冲队列的控制权,而wait(empty)
导致生产者进程阻塞,这
时消费者进程也无法执行。 -
什么是设备独立性,它是如何实现的?
设备独立性即应用程序独立于使用的物理设备,在应用程序中使用逻辑设备名称来请求使用某类设备。系统在执行时,是使用物理设备名称。要实现设备独立性必须由设备独立性软件完成,包括执行所有设备的公有操作软件提供统一的接口,其中逻辑设备到物理设备的映射是由逻辑设备表LUT完成的