文章目录
一、操作系统的概念
1.什么是操作系统?
操作系统(Operation System),简称OS,是管理计算机 【硬件】 与 【软件】 资源的计 算机程序。
2 计算机系统的构成
- 用户
- 应用程序
- 操作系统(OS)
- 硬件(裸机)
操作系统向上管理软件,向下管理硬件,并向用户提供访问访问方式(接口),操作系统向应用程序也提供了接口,在计算机系统中起到了承上启下的作用
3 系统软件的概念
OS是一种【系统软件】
- 与硬件交互
- 对资源共享进行调度
- 解决并发操作处理中存在协调问题
- 数据结构复杂,外部接口多样化,便于用户反复使用
4 操作系统的主要作用
作为【系统软件】,OS做了哪些事
- 管理与配置内存
- 决定系统资源供需的优先次序
- 控制输入设备与输出设备
- 操作网络与管理文件系统等基本事务
- 提供一个让用户与系统交互的操作界面
二、操作系统目标和功能
1. 目标
1.1 有效性
管理系统资源
- 提高系统资源利用率
- 提高系统的吞吐量
1.2 方便性
方便用户使用
1.3 可扩充性
作为扩充机器
兼容硬件升级与扩充
1.4 开放性
支持软件获取和调用系统资源
兼容不同的软件硬件标准
2. 功能
2.1 作为系统资源的管理者
1) 处理机(处理器)管理
- 进程控制
- 进程同步
- 进程通信
- 调度
2) 存储器管理
- 内存分配
- 内存保护
- 地址映射
- 内存扩充
3) I/O设备管理
- 缓冲管理
- 设备分配
- 设备处理
4) 文件管理
- 文件存储空间的管理
- 目录管理
- 文件读/写管理和保护
2.2 作为用户与计算机[硬件系统]之间的接口
- 程序接口(应用程序访问操作系统的接口,操作系统再去访问硬件)
- 命令接口(用户可以直接使用命令操作操作系统)
- GUI(Graphical User Interface),图形用户接口
2.3 实现了最计算机资源的抽象
- 将具体的计算机硬件资源抽象成软件资源,方便用户使用
- 开放了简单的访问方式,隐藏了实现细节
- 举例:使用浏览器进行搜索
- 操作系统同时也对软件提供了简单的访问接口
三、操作系统的特征
操作系统四大基本特征
- 并发
- 共享
- 虚拟
- 异步
其中的关系图如下
1. OS的并发性(Concurrence)
- 同一时间内执行和调度多个程序的能力
- 宏观上,处理机同时执行多道程序
- 微观上,处理机在多道程序之间高速切换(分时交替执行)
- 关注单个处理机同一时间段内处理任务数量的能力
相似概念:并行
- 并发: 同一时间间隔内(时间段)发生的事件数量
- 例如:午餐时段,学校餐厅用餐总人数为12人
- 并行:同一时刻(时间点)发生的事件数量
- 例如:同一时间点,学校餐厅最多并行3人打餐
并发和并行都可以提高系统的吞吐量,但是并发还可以提高系统资源利用率,通过后期优化调度算法可以提高系统的并发能力,进而使系统资源利用率进一步提高,可以在不加大硬件投入的情况下提高系统性能,所以大部分场景下并发能力更加重要,而对于计算密集型任务来说,每个任务都会长时间占用单个处理机,并且也没有什么算法优化的余地,这种情况下想要提高系统总体的性能,就需要去添加物理机硬件
2. OS的共享性(Sharing)
即资源共享,系统中的资源供多个【并发执行】的应用程序共同使用
- 同时访问方式:同一时段允许多个程序同时访问共享资源
- 互斥共享方式:也叫独占式,允许多个程序在同一个共享资源上独立工作而互不干扰的方式
共享设备:共享打印机、音频设备、视频设备
并发和共享互为存在条件
共享性要求OS中同时运行着多道程序
- 若只有单道程序正在运行,则不存在共享的可能
并发性难以避免的导致多道程序同时访问同一个资源
- 若多道程序无法共享部分资源(比如磁盘),则无法并发
3. OS的虚拟技术(Virtual)
使用某种技术把一个物理实体变成多个逻辑上的对应物
- 时分复用技术(TDM,Time Division Multiplexing)
- 虚拟处理机技术:“四核八线程”
- 虚拟设备技术:虚拟打印机
- 空分复用技术(SDM:Space Division Multiplexing)
- 虚拟磁盘技术:将一个硬盘虚拟出若干个卷
- 虚拟存储器技术
4. OS的异步性(Asynchronism)
多道程序环境下,允许多个程序并发执行
单处理机环境下,多个程序分时交替执行
- 程序执行的不可预知性
- 获得运行的时机
- 因何暂停
- 每道程序需要多少时间
- 不同程序的性能,比如计算多少,I/O多少
- 宏观上“一气呵成”,微观上“走走停停”