add OS chapter one
							parent
							
								
									11b6fb3d3e
								
							
						
					
					
						commit
						0d104cfd95
					
				| 
						 | 
					@ -1,70 +0,0 @@
 | 
				
			||||||
---
 | 
					 | 
				
			||||||
title: "《操作系统》操作系统发展历程"
 | 
					 | 
				
			||||||
date: 2022-12-29T20:53:40+08:00
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
---
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### 手工操作阶段
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
用户在计算机上的所有计算流程都要人工干预
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
缺点:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
1. 用户独占全机,虽然不会出现因资源已被用户占用而等待的现象,但资源利用率极低
 | 
					 | 
				
			||||||
2. CPU等待手工操作,CPU利用不充分
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### 批处理阶段
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#### 单道批处理系统
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
主要在解决人机矛盾及CPU和I/O设备不匹配的问题
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
特征:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
1. 自动性,顺利的情况下,同一磁带上的同一批作业能够自动逐个运行
 | 
					 | 
				
			||||||
2. 顺序性,磁带上的各道作业顺序地进入内存
 | 
					 | 
				
			||||||
3. 单道性,内存中仅有一道程序运行
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#### 多道批处理系统
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
多道程序设计的特点是多道、宏观上并行,微观上串行
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
1. 多道。计算机内存中同时存放多道相互独立的程序
 | 
					 | 
				
			||||||
2. 宏观上并行。同时进入系统的多道程序都出于运行过程中,即先后开始各自运行但都未运行完毕
 | 
					 | 
				
			||||||
3. 微观上串行。内存中的多道程序轮流占有CPU,交替执行
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
优点:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
资源利用率高,多道程序共享计算机资源,从而使各种资源得到充分利用;系统吞吐量打,CPU和其他资源保持“忙碌”状态
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
缺点:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
用户响应时间较长;不提供人机交互能力,用户既不能了解自己的程序的运行情况,又不能控制计算机
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### 分时操作系统
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
分时操作系统是指多个用户通过终端同时共享一台主机,用户可以同时与主机进行交互操作而互不干扰
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
特征:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
1. 同时性
 | 
					 | 
				
			||||||
2. 交互性,用户能够方便进行人机对话
 | 
					 | 
				
			||||||
3. 独立性,多个用户可以彼此独立地进行操作
 | 
					 | 
				
			||||||
4. 及时性,用户请求能在很短的时间内响应
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### 实时操作系统
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
根据响应时间限制分为两种:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
1. 硬实时系统:某个动作必须绝对地在规定的时刻发生
 | 
					 | 
				
			||||||
2. 软实时系统:能够接受偶尔违反时间规定的情况且不会引起任何永久性的损害
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
特点:
 | 
					 | 
				
			||||||
1. 及时性
 | 
					 | 
				
			||||||
2. 可靠性
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### 网络操作系统和分布式计算机系统
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
| 
						 | 
					@ -1,198 +0,0 @@
 | 
				
			||||||
---
 | 
					 | 
				
			||||||
title: "《操作系统》操作系统的基本概念"
 | 
					 | 
				
			||||||
date: 2022-08-18T15:53:40+08:00
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
---
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## 知识框架
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
* 概论
 | 
					 | 
				
			||||||
  * 特征
 | 
					 | 
				
			||||||
    * 并发(最基本)
 | 
					 | 
				
			||||||
    * 共享(最基本)
 | 
					 | 
				
			||||||
    * 虚拟
 | 
					 | 
				
			||||||
    * 异步
 | 
					 | 
				
			||||||
  * 目标和功能
 | 
					 | 
				
			||||||
    * 计算机系统资源管理者
 | 
					 | 
				
			||||||
    * 扩充机器
 | 
					 | 
				
			||||||
    * 用户与计算机系统之间的接口
 | 
					 | 
				
			||||||
      * 命令接口
 | 
					 | 
				
			||||||
      * 程序接口
 | 
					 | 
				
			||||||
      * GUI
 | 
					 | 
				
			||||||
  * 发展
 | 
					 | 
				
			||||||
    * 批处理操作系统$\rightarrow$分时操作系统$\rightarrow$实时操作系统$\rightarrow$网络和分布式操作系统
 | 
					 | 
				
			||||||
  * 运行机制
 | 
					 | 
				
			||||||
    * 中断和异常
 | 
					 | 
				
			||||||
    * 系统调用
 | 
					 | 
				
			||||||
  * 体系结构
 | 
					 | 
				
			||||||
    * 大内核
 | 
					 | 
				
			||||||
    * 微内核
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## 操作系统的基本概念
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### 操作系统的概念
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
操作系统是只控制和管理整个计算机系统的硬件与软件资源,合理地组织、调度计算机的工作与资源的分配,进而为用户和其他软件提供方便接口与环境的程序集合。
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
操作系统是计算机系统中最基本的系统软件
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### 操作系统的特征
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
基本特征包括并发、共享、虚拟和异步
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#### 并发
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
并发指两个或多个事件在同一时间间隔内发生
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
操作系统的并发性指计算机系统中同时存在多个运行的程序,因而具有处理和调度多个程序同时执行的能力。
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
同一时间间隔(并发)和同一时刻(并行)的区别:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
1. 宏观上有多道程序同时进行,微观上这些程序依旧是分时交替执行的,操作系统的并发性正是分时得以实现的
 | 
					 | 
				
			||||||
2. 并行性则是具有同时进行运算或操作的特性,同一时刻能完成两种或两种以上的工作,需要硬件的支持
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#### 共享
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
共享通常指系统中的资源可供内存中多个并发执行的进程共同使用,拥有两种资源共享方式
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
* 互斥共享方式
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
互斥式共享:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
当进程A访问某个资源时,必须先提出请求,若此时该资源空闲,则系统将其分配给进程A使用,此后有其他进程也要访问该资源时,就必须等待。仅当进程A访问完并释放该资源后,才允许另一个进程对该资源进行访问。
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
临界资源(独占资源):
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
一段时间内只允许一个进程访问的资源
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
互斥共享要求一种资源在一段时间内(哪怕是很小的时间)只能满足一个请求,否则就会出现严重的问题
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
* 同时访问方式
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
宏观上存在一些资源允许多个进程同时访问,微观上这些进程是交替地对该资源进行访问,即分时共享
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
---------------------------
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
并发和共享是操作系统两个最基本的特征,两者互为存在的条件:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
1. 资源共享是以程序的并发为条件的,若系统不允许程序并发执行,则自然不存在资源共享问题
 | 
					 | 
				
			||||||
2. 若系统不能对资源共享实施有效的管理,则必将影响到程序的并发执行,甚至根本无法并发执行
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#### 虚拟
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
虚拟是指把一个物理上的实体变为若干逻辑上的对应物。
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
操作系统中采用了多种虚拟技术来实现虚拟处理器、虚拟内存和虚拟外部设备等
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
虚拟技术可归纳为:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
1. 时分复用技术,如处理器的分时共享
 | 
					 | 
				
			||||||
2. 空分复用技术,如虚拟存储器
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#### 异步
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
程序的异步性:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
多道程序环境允许多个程序并发执行,但由于资源有限,进程执行并非一贯到底,而是走走停停,以不可预知的速度向前推进
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
异步性导致的问题:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
异步性会使操作系统运行在一种随机的环境下,可能导致进程产生与时间有关的错误。然而在运行环境相同的情况下,操作系统就需要保证多次运行进程后得到的结果相同
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
### 操作系统的目标和功能
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
操作系统应具有以下功能来给多道程序提供良好的运行环境
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
1. 处理机管理、存储器管理、设备管理和文件管理
 | 
					 | 
				
			||||||
2. 需向用户提供接口以方便用户使用
 | 
					 | 
				
			||||||
3. 可用于扩充机器来提供更方便的服务、更高的资源利用率
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#### 操作系统作为计算机系统资源的管理者
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
* 处理机管理
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
在多道程序环境下,处理机的分配和运行都以进程(线程)为主要单位
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
处理机的管理可归结为对进程的管理,因此进程创建、撤销、管理、避免冲突、合理共享就是进程管理的主要任务
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
进程管理的主要功能:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
1. 进程控制
 | 
					 | 
				
			||||||
2. 进程同步
 | 
					 | 
				
			||||||
3. 进程通信
 | 
					 | 
				
			||||||
4. 死锁处理
 | 
					 | 
				
			||||||
5. 处理机调度
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
* 存储器管理
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
存储器管理用于给多道程序的运行提供良好环境,便于用户使用及提高内存利用率
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
主要功能:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
1. 内存分配与回收
 | 
					 | 
				
			||||||
2. 地址映射
 | 
					 | 
				
			||||||
3. 内存保护与共享
 | 
					 | 
				
			||||||
4. 内存扩充
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
* 文件管理
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
负责文件管理的部分称为文件系统
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
主要功能:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
1. 文件存储空间的管理
 | 
					 | 
				
			||||||
2. 目录管理
 | 
					 | 
				
			||||||
3. 文件读写管理和保护
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
* 设备管理
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
主要任务是完成用户I/O请求,方便用户使用设备,提高设备利用率
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
主要功能:
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
1. 缓冲管理
 | 
					 | 
				
			||||||
2. 设备分配
 | 
					 | 
				
			||||||
3. 设备处理
 | 
					 | 
				
			||||||
4. 虚拟设备
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#### 操作系统作为用户与计算机硬件系统之间的接口
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
##### 命令接口
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
* 联机命令接口
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
联机命令接口又称为交互式命令接口,适用于分时或实时系统的接口
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
可由用户在控制台或终端输入命令,经命令解释程序解释并执行后,控制权再转交回控制台或终端,这一过程往往强调交互性
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
常见为 命令提示符中输入单条指令
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
* 脱机命令接口
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
脱机命令接口又称为批处理命令接口,适用于批处理系统
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
脱机用户不能干预作业运行,事先使用作业控制命令编写"命令清单",系统调度到该作业时,命令解释程序逐条解释并执行,从而间接控制作业的进行
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
常见为 使用命令编写脚本后运行
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
##### 程序接口
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
该接口由一组系统调用组成,用户通过在程序中使用这些系统调用来请求操作系统为其提供服务
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
常见为用户图形界面(GUI),如linux的KDE桌面
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
#### 操作系统用作扩充机器
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
没有任何软件支持的计算称为裸机,它仅是计算机系统的物质基础。操作系统提供的资源管理功能和方便用户的各种服务功能,将裸机改造成功能更强,使用更方便的机器
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
通常将覆盖了软件的机器称为扩充机器或虚拟机
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,314 @@
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					title: "《操作系统》计算机系统概述"
 | 
				
			||||||
 | 
					date: 2022-08-18T15:53:40+08:00
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 操作系统的基本概念
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 操作系统的概念
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* 负责管理协调硬件、软件等计算机资源的工作
 | 
				
			||||||
 | 
					* 操作系统为上层用户,应用程序提供简单易用的服务
 | 
				
			||||||
 | 
					* 操作系统是一种系统软件
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 操作系统的特征
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* 并发和共享是最基本的两个性质
 | 
				
			||||||
 | 
					* 并发和共享互为存在条件
 | 
				
			||||||
 | 
					  * 资源共享是以程序的并发为条件的,若系统不允许程序并发执行,则自然不存在资源共享问题
 | 
				
			||||||
 | 
					  * 若系统不能对资源共享实施有效的管理,则必将影响到程序的并发执行,甚至根本无法并发执行
 | 
				
			||||||
 | 
					* 没有并发和共享就谈不上虚拟和异步
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### 并发
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* 并发指两个或多个事件在同一时间间隔内发生
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* 并行:系统具有同时进行运算或操作的特性(同时刻)
 | 
				
			||||||
 | 
					  * 可并行的有【处理机与设备】【处理机与通道】【设备与设备】
 | 
				
			||||||
 | 
					  * 不可并行的有【进程与进程】
 | 
				
			||||||
 | 
					  * 真正实现并行的为多核处理机 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					同一时间间隔(并发)和同一时刻(并行)的区别:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* 宏观上有多道程序同时进行,微观上这些程序依旧是分时交替执行的,操作系统的并发性正是分时得以实现的
 | 
				
			||||||
 | 
					* 并行性则是具有同时进行运算或操作的特性,同一时刻能完成两种或两种以上的工作,需要硬件的支持
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### 共享
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					共享通常指系统中的资源可供内存中多个并发执行的进程共同使用,拥有两种资源共享方式
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* 互斥共享方式
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					当进程A访问某个资源时,必须先提出请求,若此时该资源空闲,则系统将其分配给进程A使用,此后有其他进程也要访问该资源时,就必须等待。仅当进程A访问完并释放该资源后,才允许另一个进程对该资源进行访问。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					临界资源(独占资源):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					一段时间内只允许一个进程访问的资源
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					互斥共享要求一种资源在一段时间内(哪怕是很小的时间)只能满足一个请求,否则就会出现严重的问题
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* 同时访问方式
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					宏观上存在一些资源允许多个进程同时访问,微观上这些进程是交替地对该资源进行访问,即分时共享
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### 虚拟
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					虚拟是指把一个物理上的实体变为若干逻辑上的对应物。
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* 时分复用技术,如处理器的分时共享
 | 
				
			||||||
 | 
					* 空分复用技术,如虚拟存储器
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### 异步
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* 程序异步性:多道程序环境允许多个程序并发执行,但由于资源有限,进程执行并非一贯到底,而是走走停停,以不可预知的速度向前推进
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* 异步性导致的问题:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					异步性会使操作系统运行在一种随机的环境下,可能导致进程产生与时间有关的错误。然而在运行环境相同的情况下,操作系统就需要保证多次运行进程后得到的结果相同
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 操作系统的目标和功能
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					操作系统应具有以下功能来给多道程序提供良好的运行环境
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1. 处理机管理、存储器管理、设备管理和文件管理
 | 
				
			||||||
 | 
					2. 需向用户提供接口以方便用户使用
 | 
				
			||||||
 | 
					3. 可用于扩充机器来提供更方便的服务、更高的资源利用率
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### 操作系统作为计算机系统资源的管理者
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* 处理机管理
 | 
				
			||||||
 | 
					  * 在多道程序环境下,处理机的分配和运行都以进程(线程)为主要单位
 | 
				
			||||||
 | 
					  * 主要功能
 | 
				
			||||||
 | 
					    * 进程控制
 | 
				
			||||||
 | 
					    * 进程同步
 | 
				
			||||||
 | 
					    * 进程通信
 | 
				
			||||||
 | 
					    * 死锁处理
 | 
				
			||||||
 | 
					    * 处理机调度
 | 
				
			||||||
 | 
					  * 处理机的管理可归结为对进程的管理,因此进程创建、撤销、管理、避免冲突、合理共享就是进程管理的主要任务
 | 
				
			||||||
 | 
					* 存储器管理
 | 
				
			||||||
 | 
					  * 存储器管理用于给多道程序的运行提供良好环境,便于用户使用及提高内存利用率
 | 
				
			||||||
 | 
					  * 主要功能:
 | 
				
			||||||
 | 
					    * 内存分配与回收
 | 
				
			||||||
 | 
					    * 地址映射
 | 
				
			||||||
 | 
					    * 内存保护与共享
 | 
				
			||||||
 | 
					    * 内存扩充 
 | 
				
			||||||
 | 
					* 文件管理
 | 
				
			||||||
 | 
					  * 计算机的信息都是以文件的形式存在的
 | 
				
			||||||
 | 
					    * 文件存储空间的管理
 | 
				
			||||||
 | 
					    * 目录管理
 | 
				
			||||||
 | 
					    * 文件读写管理和保护
 | 
				
			||||||
 | 
					* 设备管理
 | 
				
			||||||
 | 
					  * 主要任务是完成用户I/O请求,方便用户使用设备,提高设备利用率
 | 
				
			||||||
 | 
					  * 主要功能
 | 
				
			||||||
 | 
					    * 缓冲管理
 | 
				
			||||||
 | 
					    * 设备分配
 | 
				
			||||||
 | 
					    * 设备处理
 | 
				
			||||||
 | 
					    * 虚拟设备
 | 
				
			||||||
 | 
					#### 操作系统作为用户与计算机硬件系统之间的接口
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* 用户使用接口
 | 
				
			||||||
 | 
					  * GUI用户界面接口
 | 
				
			||||||
 | 
					  * 命令接口
 | 
				
			||||||
 | 
					    * 联机命令接口:用户发送一次命令,系统执行一次,主要是交互性,适用于分时或实时系统
 | 
				
			||||||
 | 
					    * 脱机命令接口:用户一次性发送命令清单,系统按清单执行,无法中途干预,适用于批处理系统,可解决独占问题
 | 
				
			||||||
 | 
					* 软件使用接口
 | 
				
			||||||
 | 
					  * 程序接口(系统调用)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### 操作系统用作扩充机器
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* 裸机:没有任何软件支持的计算机
 | 
				
			||||||
 | 
					* 扩充机器/虚拟机:覆盖了软件的机器
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					--------------------------------------------------------------------------------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 操作系统发展历程
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 手工操作阶段
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					用户在计算机上的所有计算流程都要人工干预
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### 缺点
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* 用户独占全机,资源利用率低
 | 
				
			||||||
 | 
					* CPU等待手工操作,CPU利用不充分
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 单道批处理系统
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### 定义
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* 程序封闭性,程序执行的结果只取决与进程本身,不受外界影响
 | 
				
			||||||
 | 
					* 失去封闭性后,不同速度下的进程执行结果不同
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### 特点
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* 自动性,顺利的情况下,同一磁带上的同一批作业能够自动逐个运行
 | 
				
			||||||
 | 
					* 顺序性,磁带上的各道作业顺序地进入内存
 | 
				
			||||||
 | 
					* 单道性,内存中仅有一道程序运行
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### 缺点
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* 资源利用率低,吞吐量小
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 多道批处理系统
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### 定义
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* 批处理:允许多个用户将若干作业提交给计算机系统集中处理
 | 
				
			||||||
 | 
					* 多道性则是为了提高系统利用率和吞吐量
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### 特点
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* 多道,共享性,宏观上并行,微观上串行
 | 
				
			||||||
 | 
					* 引入多道后,系统失去封闭性和顺序性
 | 
				
			||||||
 | 
					* 制约性,程序执行因为共享资源和协同所有产生了竞争,相互制约
 | 
				
			||||||
 | 
					* 考虑竞争的公平性,程序断续执行
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### 优点
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* 资源利用率高
 | 
				
			||||||
 | 
					* 系统吞吐量大
 | 
				
			||||||
 | 
					* CPU利用率高
 | 
				
			||||||
 | 
					* IO设备利用率高
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### 缺点
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* 用户响应时间长
 | 
				
			||||||
 | 
					* 不提供人机交互能力(用户无法干预批处理作业)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 分时操作系统
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### 定义
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* 允许多个用户以交互的方式使用计算机的操作系统
 | 
				
			||||||
 | 
					* 快速响应用户(分时系统产生原因)
 | 
				
			||||||
 | 
					* 响应时间 = 时间片*用户
 | 
				
			||||||
 | 
					* 进度调度通常采用抢占式的优先级优先
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### 特点
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* 同时性
 | 
				
			||||||
 | 
					* 交互性,用户能够方便进行人机对话
 | 
				
			||||||
 | 
					* 独立性,多个用户可以彼此独立地进行操作
 | 
				
			||||||
 | 
					* 及时性,用户请求能在很短的时间内响应
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### 优点
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* 提供人机交互能力
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### 缺点
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* 不能在规定的时间内做出处理
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 实时操作系统
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### 定义
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* 在该操作系统下,计算机系统能够及时处理过程控制反馈的数据并给出响应
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### 特点
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* 硬实时系统:必须在绝对严格的时间内完成处理(自动驾驶系统)
 | 
				
			||||||
 | 
					* 软实时系统:能接受偶尔违反时间规定(订票系统)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### 优点
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* 安全可靠
 | 
				
			||||||
 | 
					* 及时处理
 | 
				
			||||||
 | 
					* 快速处理
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 网络操作系统和分布式计算机系统
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### 特点
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* 分布性
 | 
				
			||||||
 | 
					* 并行性
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 分布式计算机系统
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#### 特点
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* 网络中各种资源的关系
 | 
				
			||||||
 | 
					* 网络中各计算机间的通信
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					---------------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 操作系统结构
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					* 分层结构
 | 
				
			||||||
 | 
					  * 特性
 | 
				
			||||||
 | 
					    * 内核分多层,每层可单向调用更低一层提供的接口
 | 
				
			||||||
 | 
					  * 优点
 | 
				
			||||||
 | 
					    * 便于调试和验证,自底向上逐层调试验证
 | 
				
			||||||
 | 
					    * 易扩充和维护,各层间调用接口清晰固定
 | 
				
			||||||
 | 
					  * 缺点
 | 
				
			||||||
 | 
					    * 仅可调用相邻低层,难以合理定义各层边界
 | 
				
			||||||
 | 
					    * 效率低,不可跨层调用,系统调用执行时间长
 | 
				
			||||||
 | 
					* 模块化
 | 
				
			||||||
 | 
					  * 特性
 | 
				
			||||||
 | 
					    * 内核 = 主模块 + 可加载内核模块
 | 
				
			||||||
 | 
					    * 主模块只负责核心功能,如进程调度,内存管理
 | 
				
			||||||
 | 
					    * 可加载内核模块:可动态加载新模块到内核,无需重新编译整个内核
 | 
				
			||||||
 | 
					  * 优点
 | 
				
			||||||
 | 
					    * 模块间逻辑清晰易维护,确定模块间接口后即可多模块同时开发
 | 
				
			||||||
 | 
					    * 支持动态加载新内核模块(如:安装设备驱动程序),增强OS适应性
 | 
				
			||||||
 | 
					    * 任何模块都可以直接调用其他模块,无需采用消息传递进行通信,效率高
 | 
				
			||||||
 | 
					  * 缺点
 | 
				
			||||||
 | 
					    * 模块间的接口定义未必合理,实用
 | 
				
			||||||
 | 
					    * 模块间相互依赖,更难调试和验证
 | 
				
			||||||
 | 
					* 宏内核
 | 
				
			||||||
 | 
					  * 特性
 | 
				
			||||||
 | 
					    * 所有的系统功能都放在内核里
 | 
				
			||||||
 | 
					  * 优点
 | 
				
			||||||
 | 
					    * 性能高,内核内部各种功能都可以直接相互调用
 | 
				
			||||||
 | 
					  * 缺点
 | 
				
			||||||
 | 
					    * 内核庞大功能复杂,难以维护
 | 
				
			||||||
 | 
					    * 大内核中某个功能模块出错,就可能导致整个系统崩溃
 | 
				
			||||||
 | 
					* 微内核
 | 
				
			||||||
 | 
					  * 特性
 | 
				
			||||||
 | 
					    * 只把中断,原语,进程通信等最核心的功能放入内核,进程管理,文件管理,设备管理等功能以用户进程的形式运行在用户态
 | 
				
			||||||
 | 
					  * 优点
 | 
				
			||||||
 | 
					    * 内核小功能少,易于维护,内核可靠性高
 | 
				
			||||||
 | 
					    * 内核外的某个功能模块出错不会导致整个系统崩溃
 | 
				
			||||||
 | 
					  * 缺点
 | 
				
			||||||
 | 
					    * 性能低,需要频繁切换用户/核心态,用户态下的各功能模块不可直接互相调用,只能通过内核的消息传递来间接通信
 | 
				
			||||||
 | 
					* 外核(exokernel)
 | 
				
			||||||
 | 
					  * 特性
 | 
				
			||||||
 | 
					    * 内核负责进程调度,进程通信等功能,外核负责为用户进程分配未经抽象的硬件资源,且由外核负责保证资源使用安全
 | 
				
			||||||
 | 
					  * 优点
 | 
				
			||||||
 | 
					    * 外核可直接给用户分配不虚拟,不抽象的硬件资源,使用户进程可以更灵活地使用硬件资源
 | 
				
			||||||
 | 
					    * 减少虚拟硬件资源的映射层,提升效率
 | 
				
			||||||
 | 
					  * 缺点
 | 
				
			||||||
 | 
					    * 降低系统的一致性
 | 
				
			||||||
 | 
					    * 使系统更加复杂
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					-----------
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					## 操作系统引导
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 启动过程
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					1. CPU加电,CS:IP指向FFFF0H
 | 
				
			||||||
 | 
					2. 执行JMP指令跳转到BIOS
 | 
				
			||||||
 | 
					3. 登记BIOS中断例程入口地址
 | 
				
			||||||
 | 
					4. 硬件自检
 | 
				
			||||||
 | 
					5. 进行操作系统引导
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					### 引导流程
 | 
				
			||||||
										
											Binary file not shown.
										
									
								
							| 
		 After Width: | Height: | Size: 127 KiB  | 
		Loading…
	
		Reference in New Issue