操作系统的定义
操作系统(Operating System,简称OS)是每台计算机必须安装的最基本的系统软件,为操纵硬件和程序的执行建立一个更实用的系统平台。
操作系统是直接控制和管理计算机软硬件资源的最基本的系统软件,它可以合理地组织计算机的工作流程,用以方便用户充分、有效地利用这些资源并增强整个计算机的处理能力。
操作系统的作用
- 管理系统资源
- 为用户提供一个良好的接口
- 应最大限度发挥系统资源使用效率
组成计算机的基本硬件元素
- 处理器:控制和执行计算机的指令操作
- 存储器:储存数据和程序。存储器可分为内存与外存,以及用于数据和程序暂时存储用的缓冲器与高速缓存(cache)等
- 输入输出控制器
- 外部设备
中断定义
指当CPU正在执行某一程序时,发生了异步事件,此时CPU将打断正在执行的程序,转去执行一段处理该事件的有关程序,被打断的程序可以在以后的某个时间继续执行。
简单的理解:假设CPU正在运行程序A,此时有个紧急的程序需要CPU进行处理,那么CPU便会停止处理程序A,在保存好程序A的数据后(保存中断现场),立马进行处理这个紧急程序,处理完后,在恢复刚刚程序A需要的一些数据(恢复中断现场),继续执行程序A。
为什么需要保存中断现场和恢复中断现场呢?这是因为CPU可以支配的寄存器、内存较少,而处理程序是数据有些数据会被存储在寄存器中。这里我们假设,处理程序A时,寄存器X存的值是一个值:5,中断发生时,如果不保存这个寄存器中的值,那么处理中断程序的时候,值可能会被覆盖,也就是处理完后,寄存器X可能就不是5了,那么继续处理程序A时,此时寄存器X的值发生了改变,那么就会影响程序A的正常运行。所以在跳转执行紧急程序时,我们可以利用栈,压入一些寄存器的值或其他内存的值,再处理完紧急程序后,再从栈中弹出即可,这时候就可以继续处理程序A啦。
中断的分类(根据中断源产生的条件)
• 外中断:来自处理机和内存外部的中断,包括I/O设备发出的中断、外部信号中断、各种定时器引起的时钟中断以及调试程序中设置的断点等引起的调试中断。
• 内中断:在处理机和内存内部产生的中断。内中断一般称为陷阱。它包括程序运算时引起的各种错误,如地址非法、数据溢出、用户执行特权指令指令等等,分时系统的时间片中断以及从用户态转入到核心态的切换等。
处理机的工作状态
• 核态:CPU执行操作系统程序时所处的状态,在此状态下允许CPU使用全部资源和全部指令,其中包括一组特权指令(如涉及外设的I/O、改变处理机状态、修改存储保护的指令),实现对系统资源的分配与管理,为用户提供使用外部设备的服务。(权限最多)
• 管态(某些操作系统无管态):管态比核态的权限低,在此状态下允许使用一些用户态下不能使用的资源,但不能使用修改CPU状态的指令。无核态时,管态执行核态的全部功能。
• 用户态:用户程序执行时CPU所处的状态。在此状态下禁止使用特权指令,不能直接使用系统资源与改变CPU状态,并且只能访问用户程序所在的存储空间。(权限最少)
操作系统的发展
• 批处理系统:有单道批处理系统、多道批处理系统。特点:采用脱机服务方式,即用户将控制作业的意图、数据以及程序利用系统提供的作业控制命令书写成作业说明书提交给操作员,操作员将其输入外存,由OS控制、调度各作业的运行,最后输出结果。
• 分时系统:采用了分时技术,就是把处理机的运行时间分成很短的时间片,按时间片轮流把处理机分配给各个联机程序使用。若某个程序在分配给它的时间片内不能完成其任务,则该程序暂时中断,把处理机让给另一程序使用,等待下一轮时再继续运行。由于计算机速度很快,程序运行轮转的也很快,每个用户都感觉是自己独占了一台计算机,同时又可以通过终端向系统发出各种命令,来控制程序的运行。
• 实时系统:指系统能够及时响应随机发生的外部事件,并以足够快的速度完成对事件的处理。分为 实时控制系统(用于军工,比如飞行器、导弹等的自动控制)和实时信息产处理系统(比如银行系统、购票系统)
• 微机操作系统
• 网络操作系统:建立在计算机网络的基础上的,通过通信设施将物理上分散的多个计算机系统互连起来,实现信息交换、资源共享、可互操作和协作。
• 分布式操作系统:通过通信网络将物理上分布的具有自治功能的数据处理系统或计算机系统互连起来,实现信息交换和资源共享,协作完成任务。(网络操作系统也属于分布式操作系统的一种)
• 嵌入式操作系统:指那些“执行专用功能并被内部计算机控制的设备或者系统。嵌入式系统不能使用通用型计算机,而且运行的是固化的软件,用术语表示就是固件(Firmware),终端用户很难或者不可能改变固件。也就是说,镶嵌在普通PC以外的所有电子设备中的操作系统都是嵌入式操作系统。
单道批操作系统与多道批操作系统的区别
单道批操作系统是按照用户提交作业的顺序,一个一个作业完成,资源利用率不高,比如一个作业开始需要从读取数据,那么读取数据这段时间,其他部件也没有工作,必须读取完这个作业的数据,再进行剩余操作,浪费了资源、时间。而多道批操作系统则可以理解为:读取一个作业时,其他部件可以对其他的作业进行操作,大大的提高了资源利用率
操作系统的功能
• 进程管理
• 存储管理
• 设备管理
• 文件管理
• 用户接口
操作系统的基本特征
• 并发性
• 共享性
• 不确定性
计算机系统操作
• 每个设备控制器有一个本地缓冲
• CPU 在内存和本地缓冲之间传输数据
• I/O 控制器从设备到本地缓冲之间传输数据
• 协作:控制器通过调用中断通知CPU完成操作
虚拟机
定义:一种通过软件模拟实现,具有完整硬件系统功能,并运行在一个完全隔离环境中的完整计算机系统
分类:
• 高级语言虚拟机:目的是跨平台使用,模拟代码的执行。比如安装了Java虚拟机的平台,就可以使用Java语言进行编程
• 工作站虚拟机:目的是使得多个操作系统可以同时在一个计算机上使用
• 服务器虚拟机:目的是把一个物理计算机虚拟化为多个虚拟机