1 操作系统
考纲要求:
- 操作系统的类型和结构;
- 操作系统的基本原理;
- 网络操作系统及网络管理;
- 嵌入式操作系统与实时操作系统;
1.1 操作系统的类型与结构
1.1.1 操作系统的类型
1.批处理操作系统,主要特征:用户脱机使用计算、成批处理、多道程序运行
2.分时操作系统,主要特征:交互性、多用户同时性、独立性
3.实时操作系统,主要特征:提供即时响应、高可靠性
4.网络操作系统,主要特征:互操作性、协作处理
5.分布式操作系统,目前还没有真正实现的网络操作系统
不管哪种操作系统都应该具有5个基本功能:①处理器管理、②存储管理、③设备管理、④文件管理、⑤作业管理。
1.1.2 操作系统的结构
1.无序结构
2.层次结构
3.面向对象结构
4.对称多处理结构
5.微内核结构:把系统的公共部分抽象出来,形成一个底层核心,提供最基本的服务,其他功能以服务器形式建立在微内核之上。
微内核的主要优点:
- 具有统一的接口,在用户态和核心态之间无需进程识别。
- 可伸缩性好,能适应硬件更新和应用变化。
- 可移植性好,所有与具体机器特征相关代码,全部隔离在微内核中,如果操作系统要移植到不同的硬件平台 ,只需要修改微内核中极少代码即可。
- 实时性好,微内核可以方便地支持实时处理。
- 安全可靠性高,微内核将安全性作为系统内部特性来进行设计,对外仅使用少量应用编程接口。
- 支持分布式系统,支持多处理器的架构和高度并行的应用程序。
- 真正面向对象的操作系统。
总结:由于操作系统核心常驻内存,而微内核结构精简了操作系统的核心功能,内核规模比较小,一些功能都移到了外存上,所以微内核结构十分适合嵌入式的专用系统,对于通用性较广的系统,将使CPU的通信开销增大,从而影响计算机的运行速度。
1.2 处理器管理
因为系统同时运行多个程序,从而形成对系统资源的竞争使用,所以,操作系统必须能够处理和管理这种并行运行的程序,使之对资源的使用按照良性的顺序进行。
1.2.1 进程的状态
进程:进程是一个程序关于某个数据集的一次运行,是一个动态概念,而程序是静态的概念。
线程:线程是操作系统能够进行运算调度的最小单位,被包含于进程之中,是进程中的实际运作单位
- 三态模型
- 五态模型
1.2.2 信号量与PV操作
- 信号量:是一种特殊的变量,表现形式是一个整型S和一个队列
- P操作:S=S-1,若S<0,进程暂停执行,进入等待队列
- V操作:S=S+1,若S<=0,唤醒等待队列中的一个进程
- 互斥控制
其中,S代表信号量。
2.同步控制
确保进程B执行V操作之前不让进程A的运行超过L1。
1.2.3 死锁问题
1.死锁发生的必要条件
(1)互斥条件:即一个资源每次只能被一个进程使用。
(2)保持与等待条件:有一个进程已获得了一些资源,但因请求其他资源被阻塞时,对已获得的资源保持不放。
(3)不可抢占条件:有些系统资源是不可抢占的,当某个进程已获得这种资源后,系统不能强制收回,只能有进程使用完自己释放。
(4)循环等待条件:若干个进程形成环形链,每个都占用对方申请的下一个资源。
2.银行家算法
(1)当一个进程对资源的最大需求量不超过系统中的资源数时可以接纳该进程。
(2)进程可以分期请求资源,但请求的总数不超过最大需求量。
(3)当系统现有资源不能满足进程尚需资源数时,对进程的请求可以推迟分配但总能使进程在有限的时间里得到资源。
(4)当系统现有的资源能满足进程尚需资源数时,必须测试系统现存的资源能否满足该进程尚需的最大资源数,若能满足则按当前的申请量分配资源,否则也要推迟分配。
3.解决死锁的策略
(1)死锁预防:破坏导致死锁必要条件中的任意一个就可以预防死锁。
(2)死锁避免:避免是指进程在每次申请资源时判断这些操作是否安全。
(3)死锁检测:死锁预防和避免都是事前措施,而死锁的检测则是判断系统是否处于死锁状态,如果是,则执行死锁解除策略
(4)死锁解除:这是与死锁检测结合使用的,它的使用方式就是剥夺。即将某进程所拥有的资源强行回收,分配给其他进程。
1.2.4 管线与线程
管程有管程名,局部子管程的变量说明,使用共享资源并在数据集上进行操作的若干过程,以及对变量赋初值的语句等4个基本部分组成。每一个管程管理一个临界资源。当有几个进程调用某管程,仅允许一个进程进入管程。
多线程实现的并行避免了进程间并行的缺点:创建线程的开销比创建进程要小,同一进程的线程共享进程的地址空间,所以线程切换(处理器调度)比进程切换要快。
1.3 文件管理
文件管理是对外部存储设备上的以文件方式存放的信息的管理。
1.3.1 文件的逻辑组织
(1)连续结构:是一种把记录按生成的先后顺序的逻辑结构。
(2)多重结构:多重文件把记录按键和记录名排列程行列式结构,一个包含n个记录名,m个键的文件构成一个m*n维行列式。
(3)转置结构:转置结构把含有相同键的记录指针全部指向该键,也就是说把所有与同一键对应的记录指针连续置于目录该键的位置之下。
(4)顺序结构:顺序结构把文件的键按规定的顺序排列起来。
1.3.2 文件的物理组织
(1)连续文件
(2)串联文件
(3)索引文件
索引文件的优点是既适用与顺序存取,又适用于随机存取,缺点是索引表增加了存储空间的开销。
1.3.3 树形目录结构
在多级树形目录中整个文件系统有一个跟,然后在根上分枝,任何一个分枝上都可以再分枝,枝上也可以长出树叶。
1.3.4 存储空间管理
1.空闲表法:空闲表法属于连续分配,系统为外存上的所有空闲区建立一张空闲表,每个空闲区对应一个空闲表项,包括序号、第一空闲盘块号和空闲盘块数。
2.空闲链表法:将所有空闲盘区,拉成一个空闲链,根据构成链的基本元素的不同,可以把链表分成两种形式,一种空闲盘块链,另一种空闲盘区链。
3.位图法:位图用二进制位表示磁盘中的一个盘块的使用情况,0表示空闲,1表示已分配。磁盘上的所有盘块都与一个二进制位相对应。由所有二进制位构成的集合,称为位图,位图法的优点是很容易找到一个或一组相邻的空闲盘块。位图小,可以把它保存在内存中,从而节省了磁盘的启动操作。
4.成组链表法:成组链表法将空闲表和空闲链表法结合形成的一种空闲盘块管理方法,适用于大型文件系统。
1.4 存储管理
对于本知识点,主要考查虚拟存储器(虚存),特别是页式存储管理。
1.4.1 地址变换
(1)静态重定位:静态重定位是在虚空间程序执行之前由装配程序完成地址影射工作。
(2)动态重定位:动态重定位是在程序执行过程中,在CPU访问内存之前,将要访问的程序或数据地址转换为内存地址。
1.4.2 存储组织
虚拟存储器可以分为单一连续分区、固定分区、可变分区、可重定位分区、页式、段式、段页式7种。
1.4.3 存储管理
在虚拟存储器的管理中,涉及载入(调入)、放置(放入分区)和置换等问题
- 调入策略
- 放置策略
- 置换策略
置换算法常见的有最优算法、随机算法、先进先出算法、最近最少使用算法。
局部性原理:存储管理策略的基础是局部性管理,即进程往往会不均匀地高度局部化地访问内存。
1.5 作业管理
在作业管理中,系统为每一个作业建立一个作业控制块(JCB),系统通过JCB感知作业的存在。JCB包括的主要内容有作业名、作业状态、资源要求、作业控制方式、作业类型以及作业优先权等。
1.5.1 作业状态
(1)提交状态
(2)后备状态
(3)执行状态
(4)完成状态
1.5.2作业调度
处理器调度通常分为三级调度,即高、中、低级调度
作业调度算法:
- 先来先服务
- 短作业优先
- 响应比高者优先
R最大者优先执行。
- 优先级
1.6 设备管理
设备管理程序一般要求提供(1)提供和进程管理系统的接口,(2)进行设备分配,(3)实现设备和设备、设备和CPU等之间的并行操作,(4)进行缓冲区管理
1.6.1 数据传输控制方式
I/O系统可以有5种不同的工作方式,分别是程序控制方式、程序中断方式、DMA工作方式、通道方式、输入/输出处理机。
1.6.2 磁盘调度算法
(1)FCFS算法(先来先服务)
(2)SSTF(最短寻道时间优先)算法
(3)SCAN(电梯)算法
(4)N-SCAN算法
(5)C-SCAN算法
1.6.3 虚设备与SPOOLing技术
SPOOLing(Simultaneous Peripheral Operation On Line)的意思是外部设备,同时联机操作,又称为假脱机输入输出操作或排队转储技术,采用一组程序或进程模拟一台输入输出处理器。
SPOOLing系统主要由以下3部分组成:
- 输入井和输出井
- 输入缓冲区和输出缓冲区
- 输入进程和输出进程
其主要技术特点:
- 提高I/O速度
- 设备并没有分配给任何进程
- 实现了虚拟设备功能
1.7 网络操作系统
网络操作系统除了具备单机操作系统所需的功能外,还应具备(1)提高高校可靠的网络通信能力(2)提供多项网络服务功能;网络操作系统一般具有以下特征:(1)硬件独立,(2)网络特征,(3)可移植性和可集成性,(4)多用户、多任务网络操作系统由网络驱动程序,子网协议,应用层协议等3个方面组成。