操作系统
概述
操作系统的概念,功能和目标
操作系统的概念
操作系统是指控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配,以提供给用户和其他软件方便的接口和环境
操作系统的功能和目标–作为用户和计算机硬件之间的接口
- 命令接口(允许用户直接使用)
- 联机命令接口(用户说一句,系统做一句)
- 脱机命令接口(用户说一堆,系统做一堆)
- 程序接口(允许用户通过程序间接使用)
- GUI(图形用户接口)
实现对硬件机器的拓展
操作系统的特征
并发
指两个或多个时间在同一时间间隔内发生,宏观上是同时发生,微观上交替发生
并发性指计算机系统中同时运行多个运动着的程序
操作系统和程序并发一起诞生的
共享
资源共享,是指系统中的资源可供内存中多个并发执行的进程共同使用
互斥共享方式
系统中的某些资源,虽然可以提供给多个进程使用,但一个时间段内只允许一个进程访问该资源
同时共享方式
系统中的某些资源,允许一个时间段内多个进程“同时”对它们进行访问
虚拟
虚拟是指把一个物理上的实体变为若干个逻辑上的对应物。物理实体是实际存在的,逻辑上的对应物是用户感受到的
空分复用技术
虚拟存储器
时分复用技术
虚拟处理器技术
异步
在多道程序环境下,允许多个进程并发执行,但由于资源有限,进程的执行不是一贯到底,而是走走停停,以不可预知的速度向前推进
操作系统的发展与分类
手工操作阶段
主要缺点:用户独占全机,人机速度矛盾导致资源利用率极低
单道批处理系统
引入脱机输入/输出技术,并监督程序负责控制作业的输入输出
优点:缓解了一定程度的人机速度矛盾,资源利用率有所提升
缺点:内存中仅有一道程序运行,只有该程序运行结束之后才能调入下一道程序。CPU有大量的时间是在空闲等待I/O完成,资源利用率仍然很低
多道批处理系统(操作系统正式诞生)
优点:多道程序并发执行,共享计算机资源。资源利用率大幅提升,CPU和其他资源保持“忙碌”状态
缺点:用户响应时间长,没有人机交互能力
分时操作系统
计算机以时间片为单位轮流为各个用户/作业服务,每个用户可通过终端与计算机进行交互
优点:用户请求可以被及时响应,解决了人机交互问题,允许多个用户同时使用一台计算机,并且用户对计算机的操作相互独立,感受不到别人的存在
缺点:不能优先处理一些紧急任务,操作系统对各个用户/作业都是完全公平的,循环地为每个用户/作业分配一个时间片,不区分任务的紧急性
实时操作系统
优点:能够优先响应一些紧急任务,某些紧急任务不需时间片排队
计算机系统接收到外部信号后及时进行处理,并且要在严格的时限内处理完时间。主要特点是及时性和可靠性
硬实时系统
必须在绝对严格的规定时间内完成处理
软实时系统
能接受偶尔违反时间规定
操作系统的运行机制和体系结构
两种指令,两种状态,两种程序
两种指令
特权指令(不允许用户使用)
非特权指令
两种处理器状态
用程序状态字寄存器中的某标志位来表示
用户态(目态)
CPU只能执行非特权指令
核心态(管态)
特权指令非特权指令都能执行
两种程序
内核程序
应用程序
操作系统的内核
内核是计算机上配置的底层软件,是操作系统最基本,最核心的部分,实现操作系统内核功能的程序就是内核程序
时钟管理
实现计时功能
中断处理
负责实现中断机制
原语
- 是一种特殊的程序
- 处理操作系统最底层
- 这种程序的运行具有原子性
- 运行时间较短,调用频繁
对系统资源进行管理的功能
进程管理
存储器管理.
设备管理
操作系统的体系结构
大内核
将操作系统的主要功能模块都作为系统内核,运行在核心态
优点:高性能
缺点:内核代码庞大,结构混乱,难以维护
微内核
只把最基本的功能保留在内核
优点:内核功能少,结构清晰,方便维护
缺点:需要频繁在核心态和用户态之间切换,性能低
中断和异常
中断机制的诞生
早期计算机的运行只能串行执行程序,系统资源利用率低,引入中断机制,实现多道程序
本质:发生中断就意味着需要操作系统介入,开展管理工作
中断的概念和作用
- 当中断发生时,CPU立即进入核心态
- 当中断发生后,当前运行的进程暂停运行,并由操作系统内核对中断进行处理
- 对于不同的中断信号,会进行不同的处理
发生中断,意味需要操作系统介入,中断可以使操作系统获得计算机的控制权
用户态核心态是通过中断实现的,中断时唯一途径的
核心态用户态时PSW标志位切换
中断的分类
内中断(CPU 内部,与当前指令有关)
- 自愿中断——指令中断(系统调用时使用的访管指令)
- 强迫中断
- 硬件故障(缺页)
- 软件中断(整数除零)
外中断(CPU外部,与当前指令无关)
- 外设请求(I/O操作完成发出的中断信号)
- 人工干预(用户强行终止一个进程)
外中断的处理过程
- 执行完每个指令之后,CPU都要检查当前是否有外部中断信号
- 如果检测到外部中断信号,则需要保护被中断的CPU环境
- 根据中断信号类型转入相应的中断处理程序
- 恢复原进程的CPU环境并推出中断,返回原进程
系统调用
是操作系统提供给应用程序使用的接口,可以理解为一种可供应用程序调用的特殊函数,应用程序可以发出系统调用请求来获得操作系统的服务
应用程序通过系统调用请求操作系统的服务。系统中的各种资源都由操作系统统一掌管,因此在用户程序中,凡是与资源有关的操作,都必须通过系统调用的方式向操作系统提出服务请求,由操作系统代为完成,可以保证系统的稳定性和服务型,防止用户进行非法操作
- 设备管理
- 文件管理
- 进程管理
- 进程通信
- 内存管理