一、牵扯到的6个问题
- 什么是操作系统
- 操作系统的功能
- 操作系统的特征
- 操作系统是怎么发展过来的
- 操作系统的运行机制
- 操作系统的结构是怎样设计的
二、什么是操作系统
1. 什么是操作系统?
操作系统
操作系统是管理计算机硬件和软件资源的计算机程序。操作系统是软件。
系统构成
计算机系统的构成?
- 用户
- 应用程序
- 操作系统
- 硬件
主要目标
操作系统OS是一种系统软件(主要作用):
- 管理和配置内存
- 决定系统资源供需的优先次序
- 控制输入输出设备
- 操作网络与管理文件系统等基本实务
- 提供一个让用户与系统交互的操作界面
2. 操作系统的目标和功能
目标
功能
- 作为计算机系统资源的管理者
- 作为用户与计算机硬件系统之间的接口
- 实现了对计算机资源的抽象
3. 操作系统的特征
操作系统特征有四个:
- 并发:同一时间间隔内执行和调度多个程序的能力
- 宏观上,处理机同时执行多道程序
- 微观上,处理机在多道程序间高速切换(分时交替执行)
- 关注单个处理机同一时间段内处理任务数量的能力
- 并行和并发:并行是同一时刻发生,并发是同一个时间间隔发生
- 共享:资源共享,的、系统中的资源供多个“并发执行”的应用程序共同使用
- 同时访问方式:同一时段允许多个程序同时访问共享资源
- 互斥共享方式:独占式,允许多个程序在同一个共享资源上独立而互不干扰的工作
- 虚拟:使用某种技术把一个物理实体变成多个逻辑上的对应物
- 时分复用技术:虚拟处理机技术,虚拟设备技术
- 空分复用技术:虚拟磁盘技术,虚拟存储器技术
- 异步:多道程序环境允许多个程序并发执行;单处理机环境下多个程序分时交替执行
- 程序执行存在不可知性
- 获得运行的时机
- 因何而停
- 每道程序需要多久
- 不同程序的性能,比如计算多少,I/O多少
- 程序执行存在不可知性
并发和共享互为存在条件:也就是多个人多个商品才有这样的条件
- 共享性要求OS中同时运行着多道程序,如果只有单道程序正在运行,则不存在共享的可能
- 并发性难以避免的导致多道程序同时访问同一个资源,如果多道程序无法共享部分资源,则无法并发
二、操作系统的发展与分类
1. 操作系统的发展
- 手工操作阶段
- 人工操作方式
- 脱机输入/输出方式
- 批处理阶段
- 单道批处理系统
- 多道批处理系统
- 分时操作系统
- 实时操作系统
- 微机操作系统
三、操作系统运行环境
1. 操作系统的运行机制
基本概念
- 内核程序<---->应用程序
- 核心态<---->用户态
- 特权指令<---->非特权指令
执行内核空间的指令叫特权指令;非特权指令是用户空间的指令。
时钟管理
计时:提供系统时间;
时钟中断:比如进程切换;
中断机制
时钟中断机制是为了提高多道程序环境下CPU利用率。
外中断:中断信号来源于->外部设备(别的设备要求该程序中断,属于被迫中断)
内中断:中断信号来源于->当前指令(程序内部出了问题造成中断)
内中断的三种情况
- 陷阱、陷入:由应用程序主动引发
- 故障:由错误条件引发
- 终止:由致命错误引发
中断处理过程:
原语
原语是一个程序段,由若干条指令组成,用来完成某个特定的功能,执行过程不会被中断(具有原子性)。
系统控制的数据结构及处理
-
进程管理:作业控制块、进程控制块
-
存储器管理:存储器分配与回收
-
设备管理:缓冲区、设备控制块
系统调用
由操作系统实现,给应用程序调用,是一套接口的集合,应用程序访问内核服务的方式。
2. 操作系统结构
传统的操作系统结构(大内核)
第一代:无结构OS
一系列过程(程序)的集合,过程间可以相互调用;结构复杂且混乱,难以调试、阅读和维护。
第二代:模块化结构OS:模块-接口法OS
- 基于“分解”和“模块化”原则
- 按照功能划分模块/子模块,规定模块间的接口
- 模块独立性标准,高内聚、低耦合
第三代:分层式结构OS
有序分层法,自顶向下依次依赖,设计时,自底向上,每一步建立在可靠的基础上。
微内核OS结构
第四代:微内核OS结构
微内核:足够小的内核,只实现了核心功能,与硬件处理紧密相关的部分,比如硬件处理、客户端和服务器通信和其他的基本功能。使用“机制与策略分离”的原理,才用面向对象技术。