概述
1.3操作系统的发展
单道批处理系统
- 用户首先将一批作业以脱机IO的方式输入到磁带,在监督程序(
Monitor
)控制下按照队列中顺序执行 - 内存中仅存在一道作业,这批作业逐个连续被处理
- 作业程序出错就跳过作业的执行
- 资源利用率低,等待I/O操作完成时,CPU等资源可能处于闲置状态
作业独占处理机
多道批处理系统
用户首先将一批作业以脱机IO的方式输入到磁带,在监督程序(
Monitor
)控制下按照一定的算法执行处理机的利用率大,系统吞吐量大,支持多用户环境
资源竞争可能导致一个作业占用大量CPU时间片、I/O资源
多道作业同时运行,时间轮转周期变长,降低整体响应速度
面临着资源竞争、作业等待时间、调度开销、死锁和饥饿、系统复杂性以及性能抖动等一系列挑战和缺点
作业独占处理机
操作系统
它是一种管理计算机软硬件的系统软件,提供了对计算机硬件的抽象和管理,为应用程序提供了简单一致的接口,同时协调和控制计算机系统中的各种资源,以便有效地运行和管理多个任务。
包括如下功能:
- 处理器管理
- 内存管理
- IO设备管理
- 文件管理
分时系统
它是一种多用户的操作系统,提供多个终端,用户可独立处理、运行任务,而不会相互干扰,共享处理机时间片,实现多任务的并发进行,提高操作系统效率
- 多用户支持,提供多个终端进行交互
- 资源共享,处理器、内存、IO、文件资源共享
- 时间片轮转控制,通过控制时间片大小、调度算法,实现对系统资源合理分配和调度
- 资源竞争,处理器、内存、I/O、文件资源竞争
实现了 宏观上的并行,微观上的串行
实时系统
实时系统是指,系统能及时响应,在规定时间内完成处理逻辑,注重时间 这一因素
实时任务分类
- 周期性实时任务、非周期性实时任务
- HRT(硬实时任务,必须满足截止时间要求)、SRT(软实时任务,偶尔错错也无所谓)
微机操作系统
- 单用户单任务系统
- 单用户多任务系统
- 多用户多任务系统
1.4操作系统的基本特性
并发Concurrence
并发是指 , 两个或多个时间在同一时间间隔内发生
并发是宏观上的并行,微观上的串行
与并行相比,并行是两个或多个时间在同一时刻内发生
共享Sharing
数据库的 “读锁”属于同时访问资源,“写锁”属于互斥共享资源
互斥共享
一段时间内仅允许一个进程使用资源(处理机、IO、文件等临界资源)
同时访问
一段时间内仅允许多个进程使用资源,但其实微观上是交替进行的
虚拟Virtual
时分复用技术
将资源使用的时间按划分为时间片,为进程分配时间片,用完后让出资源
空分复用技术
将通信信道划分为不同的物理通道或频谱带宽,每个通道独立分配给一个通信实体,这样不同的实体之间就可以并行地进行数据传输,从而提高了系统的通信效率和吞吐量。
Dubbo中的虚拟化
一致性哈希环算法实现负载均衡,提高系统性能、稳定性
异步Asynchronism
异步指处理多个进程,多进程可以同时运行,互不影响,而不必阻塞等待。
异步在编程中,可以使用回调函数、Priomise、async/await等机制来处理异步操作,将I/O等待时间利用起来处理其他逻辑,提高程序的效率和并发性能