操作系统——计算机系统概述
- 一、操作系统的概念
- 1、定义
- 2、功能和目标
- 二 、操作系统特征
- 1、并发性
- 2、共享性
- 3、虚拟性
- 4、异步性
- 三、操作系统的发展
- 1、手工操作阶段
- 2、批处理阶段——单道批处理系统
- 2、批处理阶段——多道批处理系统
- 3、实时操作系统
- 四、运行机制和体系结构
- 1、运行机制
- ①指令
- ②处理器状态
- ③程序
- 2、体系结构
- ①内核
- ②大内核和微内核
- 五、中断和异常
- 1、概念和作用
- 过程
- 2、分类
- 3、外中断处理过程
- 六、系统调用
- 1、概念和作用
- 2、功能分类
- 3、系统调用背后的过程
- 问题与思考
- 系统调用不涉及用户态吗
- 中断和系统调用的关系
一、操作系统的概念
1、定义
操作系统是指①控制和管理整个计算机系统的硬件与软件资源,合理地组织、调度计算机的工作与资源的分配,进而为②用户和其他软件提供方便接口与环境的程序集合。③操作系统是计算机中最基本的系统软件。
2、功能和目标
①作为系统资源的管理者
提供的功能:处理机管理,存储器管理,文件管理,设备管理
目标:安全高效
②作为用户和计算机硬件之间的接口
提供的功能:命令接口(联机命令接口/脱机命令接口),程序接口,GUI
目标:方便用户使用
命令接口(用户直接使用
- 联机命令接口是 用户说一句,系统做一句 (交互式
- 脱机命令接口是 用户说一堆,系统做一堆
程序接口 = 系统调用 :由一组系统调用组成(用户只能通过程序间接使用
程序接口 = 系统调用 = 系统调用命令 = 广义指令
GUI:图形用户界面W
③作为最接近硬件的层次
目标:实现对硬件机器的扩展
二 、操作系统特征
操作系统四大特征:并发性、共享性、虚拟性和异步性
1、并发性
并发,指两个或多个事情在同一时间间隔内发生。这些事情宏观上是同时发生的,但微观上是交替发生的。
操作系统的并发性 是指计算机系统中同时存在着多个运行着的程序。
2、共享性
共享,即资源共享,是指系统中的资源可供多个并发执行的进程共同使用。
操作系统的共享性 是 指系统中的资源可供内存中多个并发执行的进程共同使用。
共享方式有两种,互斥共享方式和同时共享方式。
- 互斥共享方式:系统中的某些资源,虽然可以提供给多个进程使用,但一个时间段内只允许一个进程访问该资源。(示例:qq和微信视频,同一时间段只能分配给其中的一个进程)
- 同时共享方式:系统中的某些资源,允许一个时间段内由多个进程"同时"对它们进行访问。(示例:qq发送A文件,微信发送B文件。两个进程交替着访问硬盘,宏观上,两个都在同时读取并发送文件)
如果失去并发性,则系统中只有一个程序正在运行,则共享性失去存在的意义
如果失去共享性,则QQ和微信不能同时访问硬盘资源,就无法实现同时发送文件,也就无法并发
3、虚拟性
虚拟,是指把一个物理上的实体变为若干个逻辑上的对应物。物理实体是实际存在的,而逻辑上的对应物是用户感受到的。
虚拟技术,有空分复用技术(如虚拟存储器技术)和时分复用技术(如虚拟处理器)
如果失去了并发性,则一个时间段内系统中只需运行一道程序,那么就失去了实现虚拟性的意义。因此,没有并发性,就谈不上虚拟性。
4、异步性
异步,是指在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进,这就是程序的异步性。
只有系统拥有并发性,才有可能导致异步性
三、操作系统的发展
操作系统的发展进程的顺序为,手工操作系统-单道批处理系统-多道批处理系统-分时操作系统-实时操作系统
其他操作系统有网络操作系统,分布式操作系统和个人计算机操作系统。
1、手工操作阶段
输入/输出速度慢,处理速度快
**缺点:**用户独占全机、人机速度矛盾导致资源利用率极低。
2、批处理阶段——单道批处理系统
引入脱机输入/输出技术(用磁带完成),并监督程序负责控制作业的输入、输出
**优点:**缓解了一定程度的人机速度矛盾,资源利用率有所提升。
**缺点:**内存中仅能有一道程序运行,只有该程序运行结束之后才能调入下一道程序。CPU有大量的时间是在空闲等待I/O完成。资源利用率依然很低。
2、批处理阶段——多道批处理系统
每次往内存中输入多道程序。
操作系统正式诞生,并引入了中断技术,由操作系统负责管理这些程序的运行。各个程序并发执行
优点:多道程序并发执行,共享计算机资源。资源利用率大幅提升,CPU和其他资源保持”忙碌“状态,系统吞吐量增大。
缺点:用户响应时间长,没有人机交互功能。
单道和多道的区别
单道
多道
3、实时操作系统
在实时操作系统的控制下,计算机系统接受到外部信号后及时进行处理,并且要在严格的时限内处理完事件。实时操作系统的主要特点是及时性和可靠性。
实时操作系统,有硬实时系统和软实时系统。
- 硬实时系统:必须在绝对严格的规定时间内完成处理。(如:导弹控制系统、自动驾驶系统)
- 软实时系统:能接受偶尔违反事件规定。(如:12306火车订票系统)
优点:能够优先响应一些紧急任务,某些紧急任务不需时间片排队。
四、运行机制和体系结构
1、运行机制
运行机制,包括两种指令、两种处理器状态和两种程序。它们有密不可分的关系。
①指令
有特权指令和非特权指令。特权指令不允许用户程序使用。
②处理器状态
有用户态和核心态。
- 用户态下的CPU只能执行非特权指令
- 核心态下的CPU特权指令、非特权指令都可以执行。
用程序状态字寄存器(PSW)中某标志位来标识当前处理器处于什么状态。如:0为用户态,1为核心态。
③程序
有内核程序和应用程序。
- 内核程序,是系统的管理者,即可以执行特权指令,也可以执行非特权指令。运行在核心态。
- 应用程序,只能执行非特权指令,运行在用户态。
2、体系结构
①内核
内核是计算机上配置的底层软件,是操作系统最基本、最核心的部分。
实现操作系统内核功能的那些程序就是内核程序。
内核中的功能,有时钟管理、中断管理、原语等功能。
- 时钟管理,实现计时功能。
- 中断处理,负责实现中断机制。
- 原语,是一种特殊的程序,这种程序的运行具有原子性——其运行只能一气呵成,不可中断。 处于操作系统最底层,是最接近硬件的部分。运行时间较短、调用频繁。
- 对系统资源进行管理的功能,进程管理,存储器管理和设备管理。
②大内核和微内核
大内核
将操作系统的主要功能模块都作为系统内核,运行在核心态
优点:高性能
缺点:内核代码庞大,结构混乱,那以维护。
微内核
只把最基本的功能保留在内核。
优点:内核功能少,结构清晰,方便维护
缺点:需要频繁地在核心态和用户态之间切换,性能低。
五、中断和异常
1、概念和作用
中断,可以使CPU从用户态转换为核心态,使操作系统获得计算机的控制权。
有了中断,才能实现多道程序并发执行。
过程
- 当中断发生时,CPU立即进入核心态
- 当中断发生后,当前运行的进程暂停运行,并由操作系统内核对中断进行处理
- 对于不同的中断信号,会进行不同的处理。
用户态、核心态之间的切换是怎么实现的?
“用户态->核心态” 是通过 中断 实现的。并且中断是唯一途径。
”核心态->用户态“ 的切换是通过执行一个特权指令,将程序状态字(PSW) 的标志位设置为“用户态”
2、分类
一种分类,中断分为内中断和外中断。
- 内中断,也称异常、例外、陷入,又分为
- 自愿中断——指令中断(系统调用时使用的访管指令)
- 强迫中断——硬件故障(缺页)与软件中断(整数除0)
- 来源于CPU内部。
- 外中断,又分为
- 外设中断(I/O操作完成发出的中断信号)
- 人工中断(用户强行终止一个进程)
- 信号来源为CPU外部。
本质区别来源于CPU内部还是外部
另一种分类方式
- 内中断(内部异常)
- 陷阱、陷入(trap) 系统调用
- 故障 (fault) 由错误条件引起的,如缺页
- 终止 (abort)不可恢复的致命错误这咋总成的结果,终止处理程序不再将控制返回引发的应用程序,如整数除0
- 外中断
- I/O中断请求
- 人工中断
3、外中断处理过程
六、系统调用
1、概念和作用
系统调用,是操作系统提供给应用程序(程序员/编程人员)使用的接口,可以理解为一种可供应用程序调用的特殊函数,应用程序可以发出系统调用请求来获得操作系统的服务。
应用程序通过系统调用请求操作系统的服务。系统中的各种共享资源都由操作系统统一掌管,因此用户程序中,凡是与资源有关的操作(如存储分配、I/O操作,文件管理等),都必须通过系统调用的方式向操作系统提出服务请求,由操作系统代为完成。这样可以保证系统的稳定性和安全性。
2、功能分类
系统调用,有设备管理、文件管理、进程控制、进程通信和内存管理的功能。
- 设备管理 完成设备的 请求/释放/启动 等功能
- 文件管理 完成文件的 读/写/创建/删除 等功能
- 进程控制 完成进程的 创建/撤销/阻塞/唤醒 等功能
- 进程通信 完成进程之间的 消息传递/信号传递 等功能
- 内存管理 完成内存的 分配/回收 等功能
3、系统调用背后的过程
系统调用的相关处理在核心态进行
问题与思考
系统调用不涉及用户态吗
用户态通过系统调用进入核心态。
中断和系统调用的关系
- 通过中断,操作系统从 用户态 转换成 核心态
- 系统调用时使用的访管指令(又称为自陷、陷入、trap指令)是一种内中断方式
- 发出系统调用请求是在用户态,而对系统调用的相应处理在核心态下进行