一.操作系统的演进历史
阶段 | 无操作系统 | 批处理系统 | 分时系统 |
---|---|---|---|
特点 | 人工操作、每个用户独占一台计算机、CPU等待人工操作、资源利用率很低 | 无需等待人工操作、批量输入任务、资源利用率提升、多道程序设计 | 人机交互、多用户共享、可以及时调试程序、资源利用率提升 |
多道程序设计: 是指在计算机内存中同时存放多个互不干扰的程序,多道程序设计在计算机的管理程序之下相互穿插运行,以此提升计算机资源利用率。
因此,对多道程序的管理是操作系统的重要功能。
操作系统对多道程序的管理和计算机资源的管理可以分为五大功能:
- 进程管理
- 存储管理
- 作业管理
- 文件管理
- 设备管理
二.操作系统
2.1 什么是操作系统
操作系统是管理计算机硬件和软件资源的计算机程序。通过管理配置内存、决定资源供需关系、控制输入输出设备等方法管理硬件资源;通过提供用户和系统交互的操作界面来管理软件资源。
操作系统不局限于计算机,从手机到超级计算机都存在操作系统,操作系统可以简单可以复杂,在不同的设备上,操作系统可以向用户呈现多种操作手段,比如手机的手势操作、PC机的键鼠操作。
总结:操作系统就是管理硬件、提供用户交互的软件系统。
2.2 为什么要有操作系统
- 我们无法直接操作计算机硬件。
- 计算机设备种类繁多复杂,操作系统为我们提供了统一的界面,屏蔽了不同设备之间的差异。
- 操作系统的简易性使得更多的人可以使用计算机。
2.3 操作系统的基本功能
1.计算机有如下重要的硬件资源:
- 处理器资源(CPU)
- 存储器资源(内存硬盘)
- IO设备资源(打印机键鼠)
- 文件资源
所以基本功能之一是操作系统统一管理着上述计算机资源。
2.有了操作系统用户无需面向硬件接口编程,比如:
- IO设备管理软件,提供读写接口
- 文件管理软件,提供操作文件接口
所以基本功能之二是操作系统通过管理软件实现了对计算机资源的抽象,该管理软件向下屏蔽了硬件设备,向上为用户提供了相同逻辑设备。
3.基本功能之三是为用户提供了用户与计算机之间的接口:
- 图像窗口形式
- 命令形式
- 系统调用形式
三.相关概念
- 并发性
后三种特性的前提。
在单核处理器中,多道程序交替运行所以是并发;在多核处理器中,每一核是并发,处理器整体是并行。
并行 | 并发 |
---|---|
两个或多个时间可以在同一时刻发生 | 两个或多个事件可以在同一时间间隔发生 |
- 共享性
共享性表现为操作系统中的资源可供多个并发的程序共同使用,这种共同使用的形式称为资源共享。资源共享根据属性可以分为两种方式:互斥共享形式、同时访问形式。
互斥共享形式:当资源被程序A占用时,其他程序使用的话只能等待,只有进程A使用完以后,其他进程才可以使用该资源。比如:打印机
同时访问形式:某种资源在一段时间内并发地被多个程序访问,这种“同时”是宏观的,从宏观去看该资源可以被同时访问。比如:硬盘 - 虚拟性
虚拟性表现为把一个物理实体转变为若干个逻辑实体,物理实体是真实存在的,逻辑实体是虚拟的。虚拟的实现技术主要有时分复用技术和空分复用技术。
时分复用技术 | 空分复用技术 |
---|---|
资源在时间上进行复用,不同程序并发使用;多道程序分时使用计算机的硬件资源;提高资源利用率 | 主要用于实现虚拟磁盘、虚拟内存等,提高资源的利用率,提升编程效率 |
常用的技术有虚拟处理器技术(借助多道程序设计技术为每个程序建立进程,多个程序分时复用处理器)和虚拟设备技术(物理设备虚拟为多个逻辑设备,每个程序占用一个逻辑设备,多个程序通过逻辑设备并发访问) | 虚拟磁盘技术(把物理磁盘虚拟为逻辑硬盘,使用更加安全方便。比如:C、D、E盘,操作C盘文件不会影响别的盘的内容)、虚拟内存技术(在逻辑上扩大程序的存储容量,使用比实际内存更大的容量,大提升编程效率) |
- 异步性
异步性表现在多道程序环境下,允许多个进程并发执行,进程在使用资源时可能需要等待或放弃,比如访问互斥资源时,所以进程的执行并不是一气呵成的,而是以走走停停的形式推进,并且进程是以不可预知的速度(何时执行、暂停、完成都是不可知的)向前推进的。