【OS】一、操作系统引论
作者:互联网
操作系统的目标和作用
目标
- 方便性
- 命令和图形界面
- 有效性
- 提供系统资源利用率
- 提高系统吞吐量
- 可扩充性
- 取决于
OS
的结构
- 取决于
- 开放性
- 可移植、兼容性
作用
- 作为用户和硬件系统之间的接口
- 和用户之间通过用户命令
- 和硬件系统之间通过系统调用(
System Call
)
- 实现了对计算机资源的抽象(隐藏、扩充)
主要动力
- 提高资源利用率(分时)
- 方便用户
- 器件更新
- 结构发展
- 新应用需求
操作系统的发展过程
发展
无 O S → + 处 理 单 道 批 处 理 → 宏 观 上 + 并 行 多 道 批 处 理 → + 管 理 O S 无OS\xrightarrow{+处理}单道批处理\xrightarrow[宏观上]{+并行}多道批处理\xrightarrow{+管理}OS 无OS+处理 单道批处理+并行 宏观上多道批处理+管理 OS
无OS
- 人工操作
- 脱机
I/O
方式- 提高效率
- 提升
I/O
速度
单道批处理
- 使用监督程序(
monitor
) - 内存中只有一道程序
- 存在运行控制权的传递
- 优点
- 减少了人工操作,自动性
- 缺点
- 资源利用低
I/O
操作时CPU
闲置
多道批处理
-
采用调度程序(与监督程序对应)
-
多道程序等待
CPU
-
优点
- 提高了内存、
I/O
设备和CPU
的利用率 - 吞吐量大
- 提高了内存、
-
缺点
- 平均周期长
- 无交互能力
-
面临问题
- 处理机争用
- 内存分配和保护
I/O
管理- 文件的组织和管理
- 作业管理
- 用户与系统的接口
OS
- 一组控制和管理计算机硬软件资源、合理的对各类作业进行调度,以及方便用户使用的程序的集合。
- 包括了分时操作系统和实时操作系统。
分时系统
概念
- 指一台主机上连接了多个带有显示器和键盘的终端。并允许多个用户共享主机中的资源,通过他们自己的终端使用计算机。
- 产生是由于用户的需求
- 人机交互
- 共享主机
- 方便上机
特点
- 及时接收
- 多终端没有排队
- 输入缓存
- 及时处理
- 轮转运行,响应时间短
- 在内存交互作业,速度快
实现
单道分时系统
-
轮流分时间片给用户使用,同一时间只能运行一个作业。
具有前后台的分时系统
-
前台作业优先级大于后台,可以同时运行一个前台和一个后台程序。
多道分时系统
-
同时可以运行多个作业,轮流开始。
特征
- 多路性
- 多终端分时共享,提高资源利用率,降低费用。
- 独立性
- 每个用户在各自的终端上进行操作,虚拟独占主机。
- 及时性
- 及时响应请求。
- 交互性
- 用户可通过终端与系统进行广泛的人机对话。
典型系统
Multics
UNIX
(包含Linux
)
Linux
=实时系统+分时系统
响应时间
T i = N × Q + T o s + T s w a p T_i=N\times Q+T_{os}+T_{swap} Ti=N×Q+Tos+Tswap
Ti
为响应时间,N
为用户数量,Q
为时间片长度,Tos
为系统开销,Tswap
为信息交换
- 改善方法
- 采用重入码减少信息交换。
- 采用虚拟存储技术,减少信息交换。
实时系统(了解)
概念
- 系统能及时响应外部事件的请求,在规定的时间内完成对事件的处理,并控制所有实时任务协调一致地运行。
要求
- 适用场景
- 要求及时处理的场合
- 实时计算
- 可以定义为这样一类计算:系统的正确性,不仅由计算的逻辑结果来确定,而且还取决于产生结果的时间。
类型
- 工业控制系统
- 高实时性
- 信息查询系统
- 低实时性
- 多媒体系统
- 多任务的时间协同
- 嵌入式系统
- 资源有限
任务
-
按任务执行是否呈现周期性来划分
- 周期性的(联系周期)
- 非周期性的(联系开始或完成截止时间)
-
根据对截止时间的要求(秒级)来划分
- 硬实时任务
- 软实时任务
比较
- 多路性
- 相同
- 独立性
- 相同
- 及时性
- 实时系统要求更高
- 交互性
- 分时系统交互性更强
- 可靠性
- 实时系统要求更高
微机系统
- 单用户单任务
CP/M
MS-DOS
- 单用户多任务
Windows
系列
- 多用户多任务
Unix
Solaris
Linux
Windows Server
是单/多用户系统具有争议。
操作系统的基本特征(重点)
并发
-
概念
- 并行是指两个及以上的事件在同一时刻发生。
- 并发是指两个及以上的事件在同一时间间隔发生。
并发用于解决资源利用的问题。
任务并行
-
宏观
- 指系统中有多个任务同时运行。
-
微观
- 指单处理机系统中的任务并发(
Task Concurrency
:即多个任务在单个处理机上交替运行)或多处理机系统中的任务并行(Task Parallelism
:即多个任务在多个处理机上同时运行)。
- 指单处理机系统中的任务并发(
-
进程(运行中的程序)
- 系统中能独立运行并作为资源分配的基本单位。
- 用于管理程序运行。
- 引入线程后,独立运行的单位变为线程。
线程是进程的基本执行单元,一个进程的所有任务都在线程中执行。
共享
- 概念
- 系统中资源可供内存中多个并发执行的进程共同使用。
- 同时段同对象。
- 互斥共享
- 一段时间只允许一个进程访问该资源。
- 资源在宏观上共同使用,在微观上是互斥的。
并发和共享是操作系统的两个最基本特征。
虚拟
- 概念
- 通过某种技术把一个物理实体变为若干个逻辑上的对应物。
- 若
n
是某一物理设备所对应的虚拟的逻辑设备数,则虚拟设备的速度必然是物理设备速度的1/n
,相当于把资源分成很多份提供给用户们使用。 - 时分复用
- 虚拟处理机技术
- 虚拟设备技术
- 空分复用
- 虚拟存储
异步
-
概念
- 指进程以不可预知的状态执行。
-
特点
- 运行进度不可预知。
-
正确性
- 取决于虚拟的(非上面的虚拟)顺序性。
-
影响
- 难以重现错误
- 具有不确定性
操作系统的主要功能
主要任务
- 为多道程序的运行提供良好的运行环境,以保证多道程序能有条不紊地、高效地运行,并能最大程度地提高系统中各种资源的利用率和方便用户的使用。
功能
- 处理机管理(
CPU
) - 存储器管理
- 设备管理
- 文件管理
- 方便用户使用的用户接口
操作系统的结构设计(重点)
概念
- 软件
- 操作系统是一种软件,所以需要设计。
传统结构
无结构
- 概念
- 是一组过程集,各个过程可相互调用。
- 又称为整体系统结构。
- 缺点
- 逻辑复杂,维护困难
模块化
- 概念
- 通过将大型程序分解成各个功能模块,以控制复杂度。
- 优点
- 可维护性、可适应性增强。
- 开发过程加快。
- 缺点
- 接口不易确定。
- 模块之间依赖关系复杂。
分层式
- 概念
- 按照软件运行速度由下向上分层,下层可为上层提供服务。
- 底层为硬件,顶层为应用程序。
- 用户接口在高层,公用模块在低层。
- 缺点
- 无法并行开发。
- 调用时占用资源多。
微内核
- 概念
- 将操作系统分成多个模块,只有微内核这个模块在内核态,其余部分都作为普通用户执行。
- 服务是
C/S
模式。
- 优点
- 系统灵活性、可扩充性、可靠性提升了。
- 适合于分布式系统。
- 融入了面向对象技术
- 缺点
-
性能代价太高
-
如图,服务
a
调用服务b
必须通过中间的保护机制到内核,再从内核到服务b
。
-
技术
- 使用了面向对象的程序设计技术。
- 所谓对象,是指在现实世界中具有相同属性、服从相同规则的一系列事物的抽象,而把其中的具体事物称为对象的实例。
- 即使得各类实体(如进程、消息等)存在对象这一概念。
- 可扩展性
- 隐蔽和封装(类的性质,使得资源被分隔开)
- 继承性
- 代码复用(类的继承)
- 提升程序正确性和可维护性
特征
- 内核足够小
- 采用
C/S
模式 - 应用“机制与策略分离”原则
- 采用面向对象技术
基本功能
- 进程管理
- 低级存储管理
- 中断和陷入处理
标签:操作系统,引论,系统,用户,分时系统,OS,运行 来源: https://blog.csdn.net/qq_45969062/article/details/114412234