4.1 操作系统概述

计算机软件通常分为【系统】软件和【应用】软件两大类。P180

常用的系统软件有【操作系统】、【语言处理程序】、【链接程序】、【诊断程序】和【数据库管理系统】等。P180

4.1.1 操作系统的基本概念

1.操作系统定义及作用

传统计算机系统资源分为【硬件】资源和【软件】资源。P180

【软件】资源是以【文件】形式保存在存储器上的【程序】和【数据】等信息。P180

【操作系统】定义:能有效地组织和管理系统中的各种软/硬件资源,合理地组织计算机系统工作流程,控制程序的执行,并且向用户提供一个良好的工作环境和友好的接口。P180

【操作系统】是计算机系统的资源管理者,它含有对系统软/硬件资源实施管理的一组程序。P180

2.操作系统特征与功能

【操作系统】的4个特征是【并发性】、【共享性】、【虚拟性】和【不确定性】。P181

操作系统的功能可分为【处理机】管理、【文件】管理、【存储】管理、【设备】管理和【作业】管理5大部分。P181

【进程管理】主要包括【进程控制】、【进程同步】、【进程通信】和【进程调度】。P181

【文件管理】主要包括【文件存储空间管理】、【目录管理】、文件的【读/写】管理和【存取】控制。P181

【存储管理】主要包括【存储分配与回收】、【存储保护】、【地址映射】(变换)和【主存扩充】。P181

【设备管理】包括对输入/输出设备的【分配】、【启动】、【完成】和【回收】。P181

【作业管理】包括【任务】、【界面管理】、【人机交互】、【图形界面】、【语音控制】和【虚拟现实】等。P181

4.1.2 操作系统的分类及特点

【操作系统】可分为【批处理】操作系统、【分时】操作系统、【实时】操作系统、【网络】操作系统、【分布式】操作系统、【微型计算机】操作系统和【嵌入式】操作系统等类型。P181

1.批处理操作系统

批处理操作系统分为【单道】批处理和【多道】批处理。P181

多道批处理系统主要有3个特点:多道、宏观上【并行】运行、微观上【串行】运行。P182

2.分时操作系统

分时系统主要有4个特点:【多路性】、【独立性】、【交互性】和【及时性】。P182

3.实时操作系统

【实时】是指计算机对于外来信息能够以足够快的速度进行处理,并在被控对象允许的时间范围内做出快速反应。P182

实时系统对【交互能力】要求不高,但要求【可靠性】有保障。P182

实时系统分为实时【控制】系统和实时【信息处理】系统。P182

4.网络操作系统

【网络】操作系统是使联网计算机能方便而有效地共享网络资源,为网络用户提供各种服务的软件和有关协议的集合。P182

一个典型的网络操作系统的特征包括【硬件独立性】、【多用户支持】等。P183

网络操作系统可分为如下三类:【集中模式】、【客户端/服务端模式】、【对等模式】(Peer-to-Peer)。P183

网络操作系统主要有三大阵营:【UNIX】、【Windows NT】和【NetWare】。P183

5.分布式操作系统

【分布式】计算机系统是由多个分散的计算机经连接而成的计算机系统,系统中的计算机无主、次之分,任意两台计算机可以通过通信交换信息。P184

【分布式】操作系统是【网络】操作系统的更高级形式,它保持网络系统所拥有的全部功能,同时又有【透明性】、【可靠性】和【高性能】等特性。P184

6.微型计算机操作系统

【微型】计算机操作系统简称【微机】操作系统,常用的有Windows、Mac OS、Linux。Windows操作系统是Microsoft公司开发的图形用户界面、多任务、多线程操作系统。P184

7.嵌入式操作系统

【嵌入式】操作系统运行在嵌入式智能芯片环境中,对整个智能芯片以及它所操作、控制的各种部件装置等资源进行统一协调、处理、指挥和控制。P184

嵌入式操作系统主要特点:【微型化】、【可定制】、【实时性】、【可靠性】、【易移植性】。P184

4.1.3 操作系统的发展

4.2 进程管理

【进程】管理也称【处理机】管理。P185

【进程】是资源分配和独立运行的基本单位。P185

4.2.1 基本概念

1.程序与进程

1)程序顺序执行的特征

程序顺序执行时的主要特征包括【顺序性】、【封闭性】和【可再现性】。P186

2)程序并发执行的特征

2.进程的组成

【进程】是程序的一次执行,该程序可以和其他程序并发执行。P187

进程通常是由【程序】、【数据】和【进程控制块】(Process Control Block,【PCB】)组成的。P187

软件设计师教程(第5版)第4章 操作系统知识(更新中)_死锁


【PCB】是进程存在的唯一标志。P187

【程序】部分描述了进程需要完成的功能。假如一个程序能被多个进程同时共享执行,那么这一部分就应该以可再入(纯)码的形式编制,它是程序执行时【不可修改】的部分。P187

【数据】部分包括程序执行时所需的数据及工作区。该部分只能为一个进程所专用,是进程的【可修改】部分。P187

3.进程的状态及其状态间的切换

1)三态模型

软件设计师教程(第5版)第4章 操作系统知识(更新中)_死锁_02

2) 五态模型

软件设计师教程(第5版)第4章 操作系统知识(更新中)_存储管理_03

3)具有挂起状态的进程状态及其转换

软件设计师教程(第5版)第4章 操作系统知识(更新中)_软件设计师_04

4.2.2 进程的控制

【进程】控制就是对系统中的所有进程从创建到消亡的全过程实施有效的控制。P189

【内核】是计算机系统硬件的首次延伸,是基于硬件的第一层软件扩充,它为系统对进程进行控制和管理提供了良好的环境。P189

【原语】(Primitive)是指由若干条【机器指令】组成的,用于完成特定功能的【程序段】。P189

【原语】的特点是在执行时不能被分割,即原子操作要么都做,要么都不做。P189

内核中所包含的原语主要有【进程控制】原语、【进程通信】原语、【资源管理】原语以及其他方面的原语。P189

属于进程控制方面的原语有【进程创建】原语、【进程撤销】原语、【进程挂起】原语、【进程激活】原语、【进程阻塞】原语以及【进程唤醒】原语等。P189

不同的操作系统内核所包含的功能不同,但大多数操作系统的内核都包含【支撑】功能和【资源管理】的功能。P189

4.2.3 进程间的通信

进程通信是指各个进程【交换信息】的过程。P189

1.同步与互斥

【同步】是合作进程间的【直接】制约问题。P189

【互斥】是申请临界资源进程间的【间接】制约问题。P189

1)进程间的同步

在系统中一些需要相互合作,协同工作的进程,这样的相互联系称为进程的【同步】。P190

2)进程间的互斥

有些资源一次只能供一个进程使用,称为【临界资源】(Critical Resource,【CR】),如打印机、共享变量和表格等。P190

3)临界区管理的原则

【临界区】(【CS】)是进程中对临界资源实施操作的那段程序。P190

对互斥临界区管理的4条原则:【有空即进】、【无空则等】、【有限等待】、【让权等待】。P190

2.信号量机制

信号量机制有了很大的发展,主要有【整型】信号量、【记录型】信号量和【信号量集】机制。P190

1)整型信号量与PV操作

信号量分为【公用】信号量和【私用】信号量。P190

【公用】信号量。实现进程间的【互斥】,初值为1或资源的数目。P190

【私用】信号量。实现进程间的【同步】,初值为0或某个正整数。P190

3.高级通信原语

高级通信方式主要分为【共享存储模式】、【消息传递模式】和【管道通信】。P193

4.2.4 管程

1.管程的引入

【管程】由一些共享数据、一组能为并发进程所执行的作用在共享数据上的操作的集合、初始代码以及存取权组成。P193

2.管程的结构

3.利用管程解决生产者—消费者问题

4.2.5 进程调度

【进程调度】方式是指当有更高优先级的进程到来时如何分配CPU。P195

调度方式分为【可剥夺】和【不可剥夺】两种。P195

【可剥夺】式是指当有更高优先级的进程到来时,强行将正在运行进程的CPU分配给高优先级的进程。P195

【不可剥夺】式是指当有更高优先级的进程到来时,必须等待正在运行进程自动释放占用的CPU,然后将CPU分配给高优先级的进程。P195

1.三级调度

在某些操作系统中,一个作业从提交到完成需要经历【高】、【中】、【低】三级调度。P195

【低级】调度是操作系统中最活跃、最重要的调度程序,对系统的影响很大。P196

2.调度算法

常用的进程调度算法有【先来先服务】、【时间片轮转】、【优先级调度】和【多级反馈调度】算法。P196

优先级调度分为【静态】优先级和【动态】优先级两种。P196

3.进程优先级确定

4.2.6 死锁

所谓【死锁】,是指两个以上的进程互相都要求对方已经占有的资源导致无法继续运行下去的现象。P198

1.死锁举例

2.死锁产生的原因及4个必要条件

产生死锁的4个必要条件是【互斥】条件、【请求保持】条件、【不可剥夺】条件和【环路】条件。P199

3.死锁的处理

死锁的处理策略主要有4种:【鸵鸟策略】(即不理睬策略)、【预防策略】、【避免策略和检测】与【解除死锁】。P199

1)死锁预防

预防死锁的两种策略:【预先静态分配法】、【资源有序分配法】。P199

2)死锁避免

最著名的死锁避免算法是Dijkstra提出的【银行家】算法。P200

3)死锁检测
4)死锁解除

死锁解除通常采用如下方法:【资源剥夺】法、【撤销进程】法。P201

4.2.7 线程

【线】程作为调度和分配的基本单位。P202

线程分为【用户级】线程(User-Level Threads)和【内核支持】线程(Kernel-Supported Threads)两类。P202

4.3 存储管理

4.3.1 基本概念

1.存储器的结构

软件设计师教程(第5版)第4章 操作系统知识(更新中)_死锁_05

2.地址重定位

【地址重定位】是指将逻辑地址变换成主存物理地址的过程。P203

地址重定位分为【静态】地址重定位和【动态】地址重定位。P203

【静态】重定位是指在程序装入主存时已经完成了逻辑地址到物理地址的变换,在程序的执行期间将不会再发生变化。P203

【动态】重定位是指在程序运行期间完成逻辑地址到物理地址的变换。其实现机制要依赖硬件地址变换机构,如【基地址寄存器】(【BR】)。203

4.3.2 存储管理方案

存储管理方案主要包括【分区】存储管理、【分页【存储管理、【分段【存储管理、【段页式】存储管理以及【虚拟】存储管理。P204

1.分区存储管理

分区存储管理按划分方式不同分区可分为【固定】分区、【可变】分区和【可重定位】分区。P204

对于可变分区的请求和释放分区主要有如下4种算法:【最佳】适应算法、【最差】适应算法、【首次】适应算法、【循环首次】适应算法。P204

2.分区保护

【分区保护】的目的是防止未经核准的用户访问分区。P205

4.3.3 分页存储管理

1.纯分页存储管理

1)分页原理
2)地址结构
3)页表

2.快表

联想存储器由一组高速存储器组成,称之为【快表】。P207

3.两级页表机制

4.3.4 分段存储管理

4.3.5 段页式存储管理

4.3.6 虚拟存储管理

【虚拟存储器】是为了扩大主存容量而采用的一种设计方法,其容量是由计算机的地址结构决定的。P211

1.程序局部性原理

程序的局限性表现在【时间】局限性和【空间】局限性两个方面。P211

2.虚拟存储器的实现

【虚拟存储器】是具有请求调入功能和置换功能,能仅把作业的一部分装入主存便可运行作业的存储器系统,是能从逻辑上对主存容量进行扩充的一种虚拟的存储器系统。P211

虚拟存储器的实现主要有如下3种方式:【请求分页】系统、【请求分段】系统、【请求段页式】系统。P211

3.请求分页管理的实现

【请求分页】是在纯分页系统的基础上增加了请求调页功能、页面置换功能所形成的页式虚拟存储系统。P212

4.页面置换算法

刚被换出的页很快又被访问,需重新调入,导致系统频繁地更换页面,以至于一个进程在运行中把大部分时间花费在完成页面置换的工作上,这种现象称为系统发生了“【抖动】”(也称【颠簸】)。P213

1)最佳(Optimal)置换算法
2) 先进先出(FIFO)置换算法
3)最近最少未使用(Least Recently Used,LRU)置换算法
4)最近未用(Not Used Recently,NUR)置换算法

5.工作集

4.4 设备管理

【设备】管理是操作系统中最繁杂而且与硬件紧密相关的部分。P216

4.4.1 设备管理概述

I/O系统由【设备】、【控制器】、【通道】(具有通道的计算机系统)、【总线】和【I/O软件】组成。P216

1.设备的分类

设备按数据组织分类:【块设备】(Block Device)和【字符设备】(Character Device)。P216

设备按照设备的功能分类:【输入】设备、【输出】设备、【存储】设备、【网络联网】设备、【供电】设备等等。P216

设备从资源分配角度分类:【独占】设备、【共享】设备和【虚拟】设备。P216

设备按数据传输率分类:【低速】设备、【中速】设备和【高速】设备。P217

2.设备管理的目标与任务

在设备管理中,主要利用的技术有【中断】技术、【DMA】技术、【通道】技术和【缓冲】技术。P217

4.4.2 I/O软件

I/O设备管理软件一般分为4层:【中断处理】程序、【设备驱动】程序、与设备无关的【系统】软件和【用户级】软件。P217

4.4.3 设备管理采用的相关技术

1.通道技术

根据【信息交换】方式的不同,将通道分为【字节多路】通道、【数组选择】通道和【数组多路】通道三类。P218

2.DMA技术

3.缓冲技术

缓冲可分为【单】缓冲、【双】缓冲、【多】缓冲和【环形】缓冲。P219

4. Spooling技术

输入井中的作业有如下4种状态:【提交】状态、【后备】状态、【执行】状态、【完成】状态。P220

4.4.4 磁盘调度

1.磁盘驱动调度

常用的磁盘调度算法:先来先服务(【FCFS】)、最短寻道时间优先(【SSTF】)、扫描算法(【SCAN】)、单向扫描调度算法(【CSCAN】)。P221

2.旋转调度算法

4.5 文件管理

4.5.1 文件与文件系统

1.文件

【文件】是具有符号名的、在逻辑上具有完整意义的一组相关信息项的集合。P224

【信息项】是构成文件内容的基本单位,可以是一个字符,也可以是一个记录,记录可以等长,也可以不等长。P224

一个文件包括文件【体】和文件【说明】。P224

【文件体】是文件真实的内容。P224

【文件说明】是操作系统为了管理文件所用到的信息,包括文件名、文件内部标识、文件的类型、文件存储地址、文件的长度、访问权限、建立时间和访问时间等。P224

2.文件系统

操作系统中实现文件统一管理的一组软件和相关数据的集合,专门负责管理和存取文件信息的软件机构,简称【文件系统】。P224

3.文件的类型

文件的类型 按文件性质和用途可将文件分为【系统】文件、【库】文件和【用户】文件。P225

文件的类型 按信息保存期限分类可将文件分为【临时】文件、【档案】文件和【永久】文件。P225

文件的类型 按文件的保护方式分类可将文件分为【只读】文件、【读/写】文件、【可执行】文件和【不保护】文件。P225

文件的类型 UNIX系统将文件分为【普通】文件、【目录】文件和【设备】文件(【特殊】文件)。P225

4.5.2 文件的结构和组织

文件的结构是指文件的【组织形式】。P225

文件在文件存储器上的存放方式称为文件的【物理结构】。P225

1.文件的逻辑结构

文件的逻辑结构可分为两大类:有结构的【记录】式文件、无结构的【流】式文件。P226

1)有结构的记录式文件

记录的长度可分为【定长】和【不定长】两类。P226

2)无结构的流式文件

2.文件的物理结构

几种常见的文件物理结构:【连续】结构、【链接】结构、【索引】结构、多个物理块的【索引表】。P226

UNIX文件索引表项分4种寻址方式:【直接】寻址、【一级间接】寻址、【二级间接】寻址和【三级间接】寻址。P227

4.5.3 文件目录

【文件目录】是由【文件控制块】组成的,专门用于文件的检索。P227

文件控制块也称为文件的说明或文件目录项(简称【目录项】)。P227

1.文件控制块

文件控制块中包含以下三类信息:【基本】信息类、【存取控制】信息类和【使用】信息类。P227

2.目录结构

常见的目录结构有3种:【一级】目录结构、【二级】目录结构和【多级】目录结构。P228

4.5.4 存取方法和存储空间的管理

1.文件的存取方法

文件的【存取】方法是指读/写文件存储器上的一个物理块的方法。通常有【顺序】存取和【随机】存取两种方法。P229

【顺序】存取方法是指对文件中的信息按顺序依次进行读/写;P229

【随机】存取方法是指对文件中的信息可以按任意的次序随机地读/写。P229

2.文件的存储空间的管理

常用的空闲空间的管理方法有【空闲区表】、【位示图】、【空闲块链】和【成组链接法】4种。P229

4.5.5 文件的使用

4.5.6 文件的共享和保护

1.文件的共享

常见的文件链接有【硬】链接和【符号】链接两种。P231

1)硬链接

文件的【硬】链接是指两个文件目录表目指向同一个索引结点的链接,该链接也称基于索引结点的链接。P231

2)符号链接

【符号】链接建立新的文件或目录,并与原来文件或目录的路径名进行映射,当访问一个符号链接时,系统通过该映射找到原文件的路径,并对其进行访问。P232

2.文件的保护

4.5.7 系统的安全与可靠性

1.系统的安全

一般从4个级别上对文件进行安全性管理:【系统】级、【用户】级、【目录】级和【文件】级。P233

2.文件系统的可靠性

4.6 作业管理

【作业】是系统为完成一个用户的计算任务(或一次事务处理)所做的工作总和。P234

对用户编写的源程序,需要经过编译、连接、装入以及执行等步骤得到结果,这其中的每一个步骤称为【作业步】。P234

在操作系统中用来控制作业进入、执行和撤销的一组程序称为【作业】管理程序。P235

4.6.1 作业与作业控制

1.作业控制

作业由【程序】、【数据】和【作业说明书】3个部分组成。P235

2.作业状态及转换

作业状态分为4种:【提交】、【后备】、【执行】和【完成】。P235

3.作业控制块和作业后备队列

所谓【作业控制块】(【JCB】),是记录与该作业有关的各种信息的登记表。P235

软件设计师教程(第5版)第4章 操作系统知识(更新中)_死锁_06

4.6.2 作业调度

1.作业调度算法

常见的作业调度算法:先来先服务、短作业优先、响应比高优先、优先级调度算法、均衡调度算法。P236

2.作业调度算法性能的衡量指标

4.6.3 用户界面

【用户界面】(User Interface)是计算机中实现用户与计算机通信的软/硬件部分的总称。用户界面也称【用户接口】,或【人机界面】。P238

用户界面可分为如下阶段:【控制面板式】用户界面、【字符】用户界面、【图形用户】界面、【新一代】用户界面。P238