第一章 操作系统引论
- 操作系统的目标:有效性(提高资源利用率和系统吞吐量)、方便性、可扩充性、开放性。
- 有效性和方便性是操作系统最重要两个目标。
- 操作系统的作用:
(1)OS作为用户与计算机硬件系统之间的接口
(2)OS作为计算机系统资源的管理者(处理器、存储器、I/O设备、数据程序)
(3)OS实现了对计算机资源的抽象(在硬件上覆盖I/O设备、文件和窗口管理软件,即虚拟机)
- OS的发展过程:无操作系统的计算机系统→单道批处理系统→多道批处理系统→分时系统→实时系统→微机操作系统
- 操作系统的基本特征:
(1)并发性(两个或多个事件在同一时间间隔内发生;进入进程和线程)
(2)共享性(系统中资源可供内存中多个并发执行的进程(线程)共同使用,方式为互斥共享方式和同时访问方式)
(3)虚拟性(通过某种技术把一个物理实体变为若干个逻辑上的对应物。方式:时分复用技术和空分复用技术)
(4)异步性(进程以不可预知的速度向前推进,多道程序设计固有的特点)
- OS的主要功能:
(1)处理机管理(进程管理)功能;(主要包括创建和撤销进程、协调诸进程的运行、实现进程间信息交换、把处理机分配给进程。进程同步机制功能是协调多个进程的运行,分为竞争和协作两种方式,实现进程同步常用的及时是信号量机制。调度包括作业调度和进程调度两步。)
(2)存储器管理功能;(内存分配、内存保护、地址映射和内存扩充等功能。内存分配有动态和静态两方式。内容扩充的功能是请求调入和置换)
(3)设备管理功能(缓冲管理、设备分配、设备处理和虚拟设备。缓冲管理包括单、双、公用缓冲机制。设备处理的人物是实现CPU和设备控制器之间的通信)
(4)文件管理功能;(文件存储空间管理、目录管理、文件读写管理、共享保护功能)
(5)操作系统与用户之间的接口;(用户接口和程序接口)
第二章 进程管理
- 进程与线程的基本概念
1)进程是为了使多个程序能并发执行,以提高资源利用率和系统吞吐量。
2)线程是为了减少程序在并发执行时所付出的空间开销,是OS具有更好的并发性。
- 进程和线程的区别
1)调度:线程作为调度和分派的基本单位;进程作为资源拥有的基本单位。
2)并发性:进程之间可以并发执行,进程中的诸线程之间也可并发执行。
3)拥有资源:进程拥有资源,线程无资源,但可以访问所属进程的资源
4)系统开销:创建可撤销进程的代价比创建和撤销线程的代价大的多。
- 前趋图是描述进程之间执行的前后关系的。
- 进程的特征:
1)结构特征;由程序段、相关的数据项和PCB三部分构成了进程实体。
2)动态性;指从创建、调度执行到撤销的过程是动态的。
3)并发性;
4)独立性;因为有PCB,可以独立运行、独立分配资源、独立接受调度等功能
5)异步性;各进程按各自独立、不可预知的速度向前推进。
- 进程的三种基本状态:
1)就绪状态;处CPU外,已占有其他必要的资源的进程
2)执行状态;
3)阻塞状态;因事故是正在执行的进程停止,并让出CPU。
- 信号量机制是一种卓有成效的进程同步工具。包括整形信号量、记录型信号量、AND型信号量、信号量集。
第三章 处理机调度与死锁
- 批量型作业通常需要经历作业调度(高级调度或长程调度)和进程调度(低级调度和短程调度)两个过程后方能获得处理机。
- 处理机调度层次
1)高级调度:把外存上处于后备队列中的那些作业调入内存。
2)低级调度:它决定就绪队列中的哪个进程将获得处理机,然后由分派程序执行把处理机分配给该进程的操作。对象是进程。功能是:保存处理机现场信息(PCB);按某种算法选取进程;把处理器分配给进程。方式分为非抢占方式和抢占方式。
3)中级调度:内存中不能有太多的进程,把进程从内存移到外存,当内存有足够空间时,再将合适的进程换入内存,等待。目的是提高内存利用率和系统吞吐量。
- 死锁:多个进程在运行过程中因争夺资源而造成的一种僵局。
活锁:多个进程在运行工程中因相互谦让而造成的一种僵局。
- 产生死锁的原因
1)竞争资源
2)进程间推进顺序非法
- 产生死锁的必要条件
1)互斥条件:临界资源的互斥访问
2)请求和保持条件:占着自己的资源不放,又去请求别人的
3)不剥夺条件:进程没有完成则不是放占有的资源
4)环路等待条件:发生死锁指必然存在一个资源环形链。
- 处理死锁的基本方法
1)预防死锁
2)避免死锁
3)检测和解除死锁
- 安全序列:是指系统能够找到一个进程顺序(P1、P2……Pn),来为每个进程Pi分配所需资源,知道满足每个进程的最大需求,是每个进程能够顺利完成,则P1、P2……Pn即为安全状态。
- 用资源分配图对死锁进行检测,消去途中的所有边,若节点为孤立节点,则为可完全简化。
- 死锁的解除
1)剥夺资源:从其他进程剥夺足够数量的资源给死锁进程,以解除死锁状态
2)撤销进程:一种方法是夭折全部进程;另一种方法是按某个顺序逐个撤销进程,知道死锁状态被解除。
第四章 存储器管理
- 连续分配方式:一个用户程序分配一个连续的内存空间
1)单一连续分配:一个程序装入其他程序就不允许被装入。只是用于单用户单任务的OS中。
2)固定分区分配:把内存分为若干个固定大小的区域,每个分区装入一个作业,允许并发执行。
3)动态分区分配:根据实际需要,动态地为之分配内存空间。
4)动态重定位分区分配:通过重定位寄存器把相对地址转化成物理地址,此转化过程是在程序执行期间,随着每条指令或数据的访问自动进行的,故称为动态重定位。
- 分区分配算法
1)首次适应算法(以地址递增次序访问)
2)循环首次适应算法(从上一次分配处开始查找)
3)最佳适应算法(小内存到大内存依次查找)
4)最坏适应算法(每次分配从大内存开始割让)
5)快速适应算法(对空闲分区进行分类,并建立索引表,选最适合的控件分配给请求的进程)
- 对换:把暂时不运行的程序调到外存,需要时再调到内存。
- 地址变换机制:将用户地址空间中的逻辑地址变换为内存空间中的物理地址。
- 引入分段存储管理方式的目的,则主要是为了满足用户在编程和使用上多方面的要求。
- 段表是用于实现从逻辑段到物理内存区的映射。
- 分页和分段的主要区别
1)两者都采用离散分配方式,且都要通过地址应设机构来实现地址变换。
2)页是信息的物理单位,分页是为了有效的管理内存;段式逻辑单位,分段是为了维护信息完整性和独立性。
3)页的大小固定且由系统决定,段的长度不固定,决定于用户编写的程序。
4)分页的作业地址空间是一维的,而分段的作业地址空间是二维的。
- 段页式存储管理方式的原理:分段和分页相结合,先将用户程序分成若干个段,再把每个段分成若干个页,并为每个段赋予一个段名。其地质结构由段号、段内页号和页内地址组成。
- 页面置换算法有:最佳置换算法、先进先出置换算法、最近最久未使用置换算法、Clock置换算法。
第五章 设备管理
- I/O系统是用于实现数据输入、输出及数据存储的系统。
- I/O设备类型:
1)特性:存储设备;输入/输出设备。
2)传输速率:低速设备;中速设备;高速设备。
3)信息交换的单位分类:块设备;字符设备。
4)共享属性:独占设备;共享设备;虚拟设备。
- 设备与控制器之间的接口:
1)数据信号线:设备和设备控制器之间传送数据信号
2)控制信号线:设备控制器向I/O设备发送控制信号的通路
3)状态信号线:传送指示设备当前状态的信号。
- 设备控制器
主要职责是控制一个或多个I/O设备,以实现I/O设备和计算机之间的数据交换。是CPU和I/O设备的接口,他接受CPU指令去控制I/O设备工作,使减轻处理机的工作量。
设备控制器包括控制字符设备控制器和控制块设备的控制器。
- 设备控制器的基本功能
1)接受和识别命令
2)数据交换
3)标识和报告设备的状态
4)地址识别(CPU通过地质控制设备)
5)数据缓冲
6)差错控制
- I/O通道是一种特殊的处理机,它具有执行I/O指令的能力,可以控制I/O操作。类型分为:字节多路通道、数组选择通道、数组多路通道。
- 解决“瓶颈”问题的最有效的方法是增加设备到主机间的通路而不增加通道。
- I/O控制方式
1)程序I/O方式
2)中断驱动I/O控制方式
3)直接存储器访问(DMA)I/O控制方式
4)I/O通道控制方式
- SPOOLing技术
通过SPOOLing技术便可将一台物理I/O设备虚拟为多台逻辑I/O设备,同样允许多个用户共享一台物理I/O设备。
- Spooling系统的组成
输入井和输入井;输入缓冲区和输出缓冲区;输入进程和输出进程。
- SPOOLing系统的特点
1)提高了I/O的速度
2)将独占设备改造为共享设备
3)实现了虚拟设备功能
- 磁盘调度
磁盘调度的主要目标是使磁盘的平均寻道时间最少。
- 常用的磁盘调度算法
1)先来先服务(适合进程较少的场合)
2)最短寻道时间优先(要访问的磁道与当前磁头所在磁道距离最近。会导致进程“饥饿”现象)
3)扫描算法(考虑访问的磁道与当前磁头所在磁道距离最近和磁头当前移动的方向)
4)循环扫描算法(规定磁头单向移动)
5)NSPetpSCAN和FSCAN调度算法
第六章 文件管理
- 文件逻辑结构的类型
1)有结构文件(由一个以上的记录构成的文件,又称记录式文件)
2)无结构文件(由字符流构成的文件,又称流式文件)
- 记录式文件的长度分为定长记录和变长记录。
- 记录文件又分为顺序文件、索引文件、索引顺序文件。
- 大量的数据结构而后数据库是采用有结构的文件形式
而大量的源代码、可执行文件、库函数等采用无结构文件。
- 顺序文件的优缺点
1)适合进行批量存取
2)存取效率是所有逻辑文件中最高的
3)也只有顺序文件才能存储在磁带上,并能有效的工作
4)不适合查找或修改单个记录
5)增加或删除一个记录时比较困难
- 索引文件的缺点:除了有主文件外,还须配置一张索引表,而且每个记录都要有一个索引表,因此提高了存储费用。
- 对已直接文件,检索时可以根据记录键值直接获得指定记录的物理地址。
- 哈希文件是键值通过Hash函数指向目录表,该表目的内容指向记录所在的物理块。
- 外存分配方式:连续分配、连接分配和索引分配三种。
- 连续分配的优缺点
1)顺序访问容易
2)顺序访问速度快
缺点:
1)要求有连续的存储空间
2)必须实现知道文件的长度
- 链接分配中的链接方式分为隐式链接和显式链接。
- 为新建文件分配存储空间的方式分为连续和离散的分配方式。前置具有较高的文件访问速度,但可能产生较多的外存零头。后者能有效的利用外存空间,但访问速度较慢。无论哪种方式,存储空间的基本分配单位都是磁盘块而非字节。
- 文件存储空间管理的方法
1)空闲表法和空闲链表法
2)位示图法
3)成组链接法
- 空闲表法和空闲链表法都不适用于大型文件系统可使用成组链接法。