操作系统-第一章
概念
- 负责管理协调硬件、软件等计算机资源的工作
- 为上层用户、应用程序提供简单易用的服务
- 是一种软件系统
功能和目标
- 资源的管理者
处理机管理
存储器管理
文件管理
设备管理
- 向上提供服务的接口
给普通用户的
GUI用户图形界面
命令接口 : 联机命令接口=交互式命令接口(说一句做一句 cmd)黑窗口,脱机命令接口=批处理命令接口(说一堆做一堆) 直接
给软件、程序员用的 系统调用 程序接口 即系统接口 间接
-
作为最接近硬件的层次
对硬件机器的扩展
覆盖了软件的机器称为扩充机器,又称为**虚拟机**
操作系统的特征
并发
- 并发:宏观上同时发生,微观上交替发生
- 并行:指两个或多个事件在同一时刻同时发生
操作系统和程序并发是一起诞生的
单核CPU同一时刻只能执行一个程序,各个程序只能**并发**地执行
多核CPU同一时刻可以同时执行多个程序,多个程序可以**并行地执行
共享
- 互斥共享方式:一个时间段内只允许一个进程访问该资源
- 同时共享方式:允许一个时间段内由多个进程“同时”对它们进行访问
失去并发性也就失去共享性,反之也是如此
虚拟
虚拟技术中
“空分复用技术” (虚拟存储器技术)
“时分复用技术” (虚拟处理器)
没有并发性就谈不上虚拟性
异步
- 在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进
只有系统拥有并发性,才有可能导致异步性
OS的发展与分类
手工操作阶段:资源利用率极低
批处理阶段
单道批处理系统:引入脱机输入/输出技术 ,并由监督程序负责控制作业的输入、输出
缺点:内存中仅有一道程序运行,CPU有大量的时间是在空闲等待I/O完成
多道批处理系统(操作系统开始出现)
优点:多道程序并发 执行,共享 计算机资源,资源利用率大幅提升 ,系统吞吐量增大
缺点:用户响应时间长,没有人机交互功能
分时操作系统:计算机以时间片 为单位,轮流为各个用户/作业服务
优点:用户请求可以被即时响应,解决了人机交互的问题
缺点:不能优先处理一些紧急任务
实时操作系统:计算机系统收到外部信号后及时进行处理,并且要在严格的时限内处理完事件 。实时操作系统的主要特点是及时性和可靠性
优点:能够优先响应一些紧急任务,某些紧急任务不需要时间片排队
硬实时系统:必须在绝对严格的规定时间内完成处理
软实时系统:能接收偶尔违反时间规定
网络操作系统:实现网络中各种资源的共享(如文件共享)和各台计算机之间的通信
分布式操作系统:主要特点是分布性和并行性 。系统中的各台计算机地位相同,任何工作都可以分布在这些计算机上,由他们并行,协同完成这个任务
个人计算机操作系统
操作系统的运行机制
两种指令
特权指令
非特权指令
两种处理器状态
内核态(和心态,管态):运行的是内核程序,可以执行特权指令
用户态(目态):运行的是应用程序,只能执行非特权指令
CPU中的程序状态寄存器(PSW) 1表示内核态,0表示用户态
两种程序
内核程序:实现操作系统,由很多内核程序组成了“操作系统内核”,内核 是操作系统最重要最核心的部分,也是最接近硬件的部分
一个操作系统只要有内核就够了
操作系统的功能未必都在内核中,如图形化用户界面GUI
让CPU执行特权指令 eg:内存清零
CPU设计和生产时候就划分了特权指令和非特权指令
应用程序:普通程序员写的程序
非特权指令
如何变态:
内核态–>用户态 一条修改PSW的特权指令
用户态–>内核态 由中断引起,硬件自动完成
中断和异常
中断的作用
让操作系统内核强行夺回CPU控制权
使CPU从用户态变为内核态
中断的分类
内中断(异常、例外):与当前执行的指令有关,中断信号来源于CPU内部
陷阱、陷入
故障:可能为内核程序修复,修复后还给应用程序
终止:无法修复
外中断(中断):与当前执行的指令无关,中断信号来源于CPU外部
时钟中断
I/O中断请求
中断机制的基本实现原理
检查中断信号
内中断:CPU在执行指令时会检查是否有异常发生
外中断:每个指令周期末尾,CPU都会检查是否有外中断信号需要处理
找到相应的中断处理程序:通过中断向量表实现
系统调用(运行在内核态)
-
系统调用:操作系统对应用程序/程序员提供的接口
-
系统调用和库函数的区别:有的库函数是对系统调用的进一步封装,有的库函数没有系统调用
-
系统调用是必须的:WPS和Word同时打印
-
什么功能要用系统调用实现:(与共享资源有关的操作)设备管理、文件管理、进程管理、进程通信、内存管理(保证安全性和稳定性
-
系统调用的过程:
-
传参
陷入指令/Trap/访管
由操作系统内核程序处理系统调用请求
返回应用程序
普通应用程序 ⬆
编程语言 |
操作系统 |
裸机
-
注意:
-
-
陷入指令是在用户态执行的,执行陷入指令后立即引发下一个内中断,使CPU进入核心态
-
发出系统调用请求是在用户态,而对系统调用的相应处理在核心态下进行
-
操作系统的内核
内核是操作系统最基本,最核心的部分
实现操作系统内核功能的那些程序就是内核程序
操作系统内核
时钟管理:实现计时功能
中断处理:负责实现中断机制
原语:
是一种特殊的程序
处于操作系统最底层,是最接近硬件的部分
这种程序的运行具有原子性(运行只能一气呵成,不可中断)
运行时间较短,调用频繁
(以上与硬件关联较紧密的模块,“微内核”)
对系统资源进行管理的功能(这些管理工作更多的是对数据结构的操作,不会直接设计硬件)
进程管理
存储器管理
设备管理
- 注意
- 操作系统内核需要运行在内核态
- 操作系统非内核需要运行在用户态
- 变态的过程是有成本的,要消耗不少时间,频繁的变态会降低系统性能
操作系统的体系结构
大内核
将操作系统的主要功能模块都作为系统内核,运行在核心态
优点:高性能
缺点:内核代码庞大,结构混乱,难以维护
微内核
只把最基本的功能保留在内核
优点:内核功能少,结构清晰,方便维护
缺点:需要频繁地在核心态和用户态之间切换,性能低
操作系统引导
虚拟机
进程的概念,组成,特征
进程的概念
程序:是静态的,就是个存放在磁盘里的可执行文件,就是一系列的指令集合
进程:是动态的,是程序的一次执行过程
同一个程序多次执行会对应多个进程
进程的组成–PCB
当进程被创建时,操作系统会为该进程分配一个唯一的,不重复的“身份证号“,–PID
- 操作系统要记录PID,进程所属用户ID(基本的进程描述信息,可以让操作系统区分整个进程)
- 记录进程分配了哪些资源(操作系统对资源的管理)
- 记录进程的运行情况(用于实现操作系统对进程的控制,调度)
这些信息都被保存在一个数据结构PCB中,即进程控制块
操作系统需要对各个并发运行的进程进行管理,但凡管理时所需要的信息,都会被放在PCB中
进程控制块(PCB)
- 进程存在的唯一标志
进程描述信息
进程标识符PID
用户标识符UID
进程控制和管理信息(进程的管理者(操作系统)所需的数据都在PCB中
CPU、磁盘、网络流量使用情况统计。。
进程当前状态:就绪态/阻塞态/运行态
资源分配清单
正在使用哪些文件
哪些内存区域
哪些I/O设备
处理及相关信息
PSW、PC等等各种寄存器的值(用于实现进程切换
进程的组成–程序段、数据段
- 程序段:程序的代码(指令序列)
- 数据段:运行过程中产生的各种数据(eg:程序中定义的变量
PCB是给操作系统用的
程序段、数据段是给进程自己用的
一个进程实体(进程映像)由PCB,程序段,数据段组成。进程是动态的,进程实体是静态的
进程实体反应了进程在某一时刻的状态
程序段,数据段,PCB三部分组成了进程实体
进程是进程实体的运行过程,是系统进行资源分配,调度的一个独立单位
一个进程被调度,就是指操作系统决定让这个进程上CPU运行
进程的特征
- 动态性:进程的最基本特性
- 并发性
- 独立性:进程是能够独立运行,独立获得资源,接收调度的基本单位
- 异步性:导致并发程序的不确定性
- 结构性
进程映像)由PCB,程序段,数据段组成。进程是动态的,进程实体是静态的
进程实体反应了进程在某一时刻的状态
程序段,数据段,PCB三部分组成了进程实体
进程是进程实体的运行过程,是系统进行资源分配,调度的一个独立单位
一个进程被调度,就是指操作系统决定让这个进程上CPU运行
进程的特征
- 动态性:进程的最基本特性
- 并发性
- 独立性:进程是能够独立运行,独立获得资源,接收调度的基本单位
- 异步性:导致并发程序的不确定性
- 结构性