定义
操作系统是指
1)控制和管理整个计算机系统的硬件和软件资源,并合理地组织调度计算机的工作和资源的分配
2)提供给用户和其他软件方便的接口和环境
3)计算机系统中最基本的系统软件
特征
并发
并发指两个或多个事件在同一时间间隔内发生。这些事件宏观上是同时发生的,但微观上是交替发生的(OS的并发性是通过分时实现的)
并发与并行:
并发性:多个事件在同一时间间隔内发生
并行性:多个事件在同一时刻发生
单核CPU同一时刻只能执行一个程序,各个程序只能并发地执行
多核CPU同一时刻可以同时执行多个程序,多个程序可以并行地执行
共享
即资源共享,是指系统中的资源可供内存中多个并发执行的进程共同使用
共享方式:
1)互斥共享方式:系统中的某些资源,虽然可以提供给多个进程使用,但一个时间段内只允许一个进程访问该资源。
2)同时共享方式:系统中的某些资源,允许一个时间段内由多个进程“同时”对它们进行访问。
并发和共享两者之间互为存在的条件:
1)资源共享是以程序的并发为条件的,若系统不允许程序并发执行,则自然不存在资源共享问题
2)若系统不能对资源共享实施有效的管理,则必将影响到程序的并发执行,甚至根本无法并发执行
虚拟
虚拟是指把一个物理上的实体变为若干个逻辑上的对应物。物理实体(前者)是实际存在的,而逻辑上对应物(后者)是用户感受到的
虚拟方式:
1)时分复用技术:如虚拟处理器
2)空分复用技术:如虚拟存储器
异步
在多道程序环境下,允许多个程序并发执行,但由于资源有限,进程的执行不是一贯到底的,而是走走停停,以不可预知的速度向前推进,这就是进程的异步性
运行
机制
内核态与用户态
CPU 处于内核态时,此时正在运行的是内核程序,可以执行特权指令
CPU 处于用户态时,此时正在运行的是应用程序,只能执行非特权指令
转换
内核态->用户态:执行特权指令,修改PSW标志位为“用户态”,此时操作系统让出 CPU 使用权
用户态->内核态:由“中断”引发,硬件自动完成,此时操作系统强行夺回 CPU 的使用权
中断
让 CPU 从用户态回到内核态的唯一途径
内中断(异常)
与当前执行的指令有关,中断信号来源于 CPU 内部
分类:
1)自陷:应用程序使用陷入指令主动引发
2)故障:由错误条件引起,可以被内核态修复,修复后将 CPU 使用权还给应用程序
3)终止:由致命错误引发,无法被内核态修复,将直接结束应用程序
外中断(中断)
与当前执行的指令无关,中断信号来源于 CPU 外部
分类:
1)时钟中断:用于并发
2)I/O 中断:用于 IO 操作
系统调用
1.定义:
操作系统作为用户和计算机硬件之间的接口,需要向上提供一些简单易用的服务,系统调用可视为特殊的公共子程序。又称广义指令(程序接口由一组系统调用组成)
2.调用过程:
用户态执行陷入指令进入内核态,内核态完成服务后返回用户态
3.与库函数的区别:
1)有些库函数是对系统调用的进一步封装:如创建一个文件
2)有些库函数没有使用系统调用:如“取绝对值”
体系结构
分层结构
将操作系统分为若干层,最底层(层0)为硬件,最高层(层N)为用户接口,每层只能调用紧邻它的低层的功能和服务(单向依赖)

优点:简化设计,方便调试修改
缺点:依赖关系固定,不灵活。需要逐层调用,效率低
模块化
将操作系统按功能划分为若干具有一定独立性的模块,并规定好各模块间的接口,各模块还可划分成子模块。

大内核
又称大内核或单内核,将主要功能模块都作为一个紧密联系的整体运行在核心态,为用户程序提供高性能的系统服务

优点:高性能,各功能模块可以直接相互调用
缺点:代码庞大,难以维护
微内核
将内核中最基本的功能保留在内核,将不需要在核心态执行的功能移到用户态执行,降低内核的设计复杂性

优点:内核易于维护
缺点:效率低,用户态各模块不能直接相互调用,需要通过内核态进行消息传递。
外核(少见)
内核负责进程调度、进程通信等功能;外核在内核态运行,负责为用户进程分配未经抽象的硬件资源,且由外核负责保证资源使用安全
引导
概念
1.BIOS 程序(Basic Input/Output System):
固化在主板上的基本输入输出系统,是计算机启动第一个运行的软件,存放在ROM中。首先进行硬件初始化和自检,然后查找引导程序并执行
2.引导程序(Boot):
存储在主存 ROM 中的一段小程序,将操作系统的内核文件从硬盘中读取到内存中,并跳转到内核入口点开始执行
3.主引导记录(MBR):
位于硬盘的第一个扇区,包含了“磁盘引导程序”和“分区表”。该引导程序会找到活动分区并读取“分区引导记录”,完成硬盘的引导
4.分区引导记录(PBR)
位于每个分区的第一个扇区,包含了一个引导程序,寻找并激活分区根目录下的启动管理器,完成分区的引导
引导过程

1)BIOS初始化并执行 Boot 进行自检,确保硬件工作正常。查找可引导设备,读取 MBR 到内存中
2)MBR 识别活动分区(安装有操作系统的分区),执行活动分区的 PBR
3)PBR 从活动分区中找到操作系统启动管理程序并执行
4)启动管理器加载操作系统内核和关键组件到内存。操作系统内核接管硬件控制权,初始化系统,启动操作系统
虚拟机
使用虚拟化技术,将一台物理机器虚拟化为多台虚拟机器,每个虚拟机器都可以独立运行一个操作系统
第一类虚拟机:直接运行在硬件上,能直接控制和分配物理资源
第二类虚拟机:运行在 Host OS 上,依赖于 Host OS 为其分配资源
