操作系统(operating System)是指控制和软件资源,并合理地组织调度计算机的工作和资源分配,
以提供给用户和其他软件方便的接口和环境。它是计算机最基本的系统软件
1.作为系统资源的管理者
2.作为用户和计算机硬件之间的接口
系统调用=系统调用命令=广义指令
3.作为最接近硬件的层次
实现对硬件机器的拓展
通常把覆盖了软件的机器叫做扩充机器,又称为虚拟机。
操作系统四个特征
并发性
共享
虚拟
异步
并发性与共享性互为异步条件
并发:指两个或多个时间再同一时间间隔内发生。
这些时间宏观上是同时发生的,但微观上是,交替发生的。
并行:指两个或多个时间再同一时刻同时发生
共享即资源共享:是指系统中的资源可供内存中多个并发指令的进程共同使用。
同时共享方式:使用QQ发送文件A,同时使用微信发送B,从宏观上看,两边同时读取并发文件,微观上看,两个进程是交替访问磁盘的。
并发和共享的关系 :
1.并发性是指计算机系统中同时存在多个运行的进程
2.共享性是指系统中的资源可供内存中多个并发执行的进程 共同使用
如果失去并发性,则系统中只有一个程序正在运行,则共享性失去意义,如果失去共享性,则QQ和微信不能同时发送文件,也就无法并发
虚拟是指一个物理上的实体变为若干个逻辑上的对应物。
空分复用技术
利用存储器的空闲空间分区域存放和运行其他多道程序
时分复用技术
利用处理机的空闲时间允许其他程序
异步是指,在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的而是走走停停,以不可预知的速度向前推进。
显然,如果失去了并发性,则系统只能串行地处理各个进程,每个进程的执行会一贯到底,只有系统拥有并发性,才有可能导致异步性。
操作系统的运行机制和体系结构
问:CPU如何判断当前是否可以执行特权指令?
普通应用程序只能执行非特权指令,运行在用户态
问:操作系统的哪些功能应该由内核程序实现?
内核是计算机上配置的底层软件,是操作系统最基本,最核心的部分。
中断和异常
本质:发生中断就意味着需要操作系统介入,开展管理工作。
1.当中断发生时,CPU立即进入核心态。
2.当中断发生后,当前运行的进程暂停运行,并由操作系统核对中断进行处理。
由于操作系统的管理工作(比如进程切换,分配I/O设备等,需要使用特权指令,因此CPU要从用户态转为核心态。中断可以使CPU用户态切换为核心态,使操作系统获得计算机的控制权。有了中断,才能实现多道程序并发执行)
用户态,核心态之间的切换是怎么实现的?
“用户态->核心态”是通过中断实现的,并且中断是唯一途径。
外中断的处理过程
1.执行完每个指令之后,CPU都要检查当前是否有外部中断信号
2.如果检测到外部中断信号,则需要被保护被中断进程的CPU环境(如程序状态字PSW,程序计数器PC,各种通用寄存器)
3.根据中断信号类型转入相应的中断处理程序
4.恢复原进程的CPU环境并退出中断,访问原进程继续往下执行
系统调用
1.什么是系统调用,有何作用?
2.系统函数和库函数的区别 ?
3.系统调用背后的过程
应用程序通过系统调用请求操作系统的服务。系统中的各种共享资源都由操作系统统一掌握,因此在用户程序中,凡是与资源相关的操作(如存储分配,I/O操作,文件管理)都必须经过系统调用的方式向操作系统提出服务请求,由操作系统代为完成,保证系统稳定性和安全性。
系统调用与库函数的区别
系统调用发生在用户态,对系统调用的处理发生在核心态。
执行陷入指令会产生内中断,使处理器从用户态进入核心态。
系统调用背后的过程
1.传递系统调用参数
2.执行陷入指令
3.执行系统调用相应服务程序
4.返回用户程序
总结:
作用:
提供了计算机硬件系统与用户的接口
是计算机资源的管理者
抽象了计算机资源
有效性
提高资源利用率
提高系统吞吐量
方便性
使得计算机系统更容易适用
可拓展性
适用计算机硬件、体系结构及应用发展的要求
开放性
国际标准开发的软件和硬件,可以彼此兼容,方便实用
操作系统的发展过程
1.无操作系统的计算机系统
采用人工操作的方式,CPU等待人工操作
CPU运算的高速与手工操作的慢速之间的矛盾
联机输入/输出
用户独占计算机资源,资源利用率低
2.脱机输入/输出
增加了一个外围机
将原来低俗输入的I/O输入到外围机中,再由其高速输入到主机中,主机处理之后输入到外围机,再低速给输出设备
这里是因为输入输出设备只能以较低的速度传输数据
外围机和主机之间的缓冲区是输入带和输出带
3.单道批处理系统
形式
批处理是指用户将一批作业提交给操作系统后就不再干预,由操作系统控制它们自动运行
在内存中只保持一道作业的批处理系统
特征
自动性
顺序性
单道性
4.多道批处理系统
形式
多道程序设计
多个作业存放在主存中,使它们同时处于运行状态,这些作业共享处理机时间和外围设备等资源
特征
多道性
无序性
调度性:作业从提交到完成经历了高级调度和低级调度
优点
提高CPU利用率
提高内存和设备利用率
增加系统的吞吐量
5.分时系统
多路性
交互性
独立性
及时性
6.实时系统
和分时在于分时会让这一个时间片用完以后再给具有高优先级的作业分配时间片,但实时会直接中断这一个时间片的使用,唯一目标在于让当前最高优先级的作业完成工作
多路性
独立性
及时性
交互性
可靠性
系统可以实时的完成响应外部事件的请求,在规定的时间范围内完成对该事件的处理,并控制实时任务协调一直地运行
操作系统的基本特征
并发性(最主要的特征)
系统可以实时的完成响应外部事件的请求,在规定的时间范围内完成对该事件的处理,并控制实时任务协调一直地运行
在多道程序环境下,计算机引入了进程这一动态实体来替代程序这一静态实体以完成并发,同时线程也会引入提高系统的并发性
并发是指在某一段时间间隔以内有着多个事件同时进行
操作系统的主要功能
处理机管理功能
存储器管理功能
设备管理功能
文件管理功能
操作系统与用户之间的接口
OS结构设计
传统的操作系统结构
1.无结构操作系统
目标放在功能的实现和获得高的效率上,OS只是众多的一组过程的的集合,可以相互调用,此时是无结构的
2.模块化的操作系统
强调独立性:因此内聚性和耦合度是衡量的标准
将OS按照功能划分为具有一定独立性和大小的模块,每一个模块具有某方面的管理功能
模块之间还可以功能进一步细化成若干个具有更小规模的模块
规定好各模块间的接口,使各模块之间能通过该接口实现交互
3.分层次结构OS
采用自底向上的分层设计,每一步设计都在可靠的基础上,每一层仅能使用其底层所提供的功能和服务
是将模块化结构OS的模块无序化转化为有序性
微内核OS结构
微内核
操作系统的绝大部分功能都放在微内核外面的一组服务器中实现。
如实现虚拟存储器管理功能的虚拟存储器服务器、提供I/O设备管理的I/O设备服务器,被作为进程来实现,借助微内核提供的消息传递机制实现信息交互
优点
提高了系统的可扩展性
增强了系统的可靠性
提高了系统的可移植性
提供了对分布式系统的支持
缺点
系统运行效率有所降低